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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
59e72704
Commit
59e72704
authored
Nov 16, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfix in dmrs_ports handling at UE for pdsch
parent
174ee99d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
13 deletions
+11
-13
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+3
-4
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+7
-7
No files found.
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
59e72704
...
...
@@ -768,12 +768,13 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
uint16_t
s1
=
dlsch0_harq
->
nb_symbols
;
bool
is_SI
=
dlsch0
->
rnti_type
==
_SI_RNTI_
;
LOG_D
(
PHY
,
"[UE %d] PDSCH type %d active in nr_slot_rx %d, harq_pid %d (%d), rb_start %d, nb_rb %d, symbol_start %d, nb_symbols %d, DMRS mask %x
\n
"
,
ue
->
Mod_id
,
pdsch
,
nr_slot_rx
,
harq_pid
,
dlsch0_harq
->
status
,
pdsch_start_rb
,
pdsch_nb_rb
,
s0
,
s1
,
dlsch0_harq
->
dlDmrsSymbPos
);
LOG_D
(
PHY
,
"[UE %d] PDSCH type %d active in nr_slot_rx %d, harq_pid %d (%d), rb_start %d, nb_rb %d, symbol_start %d, nb_symbols %d, DMRS mask %x
, Nl %d
\n
"
,
ue
->
Mod_id
,
pdsch
,
nr_slot_rx
,
harq_pid
,
dlsch0_harq
->
status
,
pdsch_start_rb
,
pdsch_nb_rb
,
s0
,
s1
,
dlsch0_harq
->
dlDmrsSymbPos
,
dlsch0_harq
->
Nl
);
for
(
m
=
s0
;
m
<
(
s0
+
s1
);
m
++
)
{
if
(
dlsch0_harq
->
dlDmrsSymbPos
&
(
1
<<
m
))
{
for
(
uint8_t
aatx
=
0
;
aatx
<
dlsch0_harq
->
Nl
;
aatx
++
)
{
//for MIMO Config: it shall loop over no_layers
LOG_D
(
PHY
,
"PDSCH Channel estimation gNB id %d, PDSCH antenna port %d, slot %d, symbol %d
\n
"
,
0
,
aatx
,
nr_slot_rx
,
m
);
nr_pdsch_channel_estimation
(
ue
,
proc
,
gNB_id
,
...
...
@@ -784,7 +785,6 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
BWPStart
,
ue
->
frame_parms
.
first_carrier_offset
+
(
BWPStart
+
pdsch_start_rb
)
*
12
,
pdsch_nb_rb
);
LOG_D
(
PHY
,
"PDSCH Channel estimation gNB id %d, PDSCH antenna port %d, slot %d, symbol %d
\n
"
,
0
,
aatx
,
nr_slot_rx
,
m
);
#if 0
///LOG_M: the channel estimation
int nr_frame_rx = proc->frame_rx;
...
...
@@ -1801,7 +1801,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
// do procedures for C-RNTI
int
ret_pdsch
=
0
;
if
(
ue
->
dlsch
[
proc
->
thread_id
][
gNB_id
][
0
]
->
active
==
1
)
{
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_C
,
VCD_FUNCTION_IN
);
ret_pdsch
=
nr_ue_pdsch_procedures
(
ue
,
proc
,
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
59e72704
...
...
@@ -1197,9 +1197,8 @@ int main(int argc, char **argv)
}
nr_ue_dcireq
(
&
dcireq
);
//to be replaced with function pointer later
UE_harq_process
->
Nl
=
g_nrOfLayers
;
nr_ue_scheduled_response
(
&
scheduled_response
);
phy_procedures_nrUE_RX
(
UE
,
&
UE_proc
,
0
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
59e72704
...
...
@@ -1135,7 +1135,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_1
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
));
}
if
((
dmrs_type
==
NULL
)
&&
(
max_length
!=
NULL
)){
...
...
@@ -1144,7 +1144,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_2_oneCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
)
+
...
...
@@ -1156,7 +1156,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_2_twoCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
)
+
...
...
@@ -1171,7 +1171,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_3_oneCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
));
...
...
@@ -1180,7 +1180,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_3_twoCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
));
...
...
@@ -1192,7 +1192,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_4_oneCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
)
+
...
...
@@ -1208,7 +1208,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_1
->
n_dmrs_cdm_groups
=
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
0
];
dlsch_config_pdu_1_1
->
dmrs_ports
=
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
1
]
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
1
)
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
2
]
<<
2
)
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
3
]
<<
2
)
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
4
]
<<
3
)
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
5
]
<<
4
)
+
(
table_7_3_2_3_3_4_twoCodeword
[
dci
->
antenna_ports
.
val
][
6
]
<<
5
)
+
...
...
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