SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold

master
Xavier Arteaga 5 years ago committed by Xavier Arteaga
parent 385cc8ecd8
commit 002a68e183

@ -56,6 +56,7 @@
#define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1 (0.2f) #define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1 (0.2f)
#define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1A (0.2f) #define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1A (0.2f)
#define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT2 (0.2f) #define SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT2 (0.2f)
#define SRSLTE_PUCCH_DEFAULT_THRESHOLD_DMRS (0.2f)
typedef struct { typedef struct {
srslte_sequence_t seq_f2[SRSLTE_NOF_SF_X_FRAME]; srslte_sequence_t seq_f2[SRSLTE_NOF_SF_X_FRAME];

@ -75,6 +75,7 @@ typedef struct SRSLTE_API {
float threshold_format1; float threshold_format1;
float threshold_data_valid_format1a; float threshold_data_valid_format1a;
float threshold_data_valid_format2; float threshold_data_valid_format2;
float threshold_dmrs_detection;
// PUCCH configuration generated during a call to encode/decode // PUCCH configuration generated during a call to encode/decode
srslte_pucch_format_t format; srslte_pucch_format_t format;

@ -918,8 +918,8 @@ int srslte_pucch_decode(srslte_pucch_t* q,
float _pow = srslte_vec_avg_power_cf(q->ce, nof_re); float _pow = srslte_vec_avg_power_cf(q->ce, nof_re);
float _r = _rms / _pow; float _r = _rms / _pow;
// Return not detected if the ratio is 0, NAN, +/- Infinity or below 0.1 // Return not detected if the ratio is 0, NAN, +/- Infinity or below threshold
if (!isnormal(_r) || _r < 0.1f) { if (!isnormal(_r) || _r < cfg->threshold_dmrs_detection) {
data->detected = false; data->detected = false;
data->correlation = NAN; data->correlation = NAN;
return SRSLTE_SUCCESS; return SRSLTE_SUCCESS;

@ -106,6 +106,7 @@ inline void phy_ue_db::_set_common_config_rnti(uint16_t rnti)
scell_info.phy_cfg.ul_cfg.pucch.threshold_format1 = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1; scell_info.phy_cfg.ul_cfg.pucch.threshold_format1 = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1;
scell_info.phy_cfg.ul_cfg.pucch.threshold_data_valid_format1a = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1A; scell_info.phy_cfg.ul_cfg.pucch.threshold_data_valid_format1a = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1A;
scell_info.phy_cfg.ul_cfg.pucch.threshold_data_valid_format2 = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT2; scell_info.phy_cfg.ul_cfg.pucch.threshold_data_valid_format2 = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT2;
scell_info.phy_cfg.ul_cfg.pucch.threshold_dmrs_detection = SRSLTE_PUCCH_DEFAULT_THRESHOLD_DMRS;
} }
} }

Loading…
Cancel
Save