pusch_vars[ULSCH_id]->ul_ch_ptrs_estimates[i]=(int32_t*)malloc16_clear(sizeof(int32_t)*fp->ofdm_symbol_size*2*fp->symbols_per_slot);// max intensity in freq is 1 sc every 2 RBs
@@ -1389,6 +1405,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
ch,
dl_ch,
8);
#endif
}
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
int32_tch_0,ch_1;
...
...
@@ -1424,6 +1441,10 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
@@ -667,7 +666,7 @@ int main(int argc, char **argv)
printf("-n Number of frames to simulate\n");
printf("-s Starting SNR, runs from SNR0 to SNR0 + 5 dB. If n_frames is 1 then just SNR is simulated\n");
printf("-S Ending SNR, runs from SNR0 to SNR1\n");
printf("-t Delay spread for multipath channel\n");
//printf("-t Delay spread for multipath channel\n");
printf("-g [A,B,C,D,E,F,G,R] Use 3GPP SCM (A,B,C,D) or 36-101 (E-EPA,F-EVA,G-ETU) models or R for MIMO model (ignores delay spread and Ricean factor)\n");
printf("-y Number of TX antennas used in gNB\n");
printf("-z Number of RX antennas used in UE\n");
...
...
@@ -853,10 +852,14 @@ int main(int argc, char **argv)
doublefs,bw;
if(mu==1&&N_RB_DL==217){
if(mu==0&&N_RB_DL==25){
fs=7.68e6;
bw=5e6;
}
elseif(mu==1&&N_RB_DL==217){
fs=122.88e6;
bw=80e6;
}
}
elseif(mu==1&&N_RB_DL==245){
fs=122.88e6;
bw=90e6;
...
...
@@ -877,6 +880,10 @@ int main(int argc, char **argv)
@@ -892,6 +914,7 @@ int main(int argc, char **argv)
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");
dmrs_config_type=pusch_dmrs_type1;
nb_re_dmrs=6;
printf("[ULSIM]: TRANSFORM PRECODING ENABLED. Num RBs: %d, index for DMRS_SEQ: %d\n",nb_rb,index);
}
...
...
@@ -1560,7 +1583,7 @@ int main(int argc, char **argv)