|
|
@ -462,62 +462,64 @@ typedef struct {
|
|
|
|
} carrier_map_t;
|
|
|
|
} carrier_map_t;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
typedef struct {
|
|
|
|
std::string type;
|
|
|
|
std::string type = "lte";
|
|
|
|
srslte::phy_log_args_t log;
|
|
|
|
srslte::phy_log_args_t log = {
|
|
|
|
|
|
|
|
.phy_level = "none",
|
|
|
|
std::string dl_earfcn; // comma-separated list of EARFCNs
|
|
|
|
.phy_lib_level = "none",
|
|
|
|
std::vector<uint32_t> earfcn_list; // vectorized version of dl_earfcn that gets populated during init
|
|
|
|
.phy_hex_limit = -1,
|
|
|
|
|
|
|
|
};
|
|
|
|
float dl_freq;
|
|
|
|
|
|
|
|
float ul_freq;
|
|
|
|
std::string dl_earfcn = "3400"; // comma-separated list of EARFCNs
|
|
|
|
|
|
|
|
std::vector<uint32_t> earfcn_list = {3400}; // vectorized version of dl_earfcn that gets populated during init
|
|
|
|
bool ul_pwr_ctrl_en;
|
|
|
|
|
|
|
|
float prach_gain;
|
|
|
|
float dl_freq = -1.0f;
|
|
|
|
int pdsch_max_its;
|
|
|
|
float ul_freq = -1.0f;
|
|
|
|
bool attach_enable_64qam;
|
|
|
|
|
|
|
|
int nof_phy_threads;
|
|
|
|
bool ul_pwr_ctrl_en = false;
|
|
|
|
|
|
|
|
float prach_gain = -1;
|
|
|
|
int worker_cpu_mask;
|
|
|
|
int pdsch_max_its = 8;
|
|
|
|
int sync_cpu_affinity;
|
|
|
|
int nof_phy_threads = 3;
|
|
|
|
|
|
|
|
|
|
|
|
uint32_t nof_carriers;
|
|
|
|
int worker_cpu_mask = -1;
|
|
|
|
uint32_t nof_radios;
|
|
|
|
int sync_cpu_affinity = -1;
|
|
|
|
uint32_t nof_rx_ant;
|
|
|
|
|
|
|
|
uint32_t nof_rf_channels;
|
|
|
|
uint32_t nof_carriers = 1;
|
|
|
|
carrier_map_t carrier_map[SRSLTE_MAX_CARRIERS];
|
|
|
|
uint32_t nof_radios = 1;
|
|
|
|
std::string equalizer_mode;
|
|
|
|
uint32_t nof_rx_ant = 1;
|
|
|
|
int cqi_max;
|
|
|
|
uint32_t nof_rf_channels = 1;
|
|
|
|
int cqi_fixed;
|
|
|
|
carrier_map_t carrier_map[SRSLTE_MAX_CARRIERS] = {};
|
|
|
|
float snr_ema_coeff;
|
|
|
|
std::string equalizer_mode = "mmse";
|
|
|
|
std::string snr_estim_alg;
|
|
|
|
int cqi_max = 15;
|
|
|
|
bool agc_enable;
|
|
|
|
int cqi_fixed = -1;
|
|
|
|
bool cfo_is_doppler;
|
|
|
|
float snr_ema_coeff = 0.1f;
|
|
|
|
bool cfo_integer_enabled;
|
|
|
|
std::string snr_estim_alg = "refs";
|
|
|
|
float cfo_correct_tol_hz;
|
|
|
|
bool agc_enable = true;
|
|
|
|
float cfo_pss_ema;
|
|
|
|
bool cfo_is_doppler = false;
|
|
|
|
float cfo_ref_ema;
|
|
|
|
bool cfo_integer_enabled = false;
|
|
|
|
float cfo_loop_bw_pss;
|
|
|
|
float cfo_correct_tol_hz = 1.0f;
|
|
|
|
float cfo_loop_bw_ref;
|
|
|
|
float cfo_pss_ema = DEFAULT_CFO_EMA_TRACK;
|
|
|
|
float cfo_loop_ref_min;
|
|
|
|
float cfo_loop_bw_pss = DEFAULT_CFO_BW_PSS;
|
|
|
|
float cfo_loop_pss_tol;
|
|
|
|
float cfo_loop_bw_ref = DEFAULT_CFO_BW_REF;
|
|
|
|
float sfo_ema;
|
|
|
|
float cfo_loop_ref_min = DEFAULT_CFO_REF_MIN;
|
|
|
|
uint32_t sfo_correct_period;
|
|
|
|
float cfo_loop_pss_tol = DEFAULT_CFO_PSS_MIN;
|
|
|
|
uint32_t cfo_loop_pss_conv;
|
|
|
|
float sfo_ema = DEFAULT_SFO_EMA_COEFF;
|
|
|
|
uint32_t cfo_ref_mask;
|
|
|
|
uint32_t sfo_correct_period = DEFAULT_SAMPLE_OFFSET_CORRECT_PERIOD;
|
|
|
|
bool interpolate_subframe_enabled;
|
|
|
|
uint32_t cfo_loop_pss_conv = DEFAULT_PSS_STABLE_TIMEOUT;
|
|
|
|
bool estimator_fil_auto;
|
|
|
|
uint32_t cfo_ref_mask = 1023;
|
|
|
|
float estimator_fil_stddev;
|
|
|
|
bool interpolate_subframe_enabled = false;
|
|
|
|
uint32_t estimator_fil_order;
|
|
|
|
bool estimator_fil_auto = false;
|
|
|
|
float snr_to_cqi_offset;
|
|
|
|
float estimator_fil_stddev = 1.0f;
|
|
|
|
std::string sss_algorithm;
|
|
|
|
uint32_t estimator_fil_order = 4;
|
|
|
|
bool sic_pss_enabled;
|
|
|
|
float snr_to_cqi_offset = 0.0f;
|
|
|
|
float rx_gain_offset;
|
|
|
|
std::string sss_algorithm = "full";
|
|
|
|
bool pdsch_csi_enabled;
|
|
|
|
bool sic_pss_enabled = false;
|
|
|
|
bool pdsch_8bit_decoder;
|
|
|
|
float rx_gain_offset = 62;
|
|
|
|
uint32_t intra_freq_meas_len_ms;
|
|
|
|
bool pdsch_csi_enabled = true;
|
|
|
|
uint32_t intra_freq_meas_period_ms;
|
|
|
|
bool pdsch_8bit_decoder = false;
|
|
|
|
bool pregenerate_signals;
|
|
|
|
uint32_t intra_freq_meas_len_ms = 20;
|
|
|
|
float force_ul_amplitude;
|
|
|
|
uint32_t intra_freq_meas_period_ms = 200;
|
|
|
|
|
|
|
|
bool pregenerate_signals = false;
|
|
|
|
|
|
|
|
float force_ul_amplitude = 0.0f;
|
|
|
|
|
|
|
|
|
|
|
|
srslte::channel::args_t dl_channel_args;
|
|
|
|
srslte::channel::args_t dl_channel_args;
|
|
|
|
srslte::channel::args_t ul_channel_args;
|
|
|
|
srslte::channel::args_t ul_channel_args;
|
|
|
|