mirror of https://github.com/PentHertz/srsLTE.git
bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified
This commit is contained in:
parent
c75777c618
commit
4627ae9802
|
@ -191,8 +191,8 @@ private:
|
||||||
int pending_delta = 0;
|
int pending_delta = 0;
|
||||||
int acc_tpc_values = 0;
|
int acc_tpc_values = 0;
|
||||||
|
|
||||||
explicit ul_ch_snr_estim(float target_ul_snr = -1) :
|
explicit ul_ch_snr_estim(float initial_snr) :
|
||||||
snr_avg(0.1, target_ul_snr), win_tpc_values(FDD_HARQ_DELAY_UL_MS + FDD_HARQ_DELAY_DL_MS)
|
snr_avg(0.1, initial_snr < 0 ? 5 : initial_snr), win_tpc_values(FDD_HARQ_DELAY_UL_MS + FDD_HARQ_DELAY_DL_MS)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
std::array<ul_ch_snr_estim, nof_ul_ch_code> snr_estim_list;
|
std::array<ul_ch_snr_estim, nof_ul_ch_code> snr_estim_list;
|
||||||
|
|
|
@ -184,9 +184,11 @@ int sched_ue_cell::set_ul_crc(tti_point tti_rx, bool crc_res)
|
||||||
return SRSRAN_ERROR;
|
return SRSRAN_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul_snr_coeff += delta_down - static_cast<float>(not crc_res) * (delta_down + delta_up);
|
if (cell_cfg->sched_cfg->target_bler > 0) {
|
||||||
ul_snr_coeff = std::min(std::max(-max_snr_coeff, ul_snr_coeff), max_snr_coeff);
|
ul_snr_coeff += delta_down - static_cast<float>(not crc_res) * (delta_down + delta_up);
|
||||||
logger.info("SCHED: UL adaptive link: snr_estim=%f, snr_offset=%f", tpc_fsm.get_ul_snr_estim(), ul_snr_coeff);
|
ul_snr_coeff = std::min(std::max(-max_snr_coeff, ul_snr_coeff), max_snr_coeff);
|
||||||
|
logger.info("SCHED: UL adaptive link: snr_estim=%f, snr_offset=%f", tpc_fsm.get_ul_snr_estim(), ul_snr_coeff);
|
||||||
|
}
|
||||||
return pid;
|
return pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,9 +201,11 @@ int sched_ue_cell::set_ack_info(tti_point tti_rx, uint32_t tb_idx, bool ack)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"SCHED: Set DL ACK=%d for rnti=0x%x, pid=%d, tb=%d, tti=%d", ack, rnti, p2.first, tb_idx, tti_rx.to_uint());
|
"SCHED: Set DL ACK=%d for rnti=0x%x, pid=%d, tb=%d, tti=%d", ack, rnti, p2.first, tb_idx, tti_rx.to_uint());
|
||||||
|
|
||||||
dl_cqi_coeff += delta_down - static_cast<float>(not ack) * (delta_down + delta_up);
|
if (cell_cfg->sched_cfg->target_bler > 0) {
|
||||||
dl_cqi_coeff = std::min(std::max(-max_cqi_coeff, dl_cqi_coeff), max_cqi_coeff);
|
dl_cqi_coeff += delta_down - static_cast<float>(not ack) * (delta_down + delta_up);
|
||||||
logger.info("SCHED: DL adaptive link: cqi=%d, cqi_offset=%f", dl_cqi_ctxt.get_avg_cqi(), dl_cqi_coeff);
|
dl_cqi_coeff = std::min(std::max(-max_cqi_coeff, dl_cqi_coeff), max_cqi_coeff);
|
||||||
|
logger.info("SCHED: DL adaptive link: cqi=%d, cqi_offset=%f", dl_cqi_ctxt.get_avg_cqi(), dl_cqi_coeff);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warning("SCHED: Received ACK info for unknown TTI=%d", tti_rx.to_uint());
|
logger.warning("SCHED: Received ACK info for unknown TTI=%d", tti_rx.to_uint());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue