diff --git a/openair1/PHY/NR_REFSIG/nr_gold.c b/openair1/PHY/NR_REFSIG/nr_gold.c index 7e3fb8ecf0d63c186ac3a9aebade55d7667200df..4dbd09138bf3586f34bca008b6f5962787ad6fad 100644 --- a/openair1/PHY/NR_REFSIG/nr_gold.c +++ b/openair1/PHY/NR_REFSIG/nr_gold.c @@ -154,24 +154,25 @@ void nr_init_csi_rs(PHY_VARS_gNB* gNB, uint32_t Nid) } -void nr_init_prs(PHY_VARS_gNB* gNB, uint32_t Nid, uint32_t slotnum, uint32_t symNum) +void nr_init_prs(PHY_VARS_gNB* gNB, uint32_t symNum) { unsigned int x1, x2; uint16_t Nid, i_ssb, i_ssb2; - unsigned char Lmax, l, n_hf, N_hf; + //unsigned char Lmax, l, n_hf, N_hf; nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config; NR_DL_FRAME_PARMS *fp = &gNB->frame_parms; uint8_t reset; + uint8_t slotNum, symNum; Nid = cfg->cell_config.phy_cell_id.value; - Lmax = fp->Lmax; - N_hf = (Lmax == 4)? 2:1; + //Lmax = fp->Lmax; + //N_hf = (Lmax == 4)? 2:1; - for (n_hf = 0; n_hf < N_hf; n_hf++) { - for (l = 0; l < Lmax ; l++) { - i_ssb = l & (Lmax-1); - i_ssb2 = i_ssb + (n_hf<<2); + for (slotNum = 0; slotNum < fp->slots_per_frame-1; slotNum++) { + for (symNum = 0; symNum < fp->symbols_per_slot-1 ; symNum++) { + i_ssb = sumNum & (symbols_per_slot-1); + i_ssb2 = i_ssb + (slot<<2); reset = 1; // initial x2 for prs as 38.211 @@ -184,8 +185,8 @@ void nr_init_prs(PHY_VARS_gNB* gNB, uint32_t Nid, uint32_t slotnum, uint32_t sym x2 = c_init1 + c_init2 + c_init3; - for (uint8_t n=0; n<NR_PBCH_DMRS_LENGTH_DWORD; n++) { - gNB->nr_gold_prs[n_hf][l][n] = lte_gold_generic(&x1, &x2, reset); + for (uint8_t n=0; n<NR_MAX_PRS_INIT_LENGTH_DWORD; n++) { + gNB->nr_gold_prs[slotNum][symNum][n] = lte_gold_generic(&x1, &x2, reset); reset = 0; }