diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c index 3e7087a83e..ec8bc42fce 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c @@ -1689,8 +1689,10 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, if (rel15_ul->nrOfLayers == 2 && rel15_ul->qam_mod_order > 6) pusch_vars->log2_maxh = (log2_approx(avgs) >> 1) - 3; // for MMSE - else + else if (rel15_ul->nrOfLayers == 2) pusch_vars->log2_maxh = (log2_approx(avgs) >> 1) - 2 + log2_approx(frame_parms->nb_antennas_rx >> 1); + else + pusch_vars->log2_maxh = (log2_approx(avgs) >> 1) + 1 + log2_approx(frame_parms->nb_antennas_rx >> 1); if (pusch_vars->log2_maxh < 0) pusch_vars->log2_maxh = 0;