LOG_D(PHY,"Transform Precoding params. u: %d, v: %d, index for dmrsseq: %d\n",u,v,index);
AssertFatal(index>=0,"Num RBs not configured according to 3GPP 38.211 section 6.3.1.4. For PUSCH with transform precoding, num RBs cannot be multiple of any other primenumber other than 2,3,5\n");
LOG_D(PHY,"Transform Precoding params. u: %d, v: %d, index for dmrsseq: %d\n",u,v,index);
AssertFatal(index>=0,
"Num RBs not configured according to 3GPP 38.211 section 6.3.1.4. For PUSCH with transform precoding, num RBs "
"cannot be multiple of any other primenumber other than 2,3,5\n");
AssertFatal(dmrs_seq!=NULL,"DMRS low PAPR seq not found, check if DMRS sequences are generated");
LOG_D(PHY,"PUSCH estimation DMRS type 2, Freq-domain interpolation\n");
c16_t*pil=pilot;
c16_t*rx=&rxdataF[delta];
...
...
@@ -285,9 +291,10 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
}
}
// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 6 DMRS REs and use a common value for the whole PRB
// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 6 DMRS REs and use a
}else{// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 4 DMRS REs and use a common value for the whole PRB
LOG_D(PHY,"PUSCH estimation DMRS type 2, no Freq-domain interpolation");
}else{// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 4 DMRS REs
// and use a common value for the whole PRB
LOG_D(PHY,"PUSCH estimation DMRS type 2, no Freq-domain interpolation");
c16_t*pil=pilot;
intre_offset=(k0+delta)%symbolSize;
c32_tch0={0};
//First PRB
//First PRB
ch0=c32x16mulShift(*pil,rxdataF[re_offset],15);
pil++;
re_offset=(re_offset+1)%symbolSize;
...
...
@@ -361,10 +369,10 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,