srsUE: Add option to filter N_id_2 / PSS to configuration

master
Matan Perelman 4 years ago committed by Andre Puschmann
parent ee997a4e4e
commit 7ee52dc676

@ -39,6 +39,8 @@ struct phy_args_t {
std::vector<uint32_t> dl_nr_arfcn_list = {
632628}; // vectorized version of dl_nr_arfcn that gets populated during init
int force_N_id_2 = -1; // Cell identity within the identity group (PSS) to filter.
float dl_freq = -1.0f;
float ul_freq = -1.0f;

@ -36,7 +36,7 @@ public:
explicit search(srslog::basic_logger& logger) : logger(logger) {}
~search();
void init(srsran::rf_buffer_t& buffer_, uint32_t nof_rx_channels, search_callback* parent);
void init(srsran::rf_buffer_t& buffer_, uint32_t nof_rx_channels, search_callback* parent, int force_N_id_2_);
void reset();
float get_last_cfo();
void set_agc_enable(bool enable);

@ -396,6 +396,10 @@ static int parse_args(all_args_t* args, int argc, char* argv[])
bpo::value<bool>(&use_standard_lte_rates)->default_value(false),
"Whether to use default LTE sample rates instead of shorter variants.")
("phy.force_N_id_2",
bpo::value<int>(&args->phy.force_N_id_2)->default_value(-1),
"Force using a specific PSS (set to -1 to allow all PSSs).")
// UE simulation args
("sim.airplane_t_on_ms",
bpo::value<int>(&args->stack.nas.sim.airplane_t_on_ms)->default_value(-1),

@ -46,7 +46,7 @@ search::~search()
srsran_ue_cellsearch_free(&cs);
}
void search::init(srsran::rf_buffer_t& buffer_, uint32_t nof_rx_channels, search_callback* parent)
void search::init(srsran::rf_buffer_t& buffer_, uint32_t nof_rx_channels, search_callback* parent, int force_N_id_2_)
{
p = parent;
@ -64,7 +64,7 @@ void search::init(srsran::rf_buffer_t& buffer_, uint32_t nof_rx_channels, search
// Set options defined in expert section
p->set_ue_sync_opts(&cs.ue_sync, 0);
force_N_id_2 = -1;
force_N_id_2 = force_N_id_2_;
}
void search::reset()

@ -81,7 +81,7 @@ void sync::init(srsran::radio_interface_phy* _radio,
}
// Initialize cell searcher
search_p.init(sf_buffer, nof_rf_channels, this);
search_p.init(sf_buffer, nof_rf_channels, this, worker_com->args->force_N_id_2);
// Initialize SFN synchronizer, it uses only pcell buffer
sfn_p.init(&ue_sync, worker_com->args, sf_buffer, sf_buffer.size());

Loading…
Cancel
Save