Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangwenhui
OpenXG-RAN
Commits
566de567
Commit
566de567
authored
May 14, 2020
by
Ahmed Hussein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug fixes regarding ping issues
parent
1ffa9eed
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
12 additions
and
18 deletions
+12
-18
executables/nr-ue.c
executables/nr-ue.c
+3
-1
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+4
-12
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+4
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+1
-1
No files found.
executables/nr-ue.c
View file @
566de567
...
@@ -359,7 +359,7 @@ static void UE_synch(void *arg) {
...
@@ -359,7 +359,7 @@ static void UE_synch(void *arg) {
void
processSlotTX
(
PHY_VARS_NR_UE
*
UE
,
UE_nr_rxtx_proc_t
*
proc
)
{
void
processSlotTX
(
PHY_VARS_NR_UE
*
UE
,
UE_nr_rxtx_proc_t
*
proc
)
{
uint32_t
rb_size
,
rb_start
;
uint32_t
rb_size
,
rb_start
;
uint16_t
rnti
,
l_prime_mask
,
n_rb0
,
n_rb1
;
uint16_t
rnti
,
l_prime_mask
,
n_rb0
,
n_rb1
,
pdu_bit_map
;
uint8_t
nr_of_symbols
,
start_symbol_index
,
mcs_index
,
mcs_table
,
nrOfLayers
,
harq_process_id
,
rv_index
,
dmrs_config_type
;
uint8_t
nr_of_symbols
,
start_symbol_index
,
mcs_index
,
mcs_table
,
nrOfLayers
,
harq_process_id
,
rv_index
,
dmrs_config_type
;
uint8_t
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
ptrs_time_density
,
ptrs_freq_density
;
uint8_t
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
ptrs_time_density
,
ptrs_freq_density
;
nr_dcireq_t
dcireq
;
nr_dcireq_t
dcireq
;
...
@@ -399,6 +399,7 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
...
@@ -399,6 +399,7 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
ptrs_mcs3
=
10
;
ptrs_mcs3
=
10
;
n_rb0
=
25
;
n_rb0
=
25
;
n_rb1
=
75
;
n_rb1
=
75
;
pdu_bit_map
=
PUSCH_PDU_BITMAP_PUSCH_DATA
;
ptrs_time_density
=
get_L_ptrs
(
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
mcs_index
,
mcs_table
);
ptrs_time_density
=
get_L_ptrs
(
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
mcs_index
,
mcs_table
);
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
rb_size
);
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
rb_size
);
//------------------------------------------------------------------------------//
//------------------------------------------------------------------------------//
...
@@ -419,6 +420,7 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
...
@@ -419,6 +420,7 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
rv_index
=
rv_index
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
rv_index
=
rv_index
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
nrOfLayers
=
nrOfLayers
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
nrOfLayers
=
nrOfLayers
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
harq_process_id
=
harq_process_id
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
harq_process_id
=
harq_process_id
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
=
pdu_bit_map
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_time_density
=
ptrs_time_density
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_time_density
=
ptrs_time_density
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_freq_density
=
ptrs_freq_density
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_freq_density
=
ptrs_freq_density
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ue_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ue_ptrs_ports_t
));
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ue_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ue_ptrs_ports_t
));
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
566de567
...
@@ -126,7 +126,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -126,7 +126,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
Nid_cell
=
0
;
Nid_cell
=
0
;
N_PRB_oh
=
0
;
// higher layer (RRC) parameter xOverhead in PUSCH-ServingCellConfig
N_PRB_oh
=
0
;
// higher layer (RRC) parameter xOverhead in PUSCH-ServingCellConfig
number_dmrs_symbols
=
0
;
number_dmrs_symbols
=
0
;
uint8_t
mapping_type
=
UE
->
pusch_config
.
pusch_TimeDomainResourceAllocation
[
0
]
->
mappingType
;
for
(
cwd_index
=
0
;
cwd_index
<
num_of_codewords
;
cwd_index
++
)
{
for
(
cwd_index
=
0
;
cwd_index
<
num_of_codewords
;
cwd_index
++
)
{
...
@@ -140,7 +139,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -140,7 +139,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
for
(
i
=
start_symbol
;
i
<
start_symbol
+
number_of_symbols
;
i
++
)
{
for
(
i
=
start_symbol
;
i
<
start_symbol
+
number_of_symbols
;
i
++
)
{
if
((
ul_dmrs_symb_pos
>>
(
mapping_type
?
(
i
-
start_symbol
)
:
i
)
)
&
0x01
)
if
((
ul_dmrs_symb_pos
>>
i
)
&
0x01
)
number_dmrs_symbols
+=
1
;
number_dmrs_symbols
+=
1
;
}
}
...
@@ -230,12 +229,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -230,12 +229,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
/////////////////////////ULSCH scrambling/////////////////////////
/////////////////////////ULSCH scrambling/////////////////////////
///////////
///////////
available_bits
=
nr_get_G
(
nb_rb
,
available_bits
=
G
;
number_of_symbols
,
nb_dmrs_re_per_rb
,
number_dmrs_symbols
,
mod_order
,
1
);
memset
(
scrambled_output
[
cwd_index
],
0
,
((
available_bits
>>
5
)
+
1
)
*
sizeof
(
uint32_t
));
memset
(
scrambled_output
[
cwd_index
],
0
,
((
available_bits
>>
5
)
+
1
)
*
sizeof
(
uint32_t
));
...
@@ -326,7 +320,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -326,7 +320,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_of_symbols
;
l
++
)
{
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_of_symbols
;
l
++
)
{
if
((
ul_dmrs_symb_pos
>>
((
mapping_type
)
?
l
-
start_symbol
:
l
)
)
&
0x01
)
if
((
ul_dmrs_symb_pos
>>
l
)
&
0x01
)
is_dmrs
=
1
;
is_dmrs
=
1
;
else
else
is_dmrs
=
0
;
is_dmrs
=
0
;
...
@@ -372,7 +366,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -372,7 +366,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
uint8_t
k_prime
=
0
;
uint8_t
k_prime
=
0
;
uint8_t
is_dmrs
,
is_ptrs
;
uint8_t
is_dmrs
,
is_ptrs
;
uint8_t
l_ref
;
uint16_t
m
=
0
,
n
=
0
,
dmrs_idx
=
0
,
ptrs_idx
=
0
;
uint16_t
m
=
0
,
n
=
0
,
dmrs_idx
=
0
,
ptrs_idx
=
0
;
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_of_symbols
;
l
++
)
{
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_of_symbols
;
l
++
)
{
...
@@ -380,7 +373,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -380,7 +373,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
k
=
start_sc
;
k
=
start_sc
;
n
=
0
;
n
=
0
;
dmrs_idx
=
0
;
dmrs_idx
=
0
;
l_ref
=
(
mapping_type
)
?
l
-
start_symbol
:
l
;
for
(
i
=
0
;
i
<
nb_rb
*
NR_NB_SC_PER_RB
;
i
++
)
{
for
(
i
=
0
;
i
<
nb_rb
*
NR_NB_SC_PER_RB
;
i
++
)
{
...
@@ -389,7 +381,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -389,7 +381,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
is_dmrs
=
0
;
is_dmrs
=
0
;
is_ptrs
=
0
;
is_ptrs
=
0
;
if
((
ul_dmrs_symb_pos
>>
l
_ref
)
&
0x01
)
{
if
((
ul_dmrs_symb_pos
>>
l
)
&
0x01
)
{
if
(
k
==
((
start_sc
+
get_dmrs_freq_idx_ul
(
n
,
k_prime
,
delta
,
dmrs_type
))
%
frame_parms
->
ofdm_symbol_size
))
if
(
k
==
((
start_sc
+
get_dmrs_freq_idx_ul
(
n
,
k_prime
,
delta
,
dmrs_type
))
%
frame_parms
->
ofdm_symbol_size
))
is_dmrs
=
1
;
is_dmrs
=
1
;
}
}
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
566de567
...
@@ -129,7 +129,7 @@ int main(int argc, char **argv)
...
@@ -129,7 +129,7 @@ int main(int argc, char **argv)
int
loglvl
=
OAILOG_WARNING
;
int
loglvl
=
OAILOG_WARNING
;
uint64_t
SSB_positions
=
0x01
;
uint64_t
SSB_positions
=
0x01
;
uint16_t
nb_symb_sch
=
12
;
uint16_t
nb_symb_sch
=
12
;
int
start_symbol
=
0
;
int
start_symbol
=
2
;
uint16_t
nb_rb
=
50
;
uint16_t
nb_rb
=
50
;
uint8_t
Imcs
=
9
;
uint8_t
Imcs
=
9
;
uint8_t
precod_nbr_layers
=
1
;
uint8_t
precod_nbr_layers
=
1
;
...
@@ -638,9 +638,9 @@ int main(int argc, char **argv)
...
@@ -638,9 +638,9 @@ int main(int argc, char **argv)
//there are plenty of other parameters that we don't seem to be using for now. e.g.
//there are plenty of other parameters that we don't seem to be using for now. e.g.
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
absolute_delta_PUSCH
=
0
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
absolute_delta_PUSCH
=
0
;
nb_re_dmrs
=
((
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
dmrs_config_type
==
pusch_dmrs_type1
)
?
6
:
4
)
*
number_dmrs_symbols
;
nb_re_dmrs
=
((
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
dmrs_config_type
==
pusch_dmrs_type1
)
?
6
:
4
);
available_bits
=
nr_get_G
(
nb_rb
,
nb_symb_sch
,
nb_re_dmrs
,
length_dmr
s
,
mod_order
,
1
);
available_bits
=
nr_get_G
(
nb_rb
,
nb_symb_sch
,
nb_re_dmrs
,
number_dmrs_symbol
s
,
mod_order
,
1
);
TBS
=
nr_compute_tbs
(
mod_order
,
code_rate
,
nb_rb
,
nb_symb_sch
,
nb_re_dmrs
*
length_dmr
s
,
0
,
precod_nbr_layers
);
TBS
=
nr_compute_tbs
(
mod_order
,
code_rate
,
nb_rb
,
nb_symb_sch
,
nb_re_dmrs
*
number_dmrs_symbol
s
,
0
,
precod_nbr_layers
);
pusch_pdu
->
pusch_data
.
tb_size
=
TBS
>>
3
;
pusch_pdu
->
pusch_data
.
tb_size
=
TBS
>>
3
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
tb_size
=
TBS
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_data
.
tb_size
=
TBS
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
566de567
...
@@ -810,7 +810,7 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
...
@@ -810,7 +810,7 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
pusch_pdu
->
target_code_rate
,
pusch_pdu
->
target_code_rate
,
pusch_pdu
->
rb_size
,
pusch_pdu
->
rb_size
,
pusch_pdu
->
nr_of_symbols
,
pusch_pdu
->
nr_of_symbols
,
6
,
//nb_re_dmrs - not sure where this is coming from - its not in the FAPI
pusch_pdu
->
dmrs_config_type
?
4
:
6
,
//nb_re_dmrs - not sure where this is coming from - its not in the FAPI
0
,
//nb_rb_oh
0
,
//nb_rb_oh
pusch_pdu
->
nrOfLayers
)
>>
3
;
pusch_pdu
->
nrOfLayers
)
>>
3
;
pusch_pdu
->
pusch_data
.
num_cb
=
0
;
//CBG not supported
pusch_pdu
->
pusch_data
.
num_cb
=
0
;
//CBG not supported
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment