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
zzha zzha
OpenXG-RAN
Commits
2a0bfde4
Commit
2a0bfde4
authored
Apr 17, 2020
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use "PUSCH_PDU_BITMAP_PUSCH_PTRS" when setting, clearing or checking pdu_bit_map
parent
68ba04ab
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
9 additions
and
10 deletions
+9
-10
executables/nr-ue.c
executables/nr-ue.c
+2
-3
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
+3
-3
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+2
-2
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+1
-1
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 @
2a0bfde4
...
@@ -424,9 +424,8 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
...
@@ -424,9 +424,8 @@ 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_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
));
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
if
(
1
<<
ptrs_time_density
>=
nr_of_symbols
)
{
if
(
1
<<
ptrs_time_density
>=
nr_of_symbols
)
{
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
=
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
&=
~
PUSCH_PDU_BITMAP_PUSCH_PTRS
;
// disable PUSCH PTRS
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
&
0xFFFB
;
}
}
nr_ue_scheduled_response
(
&
scheduled_response
);
nr_ue_scheduled_response
(
&
scheduled_response
);
...
...
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
View file @
2a0bfde4
...
@@ -284,7 +284,7 @@ void nr_ulsch_extract_rbs_single(int32_t **rxdataF,
...
@@ -284,7 +284,7 @@ void nr_ulsch_extract_rbs_single(int32_t **rxdataF,
else
else
is_dmrs_re
=
0
;
is_dmrs_re
=
0
;
if
(
((
pusch_pdu
->
pdu_bit_map
)
>>
2
)
&
0x01
)
{
if
(
pusch_pdu
->
pdu_bit_map
&
PUSCH_PDU_BITMAP_PUSCH_PTRS
)
{
if
(
is_ptrs_symbol
(
symbol
,
pusch_vars
->
ptrs_symbols
))
if
(
is_ptrs_symbol
(
symbol
,
pusch_vars
->
ptrs_symbols
))
is_ptrs_symbol_flag
=
is_ptrs_subcarrier
((
start_re
+
re
)
%
frame_parms
->
ofdm_symbol_size
,
is_ptrs_symbol_flag
=
is_ptrs_subcarrier
((
start_re
+
re
)
%
frame_parms
->
ofdm_symbol_size
,
n_rnti
,
n_rnti
,
...
@@ -1043,7 +1043,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
...
@@ -1043,7 +1043,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
=
0
;
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
=
0
;
first_symbol_flag
=
1
;
first_symbol_flag
=
1
;
if
(
((
rel15_ul
->
pdu_bit_map
)
>>
2
)
&
0x01
)
{
// if there is ptrs pdu
if
(
rel15_ul
->
pdu_bit_map
&
PUSCH_PDU_BITMAP_PUSCH_PTRS
)
{
// if there is ptrs pdu
L_ptrs
=
1
<<
(
rel15_ul
->
pusch_ptrs
.
ptrs_time_density
);
L_ptrs
=
1
<<
(
rel15_ul
->
pusch_ptrs
.
ptrs_time_density
);
set_ptrs_symb_idx
(
&
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
,
set_ptrs_symb_idx
(
&
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
,
...
@@ -1065,7 +1065,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
...
@@ -1065,7 +1065,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
nb_re_pusch
=
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
;
nb_re_pusch
=
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
;
}
}
if
(
((
rel15_ul
->
pdu_bit_map
)
>>
2
)
&
0x01
)
{
// if there is ptrs pdu
if
(
rel15_ul
->
pdu_bit_map
&
PUSCH_PDU_BITMAP_PUSCH_PTRS
)
{
// if there is ptrs pdu
if
(
is_ptrs_symbol
(
symbol
,
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
))
if
(
is_ptrs_symbol
(
symbol
,
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbols
))
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbol_index
=
symbol
;
gNB
->
pusch_vars
[
UE_id
]
->
ptrs_symbol_index
=
symbol
;
}
}
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
2a0bfde4
...
@@ -282,7 +282,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -282,7 +282,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
int16_t
mod_ptrs
[(
nb_rb
/
2
)
*
(
NR_SYMBOLS_PER_SLOT
-
1
)
*
2
];
// assume maximum number of PTRS per pusch allocation
int16_t
mod_ptrs
[(
nb_rb
/
2
)
*
(
NR_SYMBOLS_PER_SLOT
-
1
)
*
2
];
// assume maximum number of PTRS per pusch allocation
K_ptrs
=
0
;
// just to avoid a warning
K_ptrs
=
0
;
// just to avoid a warning
if
(
(
harq_process_ul_ue
->
pusch_pdu
.
pdu_bit_map
>>
2
)
&
0x01
)
{
if
(
harq_process_ul_ue
->
pusch_pdu
.
pdu_bit_map
&
PUSCH_PDU_BITMAP_PUSCH_PTRS
)
{
K_ptrs
=
(
harq_process_ul_ue
->
pusch_pdu
.
pusch_ptrs
.
ptrs_freq_density
)
?
4
:
2
;
K_ptrs
=
(
harq_process_ul_ue
->
pusch_pdu
.
pusch_ptrs
.
ptrs_freq_density
)
?
4
:
2
;
L_ptrs
=
1
<<
harq_process_ul_ue
->
pusch_pdu
.
pusch_ptrs
.
ptrs_time_density
;
L_ptrs
=
1
<<
harq_process_ul_ue
->
pusch_pdu
.
pusch_ptrs
.
ptrs_time_density
;
...
@@ -394,7 +394,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -394,7 +394,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
is_dmrs
=
1
;
is_dmrs
=
1
;
}
}
if
(
(
harq_process_ul_ue
->
pusch_pdu
.
pdu_bit_map
>>
2
)
&
0x01
){
if
(
harq_process_ul_ue
->
pusch_pdu
.
pdu_bit_map
&
PUSCH_PDU_BITMAP_PUSCH_PTRS
){
if
(
is_ptrs_symbol
(
l
,
ulsch_ue
->
ptrs_symbols
))
if
(
is_ptrs_symbol
(
l
,
ulsch_ue
->
ptrs_symbols
))
is_ptrs
=
is_ptrs_subcarrier
(
k
,
is_ptrs
=
is_ptrs_subcarrier
(
k
,
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
2a0bfde4
...
@@ -515,7 +515,7 @@ int main(int argc, char **argv)
...
@@ -515,7 +515,7 @@ int main(int argc, char **argv)
uint8_t
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
nb_rb
);
uint8_t
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
nb_rb
);
if
(
1
<<
ptrs_time_density
>=
nb_symb_sch
)
if
(
1
<<
ptrs_time_density
>=
nb_symb_sch
)
pdu_bit_map
=
pdu_bit_map
&
0xFFFB
;
pdu_bit_map
&=
~
PUSCH_PDU_BITMAP_PUSCH_PTRS
;
// disable PUSCH PTRS
for
(
i
=
0
;
i
<
nb_symb_sch
;
i
++
)
{
for
(
i
=
0
;
i
<
nb_symb_sch
;
i
++
)
{
number_dmrs_symbols
+=
(
l_prime_mask
>>
i
)
&
0x01
;
number_dmrs_symbols
+=
(
l_prime_mask
>>
i
)
&
0x01
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
2a0bfde4
...
@@ -799,7 +799,7 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
...
@@ -799,7 +799,7 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
if
(
1
<<
pusch_pdu
->
pusch_ptrs
.
ptrs_time_density
>=
pusch_pdu
->
nr_of_symbols
)
if
(
1
<<
pusch_pdu
->
pusch_ptrs
.
ptrs_time_density
>=
pusch_pdu
->
nr_of_symbols
)
pusch_pdu
->
pdu_bit_map
=
pusch_pdu
->
pdu_bit_map
&
0xFFFB
;
pusch_pdu
->
pdu_bit_map
&=
~
PUSCH_PDU_BITMAP_PUSCH_PTRS
;
// disable PUSCH PTRS
// --------------------------------------------------------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------------------------------
//Pusch Allocation in frequency domain [TS38.214, sec 6.1.2.2]
//Pusch Allocation in frequency domain [TS38.214, sec 6.1.2.2]
...
...
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