UE dicards NR CFO measurement if SNR is negative

This commit is contained in:
Xavier Arteaga 2021-08-24 13:15:28 +02:00 committed by Xavier Arteaga
parent 83b9b2d1ff
commit 4cb633e6e6
1 changed files with 7 additions and 1 deletions

View File

@ -497,10 +497,16 @@ public:
measurements.K_csi_rs = K_csi_rs;
new_nzp_csi_rs_channel_measurement(measurements, resource_set_id);
// Update tracking information
trs_measurements_mutex.lock();
trs_measurements.rsrp_dB = SRSRAN_VEC_SAFE_EMA(new_meas.rsrp_dB, trs_measurements.rsrp_dB, args.trs_epre_ema_alpha);
trs_measurements.epre_dB = SRSRAN_VEC_SAFE_EMA(new_meas.epre_dB, trs_measurements.epre_dB, args.trs_rsrp_ema_alpha);
trs_measurements.cfo_hz = SRSRAN_VEC_SAFE_EMA(new_meas.cfo_hz, trs_measurements.cfo_hz, args.trs_cfo_ema_alpha);
// Consider CFO measurement invalid if the SNR is negative. In this case, set CFO to 0.
if (trs_measurements.snr_dB > 0.0f) {
trs_measurements.cfo_hz = SRSRAN_VEC_SAFE_EMA(new_meas.cfo_hz, trs_measurements.cfo_hz, args.trs_cfo_ema_alpha);
} else {
trs_measurements.cfo_hz = 0.0f;
}
trs_measurements.nof_re++;
trs_measurements_mutex.unlock();
}