Scaling LLR for different QAM schemes

This commit is contained in:
Bo Zhao
2022-04-07 10:40:53 +02:00
committed by Thomas Schlichter
parent baa76323d2
commit fe7ee4d2fe
3 changed files with 9 additions and 7 deletions
@@ -1298,7 +1298,7 @@ int nr_rx_pusch(PHY_VARS_gNB *gNB,
for (aarx=0;aarx<frame_parms->nb_antennas_rx;aarx++) for (aarx=0;aarx<frame_parms->nb_antennas_rx;aarx++)
avgs = cmax(avgs,avg[aatx*frame_parms->nb_antennas_rx+aarx]); avgs = cmax(avgs,avg[aatx*frame_parms->nb_antennas_rx+aarx]);
gNB->pusch_vars[ulsch_id]->log2_maxh = (log2_approx(avgs)/2)+2; gNB->pusch_vars[ulsch_id]->log2_maxh = (log2_approx(avgs)/2)+1;
gNB->pusch_vars[ulsch_id]->cl_done = 1; gNB->pusch_vars[ulsch_id]->cl_done = 1;
} }
@@ -50,13 +50,13 @@ void nr_ulsch_qpsk_llr(int32_t *rxdataF_comp,
if (!llr32) { if (!llr32) {
LOG_E(PHY,"nr_ulsch_qpsk_llr: llr is null, symbol %d, llr32 = %p\n",symbol, llr32); LOG_E(PHY,"nr_ulsch_qpsk_llr: llr is null, symbol %d, llr32 = %p\n",symbol, llr32);
} }
/* for (int i = 0; i < nb_re; i++) {
for (i = 0; i < nb_re; i++) { //*llr32 = *rxF;
*llr32 = *rxF; ((int16_t *)llr32)[0] = ((int16_t *)rxF)[0] / 8;
((int16_t *)llr32)[1] = ((int16_t *)rxF)[1] / 8;
rxF++; rxF++;
llr32++; llr32++;
}*/ }
memcpy1((void*)llr32,(void*)rxF,nb_re<<2);
} }
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@@ -656,7 +656,9 @@ int nr_dlsch_qpsk_llr(NR_DL_FRAME_PARMS *frame_parms,
llr32); llr32);
*/ */
for (i=0; i<len; i++) { for (i=0; i<len; i++) {
*llr32 = *rxF; //*llr32 = *rxF;
((int16_t *)llr32)[0] = ((int16_t *)rxF)[0] / 8;
((int16_t *)llr32)[1] = ((int16_t *)rxF)[1] / 8;
//printf("dlsch_qpsk_llr %d : (%d,%d)\n",i,((int16_t*)llr32)[0],((int16_t*)llr32)[1]); //printf("dlsch_qpsk_llr %d : (%d,%d)\n",i,((int16_t*)llr32)[0],((int16_t*)llr32)[1]);
rxF++; rxF++;
llr32++; llr32++;