From ba01da78274082b08897516837a78b54d0b43b0d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Mon, 4 Sep 2023 09:33:42 +0100 Subject: [PATCH] RTTY demod: Fix so mark is high RF freq. Fix squelch. --- plugins/channelrx/demodrtty/readme.md | 7 ++++++- plugins/channelrx/demodrtty/rttydemodsink.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/channelrx/demodrtty/readme.md b/plugins/channelrx/demodrtty/readme.md index 8a56457f8..1ca883c5e 100644 --- a/plugins/channelrx/demodrtty/readme.md +++ b/plugins/channelrx/demodrtty/readme.md @@ -79,7 +79,12 @@ Specifies whether bits are transmitted least-significant-bit first (LSB) or most

14: Mark/Space Frequency

-When unchecked, the mark frequency is the higher frequency, when checked the space frequency is higher. +When unchecked, the mark frequency is the higher RF frequency, when checked the space frequency is higher. + +This should be unchecked when transmitter is using LSB AFSK and checked for USB AFSK and DWD +[1](https://www.dwd.de/EN/specialusers/shipping/broadcast_en/brodcast_rtty_1_052014.pdf?__blob=publicationFile&v=1) +[2](https://www.dwd.de/EN/specialusers/shipping/broadcast_en/broadcast_rtty_2_052014.pdf?__blob=publicationFile&v=1) +shipping weather broadcasts.

15: Suppress CR LF

diff --git a/plugins/channelrx/demodrtty/rttydemodsink.cpp b/plugins/channelrx/demodrtty/rttydemodsink.cpp index 2f987994d..8e8d70fc5 100644 --- a/plugins/channelrx/demodrtty/rttydemodsink.cpp +++ b/plugins/channelrx/demodrtty/rttydemodsink.cpp @@ -154,8 +154,8 @@ void RttyDemodSink::processOneSample(Complex &ci) m_expIdx = (m_expIdx + 1) % m_expLength; //Complex exp = m_exp[m_sampleIdx]; //qDebug() << "IQ " << real(ci) << imag(ci); - Complex corr1 = ci * exp; - Complex corr2 = ci * std::conj(exp); + Complex corr1 = ci * std::conj(exp); // Conj is high/mark freq (as for matched filter, we need to time reverse and take conjugate) + Complex corr2 = ci * exp; // Low/space freq // Filter Real abs1, abs2; @@ -238,6 +238,8 @@ void RttyDemodSink::processOneSample(Complex &ci) m_clockCount = 0; m_clock = false; m_cycleCount = 0; + m_rssiMagSqSum = 0.0; + m_rssiMagSqCount = 0; } } else