nr,gnb,rrc: fix sib1 offsetToPointA derivation

master
Francisco 3 years ago committed by Andre Puschmann
parent f705445f21
commit 84a60da146

@ -959,14 +959,17 @@ void fill_init_dl_bwp(const rrc_cell_cfg_nr_t& cell_cfg, bwp_dl_common_s& cfg)
void fill_dl_cfg_common_sib(const rrc_cell_cfg_nr_t& cell_cfg, dl_cfg_common_sib_s& cfg) void fill_dl_cfg_common_sib(const rrc_cell_cfg_nr_t& cell_cfg, dl_cfg_common_sib_s& cfg)
{ {
uint32_t scs_hz = SRSRAN_SUBC_SPACING_NR(cell_cfg.phy_cell.carrier.scs);
uint32_t prb_bw = scs_hz * SRSRAN_NRE;
srsran::srsran_band_helper band_helper; srsran::srsran_band_helper band_helper;
cfg.freq_info_dl.freq_band_list.resize(1); cfg.freq_info_dl.freq_band_list.resize(1);
cfg.freq_info_dl.freq_band_list[0].freq_band_ind_nr_present = true; cfg.freq_info_dl.freq_band_list[0].freq_band_ind_nr_present = true;
cfg.freq_info_dl.freq_band_list[0].freq_band_ind_nr = cell_cfg.band; cfg.freq_info_dl.freq_band_list[0].freq_band_ind_nr = cell_cfg.band;
uint32_t offset_point_a_hz = double ssb_freq_start = cell_cfg.ssb_cfg.ssb_freq_hz - SRSRAN_SSB_BW_SUBC * scs_hz / 2;
cell_cfg.phy_cell.dl_freq_hz - band_helper.nr_arfcn_to_freq(cell_cfg.dl_absolute_freq_point_a); double offset_point_a_hz = ssb_freq_start - band_helper.nr_arfcn_to_freq(cell_cfg.dl_absolute_freq_point_a);
uint32_t offset_point_a_rbs = offset_point_a_hz / SRSRAN_SUBC_SPACING_NR(cell_cfg.phy_cell.carrier.scs) / SRSRAN_NRE; uint32_t offset_point_a_prbs = offset_point_a_hz / prb_bw;
cfg.freq_info_dl.offset_to_point_a = offset_point_a_rbs; cfg.freq_info_dl.offset_to_point_a = offset_point_a_prbs;
cfg.freq_info_dl.scs_specific_carrier_list.resize(1); cfg.freq_info_dl.scs_specific_carrier_list.resize(1);
cfg.freq_info_dl.scs_specific_carrier_list[0].offset_to_carrier = 0; cfg.freq_info_dl.scs_specific_carrier_list[0].offset_to_carrier = 0;
cfg.freq_info_dl.scs_specific_carrier_list[0].subcarrier_spacing = cfg.freq_info_dl.scs_specific_carrier_list[0].subcarrier_spacing =

@ -56,8 +56,9 @@ void test_sib_generation()
rrc_nr_cfg_t rrc_cfg_nr = {}; rrc_nr_cfg_t rrc_cfg_nr = {};
rrc_cfg_nr.cell_list.emplace_back(); rrc_cfg_nr.cell_list.emplace_back();
rrc_cfg_nr.cell_list[0].phy_cell.carrier.pci = 500; rrc_cfg_nr.cell_list[0].phy_cell.carrier.pci = 500;
rrc_cfg_nr.cell_list[0].dl_arfcn = 634240; rrc_cfg_nr.cell_list[0].dl_arfcn = 368500;
rrc_cfg_nr.cell_list[0].band = 78; rrc_cfg_nr.cell_list[0].band = 3;
rrc_cfg_nr.cell_list[0].duplex_mode = SRSRAN_DUPLEX_MODE_FDD;
rrc_cfg_nr.is_standalone = true; rrc_cfg_nr.is_standalone = true;
args.enb.n_prb = 50; args.enb.n_prb = 50;
enb_conf_sections::set_derived_args_nr(&args, &rrc_cfg_nr, &phy_cfg); enb_conf_sections::set_derived_args_nr(&args, &rrc_cfg_nr, &phy_cfg);
@ -179,8 +180,8 @@ int main(int argc, char** argv)
} }
argparse::parse_args(argc, argv); argparse::parse_args(argc, argv);
srsenb::test_sib_generation();
TESTASSERT(srsenb::test_rrc_setup() == SRSRAN_SUCCESS); TESTASSERT(srsenb::test_rrc_setup() == SRSRAN_SUCCESS);
srsenb::test_sib_generation();
srsenb::test_rrc_sa_connection(); srsenb::test_rrc_sa_connection();
return SRSRAN_SUCCESS; return SRSRAN_SUCCESS;

Loading…
Cancel
Save