Added filter for maximum PSS CFO detection value. Increased averaging for PSS CFO estimation

This commit is contained in:
Ismael Gomez 2017-12-13 10:00:38 +01:00
parent 93a47df015
commit 082da2f7b6
2 changed files with 4 additions and 2 deletions

View File

@ -42,6 +42,8 @@
#define DEFAULT_CFO_TOL 0.0 // Hz
#define MAX_CFO_PSS_OFFSET 7000
static bool fft_size_isvalid(uint32_t fft_size) {
if (fft_size >= SRSLTE_SYNC_FFT_SZ_MIN && fft_size <= SRSLTE_SYNC_FFT_SZ_MAX && (fft_size%64) == 0) {
return true;
@ -614,7 +616,7 @@ srslte_sync_find_ret_t srslte_sync_find(srslte_sync_t *q, const cf_t *input, uin
if (!q->cfo_pss_is_set) {
q->cfo_pss_mean = cfo_pss;
q->cfo_pss_is_set = true;
} else {
} else if (15000*fabsf(cfo_pss) < MAX_CFO_PSS_OFFSET) {
q->cfo_pss_mean = SRSLTE_VEC_EMA(cfo_pss, q->cfo_pss_mean, q->cfo_ema_alpha);
}

View File

@ -205,7 +205,7 @@ void parse_args(all_args_t *args, int argc, char *argv[]) {
"Tolerance (in Hz) for digital CFO compensation (needs to be low if average_subframe_enabled=true.")
("expert.cfo_pss_ema",
bpo::value<float>(&args->expert.phy.cfo_pss_ema)->default_value(0.1),
bpo::value<float>(&args->expert.phy.cfo_pss_ema)->default_value(0.01),
"CFO Exponential Moving Average coefficient for PSS estimation during TRACK.")
("expert.cfo_ref_ema",