From fe7ee4d2fe9c54bf45bb1ddffe9965e834a6f878 Mon Sep 17 00:00:00 2001 From: Bo Zhao Date: Fri, 15 Oct 2021 15:59:34 +0200 Subject: [PATCH] Scaling LLR for different QAM schemes --- openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c | 2 +- openair1/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c | 10 +++++----- .../PHY/NR_UE_TRANSPORT/nr_dlsch_llr_computation.c | 4 +++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c index 355830c078..2ffece0182 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c @@ -1298,7 +1298,7 @@ int nr_rx_pusch(PHY_VARS_gNB *gNB, for (aarx=0;aarxnb_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; } diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c index bf96a76106..421dab37f3 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_llr_computation.c @@ -50,13 +50,13 @@ void nr_ulsch_qpsk_llr(int32_t *rxdataF_comp, if (!llr32) { LOG_E(PHY,"nr_ulsch_qpsk_llr: llr is null, symbol %d, llr32 = %p\n",symbol, llr32); } - /* - for (i = 0; i < nb_re; i++) { - *llr32 = *rxF; + for (int i = 0; i < nb_re; i++) { + //*llr32 = *rxF; + ((int16_t *)llr32)[0] = ((int16_t *)rxF)[0] / 8; + ((int16_t *)llr32)[1] = ((int16_t *)rxF)[1] / 8; rxF++; llr32++; - }*/ - memcpy1((void*)llr32,(void*)rxF,nb_re<<2); + } } //---------------------------------------------------------------------------------------------- diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_llr_computation.c b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_llr_computation.c index 7c75884fa6..de018f334a 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_llr_computation.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_llr_computation.c @@ -656,7 +656,9 @@ int nr_dlsch_qpsk_llr(NR_DL_FRAME_PARMS *frame_parms, llr32); */ for (i=0; i