diff --git a/plugins/channelrx/demodatv/atvdemod.cpp b/plugins/channelrx/demodatv/atvdemod.cpp index 125d2fcc9..f4f4540e7 100644 --- a/plugins/channelrx/demodatv/atvdemod.cpp +++ b/plugins/channelrx/demodatv/atvdemod.cpp @@ -58,7 +58,7 @@ ATVDemod::ATVDemod() : m_intNumberOfLines=0; m_intNumberOfRowsToDisplay=0; - m_objMagSqAverage.resize(16, 1.0); + m_objMagSqAverage.resize(32, 1.0); memset((void*)m_fltBufferI,0,6*sizeof(float)); memset((void*)m_fltBufferQ,0,6*sizeof(float)); diff --git a/plugins/channelrx/demodatv/atvdemodgui.cpp b/plugins/channelrx/demodatv/atvdemodgui.cpp index c40f5909c..a074590f5 100644 --- a/plugins/channelrx/demodatv/atvdemodgui.cpp +++ b/plugins/channelrx/demodatv/atvdemodgui.cpp @@ -304,6 +304,8 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI, //ui->screenTV->connectTimer(m_objPluginAPI->getMainWindow()->getMasterTimer()); + m_objMagSqAverage.resize(4, 1.0); + resetToDefaults(); // does applySettings() } @@ -379,7 +381,7 @@ void ATVDemodGUI::enterEvent(QEvent*) void ATVDemodGUI::tick() { - if (m_intTickCount < 10) // ~500 ms + if (m_intTickCount < 4) // ~200 ms { m_intTickCount++; } @@ -387,7 +389,8 @@ void ATVDemodGUI::tick() { if (m_objATVDemod) { - double magSqDB = CalcDb::dbPower(m_objATVDemod->getMagSq() / (1<<30)); + m_objMagSqAverage.feed(m_objATVDemod->getMagSq()); + double magSqDB = CalcDb::dbPower(m_objMagSqAverage.average() / (1<<30)); ui->channePowerText->setText(tr("%1 dB").arg(magSqDB, 0, 'f', 1)); } diff --git a/plugins/channelrx/demodatv/atvdemodgui.h b/plugins/channelrx/demodatv/atvdemodgui.h index 956680c45..8fcf2894b 100644 --- a/plugins/channelrx/demodatv/atvdemodgui.h +++ b/plugins/channelrx/demodatv/atvdemodgui.h @@ -88,6 +88,7 @@ private: bool m_blnBasicSettingsShown; bool m_blnDoApplySettings; + MovingAverage m_objMagSqAverage; int m_intTickCount; explicit ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI, QWidget* objParent = NULL); diff --git a/plugins/channelrx/demodatv/atvdemodgui.ui b/plugins/channelrx/demodatv/atvdemodgui.ui index adaed5975..195c69767 100644 --- a/plugins/channelrx/demodatv/atvdemodgui.ui +++ b/plugins/channelrx/demodatv/atvdemodgui.ui @@ -209,8 +209,17 @@ + + + 30 + 0 + + - 10.0 + 1.0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -256,12 +265,12 @@ - 54 + 60 0 - 10.0 MHz + 1.0 MHz Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter