test,nr: add ra_search_space configuration to phy_cfg_nr; now the test ue searches for RA-RNTI while expecting a RAR

This commit is contained in:
Francisco Paisana 2021-08-24 11:59:15 +02:00
parent 2668a8f68b
commit 36eee0ab40
4 changed files with 17 additions and 3 deletions

View File

@ -139,6 +139,10 @@ void phy_cfg_nr_default_t::make_pdcch_custom_common_ss(srsran_pdcch_cfg_nr_t& pd
pdcch.search_space[1].nof_candidates[L] =
SRSRAN_MIN(2, srsran_pdcch_nr_max_candidates_coreset(&pdcch.coreset[1], L));
}
pdcch.ra_search_space_present = true;
pdcch.ra_search_space = pdcch.search_space[1];
pdcch.ra_search_space.type = srsran_search_space_type_common_1;
}
void phy_cfg_nr_default_t::make_pdsch_default(srsran_sch_hl_cfg_nr_t& pdsch)

View File

@ -54,6 +54,10 @@ bool fill_dci_rar(prb_interval interv, uint16_t ra_rnti, const bwp_params& bwp_c
dci.ctx.rnti = ra_rnti;
dci.ctx.coreset_id = bwp_cfg.cfg.pdcch.ra_search_space.coreset_id;
dci.freq_domain_assigment = srsran_ra_nr_type1_riv(bwp_cfg.cfg.rb_width, interv.start(), interv.length());
dci.time_domain_assigment = 0;
dci.tpc = 1;
dci.bwp_id = bwp_cfg.bwp_id;
dci.cc_id = bwp_cfg.cc;
// TODO: Fill
return true;

View File

@ -176,7 +176,7 @@ void cc_worker::decode_pdcch_dl()
for (uint32_t i = 0; i < ue_dl.pdcch_info_count; i++) {
const srsran_ue_dl_nr_pdcch_info_t* info = &ue_dl.pdcch_info[i];
logger.debug("PDCCH: dci=%s, rnti=%x, crst_id=%d, ss_type=%d, ncce=%d, al=%d, EPRE=%+.2f, RSRP=%+.2f, corr=%.3f; "
"nof_bits=%d; crc=%s;",
"evm=%f; nof_bits=%d; crc=%s;",
srsran_dci_format_nr_string(info->dci_ctx.format),
info->dci_ctx.rnti,
info->dci_ctx.coreset_id,
@ -186,6 +186,7 @@ void cc_worker::decode_pdcch_dl()
info->measure.epre_dBfs,
info->measure.rsrp_dBfs,
info->measure.norm_corr,
info->result.evm,
info->nof_bits,
info->result.crc ? "OK" : "KO");
}

View File

@ -28,6 +28,7 @@ public:
};
private:
srsran_rnti_type_t dl_rnti_type = srsran_rnti_type_c;
uint16_t rnti = 0;
bool valid = false;
uint32_t sr_period = 0;
@ -72,7 +73,7 @@ public:
}
}
int sf_indication(const uint32_t tti) override { return 0; }
sched_rnti_t get_dl_sched_rnti_nr(const uint32_t tti) override { return {rnti, srsran_rnti_type_c}; }
sched_rnti_t get_dl_sched_rnti_nr(const uint32_t tti) override { return {rnti, dl_rnti_type}; }
sched_rnti_t get_ul_sched_rnti_nr(const uint32_t tti) override { return {rnti, srsran_rnti_type_c}; }
void new_grant_dl(const uint32_t cc_idx, const mac_nr_grant_dl_t& grant, tb_action_dl_t* action) override
{
@ -89,7 +90,11 @@ public:
action->tb.payload = tx_harq_proc[grant.pid].get_tb(grant.tbs);
action->tb.softbuffer = &tx_harq_proc[grant.pid].get_softbuffer(grant.ndi);
}
void prach_sent(uint32_t tti, uint32_t s_id, uint32_t t_id, uint32_t f_id, uint32_t ul_carrier_id) override {}
void prach_sent(uint32_t tti, uint32_t s_id, uint32_t t_id, uint32_t f_id, uint32_t ul_carrier_id) override
{
dl_rnti_type = srsran_rnti_type_ra;
rnti = 1 + s_id + 14 * t_id + 14 * 80 * f_id + 14 * 80 * 8 * ul_carrier_id;
}
bool sr_opportunity(uint32_t tti, uint32_t sr_id, bool meas_gap, bool ul_sch_tx) override
{
if (sr_period == 0) {