bugfix in dmrs_ports handling at UE for pdsch
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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) +
|
||||
|
||||
Reference in New Issue
Block a user