From 1d32eb021799cc1a9280df1f787217fca62664ab Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 20 Aug 2017 00:56:50 +0200 Subject: [PATCH] AM demod: eliminate DC from demodulated output. Set volume AGC length to 50ms --- plugins/channelrx/demodam/amdemod.cpp | 2 +- plugins/channelrx/demodam/amdemod.h | 2 +- plugins/channelrx/demodam/amdemodplugin.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/channelrx/demodam/amdemod.cpp b/plugins/channelrx/demodam/amdemod.cpp index 622619b97..105b77d08 100644 --- a/plugins/channelrx/demodam/amdemod.cpp +++ b/plugins/channelrx/demodam/amdemod.cpp @@ -33,7 +33,7 @@ AMDemod::AMDemod() : m_magsqPeak(0.0f), m_magsqCount(0), m_movingAverage(40, 0), - m_volumeAGC(4800, 1.0), + m_volumeAGC(2400, 1.0), m_audioFifo(4, 48000), m_settingsMutex(QMutex::Recursive) { diff --git a/plugins/channelrx/demodam/amdemod.h b/plugins/channelrx/demodam/amdemod.h index a4b1720b7..5880d40ce 100644 --- a/plugins/channelrx/demodam/amdemod.h +++ b/plugins/channelrx/demodam/amdemod.h @@ -188,7 +188,7 @@ private: { Real demod = sqrt(magsq); m_volumeAGC.feed(demod); - demod /= m_volumeAGC.getValue(); + demod = (demod - m_volumeAGC.getValue()) / m_volumeAGC.getValue(); if (m_running.m_bandpassEnable) { diff --git a/plugins/channelrx/demodam/amdemodplugin.cpp b/plugins/channelrx/demodam/amdemodplugin.cpp index 2e4aed7ab..6bebc3d3c 100644 --- a/plugins/channelrx/demodam/amdemodplugin.cpp +++ b/plugins/channelrx/demodam/amdemodplugin.cpp @@ -7,7 +7,7 @@ const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = { QString("AM Demodulator"), - QString("3.5.0"), + QString("3.6.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true,