From 706a1eb43744344046761966100d3d6553c30971 Mon Sep 17 00:00:00 2001 From: Thomas Kolb Date: Thu, 12 Sep 2024 23:49:57 +0200 Subject: [PATCH] freq_est: make ramp-up delta phase check more strict This should help with occasional jumps in the estimated carrier frequency on receivers running frequency tracking. --- impl/src/layer1/freq_est.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/impl/src/layer1/freq_est.c b/impl/src/layer1/freq_est.c index 0bc402d..c6732e1 100644 --- a/impl/src/layer1/freq_est.c +++ b/impl/src/layer1/freq_est.c @@ -143,7 +143,7 @@ float freq_est_in_rampup(const float complex *recv, size_t n, float *final_phase // rotate every second symbol by 180°. As a plausibility check that we are // in fact inside the ramp-up, we verify that there is no phase rotation by - // more than 90° between the symbols. + // more than 60° between the symbols. for(size_t i = 0; i < n; i++) { if((i % 2) == 0) { rotated[i] = recv[i]; @@ -154,7 +154,7 @@ float freq_est_in_rampup(const float complex *recv, size_t n, float *final_phase float phase = cargf(rotated[i]); if(i > 0) { float phase_delta = phase - prev_phase; - if(fabsf(phase_delta) > 3.14159f/2.0f) { + if(fabsf(phase_delta) > 3.14159f/3.0f) { // abort because we either have the wrong signal or too much noise. if(final_phase) { *final_phase = 0.0f;