WIP: fixing the RE offset for each Rx antenna in pusch channel estimation
Hi,
I see in the function nr_pusch_channel_estimation() (File: /openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c, branch origin/develop ) the re_offset is initialized before the Rx antenna loop.
ch_offset = gNB->frame_parms.ofdm_symbol_size*symbol;
74 75 symbol_offset = gNB->frame_parms.ofdm_symbol_sizesymbol; 76 77 k = bwp_start_subcarrier; 78 int re_offset = k; 79 80 uint16_t nb_rb_pusch = pusch_pdu->rb_size; 81 82 / 83 #ifdef DEBUG_CH
So if we configure with more than one rx antennas(gNB->frame_parms.nb_antennas_rx > 1 ) there will be an issue. re_offset is getting updated
re_offset = (re_offset+2) % gNB->frame_parms.ofdm_symbol_size; at each interpolation, in the aarx loop.
the re_offset difference between 1st and 2nd antenna will be big in aarx loop.
I think re_offset should be initialized for each antenna in the loop , as shown below
@@ -157,7 +157,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB gNB, printf("%d+j(%d)\n",((int16_t*)pilot)[2i],((int16_t)pilot)[1+(2*i)]); #endif for (aarx=0; aarxframe_parms.nb_antennas_rx; aarx++) {
- re_offset = k; pil = (int16_t *)&pilot[0]; rxF = (int16_t *)&rxdataF[aarx][(symbol_offset+k+nushift)]; ul_ch = (int16_t *)&ul_ch_estimates[aarx][ch_offset];
Can you please confirm the above analysis ?