diff --git a/openair1/PHY/INIT/nr_init.c b/openair1/PHY/INIT/nr_init.c index 1ce17e9c9a..d76b92eed2 100644 --- a/openair1/PHY/INIT/nr_init.c +++ b/openair1/PHY/INIT/nr_init.c @@ -90,7 +90,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB, LTE_eNB_PUSCH** const pusch_vars = gNB->pusch_vars; LTE_eNB_SRS* const srs_vars = gNB->srs_vars; LTE_eNB_PRACH* const prach_vars = &gNB->prach_vars; - uint32_t ***pdcch_dmrs = gNB->nr_gold_pdcch_dmrs; int i, UE_id; @@ -122,7 +121,8 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB, // Polar encoder init for PBCH nr_polar_init(&fp->pbch_polar_params, 1, NR_POLAR_PBCH_PAYLOAD_BITS); //PDCCH DMRS init - pdcch_dmrs = (uint32_t ***)malloc16(fp->slots_per_frame*sizeof(uint32_t**)); + gNB->nr_gold_pdcch_dmrs = (uint32_t ***)malloc16(fp->slots_per_frame*sizeof(uint32_t**)); + uint32_t ***pdcch_dmrs = gNB->nr_gold_pdcch_dmrs; AssertFatal(pdcch_dmrs!=NULL, "NR init: pdcch_dmrs malloc failed\n"); for (int slot=0; slotslots_per_frame; slot++) { pdcch_dmrs[slot] = (uint32_t **)malloc16(fp->symbols_per_slot*sizeof(uint32_t*)); diff --git a/openair1/PHY/NR_REFSIG/nr_gold.c b/openair1/PHY/NR_REFSIG/nr_gold.c index cb2738b72a..19137dd1a7 100644 --- a/openair1/PHY/NR_REFSIG/nr_gold.c +++ b/openair1/PHY/NR_REFSIG/nr_gold.c @@ -28,7 +28,7 @@ void nr_init_pbch_dmrs(PHY_VARS_gNB* gNB) unsigned char Lmax, l, n_hf, N_hf; nfapi_nr_config_request_t *cfg = &gNB->gNB_config; NR_DL_FRAME_PARMS *fp = &gNB->frame_parms; - uint8_t reset=1; + uint8_t reset; Nid = cfg->sch_config.physical_cell_id.value; @@ -40,6 +40,7 @@ void nr_init_pbch_dmrs(PHY_VARS_gNB* gNB) i_ssb = l & (Lmax-1); i_ssb2 = (i_ssb<<2) + n_hf; + reset = 1; x2 = (1<<11) * (i_ssb2 + 1) * ((Nid>>2) + 1) + (1<<6) * (i_ssb2 + 1) + (Nid&3); for (uint8_t n=0; nframe_parms; uint32_t ***pdcch_dmrs = gNB->nr_gold_pdcch_dmrs; - for (uint8_t slot=0; fp->slots_per_frame; slot++) { - for (uint8_t symb=0; fp->symbols_per_slot; symb++) { + for (uint8_t slot=0; slotslots_per_frame; slot++) { + for (uint8_t symb=0; symbsymbols_per_slot; symb++) { + reset = 1; x2 = ((1<<17) * (14*slot+symb+1) * ((Nid<<1)+1) + (Nid<<1))&(((uint32_t)1<<31)-1); for (uint32_t n=0; n