sched,feature: Enable configuring maximum coderate for SIB allocations

master
Francisco 4 years ago committed by Francisco Paisana
parent 6ababf401b
commit 2a009eb340

@ -65,6 +65,7 @@ public:
float ul_snr_avg_alpha = 0.05; float ul_snr_avg_alpha = 0.05;
int init_ul_snr_value = 5; int init_ul_snr_value = 5;
int init_dl_cqi = 5; int init_dl_cqi = 5;
float max_sib_coderate = 0.8;
}; };
struct cell_cfg_t { struct cell_cfg_t {

@ -177,6 +177,7 @@ enable = false
# ul_snr_avg_alpha: Exponential Average alpha coefficient used in estimation of UL SNR # ul_snr_avg_alpha: Exponential Average alpha coefficient used in estimation of UL SNR
# init_ul_snr_value: Initial UL SNR value used for computing MCS in the first UL grant # init_ul_snr_value: Initial UL SNR value used for computing MCS in the first UL grant
# init_dl_cqi: DL CQI value used before any CQI report is available to the eNB # init_dl_cqi: DL CQI value used before any CQI report is available to the eNB
# max_sib_coderate: Upper bound on SIB and RAR grants coderate
# #
##################################################################### #####################################################################
[scheduler] [scheduler]
@ -200,6 +201,7 @@ enable = false
#ul_snr_avg_alpha=0.05 #ul_snr_avg_alpha=0.05
#init_ul_snr_value=5 #init_ul_snr_value=5
#init_dl_cqi=5 #init_dl_cqi=5
#max_sib_coderate=0.8
##################################################################### #####################################################################
# eMBMS configuration options # eMBMS configuration options

@ -159,6 +159,7 @@ void parse_args(all_args_t* args, int argc, char* argv[])
("scheduler.ul_snr_avg_alpha", bpo::value<float>(&args->stack.mac.sched.ul_snr_avg_alpha)->default_value(0.05), "Exponential Average alpha coefficient used in estimation of UL SNR") ("scheduler.ul_snr_avg_alpha", bpo::value<float>(&args->stack.mac.sched.ul_snr_avg_alpha)->default_value(0.05), "Exponential Average alpha coefficient used in estimation of UL SNR")
("scheduler.init_ul_snr_value", bpo::value<int>(&args->stack.mac.sched.init_ul_snr_value)->default_value(5), "Initial UL SNR value used for computing MCS in the first UL grant") ("scheduler.init_ul_snr_value", bpo::value<int>(&args->stack.mac.sched.init_ul_snr_value)->default_value(5), "Initial UL SNR value used for computing MCS in the first UL grant")
("scheduler.init_dl_cqi", bpo::value<int>(&args->stack.mac.sched.init_dl_cqi)->default_value(5), "DL CQI value used before any CQI report is available to the eNB") ("scheduler.init_dl_cqi", bpo::value<int>(&args->stack.mac.sched.init_dl_cqi)->default_value(5), "DL CQI value used before any CQI report is available to the eNB")
("scheduler.max_sib_coderate", bpo::value<float>(&args->stack.mac.sched.max_sib_coderate)->default_value(0.8), "Upper bound on SIB and RAR grants coderate")
/* Downlink Channel emulator section */ /* Downlink Channel emulator section */

@ -189,8 +189,8 @@ int generate_ra_bc_dci_format1a_common(srsran_dci_dl_t& dci,
const sched_cell_params_t& cell_params, const sched_cell_params_t& cell_params,
uint32_t current_cfi) uint32_t current_cfi)
{ {
static const uint32_t Qm = 2, bc_rar_cqi = 4; static const uint32_t Qm = 2;
static const float max_ctrl_coderate = std::min(srsran_cqi_to_coderate(bc_rar_cqi + 1, false), 0.932F * Qm); static const float max_ctrl_coderate = std::min(cell_params.sched_cfg->max_sib_coderate, 0.932F * Qm);
// Calculate I_tbs for this TBS // Calculate I_tbs for this TBS
int tbs = static_cast<int>(req_bytes) * 8; int tbs = static_cast<int>(req_bytes) * 8;

Loading…
Cancel
Save