Added srsue argument for enabling EVM calculation

master
Xavier Arteaga 5 years ago committed by Xavier Arteaga
parent 210ce0ac48
commit 04c47e2b47

@ -466,10 +466,11 @@ typedef struct {
float dl_freq = -1.0f; float dl_freq = -1.0f;
float ul_freq = -1.0f; float ul_freq = -1.0f;
bool ul_pwr_ctrl_en = false; bool ul_pwr_ctrl_en = false;
float prach_gain = -1; float prach_gain = -1;
int pdsch_max_its = 8; uint32_t pdsch_max_its = 8;
int nof_phy_threads = 3; bool meas_evm = false;
int nof_phy_threads = 3;
int worker_cpu_mask = -1; int worker_cpu_mask = -1;
int sync_cpu_affinity = -1; int sync_cpu_affinity = -1;

@ -254,9 +254,13 @@ static int parse_args(all_args_t* args, int argc, char* argv[])
"Sets the noise estimation algorithm. (Default refs)") "Sets the noise estimation algorithm. (Default refs)")
("phy.pdsch_max_its", ("phy.pdsch_max_its",
bpo::value<int>(&args->phy.pdsch_max_its)->default_value(8), bpo::value<uint32_t>(&args->phy.pdsch_max_its)->default_value(8),
"Maximum number of turbo decoder iterations") "Maximum number of turbo decoder iterations")
("phy.meas_evm",
bpo::value<bool>(&args->phy.meas_evm)->default_value(false),
"Measure PDSCH EVM, increases CPU load (default false)")
("phy.nof_phy_threads", ("phy.nof_phy_threads",
bpo::value<int>(&args->phy.nof_phy_threads)->default_value(3), bpo::value<int>(&args->phy.nof_phy_threads)->default_value(3),
"Number of PHY threads") "Number of PHY threads")

@ -110,9 +110,9 @@ void phy_common::set_ue_dl_cfg(srslte_ue_dl_cfg_t* ue_dl_cfg)
void phy_common::set_pdsch_cfg(srslte_pdsch_cfg_t* pdsch_cfg) void phy_common::set_pdsch_cfg(srslte_pdsch_cfg_t* pdsch_cfg)
{ {
bzero(pdsch_cfg, sizeof(srslte_pdsch_cfg_t));
pdsch_cfg->csi_enable = args->pdsch_csi_enabled; pdsch_cfg->csi_enable = args->pdsch_csi_enabled;
pdsch_cfg->max_nof_iterations = args->pdsch_max_its; pdsch_cfg->max_nof_iterations = args->pdsch_max_its;
pdsch_cfg->meas_evm_en = args->meas_evm;
pdsch_cfg->decoder_type = (args->equalizer_mode == "zf") ? SRSLTE_MIMO_DECODER_ZF : SRSLTE_MIMO_DECODER_MMSE; pdsch_cfg->decoder_type = (args->equalizer_mode == "zf") ? SRSLTE_MIMO_DECODER_ZF : SRSLTE_MIMO_DECODER_MMSE;
} }

@ -285,6 +285,7 @@ enable = false
# refs: use difference between noise references and noiseless (after filtering) # refs: use difference between noise references and noiseless (after filtering)
# empty: use empty subcarriers in the boarder of pss/sss signal # empty: use empty subcarriers in the boarder of pss/sss signal
# pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) # pdsch_max_its: Maximum number of turbo decoder iterations (Default 4)
# pdsch_meas_evm: Measure PDSCH EVM, increases CPU load (default false)
# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 2) # nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 2)
# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any # equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any
# non-negative real number to indicate a regularized zf coefficient. # non-negative real number to indicate a regularized zf coefficient.
@ -326,6 +327,7 @@ enable = false
#snr_ema_coeff = 0.1 #snr_ema_coeff = 0.1
#snr_estim_alg = refs #snr_estim_alg = refs
#pdsch_max_its = 8 # These are half iterations #pdsch_max_its = 8 # These are half iterations
#pdsch_meas_evm = false
#nof_phy_threads = 3 #nof_phy_threads = 3
#equalizer_mode = mmse #equalizer_mode = mmse
#correct_sync_error = false #correct_sync_error = false

Loading…
Cancel
Save