Commit 422ebb2c authored by Sakthivel Velumani's avatar Sakthivel Velumani

csi: fix sinr measurement with ZMQ

parent e3b74e54
...@@ -578,10 +578,6 @@ int nr_csi_rs_pmi_estimation(const PHY_VARS_NR_UE *ue, ...@@ -578,10 +578,6 @@ int nr_csi_rs_pmi_estimation(const PHY_VARS_NR_UE *ue,
// The first column is applicable if the UE is reporting a Rank = 1, whereas the second column is applicable if the // The first column is applicable if the UE is reporting a Rank = 1, whereas the second column is applicable if the
// UE is reporting a Rank = 2. // UE is reporting a Rank = 2.
if (interference_plus_noise_power == 0) {
return 0;
}
if (N_ports == 1) { if (N_ports == 1) {
// SISO case: SINR = E[|h|^2] / noise_power. No PMI to estimate. // SISO case: SINR = E[|h|^2] / noise_power. No PMI to estimate.
int64_t signal_power = 0; int64_t signal_power = 0;
...@@ -601,7 +597,8 @@ int nr_csi_rs_pmi_estimation(const PHY_VARS_NR_UE *ue, ...@@ -601,7 +597,8 @@ int nr_csi_rs_pmi_estimation(const PHY_VARS_NR_UE *ue,
if (count > 0) { if (count > 0) {
const int64_t avg_signal_power = signal_power / count; const int64_t avg_signal_power = signal_power / count;
const uint32_t sinr = avg_signal_power / interference_plus_noise_power; // Non RF devices like ZMQ has virtually zero noise. So here we make noise as 1 to return maximum sinr.
const uint32_t sinr = avg_signal_power / ((interference_plus_noise_power == 0) ? 1 : interference_plus_noise_power);
*precoded_sinr_dB = dB_fixed(sinr); *precoded_sinr_dB = dB_fixed(sinr);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment