Added srsue argument for enabling EVM calculation

This commit is contained in:
Xavier Arteaga 2020-04-14 19:10:21 +02:00 committed by Xavier Arteaga
parent 210ce0ac48
commit 04c47e2b47
4 changed files with 13 additions and 6 deletions

View File

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

View File

@ -254,9 +254,13 @@ static int parse_args(all_args_t* args, int argc, char* argv[])
"Sets the noise estimation algorithm. (Default refs)")
("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")
("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",
bpo::value<int>(&args->phy.nof_phy_threads)->default_value(3),
"Number of PHY threads")

View File

@ -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)
{
bzero(pdsch_cfg, sizeof(srslte_pdsch_cfg_t));
pdsch_cfg->csi_enable = args->pdsch_csi_enabled;
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;
}

View File

@ -285,6 +285,7 @@ enable = false
# refs: use difference between noise references and noiseless (after filtering)
# empty: use empty subcarriers in the boarder of pss/sss signal
# 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)
# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any
# non-negative real number to indicate a regularized zf coefficient.
@ -326,6 +327,7 @@ enable = false
#snr_ema_coeff = 0.1
#snr_estim_alg = refs
#pdsch_max_its = 8 # These are half iterations
#pdsch_meas_evm = false
#nof_phy_threads = 3
#equalizer_mode = mmse
#correct_sync_error = false