diff --git a/openair1/PHY/INIT/nr_init.c b/openair1/PHY/INIT/nr_init.c index f8d9b74b80..58347a800c 100644 --- a/openair1/PHY/INIT/nr_init.c +++ b/openair1/PHY/INIT/nr_init.c @@ -142,10 +142,10 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB, AssertFatal(pdsch_dmrs[slot]!=NULL, "NR init: pdsch_dmrs for slot %d - malloc failed\n", slot); for (int symb=0; symbsymbols_per_slot; symb++) { - pdsch_dmrs[slot][symb] = (uint32_t **)malloc16(2*sizeof(uint32_t *)); + pdsch_dmrs[slot][symb] = (uint32_t **)malloc16(NR_NB_NSCID*sizeof(uint32_t *)); AssertFatal(pdsch_dmrs[slot][symb]!=NULL, "NR init: pdsch_dmrs for slot %d symbol %d - malloc failed\n", slot, symb); - for (int q=0; q<2; q++) { + for (int q=0; qpdsch_gold_init[nscid] = cfg->cell_config.phy_cell_id.value; nr_init_pdsch_dmrs(gNB, nscid, cfg->cell_config.phy_cell_id.value); } //PUSCH DMRS init - gNB->nr_gold_pusch_dmrs = (uint32_t ****)malloc16(2*sizeof(uint32_t ***)); + gNB->nr_gold_pusch_dmrs = (uint32_t ****)malloc16(NR_NB_NSCID*sizeof(uint32_t ***)); uint32_t ****pusch_dmrs = gNB->nr_gold_pusch_dmrs; - for(int nscid=0; nscid<2; nscid++) { + for(int nscid=0; nscidslots_per_frame*sizeof(uint32_t **)); AssertFatal(pusch_dmrs[nscid]!=NULL, "NR init: pusch_dmrs for nscid %d - malloc failed\n", nscid); @@ -178,7 +178,7 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB, } } - for (int nscid=0; nscid<2; nscid++) { + for (int nscid=0; nscidpusch_gold_init[nscid] = cfg->cell_config.phy_cell_id.value; nr_gold_pusch(gNB, nscid, gNB->pusch_gold_init[nscid]); } diff --git a/openair1/PHY/INIT/nr_init_ue.c b/openair1/PHY/INIT/nr_init_ue.c index af06935e52..034c3e97e2 100644 --- a/openair1/PHY/INIT/nr_init_ue.c +++ b/openair1/PHY/INIT/nr_init_ue.c @@ -242,11 +242,11 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_gNB) AssertFatal(pusch_dmrs[slot]!=NULL, "init_nr_ue_signal: pusch_dmrs for slot %d - malloc failed\n", slot); for (symb=0; symbsymbols_per_slot; symb++) { - pusch_dmrs[slot][symb] = (uint32_t **)malloc16(2*sizeof(uint32_t *)); + pusch_dmrs[slot][symb] = (uint32_t **)malloc16(NR_NB_NSCID*sizeof(uint32_t *)); AssertFatal(pusch_dmrs[slot][symb]!=NULL, "init_nr_ue_signal: pusch_dmrs for slot %d symbol %d - malloc failed\n", slot, symb); - for (q=0; q<2; q++) { - pusch_dmrs[slot][symb][q] = (uint32_t *)malloc16(NR_MAX_PDSCH_DMRS_INIT_LENGTH_DWORD*sizeof(uint32_t)); + for (q=0; qsymbols_per_slot; symb++) { - pdsch_dmrs[slot][symb] = (uint32_t **)malloc16(NR_MAX_NB_CODEWORDS*sizeof(uint32_t *)); + pdsch_dmrs[slot][symb] = (uint32_t **)malloc16(NR_NB_NSCID*sizeof(uint32_t *)); AssertFatal(pdsch_dmrs[slot][symb]!=NULL, "NR init: pdsch_dmrs for slot %d symbol %d - malloc failed\n", slot, symb); - for (int q=0; qNid_cell); // compute the scrambling IDs for PDSCH DMRS - for (int i=0; i<2; i++) { + for (int i=0; iscramblingID_dlsch[i]=fp->Nid_cell; nr_gold_pdsch(ue, i, ue->scramblingID_dlsch[i]); } // initialize the pusch dmrs - for (int i=0; i<2; i++) { + for (int i=0; iscramblingID_ulsch[i]=fp->Nid_cell; nr_init_pusch_dmrs(ue, ue->scramblingID_ulsch[i], i); } diff --git a/openair1/PHY/defs_nr_common.h b/openair1/PHY/defs_nr_common.h index d3352fb520..f38df302c6 100644 --- a/openair1/PHY/defs_nr_common.h +++ b/openair1/PHY/defs_nr_common.h @@ -114,6 +114,8 @@ #define NR_RX_NB_TH 1 #define NR_NB_TH_SLOT 2 +#define NR_NB_NSCID 2 + extern const uint8_t nr_rv_round_map[4]; static inline