diff --git a/lib/include/srsran/interfaces/sched_interface.h b/lib/include/srsran/interfaces/sched_interface.h index 5155887d9..e9549b244 100644 --- a/lib/include/srsran/interfaces/sched_interface.h +++ b/lib/include/srsran/interfaces/sched_interface.h @@ -65,6 +65,7 @@ public: float ul_snr_avg_alpha = 0.05; int init_ul_snr_value = 5; int init_dl_cqi = 5; + float max_sib_coderate = 0.8; }; struct cell_cfg_t { diff --git a/srsenb/enb.conf.example b/srsenb/enb.conf.example index cd64805c6..1a7cfa492 100644 --- a/srsenb/enb.conf.example +++ b/srsenb/enb.conf.example @@ -177,6 +177,7 @@ enable = false # 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_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] @@ -200,6 +201,7 @@ enable = false #ul_snr_avg_alpha=0.05 #init_ul_snr_value=5 #init_dl_cqi=5 +#max_sib_coderate=0.8 ##################################################################### # eMBMS configuration options diff --git a/srsenb/src/main.cc b/srsenb/src/main.cc index 8ebf978b3..1d9119457 100644 --- a/srsenb/src/main.cc +++ b/srsenb/src/main.cc @@ -159,6 +159,7 @@ void parse_args(all_args_t* args, int argc, char* argv[]) ("scheduler.ul_snr_avg_alpha", bpo::value(&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(&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(&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(&args->stack.mac.sched.max_sib_coderate)->default_value(0.8), "Upper bound on SIB and RAR grants coderate") /* Downlink Channel emulator section */ diff --git a/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc b/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc index 2df511b97..3756b9438 100644 --- a/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc +++ b/srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc @@ -189,8 +189,8 @@ int generate_ra_bc_dci_format1a_common(srsran_dci_dl_t& dci, const sched_cell_params_t& cell_params, uint32_t current_cfi) { - static const uint32_t Qm = 2, bc_rar_cqi = 4; - static const float max_ctrl_coderate = std::min(srsran_cqi_to_coderate(bc_rar_cqi + 1, false), 0.932F * Qm); + static const uint32_t Qm = 2; + static const float max_ctrl_coderate = std::min(cell_params.sched_cfg->max_sib_coderate, 0.932F * Qm); // Calculate I_tbs for this TBS int tbs = static_cast(req_bytes) * 8;