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;
|
uint16_t s1 = dlsch0_harq->nb_symbols;
|
||||||
bool is_SI = dlsch0->rnti_type == _SI_RNTI_;
|
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",
|
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);
|
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++) {
|
for (m = s0; m < (s0 +s1); m++) {
|
||||||
if (dlsch0_harq->dlDmrsSymbPos & (1 << 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
|
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,
|
nr_pdsch_channel_estimation(ue,
|
||||||
proc,
|
proc,
|
||||||
gNB_id,
|
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,
|
BWPStart,
|
||||||
ue->frame_parms.first_carrier_offset+(BWPStart + pdsch_start_rb)*12,
|
ue->frame_parms.first_carrier_offset+(BWPStart + pdsch_start_rb)*12,
|
||||||
pdsch_nb_rb);
|
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
|
#if 0
|
||||||
///LOG_M: the channel estimation
|
///LOG_M: the channel estimation
|
||||||
int nr_frame_rx = proc->frame_rx;
|
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
|
// do procedures for C-RNTI
|
||||||
int ret_pdsch = 0;
|
int ret_pdsch = 0;
|
||||||
if (ue->dlsch[proc->thread_id][gNB_id][0]->active == 1) {
|
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);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_C, VCD_FUNCTION_IN);
|
||||||
ret_pdsch = nr_ue_pdsch_procedures(ue,
|
ret_pdsch = nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
|
|||||||
@@ -1197,7 +1197,6 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nr_ue_dcireq(&dcireq); //to be replaced with function pointer later
|
nr_ue_dcireq(&dcireq); //to be replaced with function pointer later
|
||||||
UE_harq_process->Nl = g_nrOfLayers;
|
|
||||||
nr_ue_scheduled_response(&scheduled_response);
|
nr_ue_scheduled_response(&scheduled_response);
|
||||||
|
|
||||||
phy_procedures_nrUE_RX(UE,
|
phy_procedures_nrUE_RX(UE,
|
||||||
|
|||||||
@@ -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->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] +
|
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]<<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));
|
(table_7_3_2_3_3_1[dci->antenna_ports.val][4]<<3));
|
||||||
}
|
}
|
||||||
if ((dmrs_type == NULL) && (max_length != NULL)){
|
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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_2_oneCodeword[dci->antenna_ports.val][6]<<5) +
|
(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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_2_twoCodeword[dci->antenna_ports.val][6]<<5) +
|
(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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_3_oneCodeword[dci->antenna_ports.val][6]<<5));
|
(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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_3_twoCodeword[dci->antenna_ports.val][6]<<5));
|
(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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_4_oneCodeword[dci->antenna_ports.val][6]<<5) +
|
(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->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] +
|
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]<<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][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][5]<<4) +
|
||||||
(table_7_3_2_3_3_4_twoCodeword[dci->antenna_ports.val][6]<<5) +
|
(table_7_3_2_3_3_4_twoCodeword[dci->antenna_ports.val][6]<<5) +
|
||||||
|
|||||||
Reference in New Issue
Block a user