diff --git a/srsenb/src/stack/mac/nr/sched_nr_grant_allocator.cc b/srsenb/src/stack/mac/nr/sched_nr_grant_allocator.cc index 36f1ccb0a..8650de853 100644 --- a/srsenb/src/stack/mac/nr/sched_nr_grant_allocator.cc +++ b/srsenb/src/stack/mac/nr/sched_nr_grant_allocator.cc @@ -243,7 +243,8 @@ alloc_result bwp_slot_allocator::alloc_pdsch(slot_ue& ue, const prb_grant& dl_gr // Allocation Successful - int mcs = ue.cfg->ue_cfg()->fixed_dl_mcs; + int mcs = ue.cfg->ue_cfg()->fixed_dl_mcs; + const static float max_R = 0.93; do { // Generate PDCCH pdcch_dl_t& pdcch = bwp_pdcch_slot.dl_pdcchs.back(); @@ -277,7 +278,7 @@ alloc_result bwp_slot_allocator::alloc_pdsch(slot_ue& ue, const prb_grant& dl_gr } else { srsran_assert(pdsch.sch.grant.tb[0].tbs == (int)ue.h_dl->tbs(), "The TBS did not remain constant in retx"); } - if (bwp_pdsch_slot.pdschs.back().sch.grant.tb[0].R < 0.9 or mcs == 0) { + if (bwp_pdsch_slot.pdschs.back().sch.grant.tb[0].R < max_R or mcs == 0) { break; } // Decrease MCS if rate is too high