diff --git a/openair1/PHY/NR_REFSIG/nr_gold.c b/openair1/PHY/NR_REFSIG/nr_gold.c index 29fd60fb5a..145fe11fab 100644 --- a/openair1/PHY/NR_REFSIG/nr_gold.c +++ b/openair1/PHY/NR_REFSIG/nr_gold.c @@ -55,25 +55,23 @@ void nr_init_pbch_dmrs(PHY_VARS_gNB* gNB) void nr_init_pdcch_dmrs(PHY_VARS_gNB* gNB, uint32_t Nid) { - uint32_t x1 = 0, x2 = 0; - uint8_t reset; NR_DL_FRAME_PARMS *fp = &gNB->frame_parms; uint32_t ***pdcch_dmrs = gNB->nr_gold_pdcch_dmrs; - int pdcch_dmrs_init_length = (((fp->N_RB_DL<<1)*3)>>5)+1; + int pdcch_dmrs_init_length = (((fp->N_RB_DL << 1) * 3) >> 5) + 1; - for (uint8_t slot=0; slotslots_per_frame; slot++) { - for (uint8_t symb=0; symbsymbols_per_slot; symb++) { - - reset = 1; - x2 = ((1<<17) * (fp->symbols_per_slot*slot+symb+1) * ((Nid<<1)+1) + (Nid<<1)); - LOG_D(PHY,"PDCCH DMRS slot %d, symb %d, Nid %d, x2 %x\n",slot,symb,Nid,x2); - for (uint32_t n=0; nslots_per_frame; slot++) { + for (int symb = 0; symb < fp->symbols_per_slot; symb++) { + uint8_t reset = 1; + uint32_t x1 = 0; + uint64_t temp_x2 = ((1UL << 17) * (fp->symbols_per_slot * slot + symb + 1) * ((Nid << 1) + 1) + (Nid << 1)); + uint32_t x2 = temp_x2 % (1U << 31); + LOG_D(PHY,"PDCCH DMRS slot %d, symb %d, Nid %d, x2 %x\n", slot, symb, Nid, x2); + for (uint32_t n = 0; n < pdcch_dmrs_init_length; n++) { pdcch_dmrs[slot][symb][n] = lte_gold_generic(&x1, &x2, reset); reset = 0; } } } - } diff --git a/openair1/PHY/NR_REFSIG/nr_gold_ue.c b/openair1/PHY/NR_REFSIG/nr_gold_ue.c index 2fa1fe00b7..9048d162dc 100644 --- a/openair1/PHY/NR_REFSIG/nr_gold_ue.c +++ b/openair1/PHY/NR_REFSIG/nr_gold_ue.c @@ -54,17 +54,17 @@ void nr_gold_pbch(PHY_VARS_NR_UE* ue) void nr_gold_pdcch(PHY_VARS_NR_UE* ue, unsigned short nid) { - unsigned int n = 0, x1 = 0, x2 = 0, x2tmp0 = 0; - uint8_t reset; int pdcch_dmrs_init_length = (((ue->frame_parms.N_RB_DL << 1) * 3) >> 5) + 1; - for (int ns = 0; ns < ue->frame_parms.slots_per_frame; ns++) { for (int l = 0; l < ue->frame_parms.symbols_per_slot; l++) { - reset = 1; - x2tmp0 = ((ue->frame_parms.symbols_per_slot * ns + l + 1) * ((nid << 1) + 1)); + uint8_t reset = 1; + uint64_t x2tmp0 = ((ue->frame_parms.symbols_per_slot * ns + l + 1) * ((nid << 1) + 1)); x2tmp0 <<= 17; - x2 = (x2tmp0 + (nid << 1)) % (1U << 31); //cinit - for (n=0; nnr_gold_pdcch[0][ns][l][n] = lte_gold_generic(&x1, &x2, reset); reset = 0; }