sched: plug dyn CQI->MCS mapping into scheduler

Signed-off-by: Carlo Galiotto <carlo@srs.io>
master
Carlo Galiotto 3 years ago committed by carlo-gal
parent 2570c2ce77
commit c2d4dedafc

@ -329,6 +329,16 @@ alloc_result bwp_slot_allocator::alloc_pdsch(slot_ue& ue, uint32_t ss_id, const
// Allocate HARQ
int mcs = ue->fixed_pdsch_mcs();
if (ue.h_dl->empty()) {
mcs = srsran_ra_nr_cqi_to_mcs(/* cqi */ ue.dl_cqi(),
/* cqi_table_idx */ ue.cfg().phy().csi.reports->cqi_table,
/* mcs_table */ pdsch.sch.sch_cfg.mcs_table,
/* dci_format */ pdcch.dci.ctx.format,
/* search_space_type*/ pdcch.dci.ctx.ss_type,
/* rnti_type */ rnti_type);
if (mcs < 0) {
logger.warning("SCHED: UE rnti=0x%x reported CQI=0 - Using lowest MCS=0", ue->rnti);
mcs = 0;
}
bool success = ue.h_dl->new_tx(ue.pdsch_slot, ue.uci_slot, dl_grant, mcs, 4, pdcch.dci);
srsran_assert(success, "Failed to allocate DL HARQ");
} else {

@ -173,7 +173,7 @@ int fill_csi_report_from_enb_cfg(const rrc_nr_cfg_t& cfg, csi_meas_cfg_s& csi_me
csi_report.group_based_beam_report.set_disabled();
// Skip CQI table (optional)
csi_report.cqi_table_present = true;
csi_report.cqi_table = asn1::rrc_nr::csi_report_cfg_s::cqi_table_opts::table2;
csi_report.cqi_table = asn1::rrc_nr::csi_report_cfg_s::cqi_table_opts::table1;
csi_report.subband_size = asn1::rrc_nr::csi_report_cfg_s::subband_size_opts::value1;
if (cfg.cell_list[0].duplex_mode == SRSRAN_DUPLEX_MODE_FDD) {
@ -519,6 +519,11 @@ void fill_pdsch_cfg_from_enb_cfg(const rrc_nr_cfg_t& cfg, uint32_t cc, pdsch_cfg
out.prb_bundling_type.static_bundling().bundle_size =
pdsch_cfg_s::prb_bundling_type_c_::static_bundling_s_::bundle_size_opts::wideband;
// MCS Table
// NOTE: For Table 1 or QAM64, set false and comment value
// out.mcs_table_present = true;
// out.mcs_table.value = pdsch_cfg_s::mcs_table_opts::qam256;
// ZP-CSI
out.zp_csi_rs_res_to_add_mod_list.resize(1);
out.zp_csi_rs_res_to_add_mod_list[0].zp_csi_rs_res_id = 0;

Loading…
Cancel
Save