From ca49b306b94a8a26cb0f351b1a21b8c0dfe75160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Izzo?= Date: Tue, 8 Feb 2022 10:53:25 +0100 Subject: [PATCH] Update constants for M17 demodulation Constants were updated to increase performance based on baseband sample collected with Module17. TG-81 --- openrtx/include/protocols/M17/M17Demodulator.h | 6 +++--- openrtx/src/protocols/M17/M17Demodulator.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openrtx/include/protocols/M17/M17Demodulator.h b/openrtx/include/protocols/M17/M17Demodulator.h index 27a43383..d794d289 100644 --- a/openrtx/include/protocols/M17/M17Demodulator.h +++ b/openrtx/include/protocols/M17/M17Demodulator.h @@ -112,9 +112,9 @@ private: static constexpr size_t M17_SAMPLES_PER_SYMBOL = M17_RX_SAMPLE_RATE / M17_SYMBOL_RATE; static constexpr size_t M17_INPUT_BUF_SIZE = 2 * M17_FRAME_SAMPLES_24K; static constexpr size_t M17_FRAME_BYTES = M17_FRAME_SYMBOLS / 4; - static constexpr float conv_stats_alpha = 0.0001f; - static constexpr float qnt_stats_alpha = 0.99999f; - static constexpr float conv_threshold_factor = 3.70; + static constexpr float conv_stats_alpha = 0.001f; + static constexpr float qnt_stats_alpha = 0.99995f; + static constexpr float conv_threshold_factor = 3.40; static constexpr size_t M17_BRIDGE_SIZE = M17_SAMPLES_PER_SYMBOL * M17_SYNCWORD_SYMBOLS; diff --git a/openrtx/src/protocols/M17/M17Demodulator.cpp b/openrtx/src/protocols/M17/M17Demodulator.cpp index af8b95d5..4ac5e6d3 100644 --- a/openrtx/src/protocols/M17/M17Demodulator.cpp +++ b/openrtx/src/protocols/M17/M17Demodulator.cpp @@ -101,7 +101,7 @@ void M17Demodulator::stopBasebandSampling() void M17Demodulator::resetCorrelationStats() { conv_ema = 0.0f; - conv_emvar = 1000000000.0f; + conv_emvar = 800000000.0f; } /** @@ -308,7 +308,7 @@ void M17Demodulator::update() { locked = true; isLSF = syncword.lsf; - offset = syncword.index + 2; + offset = syncword.index + 1; } } // While we are locked, demodulate available samples