From 04864623989feb1fe725f5bed9490441607abd35 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 10 Mar 2018 23:01:03 +0100 Subject: [PATCH] DATV demod: GUI changes (4) --- plugins/channelrx/demodatv/atvdemodgui.ui | 2 +- plugins/channelrx/demoddatv/datvdemod.cpp | 3 +++ plugins/channelrx/demoddatv/datvdemod.h | 3 +++ plugins/channelrx/demoddatv/datvdemodgui.cpp | 7 +++++++ plugins/channelrx/demoddatv/datvdemodgui.h | 2 ++ plugins/channelrx/demoddatv/datvdemodgui.ui | 13 +++++++++++++ 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/plugins/channelrx/demodatv/atvdemodgui.ui b/plugins/channelrx/demodatv/atvdemodgui.ui index 17ac80b09..0f4b2d106 100644 --- a/plugins/channelrx/demodatv/atvdemodgui.ui +++ b/plugins/channelrx/demodatv/atvdemodgui.ui @@ -265,7 +265,7 @@ - Channel power + Channel power (dB) -100.0 dB diff --git a/plugins/channelrx/demoddatv/datvdemod.cpp b/plugins/channelrx/demoddatv/datvdemod.cpp index 38590273d..fb52bb273 100644 --- a/plugins/channelrx/demoddatv/datvdemod.cpp +++ b/plugins/channelrx/demoddatv/datvdemod.cpp @@ -787,6 +787,7 @@ void DATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVect //Complex objC; fftfilt::cmplx *objRF; int intRFOut; + double magSq; //********** Bis repetita : Let's rock and roll buddy ! ********** @@ -849,6 +850,8 @@ void DATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVect { objIQ.re = objRF->real(); objIQ.im = objRF->imag(); + magSq = objIQ.re*objIQ.re + objIQ.im*objIQ.im; + m_objMagSqAverage(magSq); objRF ++; diff --git a/plugins/channelrx/demoddatv/datvdemod.h b/plugins/channelrx/demoddatv/datvdemod.h index 815407ef3..6718894f7 100644 --- a/plugins/channelrx/demoddatv/datvdemod.h +++ b/plugins/channelrx/demoddatv/datvdemod.h @@ -61,6 +61,7 @@ class DownChannelizer; #include "dsp/agc.h" #include "audio/audiofifo.h" #include "util/message.h" +#include "util/movingaverage.h" #include #include "datvideostream.h" @@ -236,6 +237,7 @@ public: void CleanUpDATVFramework(bool blnRelease); int GetSampleRate(); void InitDATVFramework(); + double getMagSq() const { return m_objMagSqAverage; } //!< Beware this is scaled to 2^30 static const QString m_channelIdURI; static const QString m_channelId; @@ -458,6 +460,7 @@ private: //QElapsedTimer m_objTimer; DATVConfig m_objRunning; + MovingAverageUtil m_objMagSqAverage; QMutex m_objSettingsMutex; diff --git a/plugins/channelrx/demoddatv/datvdemodgui.cpp b/plugins/channelrx/demoddatv/datvdemodgui.cpp index 9b31b27d1..123ed4ad5 100644 --- a/plugins/channelrx/demoddatv/datvdemodgui.cpp +++ b/plugins/channelrx/demoddatv/datvdemodgui.cpp @@ -503,6 +503,13 @@ void DATVDemodGUI::enterEvent(QEvent*) void DATVDemodGUI::tick() { + if (m_objDATVDemod) + { + m_objMagSqAverage(m_objDATVDemod->getMagSq()); + double magSqDB = CalcDb::dbPower(m_objMagSqAverage / (SDR_RX_SCALED*SDR_RX_SCALED)); + ui->channePowerText->setText(tr("%1 dB").arg(magSqDB, 0, 'f', 1)); + } + if((m_intLastDecodedData-m_intPreviousDecodedData)>=0) { m_intLastSpeed = 8*(m_intLastDecodedData-m_intPreviousDecodedData); diff --git a/plugins/channelrx/demoddatv/datvdemodgui.h b/plugins/channelrx/demoddatv/datvdemodgui.h index da26eca9e..d16db6c2e 100644 --- a/plugins/channelrx/demoddatv/datvdemodgui.h +++ b/plugins/channelrx/demoddatv/datvdemodgui.h @@ -120,6 +120,8 @@ private: bool m_blnDoApplySettings; bool m_blnButtonPlayClicked; + MovingAverageUtil m_objMagSqAverage; + explicit DATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* objParent = 0); virtual ~DATVDemodGUI(); diff --git a/plugins/channelrx/demoddatv/datvdemodgui.ui b/plugins/channelrx/demoddatv/datvdemodgui.ui index 61503bfe8..3393e12e9 100644 --- a/plugins/channelrx/demoddatv/datvdemodgui.ui +++ b/plugins/channelrx/demoddatv/datvdemodgui.ui @@ -165,6 +165,19 @@ + + + + Channel power (dB) + + + -100.0 dB + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + +