From dad2bf7bf9f4e7a3a0b626ccf693f5d1bf7a243b Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 14 Dec 2016 18:46:31 +0100 Subject: [PATCH] DSD Demod: use same magnitude squared average technique for the squelch as with the NFM demod --- plugins/channelrx/demoddsd/dsddemod.cpp | 6 +++--- plugins/channelrx/demoddsd/dsddemod.h | 2 +- plugins/channelrx/demoddsd/dsddemodplugin.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/channelrx/demoddsd/dsddemod.cpp b/plugins/channelrx/demoddsd/dsddemod.cpp index fc2fce023..66a644c6e 100644 --- a/plugins/channelrx/demoddsd/dsddemod.cpp +++ b/plugins/channelrx/demoddsd/dsddemod.cpp @@ -67,7 +67,7 @@ DSDDemod::DSDDemod(BasebandSampleSink* sampleSink) : m_sampleBuffer = new qint16[1<<17]; // 128 kS m_sampleBufferIndex = 0; -// m_movingAverage.resize(50, 0); + m_movingAverage.resize(16, 0); m_magsq = 0.0f; m_magsqSum = 0.0f; m_magsqPeak = 0.0f; @@ -141,7 +141,7 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto qint16 sample, delayedSample; Real magsq = ((ci.real()*ci.real() + ci.imag()*ci.imag())) / (1<<30); -// m_movingAverage.feed(m_magsq); + m_movingAverage.feed(magsq); m_magsqSum += magsq; @@ -157,7 +157,7 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto // AF processing - if (getMagSq() > m_squelchLevel) + if (m_movingAverage.average() > m_squelchLevel) { if (m_squelchGate > 0) { diff --git a/plugins/channelrx/demoddsd/dsddemod.h b/plugins/channelrx/demoddsd/dsddemod.h index ad0cb96c5..4ed5f011d 100644 --- a/plugins/channelrx/demoddsd/dsddemod.h +++ b/plugins/channelrx/demoddsd/dsddemod.h @@ -262,7 +262,7 @@ private: bool m_squelchOpen; Real m_lastArgument; -// MovingAverage m_movingAverage; + MovingAverage m_movingAverage; Real m_magsq; Real m_magsqSum; Real m_magsqPeak; diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.cpp b/plugins/channelrx/demoddsd/dsddemodplugin.cpp index bd443053e..c272bf439 100644 --- a/plugins/channelrx/demoddsd/dsddemodplugin.cpp +++ b/plugins/channelrx/demoddsd/dsddemodplugin.cpp @@ -24,7 +24,7 @@ const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = { QString("DSD Demodulator"), - QString("2.1.5"), + QString("2.5.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true,