From 39c6cb203c0b49e0c471828a6df869a32dd03949 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Sun, 3 Aug 2025 11:12:59 -0400 Subject: [PATCH] Not include DC for CSI IM measurement DC subcarrier has a significantly higher energy compared to other CSI IM resource elements. This causes the average interference + noise estimation to be higher than CSI-RS signal power making the CQI 0. With a third-party gnb that schedules PDSCH based on CQI, the UE never receives DL DCI once it starts sending CSI reports. --- openair1/PHY/NR_UE_TRANSPORT/csi_rx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c index 764fbbabc6..bb576460f6 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c +++ b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c @@ -782,6 +782,8 @@ static void nr_csi_im_power_estimation(const PHY_VARS_NR_UE *ue, LOG_I(NR_PHY, "(ant_rx %i, sc %i) real %i, imag %i\n", ant_rx, sc, rx_signal[sc].r, rx_signal[sc].i); #endif + if (sc == 0) // skip DC for noise power estimation + continue; sum_re += rx_signal[sc].r; sum_im += rx_signal[sc].i; sum2_re += rx_signal[sc].r * rx_signal[sc].r;