From e8f302187947be29f07338bda25d87842eeea526 Mon Sep 17 00:00:00 2001 From: David Madl Date: Sun, 10 May 2026 12:12:05 +0200 Subject: [PATCH] fix: SsfStepDetector: catch oscillations / subsequent oscillation peaks --- pasada-lib/ssf_filter.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pasada-lib/ssf_filter.cpp b/pasada-lib/ssf_filter.cpp index 6ec3d4e..0d43b06 100644 --- a/pasada-lib/ssf_filter.cpp +++ b/pasada-lib/ssf_filter.cpp @@ -72,9 +72,14 @@ double SsfStepDetector::filter(double ssf) { if (num_samples - n_refr >= len_refr) is_refr = false; // transition and not in refractory period? detected a step. if (is_txing && !is_refr) { + // !is_refr: catch trailing noise / first oscillation peak rv = 1.0; is_refr = true; n_refr = num_samples; + } else if (is_txing && is_refr) { + // catch oscillations / subsequent oscillation peaks + is_refr = true; + n_refr = num_samples; } if (num_samples == LEN_INIT) { // initial threshold setting