Fix EMA cold-start for noise and SNR/RSSI measurements
Initialize n0_subband_power and power control avg_snr/avg_rssi directly from the first measurement instead of starting from zero
This commit is contained in:
@@ -910,6 +910,11 @@ void handle_nr_uci_pucch_0_1(module_id_t mod_id, frame_t frame, slot_t slot, con
|
||||
NR_SCHED_UNLOCK(&nrmac->sched_lock);
|
||||
return;
|
||||
}
|
||||
// Msg4 Ack: reset average with first measurement
|
||||
if (uci_01->ul_cqi != 0xff) {
|
||||
UE->UE_sched_ctrl.pucch_pc.avg_rssi = uci_01->rssi;
|
||||
UE->UE_sched_ctrl.pucch_pc.avg_snr = (uci_01->ul_cqi * 5 - 640) * 0.1;
|
||||
}
|
||||
}
|
||||
if (harq_confidence == 1) {
|
||||
UE->mac_stats.pucch0_DTX++;
|
||||
|
||||
@@ -763,7 +763,7 @@ static void nr_rx_ra_sdu(const module_id_t mod_id,
|
||||
|
||||
if (ul_cqi != 0xff) {
|
||||
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
||||
// Msg3: reset average. If this fails (e.g., ul_cqi == 0xff)
|
||||
// Msg3: reset average with first measurement. If this fails (e.g., ul_cqi == 0xff)
|
||||
// everything starts from predetermined value
|
||||
sched_ctrl->pusch_pc.avg_snr = 0.1 * (ul_cqi * 5 - 640);
|
||||
sched_ctrl->pusch_pc.avg_rssi = rssi;
|
||||
|
||||
Reference in New Issue
Block a user