fix: SsfStepDetector: catch oscillations / subsequent oscillation peaks

This commit is contained in:
2026-05-10 12:12:05 +02:00
parent b919e845c7
commit e8f3021879

View File

@@ -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