From 9171a205d4e6b6505d95c56661ce67ab4a974c55 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Wed, 25 Mar 2026 16:30:13 +0000 Subject: [PATCH] Spectrum Changes: Added optional scrollbar to be able to scroll back through waterfall. When scrolling is enabled: Can adjust power scale for complete waterfall, not just future spectra. Waterfall time axis can use local time or UTC. Waterfall not lost when resizing window. Can now zoom when device is stopped. Added Min averaging type. Added button to load spectrum from .csv file. Add button to save spectrum/waterfall to .png or jpg. Changed show all controls button to a combobox with choices of Min/Std/All (Minimum/Standard/All). Changed some buttons in spectrum GUI from QPushButton to QToolButton so their size matches the others. Fix spectrum from displaying a mixture of old and new spectrums (m_currentSpectrum was a pointer to SpectrumVis buffer). Added M1 and M2 memories to allow display of reference spectra. Added math operations to allow spectrum to be difference of current spectrum and either memory or a moving average. Fixed measurement counts, so they are performed once per spectrum, not on displayed spectra. Added spectrum mask measurement, to check when a spectrum exceeds mask held in M1 or M2. Optionally display power/frequency under cursor in status line. Optionally display peak power/frequency in status line. Fix incorrect nyquist sample replication, when zoom used. Fix cursor not changing from resize to pointer when moving over spectrum measurements window. Add spectrum colour setting. --- doc/img/MainWindow_spectrum_gui.png | Bin 19573 -> 24165 bytes doc/img/MainWindow_spectrum_gui.xcf | Bin 78006 -> 78582 bytes doc/img/MainWindow_spectrum_gui_D.xcf | Bin 20483 -> 31416 bytes doc/img/MainWindow_spectrum_gui_F.png | Bin 6911 -> 3935 bytes doc/img/MainWindow_spectrum_gui_F.xcf | Bin 26846 -> 20140 bytes doc/img/MainWindow_spectrum_gui_G.png | Bin 0 -> 6316 bytes doc/img/MainWindow_spectrum_gui_G.xcf | Bin 0 -> 32766 bytes doc/img/MainWindow_spectrum_gui_narrow.png | Bin 99619 -> 103960 bytes doc/img/MainWindow_spectrum_gui_narrow.xcf | Bin 134679 -> 170128 bytes doc/img/MainWindow_spectrum_gui_wide.png | Bin 264241 -> 313872 bytes doc/img/Spectrum_Display_Settings.png | Bin 0 -> 18282 bytes doc/img/Spectrum_Status.png | Bin 2525 -> 4697 bytes plugins/channelrx/demodils/ilsdemodgui.cpp | 2 +- .../demodmeshtastic/meshtasticdemodgui.cpp | 2 +- sdrbase/CMakeLists.txt | 1 + sdrbase/dsp/glspectruminterface.h | 3 +- sdrbase/dsp/spectrumsettings.cpp | 155 +- sdrbase/dsp/spectrumsettings.h | 65 +- sdrbase/dsp/spectrumvis.cpp | 634 +++---- sdrbase/dsp/spectrumvis.h | 53 +- sdrbase/util/circularbuffer.h | 200 ++ sdrbase/util/min2d.h | 108 ++ sdrbase/util/movingaverage2d.h | 44 +- sdrbase/util/units.h | 71 +- sdrgui/CMakeLists.txt | 3 + sdrgui/gui/framelesswindowresizer.cpp | 6 + sdrgui/gui/glspectrum.cpp | 28 +- sdrgui/gui/glspectrum.h | 20 +- sdrgui/gui/glspectrumgui.cpp | 662 ++++++- sdrgui/gui/glspectrumgui.h | 37 +- sdrgui/gui/glspectrumgui.ui | 337 +++- sdrgui/gui/glspectrumview.cpp | 1601 ++++++++++++----- sdrgui/gui/glspectrumview.h | 153 +- sdrgui/gui/scaleengine.cpp | 8 +- sdrgui/gui/scaleengine.h | 10 + sdrgui/gui/spectrum.md | 169 +- sdrgui/gui/spectrumdisplaysettingsdialog.cpp | 197 ++ sdrgui/gui/spectrumdisplaysettingsdialog.h | 66 + sdrgui/gui/spectrumdisplaysettingsdialog.ui | 424 +++++ sdrgui/gui/spectrummeasurements.cpp | 240 ++- sdrgui/gui/spectrummeasurements.h | 27 +- sdrgui/gui/spectrummeasurements.md | 7 + sdrgui/gui/spectrummeasurementsdialog.cpp | 29 +- sdrgui/gui/spectrummeasurementsdialog.h | 2 + sdrgui/gui/spectrummeasurementsdialog.ui | 529 +++--- 45 files changed, 4528 insertions(+), 1365 deletions(-) create mode 100644 doc/img/MainWindow_spectrum_gui_G.png create mode 100644 doc/img/MainWindow_spectrum_gui_G.xcf create mode 100644 doc/img/Spectrum_Display_Settings.png create mode 100644 sdrbase/util/circularbuffer.h create mode 100644 sdrbase/util/min2d.h create mode 100644 sdrgui/gui/spectrumdisplaysettingsdialog.cpp create mode 100644 sdrgui/gui/spectrumdisplaysettingsdialog.h create mode 100644 sdrgui/gui/spectrumdisplaysettingsdialog.ui diff --git a/doc/img/MainWindow_spectrum_gui.png b/doc/img/MainWindow_spectrum_gui.png index 7530e9ebd056da49748bee13db0f8f4c4e2a7bce..7b89d47b6e6d38f57212e2dc7fed57f7cd5d007d 100644 GIT binary patch literal 24165 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 a=TAx#!%OTV~F0&di*NPaK!z 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 literal 78006 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 IbB^Z!0w3wKTL1t6 diff --git a/doc/img/MainWindow_spectrum_gui_F.png b/doc/img/MainWindow_spectrum_gui_F.png index 37076537c75d2ad9b7d2fdc0f1f2f939b7e7df32..f3bd8e96023330e32aa5df5430148482f7ae087f 100644 GIT binary patch literal 3935 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 N$VkYGmx=28|1ZtQolF1# diff --git a/doc/img/MainWindow_spectrum_gui_F.xcf b/doc/img/MainWindow_spectrum_gui_F.xcf index ec72053c116858b03cb3d7fd809dbb8c86f0c777..36dbc0413021c136f0427610ca6b72247b31f8ec 100644 GIT binary patch literal 20140 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 diff --git a/doc/img/MainWindow_spectrum_gui_G.png b/doc/img/MainWindow_spectrum_gui_G.png new file mode 100644 index 0000000000000000000000000000000000000000..83381ffd20faed7a3c2a5d353af6366680495b42 GIT binary patch literal 6316 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 literal 0 HcmV?d00001 diff --git a/doc/img/MainWindow_spectrum_gui_narrow.png b/doc/img/MainWindow_spectrum_gui_narrow.png index e461c4ca6c2e7d7b40007e6f4c981672225f48bd..ad2dbe9d930e5b3646b7ee7fefa7ba698adc4543 100644 GIT binary patch literal 103960 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 literal 0 HcmV?d00001 diff --git a/doc/img/Spectrum_Status.png b/doc/img/Spectrum_Status.png index 0dac7cf1d48034401d25efafd8ee178e06a74727..de7abfba0902e7ef378f5026137d92f2d36921aa 100644 GIT binary patch literal 4697 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 literal 2525 zcmV<32_p81P)EX>4Tx04R}tkv&MmKpe$i)0T=<1nnT=kfC+5AS&XhRVYG*P%E_RU~=gfG-*g$ zTpR`0f`cE6RRkc+5KnK` z49@$+5mu5_;&b9LlP*a7$aTf#H_k?RNS*z4p`=0!T;k>@G%ypV0NMaF7kRU=q9c5HdL!4Hf6botEPk8u;9lt~_g!Gs?fEH00009a7bBm001r{001r{0eGc9b^rhX2XskI zMF-^q5(Fm-H+#fsL?raiD>;0K$ z_D9Zp-t+GBy!-Ci_XGel%rL_YGt4l<3=~YJKabZtHT6U&lx1ZdF?5KHW%2ov$w_T{ zd%us5-zvjKMC@*B>zSUOQ!1a|y4AOPcN}6*P0iHnm$lko(Mu}TU>AmkMW|E@=%v;E zdiwOYtD$66NNsJCMze@U+rR%1${{XpFE(aQ&QZO7IW#m3cP|>vrJ{l>7AvJvjYy;@ zDXE}PY>^;3-ET

FK%dZo!Tn9~$NXhT-DkGdkUGUS2-0m~(G$-Pcea0RVuPmyc5UJTNdA z>p-V(kjwQ&&Boav|l%=G6L?94+ zeVH92{9JHag_-dfDtWtV2P;2}Cf0 z!NJMk;P+W9c3gLWIZi>r2^fZFXJ5YgrW;~RNJwsN zy@Ra)J3DG$pD-;g3tb4|S_-1+r{N|2E(hTrxWYo;XxORMd)yBOycRusIKNr zO-*EH=h@q@EiC*ZJw17T{srpe zmi6hU$8erTDVY*NrP{OEX?(t9aB#A?xCD8X0RT%&OW%E0yLaz?WVmO~zWRDDfj}@M z*4SA8%{Lb_GIBO<^oAfvtJSDfGe#v4iNwXlMVyug5AOY6a_-?lmq5<>mk7ax3rM>%%Uww_p4G`LnsXpH1D%$Hz~vUq-K6xB378BGJ&mz+J4{ zC!gfk)m@pHnZ_+QMaig;*47`Inyv)|Y}~#*n920V?u}e-C5yF>NF>6rRb*t;)vH{i zZ1eK6jvdR{yg9J3v2Aivd+r>^#pQLJ4~ayIiP_`s{tl1VVpPkk=X^EB7cc%u1q4AA z6SX6Wz8{BvWczgTucs-XceOp@kHEwEd?q}={Z(~D29<5rfYHn`);Ddi(xKN5) z^5lue)^?4Z9o3X_f#5!sNut!CmzR%R zu9wU8qoXqi4tx|H9j;U=R@vhG)ts9$!mt%;q)`4yMN(4Awr$}Gg$x(mNCo)%GHYv_ zva(VxU#>8ml}JSB#zG(vJUto1!$SZ7I-Rj|XB3B1UR+#a_<;3#9n$xq*t&Ilc6Q$C zPbeWFTeVuv$cS+DlnjNyFdP)L1>M_8B+|>5FR`Jx+{&03R$N?Sb@gSVG@PAj(a{O$ zaAZXI`RB*!bO!RO4Gjs_t)s46M|E>^2n!2Z`7`&5ITwpXNb84S!v-&rXlQCm3IIU6 z8N~Q|2YNdsgqfRL@b0^tSE2&LRsz99NXS;4Jv@9TLgMYWJrs(k{{H`hASfdv=fQ(9 zB9UleVbR%nKQ3;srKRP-z(`b7JZ^bn;sKRvAu}`A)%6Vu#WpsUC6nop1EHx-kWOb{ zx#s5|=W-jd4t{={wrmMCMaifT7`B?6)TXC@3_%c$=5qV?z2nD=5Dt}fCc)iopb8@-<#~(WoZL2>El$Kul>Z?*y4u+IW31Kq*Z{EBslj(+s<)3}_H4MYp z3IG6bIQ7NFXMS&21%_t zrCNxNPB2AvWq|+y2IHS?Z9OuXuD@Rt85xBb?d+&kRSo0g>fvE|LBR=R!^55iIh=Y9 nr{4U(mlglSpectrum->setCenterFrequency(0); ui->glSpectrum->setSampleRate(ILSDemodSettings::ILSDEMOD_SPECTRUM_SAMPLE_RATE); - ui->glSpectrum->setMeasurementParams(SpectrumSettings::MeasurementPeaks, 0, 1000, 90, 150, 1, 5, true, 1); + ui->glSpectrum->setMeasurementParams(SpectrumSettings::MeasurementPeaks, 0, 1000, 90, 150, 1, 5, true, 1, 0); ui->glSpectrum->setMeasurementsVisible(true); m_channelMarker.setColor(Qt::yellow); diff --git a/plugins/channelrx/demodmeshtastic/meshtasticdemodgui.cpp b/plugins/channelrx/demodmeshtastic/meshtasticdemodgui.cpp index dbdf06e18..57cdaab47 100644 --- a/plugins/channelrx/demodmeshtastic/meshtasticdemodgui.cpp +++ b/plugins/channelrx/demodmeshtastic/meshtasticdemodgui.cpp @@ -2596,7 +2596,7 @@ void MeshtasticDemodGUI::replayDechirpSnapshot(const DechirpSnapshot& snapshot) } } - ui->glSpectrum->newSpectrum(line.data(), fftSize, fftSize); + ui->glSpectrum->newSpectrum(line.data(), fftSize); }; // Prime the GL spectrum so pending size/layout changes are applied before replay. diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt index 244e63bee..923629827 100644 --- a/sdrbase/CMakeLists.txt +++ b/sdrbase/CMakeLists.txt @@ -487,6 +487,7 @@ set(sdrbase_HEADERS util/azel.h util/baudot.h util/callsign.h + util/circularbuffer.h util/colormap.h util/coordinates.h util/corsproxy.h diff --git a/sdrbase/dsp/glspectruminterface.h b/sdrbase/dsp/glspectruminterface.h index 1644ef9de..72581e543 100644 --- a/sdrbase/dsp/glspectruminterface.h +++ b/sdrbase/dsp/glspectruminterface.h @@ -28,10 +28,9 @@ class GLSpectrumInterface public: GLSpectrumInterface() {} virtual ~GLSpectrumInterface() {} - virtual void newSpectrum(const Real* spectrum, int nbBins, int fftSize) + virtual void newSpectrum(const Real* spectrum, int fftSize) { (void) spectrum; - (void) nbBins; (void) fftSize; } }; diff --git a/sdrbase/dsp/spectrumsettings.cpp b/sdrbase/dsp/spectrumsettings.cpp index 33f1d2138..2f51e5872 100644 --- a/sdrbase/dsp/spectrumsettings.cpp +++ b/sdrbase/dsp/spectrumsettings.cpp @@ -45,7 +45,7 @@ void SpectrumSettings::resetToDefaults() m_decay = 1; m_decayDivisor = 1; m_histogramStroke = 30; - m_displayGridIntensity = 5; + m_displayGridIntensity = 15; m_displayTraceIntensity = 50; m_waterfallShare = 0.5; m_displayCurrent = true; @@ -83,12 +83,46 @@ void SpectrumSettings::resetToDefaults() m_measurementPrecision = 1; m_findHistogramPeaks = false; #ifdef ANDROID - m_showAllControls = false; + m_showControls = ShowMinimum; #else - m_showAllControls = true; + m_showControls = ShowStandard; #endif m_frequencyZoomFactor = 1.0f; m_frequencyZoomPos = 0.5f; + m_waterfallTimeUnits = TimeOffset; + m_waterfallTimeFormat = "hh:mm:ss"; + m_scrollBar = false; + m_scrollLength = 100000; + m_mathMode = MathModeNone; + m_mathAvgCount = 100; + m_measurementMemMasks = 0x1; + m_displayRBW = false; + m_displayCursorStats = false; + m_displayPeakStats = false; + + m_spectrumMemory.clear(); + while (m_spectrumMemory.size() < m_maxSpectrumMemories) + { + SpectrumMemory memory; + memory.m_display = false; + memory.m_color = QColor(Qt::cyan).darker().rgb(); + memory.m_label = ""; + m_spectrumMemory.append(memory); + } + + m_spectrumColor = qRgb(255, 255, 63); +} + +// Ensure we have settings for each spectrum memory +void SpectrumSettings::validateSpectrumMemories() +{ + while (m_spectrumMemory.size() < m_maxSpectrumMemories) + { + SpectrumMemory memory; + memory.m_display = false; + memory.m_color = QColor(Qt::cyan).darker().rgb(); + m_spectrumMemory.append(memory); + } } QByteArray SpectrumSettings::serialize() const @@ -141,9 +175,23 @@ QByteArray SpectrumSettings::serialize() const s.writeS32(46, m_measurementCenterFrequencyOffset); s.writeBool(47, m_findHistogramPeaks); s.writeBool(48, m_truncateFreqScale); - s.writeBool(49, m_showAllControls); + // 49 was showAllControls - replaced by m_showControls s.writeFloat(50, m_frequencyZoomFactor); s.writeFloat(51, m_frequencyZoomPos); + s.writeS32(52, (int) m_waterfallTimeUnits); + s.writeString(53, m_waterfallTimeFormat); + s.writeBool(54, m_scrollBar); + s.writeS32(55, m_scrollLength); + s.writeS32(56, (int) m_mathMode); + s.writeU32(57, m_mathAvgCount); + s.writeU32(58, m_measurementMemMasks); + s.writeBool(59, m_displayRBW); + s.writeBool(60, m_displayCursorStats); + s.writeBool(61, m_displayPeakStats); + s.writeList(62, m_spectrumMemory); + s.writeS32(63, (int) m_showControls); + s.writeU32(64, m_spectrumColor); + s.writeS32(100, m_histogramMarkers.size()); for (int i = 0; i < m_histogramMarkers.size(); i++) { @@ -207,14 +255,14 @@ bool SpectrumSettings::deserialize(const QByteArray& data) d.readBool(9, &m_displayHistogram, false); d.readS32(10, &m_decay, 1); d.readBool(11, &m_displayGrid, false); - d.readS32(13, &m_displayGridIntensity, 5); + d.readS32(13, &m_displayGridIntensity, 15); d.readS32(14, &m_decayDivisor, 1); d.readS32(15, &m_histogramStroke, 30); d.readBool(16, &m_displayCurrent, true); d.readS32(17, &m_displayTraceIntensity, 50); d.readReal(18, &m_waterfallShare, 0.66); d.readS32(19, &tmp, 0); - m_averagingMode = tmp < 0 ? AvgModeNone : tmp > 3 ? AvgModeMax : (AveragingMode) tmp; + m_averagingMode = tmp < 0 ? AvgModeNone : tmp > 4 ? AvgModeMin : (AveragingMode) tmp; d.readS32(20, &tmp, 0); m_averagingIndex = getAveragingIndex(tmp, m_averagingMode); m_averagingValue = getAveragingValue(m_averagingIndex, m_averagingMode); @@ -248,13 +296,26 @@ bool SpectrumSettings::deserialize(const QByteArray& data) d.readS32(46, &m_measurementCenterFrequencyOffset, 0); d.readBool(47, &m_findHistogramPeaks, false); d.readBool(48, &m_truncateFreqScale, false); -#ifdef ANDROID - d.readBool(49, &m_showAllControls, false); -#else - d.readBool(49, &m_showAllControls, true); -#endif d.readFloat(50, &m_frequencyZoomFactor, 1.0f); d.readFloat(51, &m_frequencyZoomPos, 0.5f); + d.readS32(52, (int *) &m_waterfallTimeUnits, TimeOffset); + d.readString(53, &m_waterfallTimeFormat, "hh:mm:ss"); + d.readBool(54, &m_scrollBar, false); + d.readS32(55, &m_scrollLength, 100000); + d.readS32(56, (int *) &m_mathMode, (int) MathModeNone); + d.readU32(57, &m_mathAvgCount, 100); + d.readU32(58, &m_measurementMemMasks, 0x1); + d.readBool(59, &m_displayRBW, false); + d.readBool(60, &m_displayCursorStats, false); + d.readBool(61, &m_displayPeakStats, false); + d.readList(62, &m_spectrumMemory); + validateSpectrumMemories(); +#ifdef ANDROID + d.readS32(63, (int *) &m_showControls, ShowMinimum); +#else + d.readS32(63, (int *) &m_showControls, ShowStandard); +#endif + d.readU32(64, &m_spectrumColor, qRgb(255, 255, 63)); int histogramMarkersSize; d.readS32(100, &histogramMarkersSize, 0); @@ -585,7 +646,7 @@ void SpectrumSettings::updateFrom(const QStringList& keys, const SWGSDRangel::SW int SpectrumSettings::getAveragingMaxScale(AveragingMode averagingMode) { - if (averagingMode == AvgModeMoving) { + if (averagingMode == AvgModeMoving) { return 3; // max 10k } else { return 5; // max 1M @@ -671,3 +732,73 @@ QColor SpectrumSettings::intToQColor(int intColor) int b = bg / 256; return QColor(r, g, b); } + +bool SpectrumSettings::mathAverageUsed() const +{ + return (m_mathMode == SpectrumSettings::MathModeXMinusAvg) + || (m_mathMode == SpectrumSettings::MathModeXMinusAvgDB) + || (m_mathMode == SpectrumSettings::MathModeXMinusAvgPlusMinAvgDB) + || (m_mathMode == SpectrumSettings::MathModeAbsXMinusAvgDB); +} + +bool SpectrumSettings::mathUsesDB() const +{ + return (m_mathMode == SpectrumSettings::MathModeXMinusAvgDB) + || (m_mathMode == SpectrumSettings::MathModeXMinusAvgPlusMinAvgDB) + || (m_mathMode == SpectrumSettings::MathModeAbsXMinusAvgDB) + || (m_mathMode == SpectrumSettings::MathModeXMinusM1DB) + || (m_mathMode == SpectrumSettings::MathModeAbsXMinusM1DB) + || (m_mathMode == SpectrumSettings::MathModeXMinusM2DB) + || (m_mathMode == SpectrumSettings::MathModeAbsXMinusM2DB) + ; +} + +QByteArray SpectrumSettings::SpectrumMemory::serialize() const +{ + SimpleSerializer s(1); + + s.writeList(1, m_spectrum); + s.writeBool(2, m_display); + s.writeU32(3, m_color); + s.writeString(4, m_label); + + return s.final(); +} + +bool SpectrumSettings::SpectrumMemory::deserialize(const QByteArray& data) +{ + SimpleDeserializer d(data); + + if (!d.isValid()) { + return false; + } + + if (d.getVersion() == 1) + { + d.readList(1, &m_spectrum); + d.readBool(2, &m_display, false); + d.readU32(3, &m_color, QColor(Qt::cyan).darker().rgb()); + d.readString(4, &m_label); + + return true; + } + else + { + return false; + } + +} + +QDataStream& operator<<(QDataStream& out, const SpectrumSettings::SpectrumMemory& settings) +{ + out << settings.serialize(); + return out; +} + +QDataStream& operator>>(QDataStream& in, SpectrumSettings::SpectrumMemory& settings) +{ + QByteArray data; + in >> data; + settings.deserialize(data); + return in; +} diff --git a/sdrbase/dsp/spectrumsettings.h b/sdrbase/dsp/spectrumsettings.h index 8432e3c04..127ec19b4 100644 --- a/sdrbase/dsp/spectrumsettings.h +++ b/sdrbase/dsp/spectrumsettings.h @@ -2,7 +2,7 @@ // Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany // // written by Christian Daniel // // Copyright (C) 2015-2022 Edouard Griffiths, F4EXB // -// Copyright (C) 2022 Jon Beniston, M7RCE // +// Copyright (C) 2022-2026 Jon Beniston, M7RCE // // // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // @@ -34,12 +34,29 @@ class SDRBASE_API SpectrumSettings : public Serializable { public: + enum AveragingMode { AvgModeNone, AvgModeMoving, AvgModeFixed, - AvgModeMax + AvgModeMax, + AvgModeMin + }; + + enum MathMode + { + MathModeNone, + MathModeXMinusAvg, + MathModeXMinusAvgDB, + MathModeXMinusAvgPlusMinAvgDB, + MathModeAbsXMinusAvgDB, + MathModeXMinusM1, + MathModeXMinusM1DB, + MathModeAbsXMinusM1DB, + MathModeXMinusM2, + MathModeXMinusM2DB, + MathModeAbsXMinusM2DB }; // Bitmask for which selection of markers to display @@ -81,7 +98,8 @@ public: MeasurementAdjacentChannelPower, MeasurementOccupiedBandwidth, Measurement3dBBandwidth, - MeasurementSNR + MeasurementSNR, + MeasurementMask }; enum MeasurementsPosition { @@ -91,6 +109,28 @@ public: PositionRight }; + enum WaterfallTimeUnits { + TimeOffset, + LocalTime, + UTCTime + }; + + enum ShowControls { + ShowMinimum, + ShowStandard, + ShowAll + }; + + struct SpectrumMemory { + QList m_spectrum; + bool m_display; + QRgb m_color; + QString m_label; + + QByteArray serialize() const; + bool deserialize(const QByteArray& data); + }; + int m_fftSize; int m_fftOverlap; FFTWindow::Function m_fftWindow; @@ -141,9 +181,23 @@ public: bool m_measurementHighlight; MeasurementsPosition m_measurementsPosition; int m_measurementPrecision; - bool m_showAllControls; + enum ShowControls m_showControls; float m_frequencyZoomFactor; float m_frequencyZoomPos; + WaterfallTimeUnits m_waterfallTimeUnits; + QString m_waterfallTimeFormat; //!< E.g: "hh:mm:ss.zzz" + bool m_scrollBar; + int m_scrollLength; + MathMode m_mathMode; + unsigned int m_mathAvgCount; + unsigned int m_measurementMemMasks; // Bitmask for each memory to be used as a mask + bool m_displayRBW; + bool m_displayCursorStats; + bool m_displayPeakStats; + QList m_spectrumMemory; + QRgb m_spectrumColor; + + static const int m_maxSpectrumMemories = 2; // As we only have two buttons in GUI static const int m_log2FFTSizeMin = 6; // 64 static const int m_log2FFTSizeMax = 15; // 32k @@ -151,6 +205,7 @@ public: SpectrumSettings(); virtual ~SpectrumSettings(); void resetToDefaults(); + void validateSpectrumMemories(); virtual QByteArray serialize() const; virtual bool deserialize(const QByteArray& data); @@ -160,6 +215,8 @@ public: QList& getHistogramMarkers() { return m_histogramMarkers; } QList& getWaterfallMarkers() { return m_waterfallMarkers; } bool getHistogramFindPeaks() { return m_findHistogramPeaks; } + bool mathAverageUsed() const; + bool mathUsesDB() const; static int getAveragingMaxScale(AveragingMode averagingMode); //!< Max power of 10 multiplier to 2,5,10 base ex: 2 -> 2,5,10,20,50,100,200,500,1000 static int getAveragingValue(int averagingIndex, AveragingMode averagingMode); diff --git a/sdrbase/dsp/spectrumvis.cpp b/sdrbase/dsp/spectrumvis.cpp index eaf8b005c..00d6c4dab 100644 --- a/sdrbase/dsp/spectrumvis.cpp +++ b/sdrbase/dsp/spectrumvis.cpp @@ -6,6 +6,7 @@ // Copyright (C) 2022 Jiří Pinkava // // Copyright (C) 2023 Arne Jünemann // // Copyright (C) 2023 Vladimir Pleskonjic // +// Copyright (C) 2026 Jon Beniston, M7RCE // // // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // @@ -30,6 +31,7 @@ #include "dspengine.h" #include "fftfactory.h" #include "util/messagequeue.h" +#include "util/profiler.h" #include "spectrumvis.h" @@ -38,7 +40,6 @@ MESSAGE_CLASS_DEFINITION(SpectrumVis::MsgConfigureScalingFactor, Message) MESSAGE_CLASS_DEFINITION(SpectrumVis::MsgConfigureWSpectrumOpenClose, Message) MESSAGE_CLASS_DEFINITION(SpectrumVis::MsgConfigureWSpectrum, Message) MESSAGE_CLASS_DEFINITION(SpectrumVis::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(SpectrumVis::MsgFrequencyZooming, Message) const Real SpectrumVis::m_mult = (10.0f / log2(10.0f)); @@ -49,7 +50,7 @@ SpectrumVis::SpectrumVis(Real scalef) : m_fftEngineSequence(0), m_fftBuffer(4096), m_powerSpectrum(4096), - m_psd(4096), + m_mathMemory(4096), m_fftBufferFill(0), m_needMoreSamples(false), m_scalef(scalef), @@ -57,8 +58,7 @@ SpectrumVis::SpectrumVis(Real scalef) : m_specMax(0.0f), m_centerFrequency(0), m_sampleRate(48000), - m_ofs(0), - m_powFFTDiv(1.0), + m_powFFTMul(1.0f), m_guiMessageQueue(nullptr) { setObjectName("SpectrumVis"); @@ -105,212 +105,6 @@ void SpectrumVis::feedTriggered(const SampleVector::const_iterator& triggerPoint }*/ } -void SpectrumVis::feed(const Complex *begin, unsigned int length) -{ - if (!m_glSpectrum && !m_wsSpectrum.socketOpened()) { - return; - } - - if (!m_mutex.tryLock(0)) { // prevent conflicts with configuration process - return; - } - - Complex c; - Real v; - int fftMin = (m_settings.m_frequencyZoomFactor == 1.0f) ? - 0 : (m_settings.m_frequencyZoomPos - (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; - int fftMax = (m_settings.m_frequencyZoomFactor == 1.0f) ? - m_settings.m_fftSize : (m_settings.m_frequencyZoomPos + (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; - - if (m_settings.m_averagingMode == SpectrumSettings::AvgModeNone) - { - for (int i = 0; i < m_settings.m_fftSize; i++) - { - if (i < (int) length) { - c = begin[i]; - } else { - c = Complex{0,0}; - } - - v = c.real() * c.real() + c.imag() * c.imag(); - m_psd[i] = v/m_powFFTDiv; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; - m_powerSpectrum[i] = v; - } - - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } - } - else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeMoving) - { - for (int i = 0; i < m_settings.m_fftSize; i++) - { - if (i < (int) length) { - c = begin[i]; - } else { - c = Complex{0,0}; - } - - v = c.real() * c.real() + c.imag() * c.imag(); - v = m_movingAverage.storeAndGetAvg(v, i); - m_psd[i] = v/m_powFFTDiv; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; - m_powerSpectrum[i] = v; - } - - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } - - m_movingAverage.nextAverage(); - } - else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeFixed) - { - double avg; - - for (int i = 0; i < m_settings.m_fftSize; i++) - { - if (i < (int) length) { - c = begin[i]; - } else { - c = Complex{0,0}; - } - - v = c.real() * c.real() + c.imag() * c.imag(); - - // result available - if (m_fixedAverage.storeAndGetAvg(avg, v, i)) - { - m_psd[i] = avg/m_powFFTDiv; - avg = m_settings.m_linear ? avg/m_powFFTDiv : m_mult * log2fapprox(avg) + m_ofs; - m_powerSpectrum[i] = avg; - } - } - - // result available - if (m_fixedAverage.nextAverage()) - { - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } - } - } - else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeMax) - { - double max; - - for (int i = 0; i < m_settings.m_fftSize; i++) - { - if (i < (int) length) { - c = begin[i]; - } else { - c = Complex{0,0}; - } - - v = c.real() * c.real() + c.imag() * c.imag(); - - // result available - if (m_max.storeAndGetMax(max, v, i)) - { - m_psd[i] = max/m_powFFTDiv; - max = m_settings.m_linear ? max/m_powFFTDiv : m_mult * log2fapprox(max) + m_ofs; - m_powerSpectrum[i] = max; - } - } - - // result available - if (m_max.nextMax()) - { - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } - } - } - - m_mutex.unlock(); -} - void SpectrumVis::feed(const ComplexVector::const_iterator& cbegin, const ComplexVector::const_iterator& end, bool positiveOnly) { if (!m_running) { @@ -418,12 +212,62 @@ void SpectrumVis::feed(const SampleVector::const_iterator& cbegin, const SampleV m_mutex.unlock(); } +// Compute math operation on linear spectrum values +void SpectrumVis::mathLinear(std::vector &spectrum) +{ + if (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusAvg) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] = std::max(spectrum[i] - (Real) m_mathMovingAverage.storeAndGetAvg(spectrum[i], i), 0.0f); + } + } + else if ((m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM1) || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM2)) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] = std::max(spectrum[i] - m_mathMemory[i], 0.0f); + } + } +} + +// Compute math operation on dB spectrum values +void SpectrumVis::mathDB(std::vector &spectrum) +{ + if (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusAvgDB) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] -= m_mathMovingAverage.storeAndGetAvg(spectrum[i], i); + } + } + else if (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusAvgPlusMinAvgDB) + { + Real minAvg = m_mathMovingAverage.getMin(); + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] = spectrum[i] - m_mathMovingAverage.storeAndGetAvg(spectrum[i], i) + minAvg; + } + } + else if (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusAvgDB) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] = abs(spectrum[i] - m_mathMovingAverage.storeAndGetAvg(spectrum[i], i)); + } + } + else if ((m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM1DB) || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM2DB)) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] -= m_mathMemory[i]; + } + } + else if ((m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM1DB) || (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM2DB)) + { + for (std::size_t i = 0; i < spectrum.size(); i++) { + spectrum[i] = abs(spectrum[i] - m_mathMemory[i]); + } + } +} + void SpectrumVis::processFFT(bool positiveOnly) { - int fftMin = (m_settings.m_frequencyZoomFactor == 1.0f) ? - 0 : (m_settings.m_frequencyZoomPos - (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; - int fftMax = (m_settings.m_frequencyZoomFactor == 1.0f) ? - m_settings.m_fftSize : (m_settings.m_frequencyZoomPos + (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; + PROFILER_START(); // apply fft window (and copy from m_fftBuffer to m_fftIn) m_window.apply(&m_fftBuffer[0], m_fft->in()); @@ -436,20 +280,17 @@ void SpectrumVis::processFFT(bool positiveOnly) Complex c; Real v; std::size_t halfSize = m_settings.m_fftSize / 2; + bool ready = false; if (m_settings.m_averagingMode == SpectrumSettings::AvgModeNone) { - m_specMax = 0.0f; - - if ( positiveOnly ) + if (positiveOnly) { for (std::size_t i = 0; i < halfSize; i++) { c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); - m_psd[i] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; + v *= m_powFFTMul; m_powerSpectrum[i * 2] = v; m_powerSpectrum[i * 2 + 1] = v; } @@ -460,60 +301,32 @@ void SpectrumVis::processFFT(bool positiveOnly) { c = fftOut[i + halfSize]; v = c.real() * c.real() + c.imag() * c.imag(); - m_psd[i] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; + v *= m_powFFTMul; m_powerSpectrum[i] = v; c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); - m_psd[i + halfSize] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; + v *= m_powFFTMul; m_powerSpectrum[i + halfSize] = v; } } - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } + ready = true; } else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeMoving) { - m_specMax = 0.0f; + double avg; - if ( positiveOnly ) + if (positiveOnly) { for (std::size_t i = 0; i < halfSize; i++) { c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); - v = m_movingAverage.storeAndGetAvg(v, i); - m_psd[i] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; - m_powerSpectrum[i * 2] = v; - m_powerSpectrum[i * 2 + 1] = v; + v *= m_powFFTMul; + avg = m_movingAverage.storeAndGetAvg(v, i); + m_powerSpectrum[i * 2] = (Real) avg; + m_powerSpectrum[i * 2 + 1] = (Real) avg; } } else @@ -522,66 +335,36 @@ void SpectrumVis::processFFT(bool positiveOnly) { c = fftOut[i + halfSize]; v = c.real() * c.real() + c.imag() * c.imag(); - v = m_movingAverage.storeAndGetAvg(v, i+halfSize); - m_psd[i] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; - m_powerSpectrum[i] = v; + v *= m_powFFTMul; + avg = m_movingAverage.storeAndGetAvg(v, i+halfSize); + m_powerSpectrum[i] = (Real) avg; c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); - v = m_movingAverage.storeAndGetAvg(v, i); - m_psd[i + halfSize] = v/m_powFFTDiv; - m_specMax = v > m_specMax ? v : m_specMax; - v = m_settings.m_linear ? v/m_powFFTDiv : m_mult * log2fapprox(v) + m_ofs; - m_powerSpectrum[i + halfSize] = v; + v *= m_powFFTMul; + avg = m_movingAverage.storeAndGetAvg(v, i); + m_powerSpectrum[i + halfSize] = (Real) avg; } } - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } - m_movingAverage.nextAverage(); + ready = true; } else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeFixed) { double avg; - Real specMax = 0.0f; - if ( positiveOnly ) + if (positiveOnly) { for (std::size_t i = 0; i < halfSize; i++) { c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available if (m_fixedAverage.storeAndGetAvg(avg, v, i)) { - m_psd[i] = avg/m_powFFTDiv; - specMax = avg > specMax ? avg : specMax; - avg = m_settings.m_linear ? avg/m_powFFTDiv : m_mult * log2fapprox(avg) + m_ofs; m_powerSpectrum[i * 2] = avg; m_powerSpectrum[i * 2 + 1] = avg; } @@ -593,78 +376,44 @@ void SpectrumVis::processFFT(bool positiveOnly) { c = fftOut[i + halfSize]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available - if (m_fixedAverage.storeAndGetAvg(avg, v, i+halfSize)) - { - m_psd[i] = avg/m_powFFTDiv; - specMax = avg > specMax ? avg : specMax; - avg = m_settings.m_linear ? avg/m_powFFTDiv : m_mult * log2fapprox(avg) + m_ofs; + if (m_fixedAverage.storeAndGetAvg(avg, v, i+halfSize)) { m_powerSpectrum[i] = avg; } c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available - if (m_fixedAverage.storeAndGetAvg(avg, v, i)) - { - m_psd[i + halfSize] = avg/m_powFFTDiv; - specMax = avg > specMax ? avg : specMax; - avg = m_settings.m_linear ? avg/m_powFFTDiv : m_mult * log2fapprox(avg) + m_ofs; + if (m_fixedAverage.storeAndGetAvg(avg, v, i)) { m_powerSpectrum[i + halfSize] = avg; } } } // result available - if (m_fixedAverage.nextAverage()) - { - m_specMax = specMax; - - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } + if (m_fixedAverage.nextAverage()) { + ready = true; } } else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeMax) { - double max; - Real specMax = 0.0f; + Real max; - if ( positiveOnly ) + if (positiveOnly) { for (std::size_t i = 0; i < halfSize; i++) { c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available if (m_max.storeAndGetMax(max, v, i)) { - m_psd[i] = max/m_powFFTDiv; - specMax = max > specMax ? max : specMax; - max = m_settings.m_linear ? max/m_powFFTDiv : m_mult * log2fapprox(max) + m_ofs; m_powerSpectrum[i * 2] = max; m_powerSpectrum[i * 2 + 1] = max; } @@ -676,69 +425,136 @@ void SpectrumVis::processFFT(bool positiveOnly) { c = fftOut[i + halfSize]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available - if (m_max.storeAndGetMax(max, v, i+halfSize)) - { - m_psd[i] = max/m_powFFTDiv; - specMax = max > specMax ? max : specMax; - max = m_settings.m_linear ? max/m_powFFTDiv : m_mult * log2fapprox(max) + m_ofs; + if (m_max.storeAndGetMax(max, v, i+halfSize)) { m_powerSpectrum[i] = max; } c = fftOut[i]; v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; // result available - if (m_max.storeAndGetMax(max, v, i)) - { - m_psd[i + halfSize] = max/m_powFFTDiv; - specMax = max > specMax ? max : specMax; - max = m_settings.m_linear ? max/m_powFFTDiv : m_mult * log2fapprox(max) + m_ofs; + if (m_max.storeAndGetMax(max, v, i)) { m_powerSpectrum[i + halfSize] = max; } } } // result available - if (m_max.nextMax()) - { - m_specMax = specMax; - - // send new data to visualisation - if (m_glSpectrum) - { - m_glSpectrum->newSpectrum( - &m_powerSpectrum.data()[fftMin], - fftMax - fftMin, - m_settings.m_fftSize - ); - } - - // web socket spectrum connections - if (m_wsSpectrum.socketOpened()) - { - m_wsSpectrum.newSpectrum( - m_powerSpectrum, - m_settings.m_fftSize, - m_centerFrequency, - m_sampleRate, - m_settings.m_linear, - m_settings.m_ssb, - m_settings.m_usb - ); - } + if (m_max.nextMax()) { + ready = true; } } -} + else if (m_settings.m_averagingMode == SpectrumSettings::AvgModeMin) + { + Real min; + + if (positiveOnly) + { + for (std::size_t i = 0; i < halfSize; i++) + { + c = fftOut[i]; + v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; + + if (m_min.storeAndGetMin(min, v, i)) + { + m_powerSpectrum[i * 2] = min; + m_powerSpectrum[i * 2 + 1] = min; + } + } + } + else + { + for (std::size_t i = 0; i < halfSize; i++) + { + c = fftOut[i + halfSize]; + v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; + + // result available + if (m_min.storeAndGetMin(min, v, i+halfSize)) { + m_powerSpectrum[i] = min; + } + + c = fftOut[i]; + v = c.real() * c.real() + c.imag() * c.imag(); + v *= m_powFFTMul; + + // result available + if (m_min.storeAndGetMin(min, v, i)) { + m_powerSpectrum[i + halfSize] = min; + } + } + } + + // result available + if (m_min.nextMin()) { + ready = true; + } + } + + if (ready) + { + // Calculate maximum value in spectrum + m_specMax = *std::max_element(&m_powerSpectrum[0], &m_powerSpectrum[m_settings.m_fftSize]); + + // Perform math operation on linear value + if (m_settings.m_mathMode != SpectrumSettings::MathModeNone) { + mathLinear(m_powerSpectrum); + } + + // Convert to dB + if (!m_settings.m_linear) + { + for (int i = 0; i < m_settings.m_fftSize; i++) { + m_powerSpectrum[i] = m_mult * log2fapprox(m_powerSpectrum[i]); + } + } + + // Perform math operation on dB value + if (m_settings.m_mathMode != SpectrumSettings::MathModeNone) { + mathDB(m_powerSpectrum); + } + + if (m_settings.mathAverageUsed()) { + m_mathMovingAverage.nextAverage(); + } + + // Stop profiling before newSpectrum, as we profile that separately + PROFILER_STOP("processFFT"); + + // send new data to visualisation + if (m_glSpectrum) + { + m_glSpectrum->newSpectrum( + &m_powerSpectrum.data()[0], + m_settings.m_fftSize + ); + } + + // web socket spectrum connections + if (m_wsSpectrum.socketOpened()) + { + m_wsSpectrum.newSpectrum( + m_powerSpectrum, + m_settings.m_fftSize, + m_centerFrequency, + m_sampleRate, + m_settings.m_linear, + m_settings.m_ssb, + m_settings.m_usb + ); + } + } + else + { + PROFILER_STOP("processFFT"); + } -void SpectrumVis::getZoomedPSDCopy(std::vector& copy) const -{ - int fftMin = (m_settings.m_frequencyZoomFactor == 1.0f) ? - 0 : (m_settings.m_frequencyZoomPos - (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; - int fftMax = (m_settings.m_frequencyZoomFactor == 1.0f) ? - m_settings.m_fftSize : (m_settings.m_frequencyZoomPos + (0.5f / m_settings.m_frequencyZoomFactor)) * m_settings.m_fftSize; - copy.assign(m_psd.begin() + fftMin, m_psd.begin() + fftMax); } void SpectrumVis::start() @@ -826,13 +642,6 @@ bool SpectrumVis::handleMessage(const Message& message) MsgStartStop& cmd = (MsgStartStop&) message; setRunning(cmd.getStartStop()); return true; - } - else if (MsgFrequencyZooming::match(message)) - { - MsgFrequencyZooming& cmd = (MsgFrequencyZooming&) message; - m_settings.m_frequencyZoomFactor = cmd.getFrequencyZoomFactor(); - m_settings.m_frequencyZoomPos = cmd.getFrequencyZoomPos(); - return true; } else { @@ -876,14 +685,13 @@ void SpectrumVis::applySettings(const SpectrumSettings& settings, bool force) } m_fftEngineSequence = fftFactory->getEngine(fftSize, false, &m_fft); - m_ofs = 20.0f * log10f(1.0f / fftSize); - m_powFFTDiv = fftSize * fftSize; + m_powFFTMul = 1.0f / (fftSize * fftSize); if (fftSize > m_settings.m_fftSize) { m_fftBuffer.resize(fftSize); m_powerSpectrum.resize(fftSize); - m_psd.resize(fftSize); + m_mathMemory.resize(fftSize); } } @@ -912,6 +720,17 @@ void SpectrumVis::applySettings(const SpectrumSettings& settings, bool force) m_movingAverage.resize(fftSize, averagingValue); m_fixedAverage.resize(fftSize, averagingValue); m_max.resize(fftSize, averagingValue); + m_min.resize(fftSize, averagingValue); + } + + if ((fftSize != m_settings.m_fftSize) + || (settings.m_mathAvgCount != m_settings.m_mathAvgCount) || force) + { + m_mathMovingAverage.resize(fftSize, settings.m_mathAvgCount); + } + + if (settings.m_mathMode != m_settings.m_mathMode) { + m_mathMovingAverage.clear(); } if ((settings.m_wsSpectrumAddress != m_settings.m_wsSpectrumAddress) @@ -1085,11 +904,10 @@ void SpectrumVis::webapiUpdateSpectrumSettings( } // To calculate power, the usual equation: -// 10*log10(V1/V2), where V2=fftSize^2 +// 10*log10(v=V1/V2), where V2=fftSize^2 // is calculated using log2 instead, with: -// ofs=20.0f * log10f(1.0f / fftSize) -// mult=(10.0f / log2(10.0f)) -// dB = m_mult * log2f(v) + m_ofs +// mult = 10.0f / log2(10.0f) +// dB = m_mult * log2f(v) // However, while the gcc version of log2f is twice as fast as log10f, // MSVC version is 6x slower. // Also, we don't need full accuracy of log2f for calculating the power for the spectrum, @@ -1128,3 +946,23 @@ float SpectrumVis::log2fapprox(float x) const return l; } + +void SpectrumVis::setMathMemory(const QList &values) +{ + QMutexLocker mutexLocker(&m_mutex); + + int s = std::min((int) values.size(), m_settings.m_fftSize); + + for (int i = 0; i < s; i++) { + m_mathMemory[i] = values[i]; + } +} + +void SpectrumVis::getMathMovingAverageCopy(QList& copy) +{ + QMutexLocker mutexLocker(&m_mutex); + + std::vector averages; + m_mathMovingAverage.getAverages(averages); + copy = QList(averages.begin(), averages.end()); +} diff --git a/sdrbase/dsp/spectrumvis.h b/sdrbase/dsp/spectrumvis.h index c5805f559..d7cf527aa 100644 --- a/sdrbase/dsp/spectrumvis.h +++ b/sdrbase/dsp/spectrumvis.h @@ -3,6 +3,7 @@ // written by Christian Daniel // // Copyright (C) 2015-2022 Edouard Griffiths, F4EXB // // Copyright (C) 2022 Jiří Pinkava // +// Copyright (C) 2026 Jon Beniston, M7RCE // // // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // @@ -34,6 +35,7 @@ #include "util/movingaverage2d.h" #include "util/fixedaverage2d.h" #include "util/max2d.h" +#include "util/min2d.h" #include "websockets/wsspectrum.h" class GLSpectrumInterface; @@ -108,35 +110,6 @@ public: {} }; - class SDRBASE_API MsgFrequencyZooming : public Message { - MESSAGE_CLASS_DECLARATION - - public: - float getFrequencyZoomFactor() const { return m_frequencyZoomFactor; } - float getFrequencyZoomPos() const { return m_frequencyZoomPos; } - - static MsgFrequencyZooming* create(float frequencyZoomFactor, float frequencyZoomPos) { - return new MsgFrequencyZooming(frequencyZoomFactor, frequencyZoomPos); - } - - private: - float m_frequencyZoomFactor; - float m_frequencyZoomPos; - - MsgFrequencyZooming(float frequencyZoomFactor, float frequencyZoomPos) : - Message(), - m_frequencyZoomFactor(frequencyZoomFactor), - m_frequencyZoomPos(frequencyZoomPos) - { } - }; - - enum AvgMode - { - AvgModeNone, - AvgModeMovingAvg, - AvgModeFixedAvg, - AvgModeMax - }; SpectrumVis(Real scalef); virtual ~SpectrumVis(); @@ -148,14 +121,13 @@ public: void setScalef(Real scalef); void configureWSSpectrum(const QString& address, uint16_t port); const SpectrumSettings& getSettings() const { return m_settings; } - Real getSpecMax() const { return m_specMax / m_powFFTDiv; } - void getPowerSpectrumCopy(std::vector& copy) { copy.assign(m_powerSpectrum.begin(), m_powerSpectrum.end()); } - void getPSDCopy(std::vector& copy) const { copy.assign(m_psd.begin(), m_psd.begin() + m_settings.m_fftSize); } - void getZoomedPSDCopy(std::vector& copy) const; + Real getSpecMax() const { return m_specMax; } + + void setMathMemory(const QList &values); + void getMathMovingAverageCopy(QList& copy); virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end, bool positiveOnly); void feed(const ComplexVector::const_iterator& begin, const ComplexVector::const_iterator& end, bool positiveOnly); - virtual void feed(const Complex *begin, unsigned int length); //!< direct FFT feed void feedTriggered(const SampleVector::const_iterator& triggerPoint, const SampleVector::const_iterator& end, bool positiveOnly); virtual void start(); virtual void stop(); @@ -220,7 +192,7 @@ private: std::vector m_fftBuffer; std::vector m_powerSpectrum; //!< displayable power spectrum - std::vector m_psd; //!< real PSD + std::vector m_mathMemory; SpectrumSettings m_settings; int m_overlapSize; @@ -233,15 +205,16 @@ private: WSSpectrum m_wsSpectrum; MovingAverage2D m_movingAverage; FixedAverage2D m_fixedAverage; - Max2D m_max; + Max2D m_max; + Min2D m_min; Real m_specMax; + MovingAverage2D m_mathMovingAverage; uint64_t m_centerFrequency; int m_sampleRate; - Real m_ofs; - Real m_powFFTDiv; - static const Real m_mult; + Real m_powFFTMul; //!< 1/fftSize^2 + static const Real m_mult; //!< 10/log2(10) MessageQueue m_inputMessageQueue; MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI @@ -257,6 +230,8 @@ private: void handleWSOpenClose(bool openClose); void handleConfigureWSSpectrum(const QString& address, uint16_t port); float log2fapprox(float x) const; + void mathLinear(std::vector &spectrum); + void mathDB(std::vector &spectrum); static void webapiFormatSpectrumSettings(SWGSDRangel::SWGGLSpectrum& response, const SpectrumSettings& settings); static void webapiUpdateSpectrumSettings( diff --git a/sdrbase/util/circularbuffer.h b/sdrbase/util/circularbuffer.h new file mode 100644 index 000000000..61f410f1a --- /dev/null +++ b/sdrbase/util/circularbuffer.h @@ -0,0 +1,200 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2026 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#ifndef INCLUDE_CIRCULARBUFFER_H_ +#define INCLUDE_CIRCULARBUFFER_H_ + +#include +#include +#include +#include +#include + +// Iterates from oldest item to newest +template +class CircularBufferIterator { + + using iterator_category = std::forward_iterator_tag; + using value_type = T; + using pointer = T *; + using const_pointer = const T *; + using reference = T &; + using const_reference = const T &; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + +public: + CircularBufferIterator(std::vector *b, size_t tail, size_t p) : + m_buf(b), + m_tail(tail), + m_pos(p) + { + } + + value_type &operator*() { return (*m_buf)[(m_tail + m_pos) % m_buf->size()]; } + value_type *operator->() { return &(operator*()); } + + CircularBufferIterator &operator++() + { + m_pos++; + return *this; + } + + friend bool operator!= (const CircularBufferIterator& a, const CircularBufferIterator& b) { return a.m_buf != b.m_buf || a.m_tail != b.m_tail || a.m_pos != b.m_pos; }; + +private: + std::vector *m_buf; + size_type m_tail; + size_type m_pos; +}; + +// Circular buffer with fixed capacity, that overwrites oldest item when full. +// Items are stored in a contiguous block of memory, so can be accessed by index or iterated over. +// Index of 0 is the oldest item, index of size()-1 is the newest item. +template +class CircularBuffer +{ + using value_type = T; + using pointer = T *; + using const_pointer = const T *; + using reference = T &; + using const_reference = const T &; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + + std::vector m_buffer; + size_type m_head; + size_type m_tail; + size_type m_count; + +public: + + CircularBuffer(size_type size) : + m_buffer(size), + m_head(0), + m_tail(0), + m_count(0) + { + } + + bool isFull() const + { + return (m_count != 0) && (m_head == m_tail); + } + + bool isEmpty() const + { + return m_count == 0; + } + + size_type size() const + { + return m_count; + } + + void clear() + { + m_head = 0; + m_tail = 0; + m_count = 0; + } + + void append(const_reference item) + { + size_type next = (m_head + 1) % m_buffer.size(); + if (isFull()) { + m_tail = next; // Overwrite oldest item + } else { + m_count++; + } + m_buffer[m_head] = item; + m_head = next; + } + + void removeFirst() + { + m_tail = (m_tail + 1) % m_buffer.size(); + m_count--; + } + + reference takeFirst() + { + reference item = m_buffer[m_tail]; + removeFirst(); + return item; + } + + // newSize of <= 1 not supported + void resize(size_type newSize) + { + // Reduce count to newSize, by removing oldest items first + while (size() > newSize) { + removeFirst(); + } + + // Shuffle data to the beginning of the buffer, so we can free up or allocate space at the end + if (m_head < m_tail) + { + std::rotate(m_buffer.begin(), m_buffer.begin() + m_tail, m_buffer.end()); + m_head = m_count; + m_tail = 0; + } + else + { + std::rotate(m_buffer.begin(), m_buffer.begin() + m_tail, m_buffer.begin() + m_head); + m_head = m_count; + m_tail = 0; + } + + m_buffer.resize(newSize); + + if (m_head >= newSize) { + m_head -= newSize; + } + } + + // Index of 0 is the oldest item, index of size()-1 is the newest item + reference operator[] (size_type index) + { + return m_buffer[(m_tail + index) % m_buffer.size()]; + } + + const_reference operator[] (size_type index) const + { + return m_buffer[(m_tail + index) % m_buffer.size()]; + } + + const_reference at(size_type index) const + { + return m_buffer.at((m_tail + index) % m_buffer.size()); + } + + using iterator = CircularBufferIterator; + + iterator begin() + { + return iterator(&m_buffer, m_tail, 0); + } + + iterator end() + { + return iterator(&m_buffer, m_tail, m_count); + } + +}; + +#endif /* INCLUDE_CIRCULARBUFFER_H_ */ diff --git a/sdrbase/util/min2d.h b/sdrbase/util/min2d.h new file mode 100644 index 000000000..c0f3eb571 --- /dev/null +++ b/sdrbase/util/min2d.h @@ -0,0 +1,108 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2018-2019 Edouard Griffiths, F4EXB // +// Copyright (C) 2026 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#ifndef SDRBASE_UTIL_MIN2D_H_ +#define SDRBASE_UTIL_MIN2D_H_ + +#include + +template +class Min2D +{ +public: + Min2D() : m_min(0), m_maxSize(0), m_width(0), m_size(0), m_index(0) {} + + ~Min2D() + { + if (m_min) { + delete[] m_min; + } + } + + void resize(unsigned int width, unsigned int size) + { + if (width > m_maxSize) + { + m_maxSize = width; + if (m_min) { + delete[] m_min; + } + m_min = new T[m_maxSize]; + } + + m_width = width; + m_size = size; + + std::fill(m_min, m_min+m_width, 0); + m_index = 0; + } + + bool storeAndGetMin(T& min, T v, unsigned int index) + { + if (m_size <= 1) + { + min = v; + return true; + } + + if (m_index == 0) + { + m_min[index] = v; + return false; + } + else if (m_index == m_size - 1) + { + m_min[index] = std::min(m_min[index], v); + min = m_min[index]; + return true; + } + else + { + m_min[index] = std::min(m_min[index], v); + return false; + } + } + + bool nextMin() + { + if (m_size <= 1) { + return true; + } + + if (m_index == m_size - 1) + { + m_index = 0; + std::fill(m_min, m_min+m_width, 0); + return true; + } + else + { + m_index++; + return false; + } + } + +private: + T *m_min; + unsigned int m_maxSize; + unsigned int m_width; + unsigned int m_size; + unsigned int m_index; +}; + +#endif /* SDRBASE_UTIL_MIN2D_H_ */ diff --git a/sdrbase/util/movingaverage2d.h b/sdrbase/util/movingaverage2d.h index 8358c59ac..30e64b499 100644 --- a/sdrbase/util/movingaverage2d.h +++ b/sdrbase/util/movingaverage2d.h @@ -24,7 +24,7 @@ template class MovingAverage2D { public: - MovingAverage2D() : m_data(0), m_sum(0), m_dataSize(0), m_sumSize(0), m_width(0), m_depth(0), m_avgIndex(0) {} + MovingAverage2D() : m_data(0), m_sum(0), m_dataSize(0), m_sumSize(0), m_width(0), m_depth(0), m_avgIndex(0), m_count(0) {} ~MovingAverage2D() { @@ -37,6 +37,15 @@ public: } } + void clear() + { + std::fill(m_data, m_data+(m_width*m_depth), 0.0); + std::fill(m_sum, m_sum+m_width, 0.0); + + m_avgIndex = 0; + m_count = 1; + } + void resize(unsigned int width, unsigned int depth) { if (width*depth > m_dataSize) @@ -60,10 +69,7 @@ public: m_width = width; m_depth = depth; - std::fill(m_data, m_data+(m_width*m_depth), 0.0); - std::fill(m_sum, m_sum+m_width, 0.0); - - m_avgIndex = 0; + clear(); } T storeAndGetAvg(T v, unsigned int index) @@ -77,7 +83,7 @@ public: T first = m_data[m_avgIndex*m_width+index]; m_sum[index] += (v - first); m_data[m_avgIndex*m_width+index] = v; - return m_sum[index] / m_depth; + return m_sum[index] / m_count; } else { @@ -104,8 +110,31 @@ public: } } - void nextAverage() { + void nextAverage() + { m_avgIndex = m_avgIndex == m_depth-1 ? 0 : m_avgIndex+1; + m_count = m_count == m_depth ? m_count : m_count+1; + } + + template + void getAverages(std::vector &values) const + { + values.resize(m_width); + for (int index = 0; index < m_width; index++) { + values[index] = (R) (m_sum[index] / m_count); + } + } + + T getMin() const + { + T minSum = *std::min_element(m_sum, m_sum + m_width); + return minSum / m_count; + } + + T getMax() const + { + T maxSum = *std::max_element(m_sum, m_sum + m_width); + return maxSum / m_count; } private: @@ -116,6 +145,7 @@ private: unsigned int m_width; unsigned int m_depth; unsigned int m_avgIndex; + unsigned int m_count; }; diff --git a/sdrbase/util/units.h b/sdrbase/util/units.h index 5d770a2c2..b4f00c268 100644 --- a/sdrbase/util/units.h +++ b/sdrbase/util/units.h @@ -2,7 +2,7 @@ // Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany // // written by Christian Daniel // // Copyright (C) 2015-2016, 2018-2019 Edouard Griffiths, F4EXB // -// Copyright (C) 2020-2023 Jon Beniston, M7RCE // +// Copyright (C) 2020-2026 Jon Beniston, M7RCE // // // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // @@ -176,15 +176,15 @@ public: if (dms.captureCount() >= 1) { neg = match.capturedTexts()[1] == "-"; } - if (dms.captureCount() >= 3) { + if ((dms.captureCount() >= 3) && (match.capturedTexts().size() >= 3)) { d = match.capturedTexts()[2].toFloat(); } float m = 0.0f; - if (dms.captureCount() >= 5) { + if ((dms.captureCount() >= 5) && (match.capturedTexts().size() >= 5)) { m = match.capturedTexts()[4].toFloat(); } float s = 0.0f; - if (dms.captureCount() >= 7) { + if ((dms.captureCount() >= 7) && (match.capturedTexts().size() >= 7)) { s = match.capturedTexts()[6].toFloat(); } degrees = d + m/60.0 + s/(60.0*60.0); @@ -382,7 +382,6 @@ public: int raMins = match.capturedTexts()[2].toInt(); float raSecs = match.capturedTexts()[3].toFloat(); ra = raHours + raMins / 60.0f + raSecs / (60.0f * 60.0f); - qDebug() << ra << raHours << raMins << raSecs; int decDegs = match.capturedTexts()[5].toInt(); int decMins = match.capturedTexts()[6].toInt(); float decSecs = match.capturedTexts()[7].toFloat(); @@ -478,6 +477,68 @@ public: return T(10.0) * std::log10(tempK/refTempK+T(1.0)); } + // Convert number using engineering units to double precision. E.g: 10.3M 0.3m -5k 3.4 + static double engUnitsToDouble(const QString& string, double defaultValue = 0.0, bool *ok = nullptr) + { + static const QChar micro(0xb5); + static const QString pattern = QString(R"((-?)([\d]+)?(\.[\d]+)?([n%1umkMG]?))").arg(micro); + static const QMap map = { + {'n', 1e-9}, + {micro, 1e-6}, + {'u', 1e-6}, + {'m', 1e-3}, + {'k', 1e3}, + {'M', 1e6}, + {'G', 1e9} + }; + + QRegularExpression re(QRegularExpression::anchoredPattern(pattern)); + QRegularExpressionMatch match; + + match = re.match(string); + if (match.hasMatch()) + { + double value = (match.capturedTexts()[1] + match.capturedTexts()[2] + match.capturedTexts()[3]).toDouble(); + QString units = match.capturedTexts()[4]; + if (!units.isEmpty()) { + value = value * map.value(units[0]); + } + if (ok) { + *ok = true; + } + return value; + } + else + { + if (ok) { + *ok = false; + } + return defaultValue; + } + } + + // Convert number using engineering units to positive integer + static int engUnitsToPosInt(const QString& string, int defaultValue = 0, bool *ok = nullptr) + { + bool doubleOk; + double doubleValue = Units::engUnitsToDouble(string, 0.0, &doubleOk); + + if (doubleOk && (doubleValue >= 0.0) && (trunc(doubleValue) == doubleValue)) + { + if (ok) { + *ok = true; + } + return (int) doubleValue; + } + else + { + if (ok) { + *ok = false; + } + return defaultValue; + } + } + }; #endif // INCLUDE_UNITS_H diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt index 321474cfb..79da6528e 100644 --- a/sdrgui/CMakeLists.txt +++ b/sdrgui/CMakeLists.txt @@ -87,6 +87,7 @@ set(sdrgui_SOURCES gui/scidoublespinbox.cpp gui/sdrangelsplash.cpp gui/spectrumcalibrationpointsdialog.cpp + gui/spectrumdisplaysettingsdialog.cpp gui/spectrummarkersdialog.cpp gui/spectrummeasurementsdialog.cpp gui/spectrummeasurements.cpp @@ -221,6 +222,7 @@ set(sdrgui_HEADERS gui/scidoublespinbox.h gui/sdrangelsplash.h gui/spectrumcalibrationpointsdialog.h + gui/spectrumdisplaysettingsdialog.h gui/spectrummarkersdialog.h gui/spectrummeasurementsdialog.h gui/spectrummeasurements.h @@ -301,6 +303,7 @@ set(sdrgui_FORMS gui/spectrummarkersdialog.ui gui/spectrummeasurementsdialog.ui gui/spectrumcalibrationpointsdialog.ui + gui/spectrumdisplaysettingsdialog.ui gui/myposdialog.ui gui/transverterdialog.ui gui/loggingdialog.ui diff --git a/sdrgui/gui/framelesswindowresizer.cpp b/sdrgui/gui/framelesswindowresizer.cpp index 82e5bba58..6485cd5d7 100644 --- a/sdrgui/gui/framelesswindowresizer.cpp +++ b/sdrgui/gui/framelesswindowresizer.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include "framelesswindowresizer.h" @@ -55,6 +56,11 @@ void FramelessWindowResizer::enableChildMouseTracking() table->viewport()->setMouseTracking(true); table->viewport()->installEventFilter(this); } + // Likewise for scroll bars, such as in GLSpectrum + QList scrollBars = m_widget->findChildren(); + for (auto scrollBar : scrollBars) { + scrollBar->installEventFilter(this); + } } bool FramelessWindowResizer::mouseOnTopBorder(QPoint pos) const diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index cd540b241..d0d17df90 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -33,11 +33,21 @@ GLSpectrum::GLSpectrum(QWidget *parent) : QWidget(parent) { - m_splitter = new QSplitter(Qt::Vertical); + m_spectrumContainer = new QWidget(); + QHBoxLayout *hLayout = new QHBoxLayout(m_spectrumContainer); m_spectrum = new GLSpectrumView(); + m_scrollBar = new QScrollBar(Qt::Vertical); + m_spectrum->setScrollBar(m_scrollBar); + hLayout->addWidget(m_spectrum); + hLayout->addWidget(m_scrollBar); + hLayout->setContentsMargins(0, 0, 0, 0); + hLayout->setSpacing(0); + m_measurements = new SpectrumMeasurements(); m_spectrum->setMeasurements(m_measurements); - m_splitter->addWidget(m_spectrum); + + m_splitter = new QSplitter(Qt::Vertical); + m_splitter->addWidget(m_spectrumContainer); m_splitter->addWidget(m_measurements); m_position = SpectrumSettings::PositionBelow; QVBoxLayout *layout = new QVBoxLayout(this); @@ -63,7 +73,7 @@ void GLSpectrum::setMeasurementsPosition(SpectrumSettings::MeasurementsPosition break; case SpectrumSettings::PositionBelow: m_splitter->setOrientation(Qt::Vertical); - m_splitter->insertWidget(0, m_spectrum); + m_splitter->insertWidget(0, m_spectrumContainer); break; case SpectrumSettings::PositionLeft: m_splitter->setOrientation(Qt::Horizontal); @@ -71,7 +81,7 @@ void GLSpectrum::setMeasurementsPosition(SpectrumSettings::MeasurementsPosition break; case SpectrumSettings::PositionRight: m_splitter->setOrientation(Qt::Horizontal); - m_splitter->insertWidget(0, m_spectrum); + m_splitter->insertWidget(0, m_spectrumContainer); break; } m_position = position; @@ -79,9 +89,9 @@ void GLSpectrum::setMeasurementsPosition(SpectrumSettings::MeasurementsPosition void GLSpectrum::setMeasurementParams(SpectrumSettings::Measurement measurement, int centerFrequencyOffset, int bandwidth, int chSpacing, int adjChBandwidth, - int harmonics, int peaks, bool highlight, int precision) + int harmonics, int peaks, bool highlight, int precision, unsigned memoryMask) { - m_spectrum->setMeasurementParams(measurement, centerFrequencyOffset, bandwidth, chSpacing, adjChBandwidth, harmonics, peaks, highlight, precision); + m_spectrum->setMeasurementParams(measurement, centerFrequencyOffset, bandwidth, chSpacing, adjChBandwidth, harmonics, peaks, highlight, precision, memoryMask); // Resize splitter so there's just enough space for the measurements table // But don't use more than 50% QList sizes = m_splitter->sizes(); @@ -148,3 +158,9 @@ void GLSpectrum::setMeasurementParams(SpectrumSettings::Measurement measurement, m_splitter->setSizes(sizes); //resize(size().expandedTo(minimumSizeHint())); } + +void GLSpectrum::resetMeasurements() +{ + m_measurements->reset(); + m_spectrum->resetMeasurements(); +} diff --git a/sdrgui/gui/glspectrum.h b/sdrgui/gui/glspectrum.h index e877212a0..a01c3dd69 100644 --- a/sdrgui/gui/glspectrum.h +++ b/sdrgui/gui/glspectrum.h @@ -31,7 +31,7 @@ class QSplitter; class SpectrumMeasurements; -// Combines GLSpectrumView with SpectrumMeasurements in a QSplitter +// Combines GLSpectrumView with SpectrumMeasurements in a QSplitter and optional QScrollBar class SDRGUI_API GLSpectrum : public QWidget, public GLSpectrumInterface { Q_OBJECT @@ -50,13 +50,16 @@ public: void setTimingRate(qint32 timingRate) { m_spectrum->setTimingRate(timingRate); } void setFFTOverlap(int overlap) { m_spectrum->setFFTOverlap(overlap); } void setReferenceLevel(Real referenceLevel) { m_spectrum->setReferenceLevel(referenceLevel); } + void setReferenceLevelRange(Real minReferenceLevel, Real maxReferenceLevel) { m_spectrum->setReferenceLevelRange(minReferenceLevel, maxReferenceLevel); } void setPowerRange(Real powerRange){ m_spectrum->setPowerRange(powerRange); } + void setPowerRangeRange(Real minPowerRange, Real maxPowerRange) { m_spectrum->setPowerRangeRange(minPowerRange, maxPowerRange); } void setDecay(int decay) { m_spectrum->setDecay(decay); } void setDecayDivisor(int decayDivisor) { m_spectrum->setDecayDivisor(decayDivisor); } void setHistoStroke(int stroke) { m_spectrum->setHistoStroke(stroke); } void setDisplayWaterfall(bool display) { m_spectrum->setDisplayWaterfall(display); } void setDisplay3DSpectrogram(bool display) { m_spectrum->setDisplay3DSpectrogram(display); } void set3DSpectrogramStyle(SpectrumSettings::SpectrogramStyle style) { m_spectrum->set3DSpectrogramStyle(style); } + void setSpectrumColor(QRgb color) { m_spectrum->setSpectrumColor(color); } void setColorMapName(const QString &colorMapName) { m_spectrum->setColorMapName(colorMapName); } void setSpectrumStyle(SpectrumSettings::SpectrumStyle style) { m_spectrum->setSpectrumStyle(style); } void setSsbSpectrum(bool ssbSpectrum) { m_spectrum->setSsbSpectrum(ssbSpectrum); } @@ -73,12 +76,13 @@ public: void setUseCalibration(bool useCalibration) { m_spectrum->setUseCalibration(useCalibration); } void setMeasurementParams(SpectrumSettings::Measurement measurement, int centerFrequencyOffset, int bandwidth, int chSpacing, int adjChBandwidth, - int harmonics, int peaks, bool highlight, int precision); + int harmonics, int peaks, bool highlight, int precision, unsigned memoryMask); + void resetMeasurements(); qint32 getSampleRate() const { return m_spectrum->getSampleRate(); } void addChannelMarker(ChannelMarker* channelMarker) { m_spectrum->addChannelMarker(channelMarker); } void removeChannelMarker(ChannelMarker* channelMarker) { m_spectrum->removeChannelMarker(channelMarker); } void setMessageQueueToGUI(MessageQueue* messageQueue) { m_spectrum->setMessageQueueToGUI(messageQueue); } - void newSpectrum(const Real* spectrum, int nbBins, int fftSize) { m_spectrum->newSpectrum(spectrum, nbBins, fftSize); } + void newSpectrum(const Real* spectrum, int fftSize) { m_spectrum->newSpectrum(spectrum, fftSize); } void clearSpectrumHistogram() { m_spectrum->clearSpectrumHistogram(); } Real getWaterfallShare() const { return m_spectrum->getWaterfallShare(); } void setWaterfallShare(Real waterfallShare) { m_spectrum->setWaterfallShare(waterfallShare); } @@ -111,12 +115,22 @@ public: void setIsDeviceSpectrum(bool isDeviceSpectrum) { m_spectrum->setIsDeviceSpectrum(isDeviceSpectrum); } bool isDeviceSpectrum() const { return m_spectrum->isDeviceSpectrum(); } void setFrequencyZooming(float frequencyZoomFactor, float frequencyZoomPos) { m_spectrum->setFrequencyZooming(frequencyZoomFactor, frequencyZoomPos); } + void setScrolling(bool enabled, int length) { m_spectrum->setScrolling(enabled, length); } + void setWaterfallTimeFormat(SpectrumSettings::WaterfallTimeUnits waterfallTimeUnits, const QString& format) { m_spectrum->setWaterfallTimeFormat(waterfallTimeUnits, format); } + void setStatusLine(bool displayRBW, bool displayCursorStats, bool displayPeakStats) { m_spectrum->setStatusLine(displayRBW, displayCursorStats, displayPeakStats); } + void readCSV(QTextStream &in, bool append, QString &error) { m_spectrum->readCSV(in, append, error); } + void writeCSV(QTextStream &out) { m_spectrum->writeCSV(out); } + bool writeImage(const QString& filename) { return m_spectrum->writeImage(filename); } + void getDisplayedSpectrumCopy(std::vector& copy, bool zoomed) const { m_spectrum->getDisplayedSpectrumCopy(copy, zoomed); } + void setMemory(int memoryIdx, const SpectrumSettings::SpectrumMemory &memory) { m_spectrum->setMemory(memoryIdx, memory); } private: QSplitter *m_splitter; GLSpectrumView *m_spectrum; SpectrumMeasurements *m_measurements; SpectrumSettings::MeasurementsPosition m_position; + QWidget *m_spectrumContainer; + QScrollBar *m_scrollBar; }; diff --git a/sdrgui/gui/glspectrumgui.cpp b/sdrgui/gui/glspectrumgui.cpp index d747818ee..3d1ecea9c 100644 --- a/sdrgui/gui/glspectrumgui.cpp +++ b/sdrgui/gui/glspectrumgui.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -42,11 +43,14 @@ #include "gui/spectrumcalibrationpointsdialog.h" #include "gui/spectrummeasurementsdialog.h" #include "gui/spectrummeasurements.h" +#include "gui/spectrumdisplaysettingsdialog.h" #include "gui/flowlayout.h" #include "gui/dialogpositioner.h" #include "gui/dialpopup.h" #include "util/colormap.h" #include "util/db.h" +#include "util/csv.h" +#include "util/units.h" #include "ui_glspectrumgui.h" const int GLSpectrumGUI::m_fpsMs[] = {500, 200, 100, 50, 20, 10, 5}; @@ -58,11 +62,13 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) : m_glSpectrum(nullptr), m_doApplySettings(true), m_calibrationShiftdB(0.0), - m_markersDialog(nullptr) + m_markersDialog(nullptr), + m_contextMenu(nullptr) { ui->setupUi(this); // Use the custom flow layout for the 3 main horizontal layouts (lines) + ui->verticalLayout->removeItem(ui->Line7Layout); ui->verticalLayout->removeItem(ui->Line6Layout); ui->verticalLayout->removeItem(ui->Line5Layout); ui->verticalLayout->removeItem(ui->Line4Layout); @@ -76,6 +82,7 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) : flowLayout->addItem(ui->Line4Layout); flowLayout->addItem(ui->Line5Layout); flowLayout->addItem(ui->Line6Layout); + flowLayout->addItem(ui->Line7Layout); ui->verticalLayout->addItem(flowLayout); on_linscale_toggled(false); @@ -101,6 +108,14 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) : CRightClickEnabler *calibrationPointsRightClickEnabler = new CRightClickEnabler(ui->calibration); connect(calibrationPointsRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openCalibrationPointsDialog(const QPoint &))); + m_contextMenu = new QMenu(this); + ui->mem1->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->mem1, &QWidget::customContextMenuRequested, this, &GLSpectrumGUI::mem1ContextMenu); + ui->mem2->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->mem2, &QWidget::customContextMenuRequested, this, &GLSpectrumGUI::mem2ContextMenu); + + connect(ui->mathAvgCount->lineEdit(), &QLineEdit::editingFinished, this, &GLSpectrumGUI::on_mathAvgCount_editingFinished); + DialPopup::addPopupsToChildDials(this); displaySettings(); @@ -178,7 +193,8 @@ void GLSpectrumGUI::updateSettings() void GLSpectrumGUI::displaySettings() { blockApplySettings(true); - ui->showAllControls->setChecked(m_settings.m_showAllControls); + ui->showControls->setCurrentIndex((int) m_settings.m_showControls); + setPowerAndRefRange(); ui->refLevel->setValue(m_settings.m_refLevel + m_calibrationShiftdB); ui->levelRange->setValue(m_settings.m_powerRange); ui->decay->setSliderPosition(m_settings.m_decay); @@ -187,7 +203,7 @@ void GLSpectrumGUI::displaySettings() ui->waterfall->setChecked(m_settings.m_displayWaterfall); ui->spectrogram->setChecked(m_settings.m_display3DSpectrogram); ui->spectrogramStyle->setCurrentIndex((int) m_settings.m_3DSpectrogramStyle); - ui->spectrogramStyle->setVisible(m_settings.m_display3DSpectrogram && m_settings.m_showAllControls); + ui->spectrogramStyle->setVisible(m_settings.m_display3DSpectrogram && (m_settings.m_showControls == SpectrumSettings::ShowAll)); ui->colorMap->setCurrentText(m_settings.m_colorMap); ui->currentLine->blockSignals(true); ui->currentFill->blockSignals(true); @@ -215,6 +231,8 @@ void GLSpectrumGUI::displaySettings() ui->averaging->blockSignals(true); ui->averagingMode->blockSignals(true); ui->linscale->blockSignals(true); + ui->mathMode->blockSignals(true); + ui->mathAvgCount->blockSignals(true); ui->fftWindow->setCurrentIndex(m_settings.m_fftWindow); @@ -245,15 +263,28 @@ void GLSpectrumGUI::displaySettings() ui->averagingMode->setCurrentIndex((int) m_settings.m_averagingMode); ui->linscale->setChecked(m_settings.m_linear); setAveragingToolitp(); + ui->mathMode->setCurrentIndex((int) m_settings.m_mathMode); + int idx = findEquivalentText(ui->mathAvgCount, m_settings.m_mathAvgCount); + if (idx >= 0) { + ui->mathAvgCount->setCurrentIndex(idx); + } else { + ui->mathAvgCount->setCurrentText(QString::number(m_settings.m_mathAvgCount)); + } + ui->mathAvgCount->setVisible(m_settings.mathAverageUsed()); ui->calibration->setChecked(m_settings.m_useCalibration); ui->resetMeasurements->setVisible(m_settings.m_measurement >= SpectrumSettings::MeasurementChannelPower); displayGotoMarkers(); displayControls(); + ui->mem1->setChecked(m_settings.m_spectrumMemory[0].m_display); + ui->mem2->setChecked(m_settings.m_spectrumMemory[1].m_display); + ui->fftWindow->blockSignals(false); ui->averaging->blockSignals(false); ui->averagingMode->blockSignals(false); ui->linscale->blockSignals(false); + ui->mathMode->blockSignals(false); + ui->mathAvgCount->blockSignals(false); blockApplySettings(false); updateMeasurements(); @@ -261,33 +292,40 @@ void GLSpectrumGUI::displaySettings() void GLSpectrumGUI::displayControls() { - ui->grid->setVisible(m_settings.m_showAllControls); - ui->gridIntensity->setVisible(m_settings.m_showAllControls); - ui->truncateScale->setVisible(m_settings.m_showAllControls); - ui->clearSpectrum->setVisible(m_settings.m_showAllControls); - ui->histogram->setVisible(m_settings.m_showAllControls); - ui->maxHold->setVisible(m_settings.m_showAllControls); - ui->decay->setVisible(m_settings.m_showAllControls); - ui->decayDivisor->setVisible(m_settings.m_showAllControls); - ui->stroke->setVisible(m_settings.m_showAllControls); - ui->currentLine->setVisible(m_settings.m_showAllControls); - ui->currentFill->setVisible(m_settings.m_showAllControls); - ui->currentGradient->setVisible(m_settings.m_showAllControls); - ui->traceIntensity->setVisible(m_settings.m_showAllControls); - ui->colorMap->setVisible(m_settings.m_showAllControls); - ui->invertWaterfall->setVisible(m_settings.m_showAllControls); - ui->waterfall->setVisible(m_settings.m_showAllControls); - ui->spectrogram->setVisible(m_settings.m_showAllControls); - ui->spectrogramStyle->setVisible(m_settings.m_showAllControls); - ui->fftWindow->setVisible(m_settings.m_showAllControls); - ui->fftSize->setVisible(m_settings.m_showAllControls); - ui->fftOverlap->setVisible(m_settings.m_showAllControls); - ui->fps->setVisible(m_settings.m_showAllControls); - ui->linscale->setVisible(m_settings.m_showAllControls); - ui->save->setVisible(m_settings.m_showAllControls); - ui->wsSpectrum->setVisible(m_settings.m_showAllControls); - ui->calibration->setVisible(m_settings.m_showAllControls); - ui->markers->setVisible(m_settings.m_showAllControls); + ui->grid->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->gridIntensity->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->truncateScale->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->clearSpectrum->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->histogram->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->maxHold->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->decay->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->decayDivisor->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->stroke->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->currentLine->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->currentFill->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->currentGradient->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->traceIntensity->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->colorMap->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->invertWaterfall->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->waterfall->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->spectrogram->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->spectrogramStyle->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll && m_settings.m_display3DSpectrogram); + ui->fftWindow->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->fftSize->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->fftOverlap->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->mathMode->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->mathAvgCount->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll && m_settings.mathAverageUsed()); + ui->fps->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->linscale->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->mem1->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->mem2->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->load->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->save->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->saveImage->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->wsSpectrum->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowAll); + ui->calibration->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->markers->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); + ui->measure->setVisible(m_settings.m_showControls >= SpectrumSettings::ShowStandard); } void GLSpectrumGUI::displayGotoMarkers() @@ -348,6 +386,7 @@ void GLSpectrumGUI::applySpectrumSettings() m_glSpectrum->setDisplayWaterfall(m_settings.m_displayWaterfall); m_glSpectrum->setDisplay3DSpectrogram(m_settings.m_display3DSpectrogram); m_glSpectrum->set3DSpectrogramStyle(m_settings.m_3DSpectrogramStyle); + m_glSpectrum->setSpectrumColor(m_settings.m_spectrumColor); m_glSpectrum->setColorMapName(m_settings.m_colorMap); m_glSpectrum->setSpectrumStyle(m_settings.m_spectrumStyle); m_glSpectrum->setInvertedWaterfall(m_settings.m_invertedWaterfall); @@ -374,7 +413,9 @@ void GLSpectrumGUI::applySpectrumSettings() Real powerRange = m_settings.m_linear ? pow(10.0, m_settings.m_refLevel/10.0) : m_settings.m_powerRange; qDebug("GLSpectrumGUI::applySpectrumSettings: refLevel: %e powerRange: %e", refLevel, powerRange); m_glSpectrum->setReferenceLevel(refLevel); + m_glSpectrum->setReferenceLevelRange(ui->refLevel->minimum(), ui->refLevel->maximum()); m_glSpectrum->setPowerRange(powerRange); + m_glSpectrum->setPowerRangeRange(ui->levelRange->minimum(), ui->levelRange->maximum()); m_glSpectrum->setFPSPeriodMs(m_settings.m_fpsPeriodMs); m_glSpectrum->setFreqScaleTruncationMode(m_settings.m_truncateFreqScale); m_glSpectrum->setLinear(m_settings.m_linear); @@ -386,6 +427,41 @@ void GLSpectrumGUI::applySpectrumSettings() m_glSpectrum->setMarkersDisplay(m_settings.m_markersDisplay); m_glSpectrum->setCalibrationPoints(m_settings.m_calibrationPoints); m_glSpectrum->setCalibrationInterpMode(m_settings.m_calibrationInterpMode); + + m_glSpectrum->setScrolling(m_settings.m_scrollBar, m_settings.m_scrollLength); + m_glSpectrum->setWaterfallTimeFormat(m_settings.m_waterfallTimeUnits, m_settings.m_waterfallTimeFormat); + m_glSpectrum->setStatusLine(m_settings.m_displayRBW, m_settings.m_displayCursorStats, m_settings.m_displayPeakStats); + + for (int i = 0; i < m_settings.m_spectrumMemory.size(); i++) { + m_glSpectrum->setMemory(i, m_settings.m_spectrumMemory[i]); + } +} + +void GLSpectrumGUI::setPowerAndRefRange() +{ + const Real maxSignal = 120.0f; // 20-bits + + if ( (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusAvgDB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM1DB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM2DB) + ) + { + ui->levelRange->setRange(1.0f, 2.0f * maxSignal); + ui->refLevel->setRange(-maxSignal, maxSignal); + } + else if ( (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusAvgDB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM1DB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM2DB) + ) + { + ui->levelRange->setRange(1.0f, maxSignal); + ui->refLevel->setRange(0.0f, maxSignal); + } + else + { + ui->levelRange->setRange(1.0f, maxSignal); + ui->refLevel->setRange(-maxSignal, 0.0f); + } } void GLSpectrumGUI::on_fftWindow_currentIndexChanged(int index) @@ -419,12 +495,14 @@ void GLSpectrumGUI::on_autoscale_clicked(bool checked) { (void) checked; - if (!m_spectrumVis) { + // Autoscale according to currently displayed spectrum (which may be old, if scrolling enabled) + + if (!m_glSpectrum) { return; } std::vector psd; - m_spectrumVis->getZoomedPSDCopy(psd); + m_glSpectrum->getDisplayedSpectrumCopy(psd, true); int avgRange = m_settings.m_fftSize / 32; if (psd.size() < (unsigned int) avgRange) { @@ -440,8 +518,18 @@ void GLSpectrumGUI::on_autoscale_clicked(bool checked) } float minAvg = minSum / avgRange; - int minLvl = CalcDb::dbPower(minAvg*2); - int maxLvl = CalcDb::dbPower(max*10); + int minLvl; + int maxLvl; + if (m_settings.m_linear) + { + minLvl = CalcDb::dbPower(minAvg*2); + maxLvl = CalcDb::dbPower(max*10); + } + else + { + minLvl = minAvg + 3; + maxLvl = max + 10; + } m_settings.m_refLevel = maxLvl; m_settings.m_powerRange = maxLvl - minLvl; @@ -458,9 +546,7 @@ void GLSpectrumGUI::on_averagingMode_currentIndexChanged(int index) qDebug("GLSpectrumGUI::on_averagingMode_currentIndexChanged: %d", index); m_settings.m_averagingMode = index < 0 ? SpectrumSettings::AvgModeNone : - index > 3 ? - SpectrumSettings::AvgModeMax : - (SpectrumSettings::AveragingMode) index; + (SpectrumSettings::AveragingMode) index; setAveragingCombo(); applySettings(); @@ -475,6 +561,30 @@ void GLSpectrumGUI::on_averaging_currentIndexChanged(int index) setAveragingToolitp(); } +void GLSpectrumGUI::on_mathMode_currentIndexChanged(int index) +{ + m_settings.m_mathMode = (SpectrumSettings::MathMode) index; + ui->mathAvgCount->setVisible((m_settings.m_showControls >= SpectrumSettings::ShowAll) && m_settings.mathAverageUsed()); + setMathMemory(); + applySettings(); +} + +void GLSpectrumGUI::on_mathAvgCount_currentIndexChanged(int index) +{ + (void) index; + + int value = Units::engUnitsToPosInt(ui->mathAvgCount->currentText(), 2); + m_settings.m_mathAvgCount = std::min(std::max(2, value), 1000000); + applySettings(); +} + +void GLSpectrumGUI::on_mathAvgCount_editingFinished() +{ + int value = Units::engUnitsToPosInt(ui->mathAvgCount->currentText(), 2); + m_settings.m_mathAvgCount = std::min(std::max(2, value), 1000000); + applySettings(); +} + void GLSpectrumGUI::on_linscale_toggled(bool checked) { qDebug("GLSpectrumGUI::on_averaging_currentIndexChanged: %s", checked ? "lin" : "log"); @@ -543,43 +653,71 @@ void GLSpectrumGUI::closeMarkersDialog() m_markersDialog = nullptr; } +// Load spectrum data to a CSV file +void GLSpectrumGUI::on_load_clicked(bool checked) +{ + (void) checked; + + QString filename = QFileDialog::getSaveFileName(this, "Select file to read data from", "", "*.csv"); + if (!filename.isEmpty()) + { + QFile file(filename); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + QString error; + + // Read in all data + m_glSpectrum->readCSV(in, false, error); + + if (!error.isEmpty()) { + QMessageBox::critical(this, "Spectrum", QString("Failed to read file %1: %2").arg(filename).arg(error)); + } + + file.close(); + } + else + { + QMessageBox::critical(this, "Spectrum", QString("Failed to open file %1").arg(filename)); + } + } +} + // Save spectrum data to a CSV file void GLSpectrumGUI::on_save_clicked(bool checked) { (void) checked; - // Get filename to write - QFileDialog fileDialog(nullptr, "Select file to save data to", "", "*.csv"); - fileDialog.setDefaultSuffix("csv"); - fileDialog.setAcceptMode(QFileDialog::AcceptSave); - if (fileDialog.exec()) + QString filename = QFileDialog::getSaveFileName(this, "Select file to save data to", "", "*.csv"); + if (!filename.isEmpty()) { - QStringList fileNames = fileDialog.selectedFiles(); - if (fileNames.size() > 0) + QFile file(filename); + if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { - // Get spectrum data (This vector can be larger than fftSize) - std::vector spectrum; - m_spectrumVis->getPowerSpectrumCopy(spectrum); + QTextStream out(&file); - // Write to text file - QFile file(fileNames[0]); - if (file.open(QIODevice::WriteOnly)) - { - QTextStream out(&file); - float frequency = m_glSpectrum->getCenterFrequency() - (m_glSpectrum->getSampleRate() / 2.0f); - float rbw = m_glSpectrum->getSampleRate() / (float)m_settings.m_fftSize; - out << "\"Frequency\",\"Power\"\n"; - for (int i = 0; i < m_settings.m_fftSize; i++) - { - out << frequency << "," << spectrum[i] << "\n"; - frequency += rbw; - } - file.close(); - } - else - { - QMessageBox::critical(this, "Spectrum", QString("Failed to open file %1").arg(fileNames[0])); - } + // Write out all data in scroll buffer + m_glSpectrum->writeCSV(out); + + file.close(); + } + else + { + QMessageBox::critical(this, "Spectrum", QString("Failed to open file %1").arg(filename)); + } + } +} + +// Save spectrum/waterfall image to file +void GLSpectrumGUI::on_saveImage_clicked(bool checked) +{ + (void) checked; + + QString filename = QFileDialog::getSaveFileName(this, "Select file to save image to", "", "*.jpg *.png"); + if (!filename.isEmpty()) + { + if (!m_glSpectrum->writeImage(filename)) { + QMessageBox::critical(this, "Spectrum", QString("Failed to save image to file %1").arg(filename)); } } } @@ -658,7 +796,7 @@ void GLSpectrumGUI::on_spectrogram_toggled(bool checked) ui->waterfall->setChecked(false); blockApplySettings(false); } - ui->spectrogramStyle->setVisible(m_settings.m_display3DSpectrogram && m_settings.m_showAllControls); + ui->spectrogramStyle->setVisible(m_settings.m_display3DSpectrogram && (m_settings.m_showControls >= SpectrumSettings::ShowAll)); applySettings(); } @@ -719,9 +857,9 @@ void GLSpectrumGUI::on_invertWaterfall_toggled(bool checked) applySettings(); } -void GLSpectrumGUI::on_showAllControls_toggled(bool checked) +void GLSpectrumGUI::on_showControls_currentIndexChanged(int index) { - m_settings.m_showAllControls = checked; + m_settings.m_showControls = (SpectrumSettings::ShowControls) index; displayControls(); applySettings(); } @@ -1000,9 +1138,9 @@ bool GLSpectrumGUI::handleMessage(const Message& message) } return true; } - else if (SpectrumVis::MsgFrequencyZooming::match(message)) + else if (GLSpectrumView::MsgFrequencyZooming::match(message)) { - const SpectrumVis::MsgFrequencyZooming& report = (const SpectrumVis::MsgFrequencyZooming&) message; + const GLSpectrumView::MsgFrequencyZooming& report = (const GLSpectrumView::MsgFrequencyZooming&) message; m_settings.m_frequencyZoomFactor = report.getFrequencyZoomFactor(); m_settings.m_frequencyZoomPos = report.getFrequencyZoomPos(); return true; @@ -1133,7 +1271,7 @@ void GLSpectrumGUI::on_resetMeasurements_clicked(bool checked) (void) checked; if (m_glSpectrum) { - m_glSpectrum->getMeasurements()->reset(); + m_glSpectrum->resetMeasurements(); } } @@ -1153,7 +1291,385 @@ void GLSpectrumGUI::updateMeasurements() m_settings.m_measurementHarmonics, m_settings.m_measurementPeaks, m_settings.m_measurementHighlight, - m_settings.m_measurementPrecision + m_settings.m_measurementPrecision, + m_settings.m_measurementMemMasks ); } } + +void GLSpectrumGUI::on_showSettingsDialog_clicked(bool checked) +{ + (void) checked; + + SpectrumDisplaySettingsDialog dialog(m_glSpectrum, &m_settings, m_glSpectrum->getSampleRate(), this); + + if (dialog.exec() == QDialog::Accepted) { + applySpectrumSettings(); + } +} + +void GLSpectrumGUI::on_mem1_clicked(bool checked) +{ + m_settings.m_spectrumMemory[0].m_display = checked; + if (m_glSpectrum) { + m_glSpectrum->setMemory(0, m_settings.m_spectrumMemory[0]); + } +} + +void GLSpectrumGUI::on_mem2_clicked(bool checked) +{ + m_settings.m_spectrumMemory[1].m_display = checked; + if (m_glSpectrum) { + m_glSpectrum->setMemory(1, m_settings.m_spectrumMemory[1]); + } +} + +void GLSpectrumGUI::mem1ContextMenu(const QPoint &p) +{ + memContextMenu(0, ui->mem1->mapToGlobal(p)); +} + +void GLSpectrumGUI::mem2ContextMenu(const QPoint &p) +{ + memContextMenu(1, ui->mem2->mapToGlobal(p)); +} + +// Show memory context menu +void GLSpectrumGUI::memContextMenu(int memoryIdx, const QPoint &p) +{ + if (m_glSpectrum && m_spectrumVis) + { + m_contextMenu->clear(); + + bool memNotEmpty = m_settings.m_spectrumMemory[memoryIdx].m_spectrum.size() > 0; + + // Clear memory + QAction* clearAction = new QAction(QString("Clear M%1").arg(memoryIdx+1), m_contextMenu); + connect(clearAction, &QAction::triggered, this, [this, memoryIdx]()->void { + m_settings.m_spectrumMemory[memoryIdx].m_spectrum.clear(); + updateMem(memoryIdx); + }); + m_contextMenu->addAction(clearAction); + clearAction->setEnabled(memNotEmpty); + + // Copy currently displayed spectrum to memory + QAction* copyCurrentSpectrumAction = new QAction(QString("Set M%1 to current spectrum").arg(memoryIdx+1), m_contextMenu); + connect(copyCurrentSpectrumAction, &QAction::triggered, this, [this, memoryIdx]()->void { + std::vector copy; + m_glSpectrum->getDisplayedSpectrumCopy(copy, false); + m_settings.m_spectrumMemory[memoryIdx].m_spectrum = QList(copy.begin(), copy.end()); + updateMem(memoryIdx); + }); + m_contextMenu->addAction(copyCurrentSpectrumAction); + + // Copy math moving average to memory + QAction* copyMovingAverageAction = new QAction(QString("Set M%1 to moving average").arg(memoryIdx+1), m_contextMenu); + connect(copyMovingAverageAction, &QAction::triggered, this, [this, memoryIdx]()->void { + QList copy; + bool mathDB = m_settings.mathUsesDB(); + m_spectrumVis->getMathMovingAverageCopy(copy); + convertSpectrum(copy, mathDB, !m_settings.m_linear); + m_settings.m_spectrumMemory[memoryIdx].m_spectrum = QList(copy.begin(), copy.end()); + updateMem(memoryIdx); + }); + m_contextMenu->addAction(copyMovingAverageAction); + copyMovingAverageAction->setEnabled(m_settings.mathAverageUsed()); + + // Add offset + QAction* applyOffsetAction = new QAction(QString("Add offset to M%1").arg(memoryIdx+1), m_contextMenu); + connect(applyOffsetAction, &QAction::triggered, this, [this, memoryIdx]()->void { + applyOffsetToMem(memoryIdx); + }); + m_contextMenu->addAction(applyOffsetAction); + applyOffsetAction->setEnabled(memNotEmpty); + + // Smooth + QAction* smoothAction = new QAction(QString("Smooth M%1").arg(memoryIdx+1), m_contextMenu); + connect(smoothAction, &QAction::triggered, this, [this, memoryIdx]()->void { + smoothMem(memoryIdx); + }); + m_contextMenu->addAction(smoothAction); + smoothAction->setEnabled(memNotEmpty); + + bool memAAndBNotEmpty = (m_settings.m_spectrumMemory[0].m_spectrum.size() > 0) + && (m_settings.m_spectrumMemory[1].m_spectrum.size() > 0); + + // Add mems + QAction* addMemAction = new QAction(QString("Set M%1 to M1+M2").arg(memoryIdx+1), m_contextMenu); + connect(addMemAction, &QAction::triggered, this, [this, memoryIdx]()->void { + addMem(memoryIdx); + }); + m_contextMenu->addAction(addMemAction); + addMemAction->setEnabled(memAAndBNotEmpty); + + // Diff mems + QAction* diffMemAction = new QAction(QString("Set M%1 to M1-M2").arg(memoryIdx+1), m_contextMenu); + connect(diffMemAction, &QAction::triggered, this, [this, memoryIdx]()->void { + diffMem(memoryIdx); + }); + m_contextMenu->addAction(diffMemAction); + diffMemAction->setEnabled(memAAndBNotEmpty); + + m_contextMenu->addSeparator(); + + // Load memory from .csv + QAction* loadSpectrumAction = new QAction(QString("Load M%1 from .csv").arg(memoryIdx+1), m_contextMenu); + connect(loadSpectrumAction, &QAction::triggered, this, [this, memoryIdx]()->void { + loadMem(memoryIdx); + }); + m_contextMenu->addAction(loadSpectrumAction); + + // Save memory to .csv + QAction* saveSpectrumAction = new QAction(QString("Save M%1 to .csv").arg(memoryIdx+1), m_contextMenu); + connect(saveSpectrumAction, &QAction::triggered, this, [this, memoryIdx]()->void { + saveMem(memoryIdx); + }); + m_contextMenu->addAction(saveSpectrumAction); + saveSpectrumAction->setEnabled(memNotEmpty); + + m_contextMenu->addSeparator(); + + QAction* infoAction = new QAction(QString("M%1 has %2 elements").arg(memoryIdx+1).arg(m_settings.m_spectrumMemory[memoryIdx].m_spectrum.size()), m_contextMenu); + m_contextMenu->addAction(infoAction); + infoAction->setEnabled(false); + + m_contextMenu->popup(p); + } +} + +// Convert spectrum from dB to linear or vice-versa +void GLSpectrumGUI::convertSpectrum(QList &spectrum, bool fromDB, bool toDB) const +{ + if (toDB && !fromDB) + { + for (int i = 0; i < spectrum.size(); i++) { + spectrum[i] = CalcDb::dbPower(spectrum[i]); + } + } + else if (!toDB && fromDB) + { + for (int i = 0; i < spectrum.size(); i++) { + spectrum[i] = CalcDb::powerFromdB(spectrum[i]); + } + } +} + +// Set math memory in SpectrumVis to selected memory +void GLSpectrumGUI::setMathMemory() +{ + if (m_spectrumVis) + { + QList spectrum; + + if ( (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM1) + || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM1DB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM1DB) + ) + { + spectrum = m_settings.m_spectrumMemory[0].m_spectrum; + } else if ( (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM2) + || (m_settings.m_mathMode == SpectrumSettings::MathModeXMinusM2DB) + || (m_settings.m_mathMode == SpectrumSettings::MathModeAbsXMinusM2DB) + ) + { + spectrum = m_settings.m_spectrumMemory[1].m_spectrum; + } + else + { + return; + } + + convertSpectrum(spectrum, !m_settings.m_linear, m_settings.mathUsesDB()); + m_spectrumVis->setMathMemory(spectrum); + } +} + +// Load from .csv file in to specified memory +void GLSpectrumGUI::loadMem(int memoryIdx) +{ + QFileDialog fileDialog(nullptr, "Select file to load data from", "", "*.csv"); + fileDialog.setDefaultSuffix("csv"); + fileDialog.setAcceptMode(QFileDialog::AcceptOpen); + if (fileDialog.exec()) + { + QStringList fileNames = fileDialog.selectedFiles(); + if (fileNames.size() > 0) + { + // Read from csv file + QFile file(fileNames[0]); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + QString error; + QHash colIndexes = CSV::readHeader(in, {"Power"}, error); + QList spectrum; + + if (error.isEmpty()) + { + int powerCol = colIndexes.value("Power"); + int maxCol = std::max({powerCol}); + QStringList cols; + + while (CSV::readRow(in, &cols) && error.isEmpty()) + { + if (cols.size() > maxCol) + { + bool ok; + float value = cols[powerCol].toFloat(&ok); + if (ok) { + spectrum.push_back(value); + } else { + error = QString("Failed to convert %1 to float").arg(cols[powerCol]); + } + } + } + } + if (error.isEmpty()) + { + m_settings.m_spectrumMemory[memoryIdx].m_spectrum = spectrum; + updateMem(memoryIdx); + + if (spectrum.size() != m_settings.m_fftSize) { + QMessageBox::warning(this, "Spectrum", QString("Loaded data size (%1) does not match FFT size (%2)").arg(spectrum.size()).arg(m_settings.m_fftSize)); + } + } + else + { + QMessageBox::critical(this, "Spectrum", QString("Failed to read file %1\n%2").arg(fileNames[0]).arg(error)); + } + } + else + { + QMessageBox::critical(this, "Spectrum", QString("Failed to open file %1").arg(fileNames[0])); + } + } + } +} + +// Save from specified memory to .csv file +void GLSpectrumGUI::saveMem(int memoryIdx) +{ + // Get filename to write + QFileDialog fileDialog(nullptr, "Select file to save data to", "", "*.csv"); + + fileDialog.setDefaultSuffix("csv"); + fileDialog.setAcceptMode(QFileDialog::AcceptSave); + if (fileDialog.exec()) + { + QStringList fileNames = fileDialog.selectedFiles(); + + if (fileNames.size() > 0) + { + // Write to csv file + QFile file(fileNames[0]); + + if (file.open(QIODevice::WriteOnly | QIODevice::Text)) + { + QTextStream out(&file); + + out << "\"Power\"\n"; + for (int i = 0; i < m_settings.m_spectrumMemory[memoryIdx].m_spectrum.size(); i++) { + out << m_settings.m_spectrumMemory[memoryIdx].m_spectrum[i] << "\n"; + } + + file.close(); + } + else + { + QMessageBox::critical(this, "Spectrum", QString("Failed to open file %1").arg(fileNames[0])); + } + } + } +} + +void GLSpectrumGUI::applyOffsetToMem(int memoryIdx) +{ + double offset = QInputDialog::getDouble(this, "Enter offset to apply", "Offset"); + + for (int i = 0; i < m_settings.m_spectrumMemory[memoryIdx].m_spectrum.size(); i++) { + m_settings.m_spectrumMemory[memoryIdx].m_spectrum[i] += offset; + } + + updateMem(memoryIdx); +} + +void GLSpectrumGUI::smoothMem(int memoryIdx) +{ + int n = 5; + int l = n / 2; + std::size_t size1 = m_settings.m_spectrumMemory[memoryIdx].m_spectrum.size(); + std::size_t size2 = size1 + (n - 1); + Real *temp = new Real[size2]; + + // Copy and replicate sample at each end + for (int i = 0; i < l; i++) + { + temp[i] = m_settings.m_spectrumMemory[memoryIdx].m_spectrum[0]; + temp[size2-1-i] = m_settings.m_spectrumMemory[memoryIdx].m_spectrum[size1 - 1]; + } + std::copy(m_settings.m_spectrumMemory[memoryIdx].m_spectrum.begin(), m_settings.m_spectrumMemory[memoryIdx].m_spectrum.end(), &temp[l]); + + // Average n consequtive samples + for (int i = 0; i < size1; i++) + { + Real sum = 0.0; + for (int j = 0; j < n; j++) { + sum += temp[i+j]; + } + Real avg = sum / (Real) n; + m_settings.m_spectrumMemory[memoryIdx].m_spectrum[i] = avg; + } + + delete[] temp; + + updateMem(memoryIdx); +} + +void GLSpectrumGUI::addMem(int memoryIdx) +{ + std::size_t s = std::min(m_settings.m_spectrumMemory[0].m_spectrum.size(), m_settings.m_spectrumMemory[1].m_spectrum.size()); + + for (int i = 0; i < s; i++) + { + m_settings.m_spectrumMemory[memoryIdx].m_spectrum[i] = + m_settings.m_spectrumMemory[0].m_spectrum[i] + + m_settings.m_spectrumMemory[1].m_spectrum[i]; + } + + updateMem(memoryIdx); +} + +void GLSpectrumGUI::diffMem(int memoryIdx) +{ + std::size_t s = std::min(m_settings.m_spectrumMemory[0].m_spectrum.size(), m_settings.m_spectrumMemory[1].m_spectrum.size()); + + for (int i = 0; i < s; i++) + { + m_settings.m_spectrumMemory[memoryIdx].m_spectrum[i] = + m_settings.m_spectrumMemory[0].m_spectrum[i] + - m_settings.m_spectrumMemory[1].m_spectrum[i]; + } + + updateMem(memoryIdx); +} + +void GLSpectrumGUI::updateMem(int memoryIdx) +{ + // Update in GLSpectrum + m_glSpectrum->setMemory(memoryIdx, m_settings.m_spectrumMemory[memoryIdx]); + // Update in SpectrumVIS + setMathMemory(); +} + +// Look through items of numerical values using engineering units in a combo box, looking for text with equivalent value. E.g. 1000 == 1k +int GLSpectrumGUI::findEquivalentText(QComboBox *combo, int value) +{ + for (int i = 0; i < combo->count(); i++) + { + int itemValue = Units::engUnitsToPosInt(combo->itemText(i)); + if (itemValue == value) { + return i; + } + } + return -1; +} diff --git a/sdrgui/gui/glspectrumgui.h b/sdrgui/gui/glspectrumgui.h index 0cdc2562e..960e2f9a8 100644 --- a/sdrgui/gui/glspectrumgui.h +++ b/sdrgui/gui/glspectrumgui.h @@ -26,6 +26,8 @@ #define INCLUDE_GLSPECTRUMGUI_H #include +#include +#include #include "dsp/dsptypes.h" #include "dsp/spectrumsettings.h" @@ -45,13 +47,6 @@ class SDRGUI_API GLSpectrumGUI : public QWidget, public Serializable { Q_OBJECT public: - enum AveragingMode - { - AvgModeNone, - AvgModeMoving, - AvgModeFixed, - AvgModeMax - }; explicit GLSpectrumGUI(QWidget* parent = NULL); ~GLSpectrumGUI(); @@ -77,10 +72,12 @@ private: Real m_calibrationShiftdB; static const int m_fpsMs[]; SpectrumMarkersDialog *m_markersDialog; + QMenu *m_contextMenu; void blockApplySettings(bool block); void applySettings(); void applySpectrumSettings(); + void setPowerAndRefRange(); void displaySettings(); void displayControls(); void setAveragingCombo(); @@ -92,6 +89,17 @@ private: bool handleMessage(const Message& message); void displayGotoMarkers(); QString displayScaled(int64_t value, char type, int precision, bool showMult); + void setMathMemory(); + void convertSpectrum(QList &spectrum, bool fromDB, bool toDB) const; + void memContextMenu(int memoryIdx, const QPoint &p); + void loadMem(int memoryIdx); + void saveMem(int memoryIdx); + void updateMem(int memoryIdx); + void applyOffsetToMem(int memoryIdx); + void smoothMem(int memoryIdx); + void addMem(int memoryIdx); + void diffMem(int memoryIdx); + int findEquivalentText(QComboBox *combo, int value); private slots: void on_fftWindow_currentIndexChanged(int index); @@ -111,10 +119,15 @@ private slots: void on_traceIntensity_valueChanged(int index); void on_averagingMode_currentIndexChanged(int index); void on_averaging_currentIndexChanged(int index); - void on_linscale_toggled(bool checked); + void on_mathMode_currentIndexChanged(int index); + void on_mathAvgCount_currentIndexChanged(int index); + void on_mathAvgCount_editingFinished(); + void on_linscale_toggled(bool checked); void on_wsSpectrum_toggled(bool checked); void on_markers_clicked(bool checked); + void on_load_clicked(bool checked); void on_save_clicked(bool checked); + void on_saveImage_clicked(bool checked); void on_waterfall_toggled(bool checked); void on_spectrogram_toggled(bool checked); @@ -129,7 +142,7 @@ private slots: void on_freeze_toggled(bool checked); void on_calibration_toggled(bool checked); void on_gotoMarker_currentIndexChanged(int index); - void on_showAllControls_toggled(bool checked); + void on_showControls_currentIndexChanged(int index); void on_measure_clicked(bool checked); void on_resetMeasurements_clicked(bool checked); @@ -146,6 +159,12 @@ private slots: void updateMeasurements(); void closeMarkersDialog(); + void on_showSettingsDialog_clicked(bool checked=false); + void on_mem1_clicked(bool checked=false); + void on_mem2_clicked(bool checked=false); + void mem1ContextMenu(const QPoint &p); + void mem2ContextMenu(const QPoint &p); + signals: // Emitted when user selects an annotation marker void requestCenterFrequency(qint64 frequency); diff --git a/sdrgui/gui/glspectrumgui.ui b/sdrgui/gui/glspectrumgui.ui index a5f561de1..d6b616347 100644 --- a/sdrgui/gui/glspectrumgui.ui +++ b/sdrgui/gui/glspectrumgui.ui @@ -112,7 +112,7 @@ - + 0 @@ -533,7 +533,7 @@ FFT window function - QComboBox::AdjustToContents + QComboBox::SizeAdjustPolicy::AdjustToContents @@ -606,7 +606,7 @@ FFT size - QComboBox::AdjustToContents + QComboBox::SizeAdjustPolicy::AdjustToContents @@ -665,14 +665,20 @@ 60 - 0 + 24 + + + + + 100 + 16777215 FFT overlap - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter 0 @@ -719,6 +725,11 @@ Max + + + Min + + @@ -835,6 +846,169 @@ + + + + + 88 + 16777215 + + + + Math function to apply to spectrum data + + + 0 + + + + 16 + 16 + + + + + No + + + + + x-μ + + + + + x-μ dB + + + + + x-μ+∧μ dB + + + + + |x-μ| dB + + + + + x-M1 + + + + + x-M1 dB + + + + + |x-M1| dB + + + + + x-M2 + + + + + x-M2 dB + + + + + |x-M2| dB + + + + + + + + + 55 + 16777215 + + + + Number of samples in moving average. [2,1M] + + + true + + + + 2 + + + + + 5 + + + + + 10 + + + + + 20 + + + + + 50 + + + + + 100 + + + + + 200 + + + + + 500 + + + + + 1k + + + + + 2k + + + + + 5k + + + + + 10k + + + + + 20k + + + + + 50k + + + + @@ -895,13 +1069,13 @@ Reference level (dB) - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter - -200 + -120 - 40 + 0 @@ -923,13 +1097,13 @@ Range (dB) - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter 1 - 100 + 120 @@ -1031,6 +1205,90 @@ + + + + + 0 + 24 + + + + Left: Toggle display of memory 1 - Right: Show menu + + + M1 + + + true + + + + + + + + 0 + 24 + + + + Left: Toggle display of memory 2 - Right: Show menu + + + M2 + + + true + + + + + + + Load spectrum data from .csv file + + + + + + + :/load.png:/load.png + + + + + + + Save spectrum data to .csv file + + + + + + + :/save.png:/save.png + + + + + + + Save display to image file (*.png / *.jpg) + + + + + + + :/picture.png:/picture.png + + + + + + + @@ -1046,20 +1304,6 @@ - - - - Save spectrum data to file - - - - - - - :/save.png:/save.png - - - @@ -1076,7 +1320,7 @@ - + 0 @@ -1097,7 +1341,7 @@ - + 0 @@ -1145,26 +1389,51 @@ - + - Toggle all controls + Show settings dialog - Grid + :/listing.png:/listing.png - + + + + + - 16 - 16 + 0 + 0 - - true + + + 52 + 16777215 + + + Which controls to show (Minimum / Standard / All) + + + + Min + + + + + Std + + + + + All + + diff --git a/sdrgui/gui/glspectrumview.cpp b/sdrgui/gui/glspectrumview.cpp index deff1101d..3b2d395f6 100644 --- a/sdrgui/gui/glspectrumview.cpp +++ b/sdrgui/gui/glspectrumview.cpp @@ -25,6 +25,7 @@ #include +#include #include #include #include @@ -42,6 +43,7 @@ #include "util/messagequeue.h" #include "util/db.h" #include "util/profiler.h" +#include "util/csv.h" #include @@ -52,6 +54,7 @@ MESSAGE_CLASS_DEFINITION(GLSpectrumView::MsgReportPowerScale, Message) MESSAGE_CLASS_DEFINITION(GLSpectrumView::MsgReportCalibrationShift, Message) MESSAGE_CLASS_DEFINITION(GLSpectrumView::MsgReportHistogramMarkersChange, Message) MESSAGE_CLASS_DEFINITION(GLSpectrumView::MsgReportWaterfallMarkersChange, Message) +MESSAGE_CLASS_DEFINITION(GLSpectrumView::MsgFrequencyZooming, Message) const float GLSpectrumView::m_maxFrequencyZoom = 50.0f; const float GLSpectrumView::m_annotationMarkerHeight = 20.0f; @@ -66,9 +69,14 @@ GLSpectrumView::GLSpectrumView(QWidget* parent) : m_fpsPeriodMs(50), m_mouseInside(false), m_changesPending(true), + m_redrawAll(false), m_centerFrequency(100000000), - m_referenceLevel(0), - m_powerRange(100), + m_referenceLevel(0.0f), + m_minReferenceLevel(-120.0f), + m_maxReferenceLevel(0.0f), + m_powerRange(100.0), + m_minPowerRange(1.0f), + m_maxPowerRange(120.0f), m_linear(false), m_decay(1), m_sampleRate(500000), @@ -76,6 +84,8 @@ GLSpectrumView::GLSpectrumView(QWidget* parent) : m_fftOverlap(0), m_fftSize(512), m_nbBins(512), + m_fftMin(0), + m_fftMax(512), m_displayGrid(true), m_displayGridIntensity(5), m_displayTraceIntensity(50), @@ -106,6 +116,7 @@ GLSpectrumView::GLSpectrumView(QWidget* parent) : m_pan3DSpectrogram(false), m_scaleZ3DSpectrogram(false), m_3DSpectrogramStyle(SpectrumSettings::Outline), + m_spectrumColor(255, 255, 63), m_colorMapName("Angel"), m_scrollFrequency(false), m_scrollStartCenterFreq(0), @@ -137,7 +148,25 @@ GLSpectrumView::GLSpectrumView(QWidget* parent) : m_measurementHarmonics(5), m_measurementPeaks(5), m_measurementHighlight(true), - m_measurementPrecision(1) + m_measurementPrecision(1), + m_measurementMemMasks(0), + m_maskTestCount(SpectrumSettings::m_maxSpectrumMemories), + m_maskFailCount(SpectrumSettings::m_maxSpectrumMemories), + m_maskFails(SpectrumSettings::m_maxSpectrumMemories), + m_displayRBW(false), + m_displayCursorStats(false), + m_displayPeakStats(false), + m_cursorOverSpectrum(false), + m_cursorFrequency(0.0f), + m_spectrumBuffer(0), + m_spectrumBufferFFTSize(0), + m_spectrumBufferMaxSize(100000), + m_scrollBar(nullptr), + m_scrollBarEnabled(false), + m_scrollBarValue(0), + m_waterfallTimeUnits(SpectrumSettings::TimeOffset), + m_waterfallTimeFormat("hh:mm:ss"), + m_spectrumMemory(SpectrumSettings::m_maxSpectrumMemories) { // Enable multisampling anti-aliasing (MSAA) int multisamples = MainCore::instance()->getSettings().getMultisampling(); @@ -275,6 +304,8 @@ GLSpectrumView::~GLSpectrumView() delete m_openGLLogger; m_openGLLogger = nullptr; } + + clearSpectrumBuffer(); } void GLSpectrumView::queueRequestCenterFrequency(qint64 frequency) @@ -322,6 +353,7 @@ void GLSpectrumView::setReferenceLevel(Real referenceLevel) m_mutex.lock(); m_referenceLevel = referenceLevel; m_changesPending = true; + redrawWaterfallAnd3DSpectrogram(); m_mutex.unlock(); update(); } @@ -331,6 +363,7 @@ void GLSpectrumView::setPowerRange(Real powerRange) m_mutex.lock(); m_powerRange = powerRange; m_changesPending = true; + redrawWaterfallAnd3DSpectrogram(); m_mutex.unlock(); update(); } @@ -421,11 +454,22 @@ void GLSpectrumView::set3DSpectrogramStyle(SpectrumSettings::SpectrogramStyle st update(); } +void GLSpectrumView::setSpectrumColor(QRgb color) +{ + m_mutex.lock(); + m_spectrumColor = QColor(color); + m_changesPending = true; + m_redrawAll = true; + m_mutex.unlock(); + update(); +} + void GLSpectrumView::setColorMapName(const QString &colorMapName) { m_mutex.lock(); m_colorMapName = colorMapName; m_changesPending = true; + m_redrawAll = true; m_mutex.unlock(); update(); } @@ -448,6 +492,9 @@ void GLSpectrumView::setInvertedWaterfall(bool inv) m_invertedWaterfall = inv; m_changesPending = true; stopDrag(); + if (m_scrollBar) { + m_scrollBar->setInvertedAppearance(!inv); + } m_mutex.unlock(); update(); } @@ -573,7 +620,8 @@ void GLSpectrumView::setMeasurementParams( int harmonics, int peaks, bool highlight, - int precision + int precision, + unsigned memoryMask ) { m_mutex.lock(); @@ -586,14 +634,30 @@ void GLSpectrumView::setMeasurementParams( m_measurementPeaks = peaks; m_measurementHighlight = highlight; m_measurementPrecision = precision; + m_measurementMemMasks = memoryMask; m_changesPending = true; if (m_measurements) { - m_measurements->setMeasurementParams(measurement, peaks, precision); + m_measurements->setMeasurementParams(measurement, peaks, precision, memoryMask); } m_mutex.unlock(); update(); } +void GLSpectrumView::resetMeasurements() +{ + m_mutex.lock(); + for (int i = 0; i < m_maskFails.size(); ++i) + { + m_maskTestCount[i] = 0; + m_maskFailCount[i] = 0; + int s = std::min((int) m_maskFails[i].size(), (int) m_spectrumMemory[i].m_spectrum.size()); + for (int j = 0; j < s; j++) { + m_maskFails[i][j] = m_spectrumMemory[i].m_spectrum[j]; + } + } + m_mutex.unlock(); +} + void GLSpectrumView::addChannelMarker(ChannelMarker* channelMarker) { m_mutex.lock(); @@ -697,99 +761,486 @@ float GLSpectrumView::getTimeMax() const return m_timeScale.getRangeMax(); } -void GLSpectrumView::newSpectrum(const Real *spectrum, int nbBins, int fftSize) +void GLSpectrumView::setWaterfallTimeFormat(SpectrumSettings::WaterfallTimeUnits waterfallTimeUnits, const QString& format) { QMutexLocker mutexLocker(&m_mutex); - m_displayChanged = true; - if (m_changesPending) - { - m_fftSize = fftSize; - m_nbBins = nbBins; - return; + m_waterfallTimeUnits = waterfallTimeUnits; + m_waterfallTimeFormat = format; + if (m_waterfallTimeUnits == SpectrumSettings::TimeOffset) { + m_timeScale.setTickFormatter(nullptr); + } else { + m_timeScale.setTickFormatter(this); } - - if ((fftSize != m_fftSize) || (m_nbBins != nbBins)) - { - m_fftSize = fftSize; - m_nbBins = nbBins; - m_changesPending = true; - return; - } - - updateWaterfall(spectrum); - update3DSpectrogram(spectrum); - updateHistogram(spectrum); + m_changesPending = true; } -void GLSpectrumView::updateWaterfall(const Real *spectrum) +void GLSpectrumView::setStatusLine(bool displayRBW, bool displayCursorStats, bool displayPeakStats) +{ + m_displayRBW = displayRBW; + m_displayCursorStats = displayCursorStats; + m_displayPeakStats = displayPeakStats; + m_displayChanged = true; +} + +void GLSpectrumView::setScrolling(bool enabled, int length) +{ + m_scrollBar->setVisible(enabled); // Must call before we lock mutex, otherwise we can deadlock + + QMutexLocker mutexLocker(&m_mutex); + + if (!enabled) + { + if (!m_spectrumBuffer.isEmpty()) { + clearSpectrumBuffer(); + } + } + else + { + while (m_spectrumBuffer.size() > length) + { + if (m_currentSpectrum == m_spectrumBuffer.takeFirst().m_spectrum) { + m_currentSpectrum = nullptr; + } + delete[] m_spectrumBuffer.takeFirst().m_spectrum; + } + } + m_spectrumBuffer.resize(length); + m_spectrumBufferMaxSize = length; + m_scrollBarEnabled = enabled; +} + +void GLSpectrumView::setScrollBar(QScrollBar* scrollBar) +{ + m_scrollBar = scrollBar; + connect(m_scrollBar, &QScrollBar::valueChanged, this, &GLSpectrumView::scrollBarValueChanged); +} + +void GLSpectrumView::updateScrollBar() +{ + QMutexLocker mutexLocker(&m_mutex); + + if (m_scrollBar && m_waterfallBuffer) + { + qint64 max = std::max(0, (m_spectrumBuffer.size() - 1 - m_waterfallBuffer->height())); + + m_scrollBar->setMaximum(max); + m_scrollBar->setPageStep(m_waterfallBuffer->height()); + } +} + +void GLSpectrumView::scrollBarValueChanged(int value) +{ + m_scrollBarValue = value; + + m_redrawAll = true; + m_changesPending = true; // Update waterfall time scale + m_displayChanged = true; +} + +int GLSpectrumView::scrollBarValue() const +{ + // We keep a local copy of scroll bar value, so it can be accessed by any thread + return m_scrollBarValue; +} + +// Read spectrum from .csv file +void GLSpectrumView::readCSV(QTextStream &in, bool append, QString &error) +{ + QMutexLocker mutexLocker(&m_mutex); + + if (!append) + { + clearSpectrumBuffer(); + m_redrawAll = true; + m_changesPending = true; + } + + QHash colIndexes = CSV::readHeader(in, {}, error); + + if (error.isEmpty()) + { + if (colIndexes.contains("Frequency") && colIndexes.contains("Power")) + { + int frequencyCol = colIndexes.value("Frequency"); + int powerCol = colIndexes.value("Power"); + int maxCol = std::max({frequencyCol, powerCol}); + QStringList cols; + QVector frequencies; + QVector power; + + while (CSV::readRow(in, &cols)) + { + if (cols.size() > maxCol) + { + frequencies.append(cols[frequencyCol].toLongLong()); + power.append(cols[powerCol].toFloat()); + } + } + if (power.size() != m_fftSize) { + error = QString("CSV data does not contain expected number of points for current FFT size. (Points: %1 - FFT size: %2").arg(power.size()).arg(m_fftSize); + } else { + newSpectrum(power.data(), m_fftSize, m_sampleRate, frequencies[m_fftSize/2], QDateTime::currentDateTime()); + } + } + else if (colIndexes.contains("Date and Time") && colIndexes.contains("Center Frequency (Hz)") && colIndexes.contains("Sample Rate (Hz)") && colIndexes.contains("Power")) + { + int dateTimeCol = colIndexes.value("Date and Time"); + int frequencyCol = colIndexes.value("Center Frequency (Hz)"); + int sampleRateCol = colIndexes.value("Sample Rate (Hz)"); + int powerCol = colIndexes.value("Power"); + int maxCol = std::max({dateTimeCol, frequencyCol, sampleRateCol, powerCol}); + QStringList cols; + QVector spectrum; + + while (CSV::readRow(in, &cols)) + { + if (cols.size() > maxCol) + { + QDateTime dateTime = QDateTime::fromString(cols[dateTimeCol], Qt::ISODateWithMs); + qint64 centerFrequency = cols[frequencyCol].toLongLong(); + quint32 sampleRate = cols[sampleRateCol].toUInt(); + + spectrum.clear(); + for (int i = 0; i < m_fftSize; i++) + { + if (powerCol + i < cols.size()) { + spectrum.append(cols[powerCol + i].toFloat()); + } + } + if (spectrum.size() != m_fftSize) + { + error = QString("CSV data does not contain expected number of points for current FFT size. (Points: %1 - FFT size: %2").arg(spectrum.size()).arg(m_fftSize); + break; + } + else + { + newSpectrum(spectrum.data(), m_fftSize, sampleRate, centerFrequency, dateTime); + } + } + } + } + else + { + error = "CSV header does not contain required columns"; + } + } + + update(); +} + +// Write spectrum to .csv file +void GLSpectrumView::writeCSV(QTextStream &out) +{ + QMutexLocker mutexLocker(&m_mutex); + + if (m_spectrumBuffer.isEmpty()) + { + float frequency = getCenterFrequency() - (getSampleRate() / 2.0f); + float rbw = getSampleRate() / (float) m_fftSize; + out << "\"Frequency\",\"Power\"\n"; + for (int i = 0; i < m_fftSize; i++) + { + out << frequency << "," << m_currentSpectrum[i] << "\n"; + frequency += rbw; + } + } + else + { + out << "\"Date and Time\",\"Center Frequency (Hz)\",\"Sample Rate (Hz)\",\"Power\"\n"; + for (int j = 0; j < m_spectrumBuffer.size(); j++) + { + out << m_spectrumBuffer[j].m_dateTime.toString(Qt::ISODateWithMs) << "," << m_spectrumBuffer[j].m_centerFrequency << "," << m_spectrumBuffer[j].m_sampleRate << ","; + for (int i = 0; i < m_spectrumBufferFFTSize; i++) { + out << m_spectrumBuffer[j].m_spectrum[i] << ","; + } + out << "\n"; + } + } +} + +// Write spectrum/waterfall image to file +bool GLSpectrumView::writeImage(const QString& filename) +{ + QImage image = grabFramebuffer(); + + return image.save(filename); +} + +// Get center frequency for currently displayed spectrum (which is selected via the scroll bar) +qint64 GLSpectrumView::getDisplayedCenterFrequency() const +{ + int idx = m_spectrumBuffer.size() - 1 - scrollBarValue(); + + if ((idx >= 0) && (idx < m_spectrumBuffer.size())) { + return m_spectrumBuffer[idx].m_centerFrequency; + } else { + return m_centerFrequency; + } +} + +// Get sample rate for currently displayed spectrum (which is selected via the scroll bar) +quint32 GLSpectrumView::getDisplayedSampleRate() const +{ + int idx = m_spectrumBuffer.size() - 1 - scrollBarValue(); + + if ((idx >= 0) && (idx < m_spectrumBuffer.size())) { + return m_spectrumBuffer[idx].m_sampleRate; + } else { + return m_sampleRate; + } +} + +void GLSpectrumView::redrawSpectrum() +{ + if (m_spectrumBuffer.size() > 0) + { + int idx = m_spectrumBuffer.size() - 1 - scrollBarValue(); + if (idx >= 0 && idx < m_spectrumBuffer.size()) + { + updateHistogram(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + m_currentSpectrum = m_spectrumBuffer[idx].m_spectrum; + } + } +} + +void GLSpectrumView::redrawWaterfallAnd3DSpectrogram() +{ + if (m_waterfallBuffer && m_spectrumBuffer.size() > 0) + { + int idx = m_spectrumBuffer.size() - 1 - m_waterfallBuffer->height() - scrollBarValue(); + + m_waterfallBufferPos = 0; + m_waterfallTexturePos = 0; + m_3DSpectrogramBufferPos = 0; + m_3DSpectrogramTexturePos = 0; + + for (int i = 0; i < m_waterfallBuffer->height(); i++) + { + if (idx >= 0 && idx < m_spectrumBuffer.size()) + { + updateWaterfall(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + update3DSpectrogram(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + } + else + { + clearWaterfallRow(m_nbBins); + clear3DSpectrogramRow(m_nbBins); + } + idx++; + } + } +} + +void GLSpectrumView::measure(const Real *spectrum, bool updateGUI) +{ + switch (m_measurement) + { + case SpectrumSettings::MeasurementPeaks: + if (updateGUI) { + measurePeaks(spectrum); + } + break; + case SpectrumSettings::MeasurementChannelPower: + measureChannelPower(spectrum, updateGUI); + break; + case SpectrumSettings::MeasurementAdjacentChannelPower: + measureAdjacentChannelPower(spectrum, updateGUI); + break; + case SpectrumSettings::MeasurementOccupiedBandwidth: + measureOccupiedBandwidth(spectrum, updateGUI); + break; + case SpectrumSettings::Measurement3dBBandwidth: + measure3dBBandwidth(spectrum, updateGUI); + break; + case SpectrumSettings::MeasurementSNR: + measureSNR(spectrum, updateGUI); + measureSFDR(spectrum, updateGUI); + break; + case SpectrumSettings::MeasurementMask: + measureMask(spectrum, m_fftSize, updateGUI); + break; + default: + break; + } +} + +// newSpectrum can be called at a much faster rate than paintGL for high sample rates +// Will typically be called from device source engine thread, so shouldn't touch UI +void GLSpectrumView::newSpectrum(const Real *spectrum, int fftSize) +{ + PROFILER_START(); + + QMutexLocker mutexLocker(&m_mutex); + + newSpectrum(spectrum, fftSize, m_sampleRate, m_centerFrequency, QDateTime::currentDateTime()); + + PROFILER_STOP("newSpectrum"); +} + +void GLSpectrumView::newSpectrum(const Real *spectrum, int fftSize, quint32 sampleRate, qint64 centerFrequency, const QDateTime &dateTime) +{ + int offset = 0; + int idx; + + m_displayChanged = true; + + if (fftSize != m_fftSize) + { + m_fftSize = fftSize; + updateFFTLimits(true); + m_changesPending = true; + } + + if (m_scrollBarEnabled) + { + updateSpectrumBuffer(&spectrum[0], m_fftSize, sampleRate, centerFrequency, dateTime); + offset = scrollBarValue(); + idx = m_spectrumBuffer.size() - 1 - offset; + m_currentSpectrum = m_spectrumBuffer[idx].m_spectrum; + } + else + { + updateSpectrumNoBuffer(&spectrum[0], m_fftSize); + m_currentSpectrum = m_spectrumNoBuffer.data(); + } + + measure(spectrum, false); + + if (m_changesPending) { + return; + } + + if (offset == 0) + { + updateWaterfall(spectrum, m_fftSize, m_fftMin, m_nbBins); + update3DSpectrogram(spectrum, m_fftSize, m_fftMin, m_nbBins); + updateHistogram(spectrum, m_fftSize, m_fftMin, m_nbBins); + } + else + { + updateWaterfall(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + update3DSpectrogram(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + updateHistogram(m_spectrumBuffer[idx].m_spectrum, m_fftSize, m_fftMin, m_nbBins); + } +} + +void GLSpectrumView::updateSpectrumNoBuffer(const Real *spectrum, int fftSize) +{ + if (m_spectrumNoBuffer.size() != fftSize) { + m_spectrumNoBuffer.resize(fftSize); + } + + std::copy(spectrum, spectrum + fftSize, m_spectrumNoBuffer.begin()); +} + +void GLSpectrumView::clearSpectrumBuffer() +{ + m_currentSpectrum = nullptr; // Make sure we aren't pointing in to a buffer we're about to delete + for (const auto& spectrumData : m_spectrumBuffer) { + delete[] spectrumData.m_spectrum; + } + m_spectrumBuffer.clear(); +} + +void GLSpectrumView::updateSpectrumBuffer(const Real *spectrum, int fftSize, quint32 sampleRate, qint64 centerFrequency, const QDateTime &dateTime) +{ + // Clear buffer when FFT size changes + if (fftSize != m_spectrumBufferFFTSize) + { + clearSpectrumBuffer(); + m_spectrumBufferFFTSize = fftSize; + } + + // Reuse old buffer if possible, otherwise allocate new buffer + Real *buffer = nullptr; + if (m_spectrumBuffer.size() >= m_spectrumBufferMaxSize) { + buffer = m_spectrumBuffer.takeFirst().m_spectrum; + } + if (!buffer) { + buffer = new Real[fftSize]; + } + + // Store copy of spectrum and current parameters in spectrum buffer + std::copy(spectrum, spectrum + fftSize, buffer); + Spectrum spectrumData = {buffer, sampleRate, centerFrequency, dateTime}; + m_spectrumBuffer.append(spectrumData); +} + +void GLSpectrumView::clearWaterfallRow(int nbBins) { if (m_waterfallBufferPos < m_waterfallBuffer->height()) { quint32* pix = (quint32*)m_waterfallBuffer->scanLine(m_waterfallBufferPos); - for (int i = 0; i < m_nbBins; i++) + for (int i = 0; i <= nbBins; i++) { + *pix++ = m_waterfallPalette[0]; + } + m_waterfallBufferPos++; + } +} + +void GLSpectrumView::updateWaterfall(const Real *spectrum, int fftSize, int fftMin, int nbBins) +{ + if (m_waterfallBufferPos < m_waterfallBuffer->height()) + { + quint32* pix = (quint32*)m_waterfallBuffer->scanLine(m_waterfallBufferPos); + + for (int i = 0; i < nbBins; i++) { - int v = (int)((spectrum[i] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); - - if (v > 239) { - v = 239; - } else if (v < 0) { - v = 0; - } - + int v = (int)((spectrum[fftMin + i] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); + v = clampWaterfall(v); *pix++ = m_waterfallPalette[(int)v]; } - // Replicate Nyquist sample (spectrum[0]) to end of positive side - int v = (int)((spectrum[0] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); - if (v > 239) { - v = 239; - } else if (v < 0) { - v = 0; - } + int lastIdx = (fftMin + nbBins) % fftSize; + int v = (int)((spectrum[lastIdx] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); + v = clampWaterfall(v); *pix++ = m_waterfallPalette[(int)v]; m_waterfallBufferPos++; } } -void GLSpectrumView::update3DSpectrogram(const Real *spectrum) +void GLSpectrumView::clear3DSpectrogramRow(int nbBins) { if (m_3DSpectrogramBufferPos < m_3DSpectrogramBuffer->height()) { quint8* pix = (quint8*)m_3DSpectrogramBuffer->scanLine(m_3DSpectrogramBufferPos); - for (int i = 0; i < m_nbBins; i++) + for (int i = 0; i <= nbBins; i++) { + *pix++ = 0; + } + m_3DSpectrogramBufferPos++; + } +} + +void GLSpectrumView::update3DSpectrogram(const Real *spectrum, int fftSize, int fftMin, int nbBins) +{ + if (m_3DSpectrogramBufferPos < m_3DSpectrogramBuffer->height()) + { + quint8* pix = (quint8*)m_3DSpectrogramBuffer->scanLine(m_3DSpectrogramBufferPos); + + for (int i = 0; i < nbBins; i++) { - int v = (int)((spectrum[i] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); - - if (v > 255) { - v = 255; - } else if (v < 0) { - v = 0; - } - + int v = (int)((spectrum[fftMin + i] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); + v = clampPixel(v); *pix++ = v; } - // Replicate Nyquist sample (spectrum[0]) to end of positive side - int v = (int)((spectrum[0] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); - if (v > 255) { - v = 255; - } else if (v < 0) { - v = 0; - } + int lastIdx = (fftMin + nbBins) % fftSize; + int v = (int)((spectrum[lastIdx] - m_referenceLevel) * 2.4 * 100.0 / m_powerRange + 240.0); + v = clampPixel(v); *pix++ = v; m_3DSpectrogramBufferPos++; } } -void GLSpectrumView::updateHistogram(const Real *spectrum) +void GLSpectrumView::updateHistogram(const Real *spectrum, int fftSize, int fftMin, int nbBins) { quint8* b = m_histogram; - int fftMulSize = 100 * m_nbBins; + int fftMulSize = 100 * nbBins; if ((m_displayHistogram || m_displayMaxHold) && (m_decay != 0)) { @@ -812,8 +1263,6 @@ void GLSpectrumView::updateHistogram(const Real *spectrum) } } - m_currentSpectrum = spectrum; // Store spectrum for current spectrum line display - #if 0 //def USE_SSE2 if(m_decay >= 0) { // normal const __m128 refl = {m_referenceLevel, m_referenceLevel, m_referenceLevel, m_referenceLevel}; @@ -880,9 +1329,9 @@ void GLSpectrumView::updateHistogram(const Real *spectrum) } } #else - for (int i = 0; i < m_nbBins; i++) + for (int i = 0; i < nbBins; i++) { - int v = (int)((spectrum[i] - m_referenceLevel) * 100.0 / m_powerRange + 100.0); + int v = (int)((spectrum[fftMin + i] - m_referenceLevel) * 100.0 / m_powerRange + 100.0); if ((v >= 0) && (v <= 99)) { @@ -994,10 +1443,20 @@ void GLSpectrumView::paintGL() { PROFILER_START() - if (!m_mutex.tryLock(2)) { + if (!m_mutex.tryLock(3)) { // Give time for newSpectrum to complete return; } + if (!m_changesPending && (m_waterfallTimeUnits != SpectrumSettings::TimeOffset)) + { + // Waterfall timescale can change on every repaint when displaying real time + m_timeScale.requestReCalc(); + paintLeftScales(); + if (!m_changesPending) { + m_glShaderLeftScale.initTexture(m_leftMarginPixmap.toImage()); + } + } + if (m_changesPending) { applyChanges(); @@ -1060,7 +1519,6 @@ void GLSpectrumView::paintGL() 0, m_invertedWaterfall ? 1.0f : 0.0f }; - if (m_waterfallTexturePos + m_waterfallBufferPos < m_waterfallTextureHeight) { m_glShaderWaterfall.subTexture(0, m_waterfallTexturePos, m_nbBins + 1, m_waterfallBufferPos, m_waterfallBuffer->scanLine(0)); @@ -1136,6 +1594,9 @@ void GLSpectrumView::paintGL() } } + // When zoomed, use the next sample off screen. When not, replicate the Nyquist bin + const int lastSampleIdx = (m_fftMin + m_nbBins) % m_fftSize; + // paint histogram if (m_displayHistogram || m_displayMaxHold || m_displayCurrent) { @@ -1393,24 +1854,17 @@ void GLSpectrumView::paintGL() GLfloat *q3 = m_q3ColorMap.m_array; for (int i = 0; i < m_nbBins; i++) { - Real v = m_maxHold[i] - m_referenceLevel; - - if (v > 0) { - v = 0; - } else if (v < -m_powerRange) { - v = -m_powerRange; - } + Real v = clampPower(m_maxHold[i] - m_referenceLevel); q3[4*i] = (GLfloat)i; q3[4*i+1] = -m_powerRange; q3[4*i+2] = (GLfloat)i; q3[4*i+3] = v; } - // Replicate Nyquist sample to end of positive side q3[4*m_nbBins] = (GLfloat) m_nbBins; - q3[4*m_nbBins+1] = q3[1]; + q3[4*m_nbBins+1] = -m_powerRange; q3[4*m_nbBins+2] = (GLfloat) m_nbBins; - q3[4*m_nbBins+3] = q3[3]; + q3[4*m_nbBins+3] = clampPower(m_maxHold[lastSampleIdx] - m_referenceLevel); QVector4D color(0.5f, 0.0f, 0.0f, (float) m_displayTraceIntensity / 100.0f); m_glShaderSimple.drawSurfaceStrip(m_glHistogramSpectrumMatrix, color, q3, 2*(m_nbBins+1)); @@ -1421,26 +1875,100 @@ void GLSpectrumView::paintGL() for (int i = 0; i < m_nbBins; i++) { - Real v = m_maxHold[i] - m_referenceLevel; - - if (v >= 0) { - v = 0; - } else if (v < -m_powerRange) { - v = -m_powerRange; - } + Real v = clampPower(m_maxHold[i] - m_referenceLevel); q3[2*i] = (Real) i; q3[2*i+1] = v; } - // Replicate Nyquist sample to end of positive side q3[2*m_nbBins] = (GLfloat) m_nbBins; - q3[2*m_nbBins+1] = q3[1]; + q3[2*m_nbBins+1] = clampPower(m_maxHold[lastSampleIdx] - m_referenceLevel); QVector4D color(1.0f, 0.0f, 0.0f, (float) m_displayTraceIntensity / 100.0f); m_glShaderSimple.drawPolyline(m_glHistogramSpectrumMatrix, color, q3, m_nbBins+1); } } + // paint mask violations + if ((m_measurement == SpectrumSettings::MeasurementMask) && m_measurementHighlight) + { + for (int m = 0; m < m_spectrumMemory.size(); m++) + { + if ( (m_spectrumMemory[m].m_spectrum.size() == m_fftSize) + && (m_maskFails[m].size() == m_fftSize) + && ((m_measurementMemMasks & (1 << m)) != 0) + ) + { + GLfloat *q3 = m_q3ColorMap.m_array; + for (int i = 0; i < m_nbBins; i++) + { + Real v1 = clampPower(m_maskFails[m][m_fftMin+i] - m_referenceLevel); + Real v2 = clampPower(m_spectrumMemory[m].m_spectrum[m_fftMin+i] - m_referenceLevel); + + q3[4*i] = (GLfloat)i; + q3[4*i+1] = v2; + q3[4*i+2] = (GLfloat)i; + q3[4*i+3] = v1; + } + q3[4*m_nbBins] = (GLfloat) m_nbBins; + q3[4*m_nbBins+1] = clampPower(m_maskFails[m][lastSampleIdx] - m_referenceLevel); + q3[4*m_nbBins+2] = (GLfloat) m_nbBins; + q3[4*m_nbBins+3] = q3[3]; + + QVector4D color(0.5f, 0.0f, 0.0f, (float) m_displayTraceIntensity / 100.0f); + m_glShaderSimple.drawSurfaceStrip(m_glHistogramSpectrumMatrix, color, q3, 2*(m_nbBins+1)); + } + } + } + + // paint memory spectrum as lines + if (m_displayCurrent) + { + for (const auto& memory : m_spectrumMemory) + { + if (memory.m_display && (memory.m_spectrum.size() == m_fftSize)) + { + QColor colorF = QColor::fromRgba(memory.m_color); + + // Draw label + if (!memory.m_label.isEmpty()) + { + float y = (m_powerScale.getRangeMax() - memory.m_spectrum[m_fftMin]) / m_powerScale.getRange() * m_histogramRect.height(); + float h = m_topMargin / (float) height(); + + if ((y >= m_histogramRect.top()) && (y + h < m_histogramRect.bottom())) + { + drawTextOverlay( + memory.m_label, + colorF, + m_textOverlayFont, + 0.0f, + y, + true, + false, // text above the line + m_histogramRect); + } + } + + GLfloat *q3; + + // Draw line + q3 = m_q3FFT.m_array; + for (int i = 0; i < m_nbBins; i++) + { + Real v = clampPower(memory.m_spectrum[m_fftMin+i] - m_referenceLevel); + q3[2*i] = (Real) i; + q3[2*i+1] = v; + } + q3[2*m_nbBins] = (GLfloat) m_nbBins; + q3[2*m_nbBins+1] = clampPower(memory.m_spectrum[lastSampleIdx] - m_referenceLevel); + + QVector4D color; + color = QVector4D(colorF.redF(), colorF.greenF(), colorF.blueF(), colorF.alphaF()); + m_glShaderSimple.drawPolyline(m_glHistogramSpectrumMatrix, color, q3, m_nbBins+1); + } + } + } + // paint current spectrum line on top of histogram if (m_displayCurrent && m_currentSpectrum) { @@ -1453,26 +1981,20 @@ void GLSpectrumView::paintGL() // Fill under line for (int i = 0; i < m_nbBins; i++) { - Real v = m_currentSpectrum[i] - m_referenceLevel; - - if (v > 0) { - v = 0; - } else if (v < bottom) { - v = bottom; - } + Real v = clampPower(m_currentSpectrum[m_fftMin + i] - m_referenceLevel); q3[4*i] = (GLfloat)i; q3[4*i+1] = bottom; q3[4*i+2] = (GLfloat)i; q3[4*i+3] = v; } - // Replicate Nyquist sample to end of positive side - q3[4*m_nbBins] = (GLfloat) m_nbBins; - q3[4*m_nbBins+1] = q3[1]; - q3[4*m_nbBins+2] = (GLfloat) m_nbBins; - q3[4*m_nbBins+3] = q3[3]; - QVector4D color(1.0f, 1.0f, 0.25f, (float) m_displayTraceIntensity / 100.0f); + q3[4*m_nbBins] = (GLfloat) m_nbBins; + q3[4*m_nbBins+1] = bottom; + q3[4*m_nbBins+2] = (GLfloat) m_nbBins; + q3[4*m_nbBins+3] = clampPower(m_currentSpectrum[lastSampleIdx] - m_referenceLevel); + + QVector4D color(m_spectrumColor.redF(), m_spectrumColor.greenF(), m_spectrumColor.blueF(), (float) m_displayTraceIntensity / 100.0f); if (m_spectrumStyle == SpectrumSettings::Gradient) { m_glShaderColorMap.drawSurfaceStrip(m_glHistogramSpectrumMatrix, q3, 2*(m_nbBins+1), bottom, 0.75f); } else { @@ -1482,37 +2004,34 @@ void GLSpectrumView::paintGL() { if (m_histogramFindPeaks) { - m_peakFinder.init(m_currentSpectrum[0]); + m_peakFinder.init(m_currentSpectrum[m_fftMin]); } // Draw line q3 = m_q3FFT.m_array; for (int i = 0; i < m_nbBins; i++) { - Real v = m_currentSpectrum[i] - m_referenceLevel; - - if (v > 0) { - v = 0; - } else if (v < bottom) { - v = bottom; - } + Real q1 = m_currentSpectrum[0]; + Real q2 = m_currentSpectrum[m_fftMin + i]; + Real q = m_currentSpectrum[m_fftMin + i] - m_referenceLevel; + Real v = clampPower(m_currentSpectrum[m_fftMin + i] - m_referenceLevel); q3[2*i] = (Real) i; q3[2*i+1] = v; if (m_histogramFindPeaks && (i > 0)) { - m_peakFinder.push(m_currentSpectrum[i], i == m_nbBins - 1); + m_peakFinder.push(m_currentSpectrum[m_fftMin + i], i == m_nbBins - 1); } } - // Replicate Nyquist sample to end of positive side + q3[2*m_nbBins] = (GLfloat) m_nbBins; - q3[2*m_nbBins+1] = q3[1]; + q3[2*m_nbBins+1] = clampPower(m_currentSpectrum[lastSampleIdx] - m_referenceLevel); QVector4D color; if (m_spectrumStyle == SpectrumSettings::Gradient) { color = QVector4D(m_colorMap[255*3], m_colorMap[255*3+1], m_colorMap[255*3+2], (float) m_displayTraceIntensity / 100.0f); } else { - color = QVector4D(1.0f, 1.0f, 0.25f, (float) m_displayTraceIntensity / 100.0f); + color = QVector4D(m_spectrumColor.redF(), m_spectrumColor.greenF(), m_spectrumColor.blueF(), (float) m_displayTraceIntensity / 100.0f); } m_glShaderSimple.drawPolyline(m_glHistogramSpectrumMatrix, color, q3, m_nbBins+1); @@ -1815,32 +2334,12 @@ void GLSpectrumView::paintGL() m_glShaderInfo.drawSurface(m_glInfoBoxMatrix, tex1, vtx1, 4); } - if (m_currentSpectrum) - { - switch (m_measurement) - { - case SpectrumSettings::MeasurementPeaks: - measurePeaks(); - break; - case SpectrumSettings::MeasurementChannelPower: - measureChannelPower(); - break; - case SpectrumSettings::MeasurementAdjacentChannelPower: - measureAdjacentChannelPower(); - break; - case SpectrumSettings::MeasurementOccupiedBandwidth: - measureOccupiedBandwidth(); - break; - case SpectrumSettings::Measurement3dBBandwidth: - measure3dBBandwidth(); - break; - case SpectrumSettings::MeasurementSNR: - measureSNR(); - measureSFDR(); - break; - default: - break; - } + if (m_displayCursorStats || m_displayPeakStats) { + paintStatusLineRight(); + } + + if (m_currentSpectrum) { + measure(&m_currentSpectrum[m_fftMin], true); } m_mutex.unlock(); @@ -1948,8 +2447,8 @@ void GLSpectrumView::drawSpectrumMarkers() if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { float power = m_linear ? - m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin] * (m_useCalibration ? m_calibrationGain : 1.0f): - m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin] + (m_useCalibration ? m_calibrationShiftdB : 0.0f); + m_currentSpectrum[m_fftMin + m_histogramMarkers.at(i).m_fftBin] * (m_useCalibration ? m_calibrationGain : 1.0f): + m_currentSpectrum[m_fftMin + m_histogramMarkers.at(i).m_fftBin] + (m_useCalibration ? m_calibrationShiftdB : 0.0f); ypoint.ry() = (m_powerScale.getRangeMax() - power) / m_powerScale.getRange(); ypoint.ry() = ypoint.ry() < 0 ? @@ -1963,7 +2462,7 @@ void GLSpectrumView::drawSpectrumMarkers() } else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { - float power = m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin]; + float power = m_currentSpectrum[m_fftMin + m_histogramMarkers.at(i).m_fftBin]; if ((m_histogramMarkers.at(i).m_holdReset) || (power > m_histogramMarkers[i].m_powerMax)) { @@ -2027,7 +2526,7 @@ void GLSpectrumView::drawSpectrumMarkers() float power0, poweri; if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { - power0 = m_currentSpectrum[m_histogramMarkers.at(0).m_fftBin]; + power0 = m_currentSpectrum[m_fftMin + m_histogramMarkers.at(0).m_fftBin]; } else if (m_histogramMarkers.at(0).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { power0 = m_histogramMarkers.at(0).m_powerMax; } else { @@ -2035,7 +2534,7 @@ void GLSpectrumView::drawSpectrumMarkers() } if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePower) { - poweri = m_currentSpectrum[m_histogramMarkers.at(i).m_fftBin]; + poweri = m_currentSpectrum[m_fftMin + m_histogramMarkers.at(i).m_fftBin]; } else if (m_histogramMarkers.at(i).m_markerType == SpectrumHistogramMarker::SpectrumMarkerTypePowerMax) { poweri = m_histogramMarkers.at(i).m_powerMax; } else { @@ -2219,55 +2718,25 @@ void GLSpectrumView::drawAnnotationMarkers() } } -// Find and display peak in info line -void GLSpectrumView::measurePeak() -{ - float power, frequency; - - findPeak(power, frequency); - - drawTextsRight( - { - "Peak: ", - "" - }, - { - displayPower(power, m_linear ? 'e' : 'f', m_linear ? 3 : 1), - displayFull(frequency) - }, - { - m_peakPowerMaxStr, - m_peakFrequencyMaxStr - }, - { - m_peakPowerUnits, - "Hz" - } - ); - if (m_measurements) { - m_measurements->setPeak(0, frequency, power); - } -} - // Find and display peaks -void GLSpectrumView::measurePeaks() +void GLSpectrumView::measurePeaks(const Real *spectrum) { // Copy current spectrum so we can modify it - Real *spectrum = new Real[m_nbBins]; - std::copy(m_currentSpectrum, m_currentSpectrum + m_nbBins, spectrum); + Real *spectrumCopy = new Real[m_nbBins]; + std::copy(spectrum, spectrum + m_nbBins, spectrumCopy); for (int i = 0; i < m_measurementPeaks; i++) { // Find peak - int peakBin = findPeakBin(spectrum); + int peakBin = findPeakBin(spectrumCopy); int left, right; - peakWidth(spectrum, peakBin, left, right, 0, m_nbBins); + peakWidth(spectrumCopy, peakBin, left, right, 0, m_nbBins); left++; right--; float power = m_linear ? - spectrum[peakBin] * (m_useCalibration ? m_calibrationGain : 1.0f) : - spectrum[peakBin] + (m_useCalibration ? m_calibrationShiftdB : 0.0f); + spectrumCopy[peakBin] * (m_useCalibration ? m_calibrationGain : 1.0f) : + spectrumCopy[peakBin] + (m_useCalibration ? m_calibrationShiftdB : 0.0f); int64_t frequency = binToFrequency(peakBin); // Add to table @@ -2293,56 +2762,58 @@ void GLSpectrumView::measurePeaks() // Remove peak from spectrum so not found on next pass for (int j = left; j <= right; j++) { - spectrum[j] = -std::numeric_limits::max(); + spectrumCopy[j] = -std::numeric_limits::max(); } } - delete[] spectrum; + delete[] spectrumCopy; } // Calculate and display channel power -void GLSpectrumView::measureChannelPower() +void GLSpectrumView::measureChannelPower(const Real *spectrum, bool updateGUI) { float power; + qint64 centerFrequency = getDisplayedCenterFrequency(); - power = calcChannelPower(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth); + power = calcChannelPower(spectrum, centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth); if (m_measurements) { - m_measurements->setChannelPower(power); + m_measurements->setChannelPower(power, updateGUI); } - if (m_measurementHighlight) { - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementLightMarkerColor); + if (m_measurementHighlight && updateGUI) { + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementLightMarkerColor); } } // Calculate and display channel power and adjacent channel power -void GLSpectrumView::measureAdjacentChannelPower() +void GLSpectrumView::measureAdjacentChannelPower(const Real *spectrum, bool updateGUI) { float power, powerLeft, powerRight; + qint64 centerFrequency = getDisplayedCenterFrequency(); - power = calcChannelPower(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth); - powerLeft = calcChannelPower(m_centerFrequency + m_measurementCenterFrequencyOffset - m_measurementChSpacing, m_measurementAdjChBandwidth); - powerRight = calcChannelPower(m_centerFrequency + m_measurementCenterFrequencyOffset + m_measurementChSpacing, m_measurementAdjChBandwidth); + power = calcChannelPower(spectrum, centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth); + powerLeft = calcChannelPower(spectrum, centerFrequency + m_measurementCenterFrequencyOffset - m_measurementChSpacing, m_measurementAdjChBandwidth); + powerRight = calcChannelPower(spectrum, centerFrequency + m_measurementCenterFrequencyOffset + m_measurementChSpacing, m_measurementAdjChBandwidth); float leftDiff = powerLeft - power; float rightDiff = powerRight - power; if (m_measurements) { - m_measurements->setAdjacentChannelPower(powerLeft, leftDiff, power, powerRight, rightDiff); + m_measurements->setAdjacentChannelPower(powerLeft, leftDiff, power, powerRight, rightDiff, updateGUI); } - - if (m_measurementHighlight) + if (m_measurementHighlight && updateGUI) { - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementLightMarkerColor); - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset - m_measurementChSpacing, m_measurementAdjChBandwidth, m_measurementDarkMarkerColor); - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset + m_measurementChSpacing, m_measurementAdjChBandwidth, m_measurementDarkMarkerColor); + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementLightMarkerColor); + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset - m_measurementChSpacing, m_measurementAdjChBandwidth, m_measurementDarkMarkerColor); + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset + m_measurementChSpacing, m_measurementAdjChBandwidth, m_measurementDarkMarkerColor); } } // Measure bandwidth that has 99% of power -void GLSpectrumView::measureOccupiedBandwidth() +void GLSpectrumView::measureOccupiedBandwidth(const Real *spectrum, bool updateGUI) { - float hzPerBin = m_sampleRate / (float) m_fftSize; - int start = frequencyToBin(m_centerFrequency + m_measurementCenterFrequencyOffset); + float hzPerBin = getDisplayedSampleRate() / (float) m_fftSize; + qint64 centerFrequency = getDisplayedCenterFrequency(); + int start = frequencyToBin(centerFrequency + m_measurementCenterFrequencyOffset); float totalPower, power = 0.0f; int step = 0; int width = 0; @@ -2350,15 +2821,15 @@ void GLSpectrumView::measureOccupiedBandwidth() float gain = m_useCalibration ? m_calibrationGain : 1.0f; float shift = m_useCalibration ? m_calibrationShiftdB : 0.0f; - totalPower = CalcDb::powerFromdB(calcChannelPower(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth)); + totalPower = CalcDb::powerFromdB(calcChannelPower(spectrum, centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth)); do { if ((idx >= 0) && (idx < m_nbBins)) { if (m_linear) { - power += m_currentSpectrum[idx] * gain; + power += spectrum[idx] * gain; } else { - power += CalcDb::powerFromdB(m_currentSpectrum[idx]) + shift; + power += CalcDb::powerFromdB(spectrum[idx]) + shift; } width++; } @@ -2374,27 +2845,28 @@ void GLSpectrumView::measureOccupiedBandwidth() float occupiedBandwidth = width * hzPerBin; if (m_measurements) { - m_measurements->setOccupiedBandwidth(occupiedBandwidth); + m_measurements->setOccupiedBandwidth(occupiedBandwidth, updateGUI); } - if (m_measurementHighlight) + if (m_measurementHighlight && updateGUI) { - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementDarkMarkerColor); - drawBandwidthMarkers(m_centerFrequency + m_measurementCenterFrequencyOffset, occupiedBandwidth, m_measurementLightMarkerColor); + qint64 centerFrequency = getDisplayedCenterFrequency(); + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset, m_measurementBandwidth, m_measurementDarkMarkerColor); + drawBandwidthMarkers(centerFrequency + m_measurementCenterFrequencyOffset, occupiedBandwidth, m_measurementLightMarkerColor); } } // Measure bandwidth -3dB from peak -void GLSpectrumView::measure3dBBandwidth() +void GLSpectrumView::measure3dBBandwidth(const Real *spectrum, bool updateGUI) { // Find max peak and it's power in dB - int peakBin = findPeakBin(m_currentSpectrum); - float peakPower = m_linear ? CalcDb::dbPower(m_currentSpectrum[peakBin]) : m_currentSpectrum[peakBin]; + int peakBin = findPeakBin(spectrum); + float peakPower = m_linear ? CalcDb::dbPower(spectrum[peakBin]) : spectrum[peakBin]; // Search right until 3dB from peak int rightBin = peakBin; for (int i = peakBin + 1; i < m_nbBins; i++) { - float power = m_linear ? CalcDb::dbPower(m_currentSpectrum[i]) : m_currentSpectrum[i]; + float power = m_linear ? CalcDb::dbPower(spectrum[i]) : spectrum[i]; if (peakPower - power > 3.0f) { rightBin = i - 1; @@ -2406,7 +2878,7 @@ void GLSpectrumView::measure3dBBandwidth() int leftBin = peakBin; for (int i = peakBin - 1; i >= 0; i--) { - float power = m_linear ? CalcDb::dbPower(m_currentSpectrum[i]) : m_currentSpectrum[i]; + float power = m_linear ? CalcDb::dbPower(spectrum[i]) : spectrum[i]; if (peakPower - power > 3.0f) { leftBin = i + 1; @@ -2417,15 +2889,15 @@ void GLSpectrumView::measure3dBBandwidth() // Calculate bandwidth int bins = rightBin - leftBin - 1; bins = std::max(1, bins); - float hzPerBin = m_sampleRate / (float) m_fftSize; + float hzPerBin = getDisplayedSampleRate() / (float) m_fftSize; float bandwidth = bins * hzPerBin; int centerBin = leftBin + (rightBin - leftBin) / 2; float centerFrequency = binToFrequency(centerBin); if (m_measurements) { - m_measurements->set3dBBandwidth(bandwidth); + m_measurements->set3dBBandwidth(bandwidth, updateGUI); } - if (m_measurementHighlight) { + if (m_measurementHighlight && updateGUI) { drawBandwidthMarkers(centerFrequency, bandwidth, m_measurementLightMarkerColor); } } @@ -2480,30 +2952,30 @@ float GLSpectrumView::calPower(float power) const int GLSpectrumView::frequencyToBin(int64_t frequency) const { - float rbw = (m_ssbSpectrum ? (m_sampleRate/2) : m_sampleRate) / (float)m_fftSize; + float rbw = (m_ssbSpectrum ? (getDisplayedSampleRate()/2) : getDisplayedSampleRate()) / (float)m_fftSize; return (frequency - m_frequencyScale.getRangeMin()) / rbw; } int64_t GLSpectrumView::binToFrequency(int bin) const { - float rbw = (m_ssbSpectrum ? (m_sampleRate/2) : m_sampleRate) / (float)m_fftSize; + float rbw = (m_ssbSpectrum ? (getDisplayedSampleRate()/2) : getDisplayedSampleRate()) / (float)m_fftSize; return m_frequencyScale.getRangeMin() + bin * rbw; } // Find a peak and measure SNR / THD / SINAD -void GLSpectrumView::measureSNR() +void GLSpectrumView::measureSNR(const Real *spectrum, bool updateGUI) { // Find bin with max peak - that will be our signal - int sig = findPeakBin(m_currentSpectrum); + int sig = findPeakBin(spectrum); int sigLeft, sigRight; - peakWidth(m_currentSpectrum, sig, sigLeft, sigRight, 0, m_nbBins); + peakWidth(spectrum, sig, sigLeft, sigRight, 0, m_nbBins); int sigBins = sigRight - sigLeft - 1; int binsLeft = sig - sigLeft; int binsRight = sigRight - sig; // Highlight the signal float sigFreq = binToFrequency(sig); - if (m_measurementHighlight) { + if (m_measurementHighlight && updateGUI) { drawPeakMarkers(binToFrequency(sigLeft+1), binToFrequency(sigRight-1), m_measurementLightMarkerColor); } @@ -2518,16 +2990,16 @@ void GLSpectrumView::measureSNR() { int hBin = frequencyToBin(hFreq); // Check if peak is an adjacent bin - if (m_currentSpectrum[hBin-1] > m_currentSpectrum[hBin]) { + if (spectrum[hBin-1] > spectrum[hBin]) { hBin--; - } else if (m_currentSpectrum[hBin+1] > m_currentSpectrum[hBin]) { + } else if (spectrum[hBin+1] > spectrum[hBin]) { hBin++; } hFreq = binToFrequency(hBin); int hLeft, hRight; - peakWidth(m_currentSpectrum, hBin, hLeft, hRight, hBin - binsLeft, hBin + binsRight); + peakWidth(spectrum, hBin, hLeft, hRight, hBin - binsLeft, hBin + binsRight); int hBins = hRight - hLeft - 1; - if (m_measurementHighlight) { + if (m_measurementHighlight && updateGUI) { drawPeakMarkers(binToFrequency(hLeft+1), binToFrequency(hRight-1), m_measurementDarkMarkerColor); } hBinsLeft.append(hLeft); @@ -2548,9 +3020,9 @@ void GLSpectrumView::measureSNR() { float power; if (m_linear) { - power = m_currentSpectrum[i] * gain; + power = spectrum[i] * gain; } else { - power = CalcDb::powerFromdB(m_currentSpectrum[i]) + shift; + power = CalcDb::powerFromdB(spectrum[i]) + shift; } // Signal power @@ -2613,16 +3085,16 @@ void GLSpectrumView::measureSNR() // Calculate SINAD - Signal to noise and distotion ratio (Should be -THD+N) float sinad = CalcDb::dbPower((sigPower + harmonicPower + noisePower) / (harmonicPower + noisePower)); - m_measurements->setSNR(snr, snfr, thdDB, thdpn, sinad); + m_measurements->setSNR(snr, snfr, thdDB, thdpn, sinad, updateGUI); } } -void GLSpectrumView::measureSFDR() +void GLSpectrumView::measureSFDR(const Real *spectrum, bool updateGUI) { // Find first peak which is our signal - int peakBin = findPeakBin(m_currentSpectrum); + int peakBin = findPeakBin(spectrum); int peakLeft, peakRight; - peakWidth(m_currentSpectrum, peakBin, peakLeft, peakRight, 0, m_nbBins); + peakWidth(spectrum, peakBin, peakLeft, peakRight, 0, m_nbBins); // Find next largest peak, which is the spur int nextPeakBin = -1; @@ -2631,27 +3103,27 @@ void GLSpectrumView::measureSFDR() { if ((i < peakLeft) || (i > peakRight)) { - if (m_currentSpectrum[i] > nextPeakPower) + if (spectrum[i] > nextPeakPower) { nextPeakBin = i; - nextPeakPower = m_currentSpectrum[i]; + nextPeakPower = spectrum[i]; } } } if (nextPeakBin != -1) { // Calculate SFDR in dB from difference between two peaks - float peakPower = calPower(m_currentSpectrum[peakBin]); - float nextPeakPower = calPower(m_currentSpectrum[nextPeakBin]); + float peakPower = calPower(spectrum[peakBin]); + float nextPeakPower = calPower(spectrum[nextPeakBin]); float peakPowerDB = CalcDb::dbPower(peakPower); float nextPeakPowerDB = CalcDb::dbPower(nextPeakPower); float sfdr = peakPowerDB - nextPeakPowerDB; // Display if (m_measurements) { - m_measurements->setSFDR(sfdr); + m_measurements->setSFDR(sfdr, updateGUI); } - if (m_measurementHighlight) + if (m_measurementHighlight && updateGUI) { if (m_linear) { drawPowerBandMarkers(peakPower, nextPeakPower, m_measurementDarkMarkerColor); @@ -2663,17 +3135,17 @@ void GLSpectrumView::measureSFDR() } // Find power and frequency of max peak in current spectrum -void GLSpectrumView::findPeak(float &power, float &frequency) const +void GLSpectrumView::findPeak(const Real *spectrum, float &power, float &frequency) const { int bin; bin = 0; - power = m_currentSpectrum[0]; + power = spectrum[0]; for (int i = 1; i < m_nbBins; i++) { - if (m_currentSpectrum[i] > power) + if (spectrum[i] > power) { - power = m_currentSpectrum[i]; + power = spectrum[i]; bin = i; } } @@ -2685,9 +3157,9 @@ void GLSpectrumView::findPeak(float &power, float &frequency) const } // Calculate channel power in dB -float GLSpectrumView::calcChannelPower(int64_t centerFrequency, int channelBandwidth) const +float GLSpectrumView::calcChannelPower(const Real *spectrum, int64_t centerFrequency, int channelBandwidth) const { - float hzPerBin = m_sampleRate / (float) m_fftSize; + float hzPerBin = getDisplayedSampleRate() / (float) m_fftSize; int bins = channelBandwidth / hzPerBin; int start = frequencyToBin(centerFrequency) - (bins / 2); int end = start + bins; @@ -2700,20 +3172,67 @@ float GLSpectrumView::calcChannelPower(int64_t centerFrequency, int channelBandw { float gain = m_useCalibration ? m_calibrationGain : 1.0f; for (int i = start; i < end; i++) { - power += m_currentSpectrum[i] * gain; + power += spectrum[i] * gain; } } else { float shift = m_useCalibration ? m_calibrationShiftdB : 0.0f; for (int i = start; i < end; i++) { - power += CalcDb::powerFromdB(m_currentSpectrum[i]) + shift; + power += CalcDb::powerFromdB(spectrum[i]) + shift; } } return CalcDb::dbPower(power); } +// Test if current spectrum exceeds any of the masks held in spectrum memories +void GLSpectrumView::measureMask(const Real *spectrum, int fftSize, bool updateGUI) +{ + if (!updateGUI) + { + for (int m = 0; m < m_spectrumMemory.size(); m++) + { + if ((m_measurementMemMasks & (1 << m)) != 0) + { + if (m_maskFails[m].size() < fftSize) { + m_maskFails[m].resize(fftSize); + } + + int s = std::min((int) m_spectrumMemory[m].m_spectrum.size(), fftSize); + bool fail = false; + + for (int i = 0; i < s; i++) + { + if (spectrum[i] > m_spectrumMemory[m].m_spectrum[i]) + { + m_maskFails[m][i] = std::max(m_maskFails[m][i], spectrum[i]); + fail = true; + } + } + + m_maskTestCount[m]++; + if (fail) { + m_maskFailCount[m]++; + } + } + } + } + else + { + for (int m = 0; m < m_spectrumMemory.size(); m++) + { + if ((m_measurementMemMasks & (1 << m)) != 0) + { + if (m_measurements && updateGUI) { + m_measurements->setMaskTestResult(m, m_maskTestCount[m], m_maskFailCount[m]); + } + } + } + + } +} + void GLSpectrumView::stopDrag() { if (m_cursorState != CSNormal) @@ -2727,28 +3246,137 @@ void GLSpectrumView::stopDrag() } } +// Get text to display on waterfall vertical axis when displaying system time +// value is [0,m_waterfallHeight], as set in setTimeScaleRange() +QString GLSpectrumView::formatTick(double value) const +{ + int idx = value - scrollBarValue() + m_spectrumBuffer.size() - 1 - m_waterfallHeight; + + if (idx >= 0 && idx < m_spectrumBuffer.size()) + { + QDateTime dt = m_spectrumBuffer[idx].m_dateTime; + + if (m_waterfallTimeUnits == SpectrumSettings::LocalTime) { + dt = dt.toLocalTime(); + } else { + dt = dt.toUTC(); + } + return dt.toString(m_waterfallTimeFormat); + } + else + { + return ""; + } +} + +void GLSpectrumView::setTimeScaleRange() +{ + if (m_waterfallTimeUnits != SpectrumSettings::TimeOffset) + { + // System clock times from when spectrum was captured - mapped to actual times in formatTick() + if (m_invertedWaterfall) { + m_timeScale.setRange(Unit::None, m_waterfallHeight, 0); + } else { + m_timeScale.setRange(Unit::None, 0, m_waterfallHeight); + } + } + else if (getDisplayedSampleRate() > 0) + { + float timeScaleDiv = ((float)getDisplayedSampleRate() / (float)m_timingRate); + + if (m_fftSize > m_fftOverlap) { + timeScaleDiv *= m_fftSize / (float)(m_fftSize - m_fftOverlap); + } + + int idx = scrollBarValue(); + float timeMin = (idx * m_fftSize) / timeScaleDiv; + float timeMax = ((idx + m_waterfallHeight) * m_fftSize) / timeScaleDiv; + + if (!m_invertedWaterfall) { + m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, timeMax / timeScaleDiv, timeMin); + } else { + m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, timeMin, timeMax); + } + } + else + { + if (!m_invertedWaterfall) { + m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 0, 1); + } else { + m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 1, 0); + } + } +} + +void GLSpectrumView::paintLeftScales() +{ + QFontMetrics fm(font()); + int M = fm.horizontalAdvance("-"); + + float maxSize = 0.0f; + + m_leftMarginPixmap = QPixmap(m_leftMargin - 1, height()); + m_leftMarginPixmap.fill(Qt::transparent); + { + QPainter painter(&m_leftMarginPixmap); + painter.setPen(QColor(0xf0, 0xf0, 0xff)); + painter.setFont(font()); + const ScaleEngine::TickList* tickList; + const ScaleEngine::Tick* tick; + if (m_displayWaterfall) { + tickList = &m_timeScale.getTickList(); + for (int i = 0; i < tickList->count(); i++) { + tick = &(*tickList)[i]; + if (tick->major) + { + if (tick->textSize > 0) + painter.drawText(QPointF(m_leftMargin - M - tick->textSize, m_waterfallTop + fm.ascent() + tick->textPos), tick->text); + maxSize = std::max(maxSize, tick->textSize); + } + } + } + if (m_displayHistogram || m_displayMaxHold || m_displayCurrent) { + tickList = &m_powerScale.getTickList(); + for (int i = 0; i < tickList->count(); i++) { + tick = &(*tickList)[i]; + if (tick->major) { + if (tick->textSize > 0) + painter.drawText(QPointF(m_leftMargin - M - tick->textSize, m_histogramTop + m_histogramHeight - tick->textPos - 1), tick->text); + maxSize = std::max(maxSize, tick->textSize); + } + } + } + } + + if (maxSize >= m_leftMargin) { + m_changesPending = true; // Recalculate margin + } +} + void GLSpectrumView::applyChanges() { if (m_nbBins <= 0) { return; } + qint64 centerFrequency = getDisplayedCenterFrequency(); + QFontMetrics fm(font()); int M = fm.horizontalAdvance("-"); - m_topMargin = fm.ascent() * 2.0; - m_bottomMargin = fm.ascent() * 1.0; + m_topMargin = fm.ascent() * 2; + m_bottomMargin = fm.ascent() * 1; m_infoHeight = fm.height() * 3; - int waterfallTop = 0; + m_waterfallTop = 0; m_frequencyScaleHeight = fm.height() * 3; // +1 line for marker frequency scale int frequencyScaleTop = 0; - int histogramTop = 0; + m_histogramTop = 0; //int m_leftMargin; m_rightMargin = fm.horizontalAdvance("000"); // displays both histogram and waterfall - if ((m_displayWaterfall || m_display3DSpectrogram) && (m_displayHistogram | m_displayMaxHold | m_displayCurrent)) + if ((m_displayWaterfall || m_display3DSpectrogram) && (m_displayHistogram || m_displayMaxHold || m_displayCurrent)) { m_waterfallHeight = height() * m_waterfallShare - 1; @@ -2758,39 +3386,21 @@ void GLSpectrumView::applyChanges() if (m_invertedWaterfall) { - histogramTop = m_topMargin; + m_histogramTop = m_topMargin; m_histogramHeight = height() - m_topMargin - m_waterfallHeight - m_frequencyScaleHeight - m_bottomMargin; - waterfallTop = histogramTop + m_histogramHeight + m_frequencyScaleHeight + 1; - frequencyScaleTop = histogramTop + m_histogramHeight + 1; + m_waterfallTop = m_histogramTop + m_histogramHeight + m_frequencyScaleHeight + 1; + frequencyScaleTop = m_histogramTop + m_histogramHeight + 1; } else { - waterfallTop = m_topMargin; - frequencyScaleTop = waterfallTop + m_waterfallHeight + 1; - histogramTop = waterfallTop + m_waterfallHeight + m_frequencyScaleHeight + 1; + m_waterfallTop = m_topMargin; + frequencyScaleTop = m_waterfallTop + m_waterfallHeight + 1; + m_histogramTop = m_waterfallTop + m_waterfallHeight + m_frequencyScaleHeight + 1; m_histogramHeight = height() - m_topMargin - m_waterfallHeight - m_frequencyScaleHeight - m_bottomMargin; } m_timeScale.setSize(m_waterfallHeight); - - if (m_sampleRate > 0) - { - float timeScaleDiv = ((float)m_sampleRate / (float)m_timingRate); - - if (m_fftSize > m_fftOverlap) { - timeScaleDiv *= m_fftSize / (float)(m_fftSize - m_fftOverlap); - } - - if (!m_invertedWaterfall) { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, (m_waterfallHeight * m_fftSize) / timeScaleDiv, 0); - } else { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 0, (m_waterfallHeight * m_fftSize) / timeScaleDiv); - } - } - else - { - m_timeScale.setRange(Unit::Time, 0, 1); - } + setTimeScaleRange(); m_leftMargin = m_timeScale.getScaleWidth(); @@ -2803,7 +3413,7 @@ void GLSpectrumView::applyChanges() m_glWaterfallBoxMatrix.setToIdentity(); m_glWaterfallBoxMatrix.translate( -1.0f + ((float)(2*m_leftMargin) / (float) width()), - 1.0f - ((float)(2*waterfallTop) / (float) height()) + 1.0f - ((float)(2*m_waterfallTop) / (float) height()) ); m_glWaterfallBoxMatrix.scale( ((float) 2 * (width() - m_leftMargin - m_rightMargin)) / (float) width(), @@ -2813,7 +3423,7 @@ void GLSpectrumView::applyChanges() m_glHistogramBoxMatrix.setToIdentity(); m_glHistogramBoxMatrix.translate( -1.0f + ((float)(2*m_leftMargin) / (float) width()), - 1.0f - ((float)(2*histogramTop) / (float) height()) + 1.0f - ((float)(2*m_histogramTop) / (float) height()) ); m_glHistogramBoxMatrix.scale( ((float) 2 * (width() - m_leftMargin - m_rightMargin)) / (float) width(), @@ -2823,7 +3433,7 @@ void GLSpectrumView::applyChanges() m_glHistogramSpectrumMatrix.setToIdentity(); m_glHistogramSpectrumMatrix.translate( -1.0f + ((float)(2*m_leftMargin) / (float) width()), - 1.0f - ((float)(2*histogramTop) / (float) height()) + 1.0f - ((float)(2*m_histogramTop) / (float) height()) ); m_glHistogramSpectrumMatrix.scale( ((float) 2 * (width() - m_leftMargin - m_rightMargin)) / ((float) width() * (float)(m_nbBins)), @@ -2858,36 +3468,14 @@ void GLSpectrumView::applyChanges() else if (m_displayWaterfall || m_display3DSpectrogram) { m_histogramHeight = 0; - histogramTop = 0; + m_histogramTop = 0; m_bottomMargin = m_frequencyScaleHeight; m_waterfallHeight = height() - m_topMargin - m_frequencyScaleHeight; - waterfallTop = m_topMargin; + m_waterfallTop = m_topMargin; frequencyScaleTop = m_topMargin + m_waterfallHeight + 1; m_timeScale.setSize(m_waterfallHeight); - - if (m_sampleRate > 0) - { - float timeScaleDiv = ((float)m_sampleRate / (float)m_timingRate); - - if (m_fftSize > m_fftOverlap) { - timeScaleDiv *= m_fftSize / (float)(m_fftSize - m_fftOverlap); - } - - if (!m_invertedWaterfall) { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, (m_waterfallHeight * m_fftSize) / timeScaleDiv, 0); - } else { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 0, (m_waterfallHeight * m_fftSize) / timeScaleDiv); - } - } - else - { - if (!m_invertedWaterfall) { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 10, 0); - } else { - m_timeScale.setRange(m_timingRate > 1 ? Unit::TimeHMS : Unit::Time, 0, 10); - } - } + setTimeScaleRange(); m_leftMargin = m_timeScale.getScaleWidth(); @@ -2936,7 +3524,7 @@ void GLSpectrumView::applyChanges() { m_bottomMargin = m_frequencyScaleHeight; frequencyScaleTop = height() - m_bottomMargin; - histogramTop = m_topMargin - 1; + m_histogramTop = m_topMargin - 1; m_waterfallHeight = 0; m_histogramHeight = height() - m_topMargin - m_frequencyScaleHeight; @@ -2951,7 +3539,7 @@ void GLSpectrumView::applyChanges() m_glHistogramSpectrumMatrix.setToIdentity(); m_glHistogramSpectrumMatrix.translate( -1.0f + ((float)(2*m_leftMargin) / (float) width()), - 1.0f - ((float)(2*histogramTop) / (float) height()) + 1.0f - ((float)(2*m_histogramTop) / (float) height()) ); m_glHistogramSpectrumMatrix.scale( ((float) 2 * (width() - m_leftMargin - m_rightMargin)) / ((float) width() * (float)(m_nbBins)), @@ -2961,7 +3549,7 @@ void GLSpectrumView::applyChanges() m_glHistogramBoxMatrix.setToIdentity(); m_glHistogramBoxMatrix.translate( -1.0f + ((float)(2*m_leftMargin) / (float) width()), - 1.0f - ((float)(2*histogramTop) / (float) height()) + 1.0f - ((float)(2*m_histogramTop) / (float) height()) ); m_glHistogramBoxMatrix.scale( ((float) 2 * (width() - m_leftMargin - m_rightMargin)) / (float) width(), @@ -3022,7 +3610,7 @@ void GLSpectrumView::applyChanges() { m_histogramRect = QRectF( (float) m_leftMargin / (float) width(), - (float) (waterfallTop + m_waterfallHeight + m_frequencyScaleHeight) / (float) height(), + (float) (m_waterfallTop + m_waterfallHeight + m_frequencyScaleHeight) / (float) height(), (float) (width() - m_leftMargin - m_rightMargin) / (float) width(), (float) m_histogramHeight / (float) height() ); @@ -3055,9 +3643,9 @@ void GLSpectrumView::applyChanges() } // channel overlays - int64_t centerFrequency; + int64_t centerFrequencyUnused; int frequencySpan; - getFrequencyZoom(centerFrequency, frequencySpan); + getFrequencyZoom(centerFrequencyUnused, frequencySpan); for (int i = 0; i < m_channelMarkerStates.size(); ++i) { @@ -3065,7 +3653,7 @@ void GLSpectrumView::applyChanges() qreal xc, pw, nw, dsbw; ChannelMarker::sidebands_t sidebands = dv->m_channelMarker->getSidebands(); - xc = m_centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency + xc = centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency dsbw = dv->m_channelMarker->getBandwidth(); if (sidebands == ChannelMarker::usb) @@ -3111,7 +3699,7 @@ void GLSpectrumView::applyChanges() dv->m_glMatrixDsbWaterfall = glMatrixDsb; dv->m_glMatrixDsbWaterfall.translate( 0.0f, - (float) waterfallTop / (float) height() + (float) m_waterfallTop / (float) height() ); dv->m_glMatrixDsbWaterfall.scale( (float) (width() - m_leftMargin - m_rightMargin) / (float) width(), @@ -3121,7 +3709,7 @@ void GLSpectrumView::applyChanges() dv->m_glMatrixDsbHistogram = glMatrixDsb; dv->m_glMatrixDsbHistogram.translate( 0.0f, - (float) histogramTop / (float) height() + (float) m_histogramTop / (float) height() ); dv->m_glMatrixDsbHistogram.scale( (float) (width() - m_leftMargin - m_rightMargin) / (float) width(), @@ -3154,7 +3742,7 @@ void GLSpectrumView::applyChanges() dv->m_glMatrixWaterfall = glMatrix; dv->m_glMatrixWaterfall.translate( 0.0f, - (float) waterfallTop / (float) height() + (float) m_waterfallTop / (float) height() ); dv->m_glMatrixWaterfall.scale( (float) (width() - m_leftMargin - m_rightMargin) / (float) width(), @@ -3164,7 +3752,7 @@ void GLSpectrumView::applyChanges() dv->m_glMatrixHistogram = glMatrix; dv->m_glMatrixHistogram.translate( 0.0f, - (float) histogramTop / (float) height() + (float) m_histogramTop / (float) height() ); dv->m_glMatrixHistogram.scale( (float) (width() - m_leftMargin - m_rightMargin) / (float) width(), @@ -3184,9 +3772,9 @@ void GLSpectrumView::applyChanges() /* dv->m_glRect.setRect( - m_frequencyScale.getPosFromValue(m_centerFrequency + dv->m_channelMarker->getCenterFrequency() - dv->m_channelMarker->getBandwidth() / 2) / (float)(width() - m_leftMargin - m_rightMargin), + m_frequencyScale.getPosFromValue(centerFrequency + dv->m_channelMarker->getCenterFrequency() - dv->m_channelMarker->getBandwidth() / 2) / (float)(width() - m_leftMargin - m_rightMargin), 0, - (dv->m_channelMarker->getBandwidth() / (float)m_sampleRate), + (dv->m_channelMarker->getBandwidth() / (float)getDisplayedSampleRate()), 1); */ @@ -3200,7 +3788,7 @@ void GLSpectrumView::applyChanges() /* if(m_displayHistogram || m_displayMaxHold || m_displayWaterfall) { - dv->m_rect.setRect(m_frequencyScale.getPosFromValue(m_centerFrequency + dv->m_channelMarker->getCenterFrequency()) + m_leftMargin - 1, + dv->m_rect.setRect(m_frequencyScale.getPosFromValue(centerFrequency + dv->m_channelMarker->getCenterFrequency()) + m_leftMargin - 1, m_topMargin, 5, height() - m_topMargin - m_bottomMargin); @@ -3209,39 +3797,9 @@ void GLSpectrumView::applyChanges() } // prepare left scales (time and power) - { - m_leftMarginPixmap = QPixmap(m_leftMargin - 1, height()); - m_leftMarginPixmap.fill(Qt::transparent); - { - QPainter painter(&m_leftMarginPixmap); - painter.setPen(QColor(0xf0, 0xf0, 0xff)); - painter.setFont(font()); - const ScaleEngine::TickList* tickList; - const ScaleEngine::Tick* tick; - if (m_displayWaterfall) { - tickList = &m_timeScale.getTickList(); - for (int i = 0; i < tickList->count(); i++) { - tick = &(*tickList)[i]; - if (tick->major) { - if (tick->textSize > 0) - painter.drawText(QPointF(m_leftMargin - M - tick->textSize, waterfallTop + fm.ascent() + tick->textPos), tick->text); - } - } - } - if (m_displayHistogram || m_displayMaxHold || m_displayCurrent) { - tickList = &m_powerScale.getTickList(); - for (int i = 0; i < tickList->count(); i++) { - tick = &(*tickList)[i]; - if (tick->major) { - if (tick->textSize > 0) - painter.drawText(QPointF(m_leftMargin - M - tick->textSize, histogramTop + m_histogramHeight - tick->textPos - 1), tick->text); - } - } - } - } + paintLeftScales(); + m_glShaderLeftScale.initTexture(m_leftMarginPixmap.toImage()); - m_glShaderLeftScale.initTexture(m_leftMarginPixmap.toImage()); - } // prepare frequency scale if (m_displayWaterfall || m_display3DSpectrogram || m_displayHistogram || m_displayMaxHold || m_displayCurrent) { m_frequencyPixmap = QPixmap(width(), m_frequencyScaleHeight); @@ -3277,12 +3835,12 @@ void GLSpectrumView::applyChanges() qreal xc; int shift; //ChannelMarker::sidebands_t sidebands = dv->m_channelMarker->getSidebands(); - xc = m_centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency + xc = centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency QString ftext; switch (dv->m_channelMarker->getFrequencyScaleDisplayType()) { case ChannelMarker::FScaleDisplay_freq: - ftext = QString::number((m_centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6); + ftext = QString::number((centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6); break; case ChannelMarker::FScaleDisplay_title: ftext = dv->m_channelMarker->getTitle(); @@ -3294,7 +3852,7 @@ void GLSpectrumView::applyChanges() ftext = dv->m_channelMarker->getDisplayAddressReceive(); break; default: - ftext = QString::number((m_centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6); + ftext = QString::number((centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6); break; } if (dv->m_channelMarker->getCenterFrequency() < 0) { // left half of scale @@ -3392,17 +3950,28 @@ void GLSpectrumView::applyChanges() painter.setFont(font()); painter.drawText(QPointF(m_leftMargin, fm.height() + fm.ascent() / 2 - 2), infoText); } - m_glShaderInfo.initTexture(m_infoPixmap.toImage()); // Peak details in top info line - QString minFrequencyStr = displayFull(m_centerFrequency - m_sampleRate/2); // This can be wider if negative, while max is positive - QString maxFrequencyStr = displayFull(m_centerFrequency + m_sampleRate/2); + QString minFrequencyStr = displayFull(centerFrequency - getDisplayedSampleRate()/2); // This can be wider if negative, while max is positive + QString maxFrequencyStr = displayFull(centerFrequency + getDisplayedSampleRate()/2); m_peakFrequencyMaxStr = minFrequencyStr.size() > maxFrequencyStr.size() ? minFrequencyStr : maxFrequencyStr; m_peakFrequencyMaxStr = m_peakFrequencyMaxStr.append("Hz"); m_peakPowerMaxStr = m_linear ? "8.000e-10" : "-100.0"; m_peakPowerUnits = m_linear ? "" : "dB"; + m_glShaderSpectrogram.initColorMapTexture(m_colorMapName); + m_glShaderColorMap.initColorMapTexture(m_colorMapName); + m_colorMap = ColorMap::getColorMap(m_colorMapName); + // Why only 240 entries in the palette? + for (int i = 0; i <= 239; i++) + { + ((quint8*)&m_waterfallPalette[i])[0] = (quint8)(m_colorMap[i*3] * 255.0); + ((quint8*)&m_waterfallPalette[i])[1] = (quint8)(m_colorMap[i*3+1] * 255.0); + ((quint8*)&m_waterfallPalette[i])[2] = (quint8)(m_colorMap[i*3+2] * 255.0); + ((quint8*)&m_waterfallPalette[i])[3] = 255; + } + bool waterfallFFTSizeChanged = true; if (m_waterfallBuffer) { @@ -3445,18 +4014,6 @@ void GLSpectrumView::applyChanges() m_3DSpectrogramTexturePos = 0; } - m_glShaderSpectrogram.initColorMapTexture(m_colorMapName); - m_glShaderColorMap.initColorMapTexture(m_colorMapName); - m_colorMap = ColorMap::getColorMap(m_colorMapName); - // Why only 240 entries in the palette? - for (int i = 0; i <= 239; i++) - { - ((quint8*)&m_waterfallPalette[i])[0] = (quint8)(m_colorMap[i*3] * 255.0); - ((quint8*)&m_waterfallPalette[i])[1] = (quint8)(m_colorMap[i*3+1] * 255.0); - ((quint8*)&m_waterfallPalette[i])[2] = (quint8)(m_colorMap[i*3+2] * 255.0); - ((quint8*)&m_waterfallPalette[i])[3] = 255; - } - bool histogramFFTSizeChanged = true; if (m_histogramBuffer) { @@ -3487,6 +4044,21 @@ void GLSpectrumView::applyChanges() std::fill(m_q3ColorMap.m_array, m_q3ColorMap.m_array+4*(m_nbBins+1), 0.0f); } + if (m_redrawAll) + { + redrawSpectrum(); + redrawWaterfallAnd3DSpectrogram(); + m_redrawAll = false; + } + else if (waterfallFFTSizeChanged || windowSizeChanged) + { + redrawWaterfallAnd3DSpectrogram(); + } + else if (histogramFFTSizeChanged) + { + redrawSpectrum(); + } + m_q3TickTime.allocate(4*m_timeScale.getTickList().count()); m_q3TickFrequency.allocate(4*m_frequencyScale.getTickList().count()); m_q3TickPower.allocate(6*m_powerScale.getTickList().count()); // 6 as we need 3d points for 3D spectrogram @@ -3497,13 +4069,13 @@ void GLSpectrumView::applyChanges() void GLSpectrumView::updateHistogramMarkers() { - if (m_sampleRate == 0) { + if (getDisplayedSampleRate() == 0) { return; } int64_t centerFrequency; int frequencySpan; getFrequencyZoom(centerFrequency, frequencySpan); - int effFftSize = m_fftSize * ((float) frequencySpan / (float) m_sampleRate); + int effFftSize = m_fftSize * ((float) frequencySpan / (float) getDisplayedSampleRate()); for (int i = 0; i < m_histogramMarkers.size(); i++) { @@ -3515,7 +4087,7 @@ void GLSpectrumView::updateHistogramMarkers() m_histogramMarkers[i].m_point.ry() = (m_powerScale.getRangeMax() - powerI) / m_powerScale.getRange(); // m_histogramMarkers[i].m_fftBin = - // (((m_histogramMarkers[i].m_frequency - m_centerFrequency) / (float) m_sampleRate) + 0.5) * m_fftSize; + // (((m_histogramMarkers[i].m_frequency - centerFrequency) / (float) getDisplayedSampleRate()) + 0.5) * m_fftSize; m_histogramMarkers[i].m_fftBin = (((m_histogramMarkers[i].m_frequency - centerFrequency) / (float) frequencySpan) + 0.5) * effFftSize; m_histogramMarkers[i].m_point.rx() = m_histogramMarkers[i].m_point.rx() < 0 ? @@ -3530,7 +4102,7 @@ void GLSpectrumView::updateHistogramMarkers() m_histogramMarkers[i].m_frequencyStr = displayScaled( m_histogramMarkers[i].m_frequency, 'f', - getPrecision((m_centerFrequency*1000)/m_sampleRate), + getPrecision((centerFrequency*1000)/getDisplayedSampleRate()), false); m_histogramMarkers[i].m_powerStr = displayPower( powerI, @@ -3543,7 +4115,7 @@ void GLSpectrumView::updateHistogramMarkers() m_histogramMarkers[i].m_deltaFrequencyStr = displayScaled( deltaFrequency, 'f', - getPrecision(deltaFrequency/m_sampleRate), + getPrecision(deltaFrequency/getDisplayedSampleRate()), true); float power0 = m_linear ? m_histogramMarkers.at(0).m_power * (m_useCalibration ? m_calibrationGain : 1.0f) : @@ -3583,7 +4155,7 @@ void GLSpectrumView::updateHistogramPeaks() m_histogramMarkers[i].m_frequencyStr = displayScaled( m_histogramMarkers[i].m_frequency, 'f', - getPrecision((m_centerFrequency*1000)/m_sampleRate), + getPrecision((getDisplayedCenterFrequency()*1000)/getDisplayedSampleRate()), false ); } @@ -3593,7 +4165,7 @@ void GLSpectrumView::updateHistogramPeaks() m_histogramMarkers[i].m_deltaFrequencyStr = displayScaled( deltaFrequency, 'f', - getPrecision(deltaFrequency/m_sampleRate), + getPrecision(deltaFrequency/getDisplayedSampleRate()), true ); } @@ -3624,7 +4196,7 @@ void GLSpectrumView::updateWaterfallMarkers() m_waterfallMarkers[i].m_frequencyStr = displayScaled( m_waterfallMarkers[i].m_frequency, 'f', - getPrecision((m_centerFrequency*1000)/m_sampleRate), + getPrecision((getDisplayedCenterFrequency()*1000)/getDisplayedSampleRate()), false); m_waterfallMarkers[i].m_timeStr = displayScaledF( m_waterfallMarkers[i].m_time, @@ -3638,7 +4210,7 @@ void GLSpectrumView::updateWaterfallMarkers() m_waterfallMarkers.back().m_deltaFrequencyStr = displayScaled( deltaFrequency, 'f', - getPrecision(deltaFrequency/m_sampleRate), + getPrecision(deltaFrequency/getDisplayedSampleRate()), true); m_waterfallMarkers.back().m_deltaTimeStr = displayScaledF( m_waterfallMarkers.at(i).m_time - m_waterfallMarkers.at(0).m_time, @@ -3716,13 +4288,13 @@ void GLSpectrumView::updateCalibrationPoints() QList sortedCalibrationPoints = m_calibrationPoints; std::sort(sortedCalibrationPoints.begin(), sortedCalibrationPoints.end(), calibrationPointsLessThan); - if (m_centerFrequency <= sortedCalibrationPoints.first().m_frequency) + if (getDisplayedCenterFrequency() <= sortedCalibrationPoints.first().m_frequency) { m_calibrationGain = m_calibrationPoints.first().m_powerCalibratedReference / m_calibrationPoints.first().m_powerRelativeReference; m_calibrationShiftdB = CalcDb::dbPower(m_calibrationGain); } - else if (m_centerFrequency >= sortedCalibrationPoints.last().m_frequency) + else if (getDisplayedCenterFrequency() >= sortedCalibrationPoints.last().m_frequency) { m_calibrationGain = m_calibrationPoints.last().m_powerCalibratedReference / m_calibrationPoints.last().m_powerRelativeReference; @@ -3735,7 +4307,7 @@ void GLSpectrumView::updateCalibrationPoints() for (int index = 0; index < sortedCalibrationPoints.size(); index++) { - if (m_centerFrequency < sortedCalibrationPoints[index].m_frequency) + if (getDisplayedCenterFrequency() < sortedCalibrationPoints[index].m_frequency) { highIndex = index; break; @@ -3749,7 +4321,7 @@ void GLSpectrumView::updateCalibrationPoints() // frequency interpolation is always linear double deltaFrequency = sortedCalibrationPoints[highIndex].m_frequency - sortedCalibrationPoints[lowIndex].m_frequency; - double shiftFrequency = m_centerFrequency - sortedCalibrationPoints[lowIndex].m_frequency; + double shiftFrequency = getDisplayedCenterFrequency() - sortedCalibrationPoints[lowIndex].m_frequency; double interpolationRatio = shiftFrequency / deltaFrequency; // calculate low and high gains in linear mode @@ -3792,7 +4364,7 @@ bool GLSpectrumView::event(QEvent* event) { if (pan->state() == Qt::GestureStarted) { - m_scrollStartCenterFreq = m_centerFrequency; + m_scrollStartCenterFreq = getDisplayedCenterFrequency(); } else if (pan->state() == Qt::GestureUpdated) { @@ -3809,7 +4381,7 @@ bool GLSpectrumView::event(QEvent* event) // https://bugreports.qt.io/browse/QTBUG-109205 if (!m_pinching) { - m_scrollStartCenterFreq = m_centerFrequency; + m_scrollStartCenterFreq = getDisplayedCenterFrequency(); m_pinchStart = pinch->centerPoint(); m_pinching = true; m_pinching3D = m_display3DSpectrogram && pointInWaterfallOrSpectrogram(mapFromGlobal(m_pinchStart.toPoint())); @@ -3856,6 +4428,32 @@ bool GLSpectrumView::event(QEvent* event) void GLSpectrumView::mouseMoveEvent(QMouseEvent* event) { + if (m_displayCursorStats) + { + if ((m_displayMaxHold || m_displayCurrent || m_displayHistogram) && pointInHistogram(event->localPos())) + { + m_cursorOverSpectrum = true; + + // Calculate frequency under the cursor + const QPointF& ep = event->localPos(); + QPointF pHis = ep; + pHis.rx() = (ep.x()/width() - m_histogramRect.left()) / m_histogramRect.width(); + pHis.ry() = (ep.y()/height() - m_histogramRect.top()) / m_histogramRect.height(); + m_cursorFrequency = m_frequencyScale.getRangeMin() + pHis.x()*m_frequencyScale.getRange(); + + // Calculate FFT bin under the cursor + float f = (m_cursorFrequency - m_frequencyScale.getRangeMin()) / m_frequencyScale.getRange(); // [0..1] fraction of zoomed frequency range + f += 1.0f / (2.0f * m_nbBins); // Shift by half a bin to get center of bin rather than edge + m_cursorFFTBin = (int) (m_fftMin + f * m_nbBins) % m_fftSize; + + m_displayChanged = true; + } + else + { + m_cursorOverSpectrum = false; + } + } + if (m_rotate3DSpectrogram && !m_pinching3D) { // Rotate 3D Spectrogram @@ -3955,15 +4553,15 @@ void GLSpectrumView::mouseMoveEvent(QMouseEvent* event) // and if so, request an adjustment to the center frequency // FIXME: This doesn't take zoom into account, so only works when zoomed out Real freqAbs = m_frequencyScale.getValueFromPos(event->x() - m_leftMarginPixmap.width() - 1); - Real freqMin = m_centerFrequency - m_sampleRate / 2.0f; - Real freqMax = m_centerFrequency + m_sampleRate / 2.0f; + Real freqMin = getDisplayedCenterFrequency() - getDisplayedSampleRate() / 2.0f; + Real freqMax = getDisplayedCenterFrequency() + getDisplayedSampleRate() / 2.0f; if (freqAbs < freqMin) { - queueRequestCenterFrequency(m_centerFrequency - (freqMin - freqAbs)); + queueRequestCenterFrequency(getDisplayedCenterFrequency() - (freqMin - freqAbs)); } else if (freqAbs > freqMax) { - queueRequestCenterFrequency(m_centerFrequency + (freqAbs - freqMax)); + queueRequestCenterFrequency(getDisplayedCenterFrequency() + (freqAbs - freqMax)); } - Real freq = freqAbs - m_centerFrequency; + Real freq = freqAbs - getDisplayedCenterFrequency(); if (m_channelMarkerStates[m_cursorChannel]->m_channelMarker->getMovable() && (m_channelMarkerStates[m_cursorChannel]->m_channelMarker->getSourceOrSinkStream() == m_displaySourceOrSink) && m_channelMarkerStates[m_cursorChannel]->m_channelMarker->streamIndexApplies(m_displayStreamIndex)) @@ -4031,7 +4629,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) if ((event->button() == Qt::MiddleButton) && (m_displayMaxHold || m_displayCurrent || m_displayHistogram) && pointInHistogram(ep)) { m_scrollFrequency = true; - m_scrollStartCenterFreq = m_centerFrequency; + m_scrollStartCenterFreq = getDisplayedCenterFrequency(); m_mousePrevLocalPos = ep; return; } @@ -4122,7 +4720,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) float frequency = m_frequencyScale.getRangeMin() + pHis.x()*m_frequencyScale.getRange(); float powerVal = m_powerScale.getRangeMax() - pHis.y()*m_powerScale.getRange(); float power = m_linear ? powerVal : CalcDb::powerFromdB(powerVal); - int fftBin = (((frequency - m_centerFrequency) / (float) m_sampleRate) * m_fftSize) + (m_fftSize / 2); + int fftBin = (((frequency - getDisplayedCenterFrequency()) / (float) getDisplayedSampleRate()) * m_fftSize) + (m_fftSize / 2); if ((pHis.x() >= 0) && (pHis.x() <= 1) && (pHis.y() >= 0) && (pHis.y() <= 1)) { @@ -4135,7 +4733,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) m_histogramMarkers.back().m_frequencyStr = displayScaled( frequency, 'f', - getPrecision((m_centerFrequency*1000)/m_sampleRate), + getPrecision((getDisplayedCenterFrequency()*1000)/getDisplayedSampleRate()), false); m_histogramMarkers.back().m_power = power; m_histogramMarkers.back().m_powerStr = displayPower( @@ -4149,7 +4747,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) m_histogramMarkers.back().m_deltaFrequencyStr = displayScaled( deltaFrequency, 'f', - getPrecision(deltaFrequency/m_sampleRate), + getPrecision(deltaFrequency/getDisplayedSampleRate()), true); float power0 = m_linear ? m_histogramMarkers.at(0).m_power : @@ -4183,7 +4781,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) m_waterfallMarkers.back().m_frequencyStr = displayScaled( frequency, 'f', - getPrecision((m_centerFrequency*1000)/m_sampleRate), + getPrecision((getDisplayedCenterFrequency()*1000)/getDisplayedSampleRate()), false); m_waterfallMarkers.back().m_time = time; m_waterfallMarkers.back().m_timeStr = displayScaledF( @@ -4198,7 +4796,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) m_waterfallMarkers.back().m_deltaFrequencyStr = displayScaled( deltaFrequency, 'f', - getPrecision(deltaFrequency/m_sampleRate), + getPrecision(deltaFrequency/getDisplayedSampleRate()), true); m_waterfallMarkers.back().m_deltaTimeStr = displayScaledF( time - m_waterfallMarkers.at(0).m_time, @@ -4306,7 +4904,7 @@ void GLSpectrumView::mousePressEvent(QMouseEvent* event) setCursor(Qt::SizeHorCursor); m_cursorState = CSChannelMoving; m_cursorChannel = 0; - Real freq = m_frequencyScale.getValueFromPos(event->x() - m_leftMarginPixmap.width() - 1) - m_centerFrequency; + Real freq = m_frequencyScale.getValueFromPos(event->x() - m_leftMarginPixmap.width() - 1) - getDisplayedCenterFrequency(); if (m_channelMarkerStates[m_cursorChannel]->m_channelMarker->getMovable() && (m_channelMarkerStates[m_cursorChannel]->m_channelMarker->getSourceOrSinkStream() == m_displaySourceOrSink) @@ -4383,7 +4981,7 @@ void GLSpectrumView::zoomFactor(const QPointF& p, float factor) float zoomFreq = m_frequencyScale.getRangeMin() + pwx*m_frequencyScale.getRange(); // Calculate current centre frequency - float currentCF = (m_frequencyZoomFactor == 1) ? m_centerFrequency : ((m_frequencyZoomPos - 0.5) * m_sampleRate + m_centerFrequency); + float currentCF = (m_frequencyZoomFactor == 1) ? getDisplayedCenterFrequency() : ((m_frequencyZoomPos - 0.5) * getDisplayedSampleRate() + getDisplayedCenterFrequency()); // Calculate difference from frequency under cursor to centre frequency float freqDiff = (currentCF - zoomFreq); @@ -4401,16 +4999,18 @@ void GLSpectrumView::zoomFactor(const QPointF& p, float factor) float zoomedCF = zoomFreq + zoomedFreqDiff; // Calculate zoom position which will set the desired center frequency - float zoomPos = (zoomedCF - m_centerFrequency) / m_sampleRate + 0.5; + float zoomPos = (zoomedCF - getDisplayedCenterFrequency()) / getDisplayedSampleRate() + 0.5; zoomPos = std::max(0.0f, zoomPos); zoomPos = std::min(1.0f, zoomPos); frequencyZoom(zoomPos); } - } +} void GLSpectrumView::zoom(const QPointF& p, int y) { + QMutexLocker mutexLocker(&m_mutex); // Lock to ensure we don't try to redraw mid calculation of zoom and fftMin/fftMax + float pwx = (p.x() - m_leftMargin) / (width() - m_leftMargin - m_rightMargin); // x position in window if ((pwx >= 0.0f) && (pwx <= 1.0f)) @@ -4421,8 +5021,8 @@ void GLSpectrumView::zoom(const QPointF& p, int y) float zoomFreq = m_frequencyScale.getRangeMin() + pwx*m_frequencyScale.getRange(); // Calculate current centre frequency - int adjSampleRate = m_ssbSpectrum ? m_sampleRate/2 : m_sampleRate; - qint64 adjCenterFrequency = m_centerFrequency + (m_ssbSpectrum ? m_sampleRate/4 : 0); + int adjSampleRate = m_ssbSpectrum ? getDisplayedSampleRate()/2 : getDisplayedSampleRate(); + qint64 adjCenterFrequency = getDisplayedCenterFrequency() + (m_ssbSpectrum ? getDisplayedSampleRate()/4 : 0); float currentCF = (m_frequencyZoomFactor == 1) ? adjCenterFrequency : (m_frequencyZoomPos - 0.5) * adjSampleRate + adjCenterFrequency; @@ -4491,7 +5091,8 @@ void GLSpectrumView::zoom(const QPointF& p, int y) void GLSpectrumView::frequencyZoom(float zoomPos) { m_frequencyZoomPos = zoomPos; - updateFFTLimits(); + updateFFTLimits(false); + m_displayChanged = true; } void GLSpectrumView::frequencyPan(QMouseEvent *event) @@ -4509,7 +5110,7 @@ void GLSpectrumView::frequencyPan(QMouseEvent *event) m_frequencyZoomPos = m_frequencyZoomPos < lim ? lim : m_frequencyZoomPos > 1 - lim ? 1 - lim : m_frequencyZoomPos; qDebug("GLSpectrumView::frequencyPan: pw: %f p: %f", pw, m_frequencyZoomPos); - updateFFTLimits(); + updateFFTLimits(false); } void GLSpectrumView::timeZoom(bool zoomInElseOut) @@ -4540,9 +5141,11 @@ void GLSpectrumView::powerZoom(float pw, bool zoomInElseOut) m_referenceLevel = m_referenceLevel + (zoomInElseOut ? -1 : 1); } // top - m_powerRange = m_powerRange < 1 ? 1 : m_powerRange > 100 ? 100 : m_powerRange; - m_referenceLevel = m_referenceLevel < -110 ? -110 : m_referenceLevel > 0 ? 0 : m_referenceLevel; + m_powerRange = std::clamp(m_powerRange, m_minPowerRange, m_maxPowerRange); + m_referenceLevel = std::clamp(m_referenceLevel, m_minReferenceLevel, m_maxReferenceLevel); m_changesPending = true; + m_displayChanged = true; + redrawWaterfallAnd3DSpectrogram(); if (m_messageQueueToGUI) { m_messageQueueToGUI->push(new MsgReportPowerScale(m_referenceLevel, m_powerRange)); @@ -4554,25 +5157,32 @@ void GLSpectrumView::resetFrequencyZoom() m_frequencyZoomFactor = 1.0f; m_frequencyZoomPos = 0.5f; - updateFFTLimits(); + updateFFTLimits(false); } -void GLSpectrumView::updateFFTLimits() +void GLSpectrumView::updateFFTLimits(bool fftSizeChangedOnly) { - if (m_spectrumVis) + if (!fftSizeChangedOnly) { - m_spectrumVis->getInputMessageQueue()->push(SpectrumVis::MsgFrequencyZooming::create( - m_frequencyZoomFactor, m_frequencyZoomPos - )); + if (m_messageQueueToGUI) + { + m_messageQueueToGUI->push(GLSpectrumView::MsgFrequencyZooming::create( + m_frequencyZoomFactor, m_frequencyZoomPos + )); + } } - if (m_messageQueueToGUI) - { - m_messageQueueToGUI->push(SpectrumVis::MsgFrequencyZooming::create( - m_frequencyZoomFactor, m_frequencyZoomPos - )); + m_fftMin = m_frequencyZoomFactor == 1.0f ? 0 : (m_frequencyZoomPos - (0.5f / m_frequencyZoomFactor)) * m_fftSize; + m_fftMax = m_frequencyZoomFactor == 1.0f ? m_fftSize : (m_frequencyZoomPos + (0.5f / m_frequencyZoomFactor)) * m_fftSize; + if (m_fftMin < 0) { + m_fftMin = 0; } + if (m_fftMax > m_fftSize) { + m_fftMax = m_fftSize; + } + m_nbBins = m_fftMax - m_fftMin; + m_redrawAll = true; m_changesPending = true; } @@ -4582,6 +5192,18 @@ void GLSpectrumView::setFrequencyZooming(float frequencyZoomFactor, float freque frequencyZoom(frequencyZoomPos); } +void GLSpectrumView::setReferenceLevelRange(Real minReferenceLevel, Real maxReferenceLevel) +{ + m_minReferenceLevel = minReferenceLevel; + m_maxReferenceLevel = maxReferenceLevel; +} + +void GLSpectrumView::setPowerRangeRange(Real minPowerRange, Real maxPowerRange) +{ + m_minPowerRange = minPowerRange; + m_maxPowerRange = maxPowerRange; +} + void GLSpectrumView::setFrequencyScale() { int frequencySpan; @@ -4615,20 +5237,14 @@ void GLSpectrumView::setPowerScale(int height) void GLSpectrumView::getFrequencyZoom(int64_t& centerFrequency, int& frequencySpan) { - int adjSampleRate = m_ssbSpectrum ? m_sampleRate/2 : m_sampleRate; - qint64 adjCenterFrequency = m_centerFrequency + (m_ssbSpectrum ? m_sampleRate/4 : 0); + int adjSampleRate = m_ssbSpectrum ? getDisplayedSampleRate()/2 : getDisplayedSampleRate(); + qint64 adjCenterFrequency = getDisplayedCenterFrequency() + (m_ssbSpectrum ? getDisplayedSampleRate()/4 : 0); frequencySpan = (m_frequencyZoomFactor == 1) ? adjSampleRate : adjSampleRate * (1.0 / m_frequencyZoomFactor); centerFrequency = (m_frequencyZoomFactor == 1) ? adjCenterFrequency : (m_frequencyZoomPos - 0.5) * adjSampleRate + adjCenterFrequency; } -// void GLSpectrumView::updateFFTLimits() -// { -// m_fftMin = m_frequencyZoomFactor == 1 ? 0 : (m_frequencyZoomPos - (0.5f / m_frequencyZoomFactor)) * m_fftSize; -// m_fftMax = m_frequencyZoomFactor == 1 ? m_fftSize : (m_frequencyZoomPos - (0.5f / m_frequencyZoomFactor)) * m_fftSize; -// } - void GLSpectrumView::channelMarkerMove(QWheelEvent *event, int mul) { for (int i = 0; i < m_channelMarkerStates.size(); ++i) @@ -4650,7 +5266,7 @@ void GLSpectrumView::channelMarkerMove(QWheelEvent *event, int mul) } // calculate scale relative cursor position for new frequency - float x_pos = m_frequencyScale.getPosFromValue(m_centerFrequency + freq); + float x_pos = m_frequencyScale.getPosFromValue(getDisplayedCenterFrequency() + freq); if ((x_pos >= 0.0) && (x_pos < m_frequencyScale.getSize())) // cursor must be in scale { @@ -4713,6 +5329,9 @@ void GLSpectrumView::leaveEvent(QEvent* event) void GLSpectrumView::tick() { + // Update scroll bar to account for changes to m_spectrumBuffer and waterfall size changes + updateScrollBar(); + if (m_displayChanged) { m_displayChanged = false; @@ -4919,18 +5538,21 @@ void GLSpectrumView::drawTextsRight(const QStringList &text, const QStringList & int textWidth, maxWidth; for (int i = text.length() - 1; i >= 0; i--) { - textWidth = fm.horizontalAdvance(units[i]); - painter.drawText(QPointF(x - textWidth, y), units[i]); - x -= textWidth; + if (!text[i].isEmpty() || !value[i].isEmpty()) + { + textWidth = fm.horizontalAdvance(units[i]); + painter.drawText(QPointF(x - textWidth, y), units[i]); + x -= textWidth; - textWidth = fm.horizontalAdvance(value[i]); - maxWidth = fm.horizontalAdvance(max[i]); - painter.drawText(QPointF(x - textWidth, y), value[i]); - x -= maxWidth; + textWidth = fm.horizontalAdvance(value[i]); + maxWidth = fm.horizontalAdvance(max[i]); + painter.drawText(QPointF(x - textWidth, y), value[i]); + x -= maxWidth; - textWidth = fm.horizontalAdvance(text[i]); - painter.drawText(QPointF(x - textWidth, y), text[i]); - x -= textWidth; + textWidth = fm.horizontalAdvance(text[i]); + painter.drawText(QPointF(x - textWidth, y), text[i]); + x -= textWidth; + } } m_glShaderTextOverlay.initTexture(m_infoPixmap.toImage()); @@ -5065,26 +5687,110 @@ void GLSpectrumView::drawTextOverlay( void GLSpectrumView::formatTextInfo(QString& info) { + QString spacing = " "; + if (m_useCalibration) { - info.append(tr("CAL:%1dB ").arg(QString::number(m_calibrationShiftdB, 'f', 1))); + info.append(tr("CAL:%1dB%2").arg(QString::number(m_calibrationShiftdB, 'f', 1)).arg(spacing)); } if (m_frequencyZoomFactor != 1.0f) { - info.append(tr("%1x ").arg(QString::number(m_frequencyZoomFactor, 'f', 1))); + info.append(tr("%1x%2").arg(QString::number(m_frequencyZoomFactor, 'f', 1)).arg(spacing)); } - if (m_sampleRate == 0) + if (getDisplayedSampleRate() == 0) { - info.append(tr("CF:%1 SP:%2").arg(m_centerFrequency).arg(m_sampleRate)); + info.append(tr("CF:%1 SP:%2%3").arg(getDisplayedCenterFrequency()).arg(getDisplayedSampleRate()).arg(spacing)); } else { int64_t centerFrequency; int frequencySpan; getFrequencyZoom(centerFrequency, frequencySpan); - info.append(tr("CF:%1 ").arg(displayScaled(centerFrequency, 'f', getPrecision(centerFrequency/frequencySpan), true))); - info.append(tr("SP:%1 ").arg(displayScaled(frequencySpan, 'f', 3, true))); + info.append(tr("CF:%1%2").arg(displayScaled(centerFrequency, 'f', getPrecision(centerFrequency/frequencySpan), true)).arg(spacing)); + info.append(tr("SP:%1%2").arg(displayScaled(frequencySpan, 'f', 3, true)).arg(spacing)); } + + if (m_displayRBW) + { + float rbw = getDisplayedSampleRate() / (float) m_fftSize; + info.append(tr("RBW:%1%2").arg(displayScaled(rbw, 'f', 3, true)).arg(spacing)); + } +} + +// Paint right side of status line, which contains peak power/freq and power/freq under cursor +void GLSpectrumView::paintStatusLineRight() +{ + QString cursorInfo; + QString cursorPower; + QString cursorFreq; + QString cursorPowerUnits; + QString cursorFreqUnits; + + if (m_displayCursorStats && m_cursorOverSpectrum && m_currentSpectrum && (m_cursorFFTBin < m_fftSize)) + { + Real power = m_currentSpectrum[m_cursorFFTBin]; + + cursorInfo = tr("Cur: "); + cursorPower = displayPower(power, m_linear ? 'e' : 'f', m_linear ? 3 : 1); + cursorFreq = displayFull(m_cursorFrequency); + cursorPowerUnits = m_peakPowerUnits; + cursorFreqUnits = "Hz"; + } + + QString peakInfo; + QString peakPower; + QString peakFreq; + QString peakPowerUnits; + QString peakFreqUnits; + + if (m_displayPeakStats && m_currentSpectrum) + { + float peakPowerValue; + float peakFreqValue; + findPeak(&m_currentSpectrum[m_fftMin], peakPowerValue, peakFreqValue); + peakInfo = tr("Pk: "); + peakPower = displayPower(peakPowerValue, m_linear ? 'e' : 'f', m_linear ? 3 : 1); + peakFreq = displayFull(peakFreqValue); + peakPowerUnits = m_peakPowerUnits; + peakFreqUnits = "Hz"; + } + + if (m_displayCursorStats || m_displayPeakStats) + { + QString spacing = m_displayCursorStats && m_displayPeakStats ? " " : ""; + + drawTextsRight( + { + cursorInfo, + "", + spacing, + peakInfo, + "" + }, + { + cursorPower, + cursorFreq, + "", + peakPower, + peakFreq + }, + { + m_peakPowerMaxStr, + m_peakFrequencyMaxStr, + "", + m_peakPowerMaxStr, + m_peakFrequencyMaxStr + }, + { + cursorPowerUnits, + cursorFreqUnits, + "", + peakPowerUnits, + peakFreqUnits + } + ); + } + } bool GLSpectrumView::eventFilter(QObject *object, QEvent *event) @@ -5172,3 +5878,24 @@ bool GLSpectrumView::eventFilter(QObject *object, QEvent *event) return QOpenGLWidget::eventFilter(object, event); } } + +void GLSpectrumView::setMemory(int memoryIdx, const SpectrumSettings::SpectrumMemory &memory) +{ + QMutexLocker mutexLocker(&m_mutex); + m_spectrumMemory[memoryIdx] = memory; + m_displayChanged = true; +} + +void GLSpectrumView::getDisplayedSpectrumCopy(std::vector& copy, bool zoomed) +{ + QMutexLocker mutexLocker(&m_mutex); + + if (m_currentSpectrum) + { + if (zoomed) { + copy.assign(m_currentSpectrum + m_fftMin, m_currentSpectrum + m_fftMax); + } else { + copy.assign(m_currentSpectrum, m_currentSpectrum + m_fftSize); + } + } +} diff --git a/sdrgui/gui/glspectrumview.h b/sdrgui/gui/glspectrumview.h index 93ffd077c..7e73de90b 100644 --- a/sdrgui/gui/glspectrumview.h +++ b/sdrgui/gui/glspectrumview.h @@ -3,7 +3,7 @@ // written by Christian Daniel // // Copyright (C) 2015-2022 Edouard Griffiths, F4EXB // // Copyright (C) 2018 beta-tester // -// Copyright (C) 2022-2023 Jon Beniston, M7RCE // +// Copyright (C) 2022-2026 Jon Beniston, M7RCE // // Copyright (C) 2022 Jiří Pinkava // // // // OpenGL interface modernization. // @@ -34,6 +34,8 @@ #include #include #include +#include +#include #include "gui/qtcompatibility.h" #include "gui/scaleengine.h" #include "gui/glshadersimple.h" @@ -47,6 +49,7 @@ #include "export.h" #include "util/incrementalarray.h" #include "util/message.h" +#include "util/circularbuffer.h" #include "util/colormap.h" #include "util/peakfinder.h" @@ -56,7 +59,7 @@ class SpectrumVis; class QOpenGLDebugLogger; class SpectrumMeasurements; -class SDRGUI_API GLSpectrumView : public QOpenGLWidget, public GLSpectrumInterface { +class SDRGUI_API GLSpectrumView : public QOpenGLWidget, public GLSpectrumInterface, public ScaleEngine::TickFormatter { Q_OBJECT public: @@ -155,6 +158,28 @@ public: {} }; + class MsgFrequencyZooming : public Message { + MESSAGE_CLASS_DECLARATION + + public: + float getFrequencyZoomFactor() const { return m_frequencyZoomFactor; } + float getFrequencyZoomPos() const { return m_frequencyZoomPos; } + + static MsgFrequencyZooming* create(float frequencyZoomFactor, float frequencyZoomPos) { + return new MsgFrequencyZooming(frequencyZoomFactor, frequencyZoomPos); + } + + private: + float m_frequencyZoomFactor; + float m_frequencyZoomPos; + + MsgFrequencyZooming(float frequencyZoomFactor, float frequencyZoomPos) : + Message(), + m_frequencyZoomFactor(frequencyZoomFactor), + m_frequencyZoomPos(frequencyZoomPos) + { } + }; + GLSpectrumView(QWidget* parent = nullptr); virtual ~GLSpectrumView(); @@ -166,13 +191,16 @@ public: void setTimingRate(qint32 timingRate); void setFFTOverlap(int overlap); void setReferenceLevel(Real referenceLevel); + void setReferenceLevelRange(Real minReferenceLevel, Real maxReferenceLevel); void setPowerRange(Real powerRange); + void setPowerRangeRange(Real minPowerRange, Real maxPowerRange); void setDecay(int decay); void setDecayDivisor(int decayDivisor); void setHistoStroke(int stroke); void setDisplayWaterfall(bool display); void setDisplay3DSpectrogram(bool display); void set3DSpectrogramStyle(SpectrumSettings::SpectrogramStyle style); + void setSpectrumColor(QRgb color); void setColorMapName(const QString &colorMapName); void setSpectrumStyle(SpectrumSettings::SpectrumStyle style); void setSsbSpectrum(bool ssbSpectrum); @@ -190,14 +218,15 @@ public: void setMeasurements(SpectrumMeasurements *measurements) { m_measurements = measurements; } void setMeasurementParams(SpectrumSettings::Measurement measurement, int centerFrequencyOffset, int bandwidth, int chSpacing, int adjChBandwidth, - int harmonics, int peaks, bool highlight, int precision); + int harmonics, int peaks, bool highlight, int precision, unsigned memoryMask); + void resetMeasurements(); qint32 getSampleRate() const { return m_sampleRate; } void addChannelMarker(ChannelMarker* channelMarker); void removeChannelMarker(ChannelMarker* channelMarker); void setMessageQueueToGUI(MessageQueue* messageQueue) { m_messageQueueToGUI = messageQueue; } - virtual void newSpectrum(const Real* spectrum, int nbBins, int fftSize); + virtual void newSpectrum(const Real* spectrum, int fftSize); void clearSpectrumHistogram(); Real getWaterfallShare() const { return m_waterfallShare; } @@ -237,6 +266,17 @@ public: void setIsDeviceSpectrum(bool isDeviceSpectrum) { m_isDeviceSpectrum = isDeviceSpectrum; } bool isDeviceSpectrum() const { return m_isDeviceSpectrum; } void setFrequencyZooming(float frequencyZoomFactor, float frequencyZoomPos); + void setWaterfallTimeFormat(SpectrumSettings::WaterfallTimeUnits waterfallTimeUnits, const QString& format); + void setStatusLine(bool displayRBW, bool displayCursorStats, bool displayPeakStats); + void setScrolling(bool enabled, int length); + void setScrollBar(QScrollBar* scrollBar); + void readCSV(QTextStream &in, bool append, QString &error); + void writeCSV(QTextStream &out); + bool writeImage(const QString& filename); + void getDisplayedSpectrumCopy(std::vector& copy, bool zoomed); + void setMemory(int memoryIdx, const SpectrumSettings::SpectrumMemory &memory); + + QString formatTick(double value) const override; private: struct ChannelMarkerState { @@ -282,10 +322,15 @@ private: QMutex m_mutex; bool m_mouseInside; bool m_changesPending; + bool m_redrawAll; // Call redrawSpectrum/redrawWaterfallAnd3DSpectrogram in applyChanges() qint64 m_centerFrequency; Real m_referenceLevel; + Real m_minReferenceLevel; + Real m_maxReferenceLevel; Real m_powerRange; + Real m_minPowerRange; + Real m_maxPowerRange; bool m_linear; int m_decay; quint32 m_sampleRate; @@ -294,6 +339,8 @@ private: int m_fftSize; //!< FFT size in number of bins int m_nbBins; //!< Number of visible FFT bins (zoom support) + int m_fftMin; //!< First bin when zooming in + int m_fftMax; //!< Last bin when zooming in bool m_displayGrid; int m_displayGridIntensity; @@ -315,6 +362,8 @@ private: int m_histogramHeight; int m_waterfallHeight; int m_bottomMargin; + int m_waterfallTop; + int m_histogramTop; QFont m_textOverlayFont; QPixmap m_leftMarginPixmap; QPixmap m_frequencyPixmap; @@ -357,6 +406,7 @@ private: QPixmap m_spectrogramTimePixmap; QPixmap m_spectrogramPowerPixmap; SpectrumSettings::SpectrogramStyle m_3DSpectrogramStyle; + QColor m_spectrumColor; QString m_colorMapName; SpectrumSettings::SpectrumStyle m_spectrumStyle; const float *m_colorMap; @@ -426,16 +476,56 @@ private: int m_measurementPeaks; bool m_measurementHighlight; int m_measurementPrecision; + int m_measurementMemMasks; + std::vector m_maskTestCount; + std::vector m_maskFailCount; + std::vector> m_maskFails; static const QVector4D m_measurementLightMarkerColor; static const QVector4D m_measurementDarkMarkerColor; + bool m_displayRBW; + bool m_displayCursorStats; + bool m_displayPeakStats; + bool m_cursorOverSpectrum; + float m_cursorFrequency; + int m_cursorFFTBin; + + std::vector m_spectrumNoBuffer; // Copy of most recent spectrum, when scroll buffer disabled + + // Spectrum scroll buffer + + struct Spectrum { + Real *m_spectrum; + quint32 m_sampleRate; + qint64 m_centerFrequency; + QDateTime m_dateTime; + }; + + CircularBuffer m_spectrumBuffer; + int m_spectrumBufferFFTSize; + int m_spectrumBufferMaxSize; + QScrollBar* m_scrollBar; + bool m_scrollBarEnabled; + int m_scrollBarValue; + + SpectrumSettings::WaterfallTimeUnits m_waterfallTimeUnits; + QString m_waterfallTimeFormat; + + QVector m_spectrumMemory; + #ifdef ENABLE_PROFILER QString m_profileName; #endif - void updateWaterfall(const Real *spectrum); - void update3DSpectrogram(const Real *spectrum); - void updateHistogram(const Real *spectrum); + void newSpectrum(const Real* spectrum, int fftSize, quint32 sampleRate, qint64 centerFrequency, const QDateTime &dateTime); + void updateSpectrumNoBuffer(const Real *spectrum, int fftSize); + void clearSpectrumBuffer(); + void updateSpectrumBuffer(const Real *spectrum, int fftSize, quint32 sampleRate, qint64 centerFrequency, const QDateTime &dateTime); + void clearWaterfallRow(int nbBins); + void updateWaterfall(const Real *spectrum, int fftSize, int fftMin, int nbBins); + void clear3DSpectrogramRow(int nbBins); + void update3DSpectrogram(const Real *spectrum, int fftSize, int fftMin, int nbBins); + void updateHistogram(const Real *spectrum, int fftSize, int fftMin, int nbBins); void initializeGL(); void resizeGL(int width, int height); @@ -446,18 +536,19 @@ private: void drawSpectrumMarkers(); void drawAnnotationMarkers(); - void measurePeak(); - void measurePeaks(); - void measureChannelPower(); - void measureAdjacentChannelPower(); - void measureOccupiedBandwidth(); - void measure3dBBandwidth(); - void measureSNR(); - void measureSFDR(); - float calcChannelPower(int64_t centerFrequency, int channelBandwidth) const; + void measure(const Real *spectrum, bool updateGUI); + void measurePeaks(const Real *spectrum); + void measureChannelPower(const Real *spectrum, bool updateGUI); + void measureAdjacentChannelPower(const Real *spectrum, bool updateGUI); + void measureOccupiedBandwidth(const Real *spectrum, bool updateGUI); + void measure3dBBandwidth(const Real *spectrum, bool updateGUI); + void measureSNR(const Real *spectrum, bool updateGUI); + void measureSFDR(const Real *spectrum, bool updateGUI); + void measureMask(const Real *spectrum, int fftSize, bool updateGUI); + float calcChannelPower(const Real *spectrum, int64_t centerFrequency, int channelBandwidth) const; float calPower(float power) const; int findPeakBin(const Real *spectrum) const; - void findPeak(float &power, float &frequency) const; + void findPeak(const Real *spectrum, float &power, float &frequency) const; void peakWidth(const Real *spectrum, int center, int &left, int &right, int maxLeft, int maxRight) const; int frequencyToBin(int64_t frequency) const; int64_t binToFrequency(int bin) const; @@ -478,7 +569,7 @@ private: void timeZoom(bool zoomInElseOut); void powerZoom(float pw, bool zoomInElseOut); void resetFrequencyZoom(); - void updateFFTLimits(); + void updateFFTLimits(bool fftSizeOnly); void setFrequencyScale(); void setPowerScale(int height); void getFrequencyZoom(int64_t& centerFrequency, int& frequencySpan); @@ -515,6 +606,16 @@ private: void updateSortedAnnotationMarkers(); void queueRequestCenterFrequency(qint64 frequency); + void setTimeScaleRange(); + void redrawSpectrum(); + void redrawWaterfallAnd3DSpectrogram(); + void paintLeftScales(); + void paintStatusLineRight(); + void updateScrollBar(); + int scrollBarValue() const; + qint64 getDisplayedCenterFrequency() const; + quint32 getDisplayedSampleRate() const; + static bool annotationDisplayLessThan(const SpectrumAnnotationMarker *m1, const SpectrumAnnotationMarker *m2) { if (m1->m_bandwidth == m2->m_bandwidth) { @@ -529,6 +630,21 @@ private: return m1.m_frequency < m2.m_frequency; } + inline Real clampPower(Real value) const + { + return std::clamp(value, -m_powerRange, 0.0f); + } + + inline int clampWaterfall(int value) const + { + return std::clamp(value, 0, 239); + } + + inline int clampPixel(int value) const + { + return std::clamp(value, 0, 255); + } + private slots: void cleanup(); void tick(); @@ -536,6 +652,7 @@ private slots: void channelMarkerDestroyed(QObject* object); void openGLDebug(const QOpenGLDebugMessage &debugMessage); bool eventFilter(QObject *object, QEvent *event); + void scrollBarValueChanged(int value); signals: // Emitted when user tries to scroll to frequency currently out of range diff --git a/sdrgui/gui/scaleengine.cpp b/sdrgui/gui/scaleengine.cpp index 1b1709c05..28e0135c3 100644 --- a/sdrgui/gui/scaleengine.cpp +++ b/sdrgui/gui/scaleengine.cpp @@ -34,7 +34,10 @@ static double trunc(double d) QString ScaleEngine::formatTick(double value, int decimalPlaces) { - if (m_physicalUnit != Unit::TimeHMS) + if (m_tickFormatter) { + return m_tickFormatter->formatTick(value); + } + else if (m_physicalUnit != Unit::TimeHMS) { if (m_physicalUnit == Unit::Scientific) { return QString("%1").arg(m_makeOpposite ? -value : value, 0, 'e', m_fixedDecimalPlaces); @@ -862,7 +865,8 @@ ScaleEngine::ScaleEngine() : m_makeOpposite(false), m_truncateMode(false), m_truncated(false), - m_truncationValue(0.0) + m_truncationValue(0.0), + m_tickFormatter(nullptr) { } diff --git a/sdrgui/gui/scaleengine.h b/sdrgui/gui/scaleengine.h index 2ca92f38f..9a57d35d0 100644 --- a/sdrgui/gui/scaleengine.h +++ b/sdrgui/gui/scaleengine.h @@ -39,6 +39,11 @@ public: }; typedef QList TickList; + class TickFormatter { + public: + virtual QString formatTick(double value) const = 0; + }; + ScaleEngine(); void setOrientation(Qt::Orientation orientation); @@ -59,6 +64,9 @@ public: float getScaleWidth(); + void setTickFormatter(TickFormatter *tickFormatter) { m_tickFormatter = tickFormatter; } + void requestReCalc() { m_recalc = true; } + private: // base configuration Qt::Orientation m_orientation; @@ -87,6 +95,8 @@ private: bool m_truncated; //!< true if upper digits are truncated double m_truncationValue; //!< value to subreact from tick display values + TickFormatter *m_tickFormatter; + QString formatTick(double value, int decimalPlaces); void calcCharSize(); void calcScaleFactor(); diff --git a/sdrgui/gui/spectrum.md b/sdrgui/gui/spectrum.md index 018a2e9e8..e1f91452f 100644 --- a/sdrgui/gui/spectrum.md +++ b/sdrgui/gui/spectrum.md @@ -1,4 +1,4 @@ -

Spectrum component

+

Spectrum component

This page details the spectrum component that takes part of the main spectrum display and is also used in some channel and feature plugins. @@ -28,6 +28,9 @@ A status line is displayed at the left of the top margin. It displays the follow - if frequency zooming is active the zooming factor - `CF:` followed by the Center Frequency of the displayed spectrum possibly with multiplier suffix (G, M, k) - `SP:` followed by the frequency SPan of the displayed spectrum possibly with multiplier suffix (M, k) + - `RBW:` followed by the RBW (Resolution BandWidth) of the displayed spectrum possibly with multiplier suffix (k). This is optional and must be enabled in the Spectrum Display Settings dialog. + - `Cur:` followed by the power in dB and frequency under the cursor. This is optional and must be enabled in the Spectrum Display Settings dialog. + - `Pk:` followed by the power in dB and frequency of the highest peak in the displayed spectrum. This is optional and must be enabled in the Spectrum Display Settings dialog.

Spectrum markers

@@ -93,9 +96,9 @@ When the mouse is inside the time scale (waterfall) the overlap is increased by

B. Spectrum controls

-Controls are organized in 6 blocks arranged in a flow layout so that the size of the control area can adapt to the width of the spectrum arranging the blocks from 4 to 1 line as the spectrum widens. The buttons and various controls in each block remain at the same place. +Controls are organized in 7 blocks arranged in a flow layout so that the size of the control area can adapt to the width of the spectrum arranging the blocks from 4 to 1 line as the spectrum widens. The buttons and various controls in each block remain at the same place. -Narrow (4 lines): +Narrow (5 lines): ![Spectrum GUI](../../doc/img/MainWindow_spectrum_gui_narrow.png) @@ -103,7 +106,9 @@ Wide (1 line): ![Spectrum GUI](../../doc/img/MainWindow_spectrum_gui_wide.png) -The 6 blocks are detailed next: +Not all controls are visible by default. See B.7.8 for how to select which controls are visible. + +The 7 blocks are detailed next: ![Spectrum GUI](../../doc/img/MainWindow_spectrum_gui.png) @@ -254,7 +259,8 @@ Use this combo to select which averaging mode is applied: - **Mov**: moving average. This is a sliding average over the amount of samples specified next (B.2.5). There is one complete FFT line produced at every FFT sampling period - **Fix**: fixed average. Average is done over the amount of samples specified next (B.2.5) and a result is produced at the end of the corresponding period then the next block of averaged samples is processed. There is one complete FFT line produced every FFT sampling period multiplied by the number of averaged samples (4.6). The time scale on the waterfall display is updated accordingly. - **Max**: this is not an averaging but a max hold. It will retain the maximum value over the amount of samples specified next (B.2.5). Similarly to the fixed average a result is produced at the end of the corresponding period which results in slowing down the waterfall display. The point of this mode is to make outlying short bursts within the "averaging" period stand out. With averaging they would only cause a modest increase and could be missed out. - + - **Min**: It will retain the minimum value over the amount of samples specified next (B.2.5). Similarly to the fixed average a result is produced at the end of the corresponding period which results in slowing down the waterfall display. This mode is useful to measure the noise floor by retaining the minimum value over the averaging period. +

B.4.5: Number of averaged samples

Each FFT bin (squared magnitude) is averaged or max'ed over a number of samples. This combo allows selecting the number of samples between these values: 1 (no averaging), 2, 5, 10, 20, 50, 100, 200, 500, 1k (1000) for all modes and in addition 2k, 5k, 10k, 20k, 50k, 1e5 (100000), 2e5, 5e5, 1M (1000000) for "fixed" and "max" modes. Averaging reduces the noise variance and can be used to better detect weak continuous signals. The fixed averaging mode allows long time monitoring on the waterfall. The max mode helps showing short bursts that may appear during the "averaging" period. @@ -263,6 +269,26 @@ The resulting spectrum refresh period appears in the tooltip taking sample rate, Period = ((((FFT_size ÷ 2) - overlap) × 2) ÷ sample_rate) × averaging_size +

B.4.6:Math mode

+ +Use this combo to select which mathematical operation is applied to the spectrum: + - **No**: no math operation. + - **x-μ**: difference between current spectrum and a moving average. + - **x-μ dB**: difference between current spectrum and a moving average after values are converted to dB (so x/μ). + - **x-μ+∧μ dB**: difference between current spectrum and a moving average after values are converted to dB (so x/μ) and then adding the average back in dB (∧μ) to keep the overall level of the spectrum. This is useful to make outlying short bursts within the "averaging" period stand out while keeping the overall level of the spectrum unchanged. With "x-μ dB" the resulting spectrum would be centered around zero which may not be desirable. + - **x-μ dB**: absolute value of difference between current spectrum and a moving average after values are converted to dB (so |x/μ|). + - **x-M1**: difference between current spectrum and the spectrum stored in memory M1. + - **x-M1 dB**: difference between current spectrum and the spectrum stored in memory M1 after values are converted to dB (so x/M1). + - **|x-M1| dB**: absolute value of difference between current spectrum and the spectrum stored in memory M1 after values are converted to dB (so |x/M1|). + - **x-M2**: difference between current spectrum and the spectrum stored in memory M2. + - **x-M2 dB**: difference between current spectrum and the spectrum stored in memory M2 after values are converted to dB (so x/M1). + - **|x-M2| dB**: absolute value of difference between current spectrum and the spectrum stored in memory M1 after values are converted to dB (so |x/M1|). + +

B.4.7: Math moving average length

+ +When the math mode (B.4.6) is set to a move that requires a moving average (x-μ, x-μ dB, x-μ+∧μ dB, |x-μ| dB) this combo allows selecting the number of samples for the moving average between these values. +One of the predefined values can be selected or a user-defined value can be entered between 2 and 1M. +

B.5: Spectrum display controls - block #5

![Spectrum GUI E](../../doc/img/MainWindow_spectrum_gui_E.png) @@ -298,17 +324,56 @@ Use this toggle button to switch between spectrum logarithmic and linear scale d When in linear mode the range control (B.3.3) has no effect because the actual range is between 0 and the reference level. The reference level in dB (B.3.2) still applies but is translated to a linear value e.g -40 dB is 1e-4. In linear mode the scale numbers are formatted using scientific notation so that they always occupy the same space. -

B.6: Spectrum miscellaneous controls - block #6

+

B.6: Spectrum memory controls - block #6

-![Spectrum GUI F](../../doc/img/MainWindow_spectrum_gui_F.png) +![Spectrum GUI E](../../doc/img/MainWindow_spectrum_gui_F.png) -

B.6.1: Play/Pause spectrum

+ +

B.6.1: Memory 1

+ +Left clicking M1 toggles display of the spectrum stored in memory M1. + +Right clicking M1 displays a menu with the following options: + - **Clear M1**: clears the spectrum stored in memory M1. + - **Set M1 to current spectrum**: stores the current spectrum in memory M1. + - **Set M1 to moving average**: stores the moving average in memory M1. This option is only available when the Math mode (B.4.6) is set to a mode that uses the moving average. + - **Add offset to M1**: displays a dialog that allows the user to enter a value that will be added to each value in M1. This allows the spectrum to be moved up or down. + - **Smooth M1**: smooths the values in M1. Values are set to the average of the neighbouring 5 samples. This can be applied repeatedly to further smooth the spectrum. + - **Set M1 to M1+M2**: adds M1 to M2, storing the result in M1. + - **Set M1 to M1-M2**: subtracts M2 from M1, storing the result in M1. + - **Load M1 from .csv**: loads M1 from a .csv file. The .csv should have a single column named Power, with FFT size rows. + - **Save M1 to .csv**: saves M1 to a .csv file. + +Colour and label for the M1 spectrum can be set in the Spectrum Display Settings dialog. + +

B.6.2: Memory 2

+ +Left clicking M2 toggles display of the spectrum stored in memory M2. + +Right clicking M2 display a menu as described above for M1. + +

B.6.3.: Load spectrum to CSV file

+ +Click to specify the name of a .csv file that will be loaded to the current spectrum or spectrum scroll buffer. + +

B.6.4: Save spectrum to CSV file

+ +Click to specify the name of a .csv file that will have the current spectrum or spectrum scroll buffer saved to. + +

B.6.5: Save spectrum/waterfall to image file

+ +Click to specify the name of a .png or .jpg file to save the current display (spectrum and waterfall) to. + +

B.7: Spectrum miscellaneous controls - block #7

+ +![Spectrum GUI F](../../doc/img/MainWindow_spectrum_gui_G.png) + + +

B.7.1: Play/Pause spectrum

Use this button to freeze the spectrum update. Useful when making measurements with the markers. -

B.6.2: Save spectrum to CSV file

- -

B.6.3: Spectrum server control

+

B.7.2: Spectrum server control

A websockets based server can be used to send spectrum data to clients. An example of such client can be found in the [SDRangelSpectrum](https://github.com/f4exb/sdrangelspectrum) project. @@ -368,24 +433,98 @@ The server only sends data. Control including FFT details is done via the REST A -

B.6.4: Spectrum markers dialog

+

B.7.3: Spectrum markers dialog

Opens the [spectrum markers dialog](spectrummarkers.md) -

B.6.5: Spectrum measurements dialog

+

B.7.4: Spectrum measurements dialog

Opens the [Spectrum measurement control dialog](spectrummeasurements.md) Check this link for details on the available measurements. -

B.6.6: Spectrum calibration

+

B.7.5: Spectrum calibration

Use the toggle button to switch between relative and calibrated power readings. Right click to open the [calibration management dialog](spectrumcalibration.md) -

B.6.7: Go to annotation marker

+

B.7.6: Spectrum Display Settings dialog

+ +Click to open the Spectrum Display Settings dialog. + +

B.7.7: Spectrum controls display

+ +Selects which of these spectrum controls are displayed. This allows a user to hide less frequently used controls. + + - **Min**: displays a minimum set of controls. + - **Std**: displays the standard set of controls. + - **All**: displays all controls. + +

B.7.8: Go to annotation marker

This combo only appears if the spectrum display is the spectrum of a device (i.e. main spectrum) and if there are visible annotation markers. It allows to set the device center frequency to the frequency of the selected annotation marker. +

Spectrum Display Settings dialog

+ +The Spectrum Display Settings dialog contains settings that do not have dedicated controls below the spectrum. + +![Spectrum Display Settings dialog](../../doc/img/Spectrum_Display_Settings.png) + +

Waterfall Scrolling

+ +When enabled, a scroll bar will be displayed on the right hand side of the spectrum and spectra will be stored in memory that can be larger than the displayed waterfall. +The scroll bar can then be used to scroll through and display any spectra in memory. The number of spectra that can be stored in memory can be set via the Length (Spectra) field. +The amount of RAM required and total time duration of all spectra are displayed underneath. + +

Waterfall Axis

+ +

Time units

+ +Specifies what units will be used for the vertical time axis for the waterfall. + + - **Time offset**: displays a time offset. + - **Local time**: displays local time. Only available when Waterfall Scrolling is enabled. + - **UTC time**: displays UTC time. Only available when Waterfall Scrolling is enabled. + +

Time format

+ +When local time or UTC time is used for the time axis, the Time format field species how that time will be formatted. The default is hh:mm:ss. Other examples include: + + - **dd.MM.yyyy** - 21.05.2001 + - **ddd MMMM d yy** - Tue May 21 01 + - **hh:mm:ss.zzz** - 14:13:09.120 + - **hh:mm:ss.z** - 14:13:09.12 + - **h:m:s ap** - 2:13:9 pm + +

Status Line

+ +Allows customizing which information is displayed in the status line. + +

Display RBW

+ +When checked, the Resolution Bandwidth (RBW) will be displayed in the status line. + +

Display power/frequency under cursor

+ +When checked, the power and frequency of the FFT bin under the cursor will be displayed in the status line. + +

Display peak power/frequency

+ +When checked, the power and frequency of the highest peak will be displayed in the status line. + +

Spectrum Memories

+ +

Memory

+ +Selects which memory settings will be displayed for (M1 or M2). + +

Label

+ +Specifies a text label that will be displayed to the left hand side of the spectrum held in the memory. + +

Color

+ +Specifies the color to draw the spectrum held in the memory. +

3D Spectrogram Controls

![3D Spectrogram](../../doc/img/MainWindow_3D_spectrogram.png) diff --git a/sdrgui/gui/spectrumdisplaysettingsdialog.cpp b/sdrgui/gui/spectrumdisplaysettingsdialog.cpp new file mode 100644 index 000000000..79abd47a6 --- /dev/null +++ b/sdrgui/gui/spectrumdisplaysettingsdialog.cpp @@ -0,0 +1,197 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2026 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#include + +#include "spectrumdisplaysettingsdialog.h" +#include "glspectrum.h" + +#include "ui_spectrumdisplaysettingsdialog.h" + +static QString rgbToColor(quint32 rgb) +{ + QColor color = QColor::fromRgba(rgb); + return QString("%1,%2,%3").arg(color.red()).arg(color.green()).arg(color.blue()); +} + +static QString backgroundCSS(quint32 rgb) +{ + // Must specify a border, otherwise we end up with a gradient instead of solid background + return QString("QToolButton { background-color: rgb(%1); border: none; }").arg(rgbToColor(rgb)); +} + +SpectrumDisplaySettingsDialog::SpectrumDisplaySettingsDialog(GLSpectrum *glSpectrum, SpectrumSettings *settings, int sampleRate, QWidget *parent) : + QDialog(parent), + ui(new Ui::SpectrumDisplaySettingsDialog), + m_glSpectrum(glSpectrum), + m_settings(settings), + m_sampleRate(sampleRate) +{ + ui->setupUi(this); + + m_spectrumColor = m_settings->m_spectrumColor; + ui->spectrumColor->setStyleSheet(backgroundCSS(m_spectrumColor)); + + for (int i = 0; i < settings->m_spectrumMemory.size(); i++) + { + MemorySettings memorySetting = {settings->m_spectrumMemory[i].m_color, settings->m_spectrumMemory[i].m_label}; + m_memorySettings.append(memorySetting); + } + + ui->waterfallScrollBar->setChecked(m_settings->m_scrollBar); + ui->scrollLength->setValue(m_settings->m_scrollLength); + + ui->waterfallVerticalAxisUnits->setCurrentIndex((int) m_settings->m_waterfallTimeUnits); + ui->waterfallVerticalAxisFormat->setText(m_settings->m_waterfallTimeFormat); + + ui->displayRBW->setChecked(m_settings->m_displayRBW); + ui->displayCursorStats->setChecked(m_settings->m_displayCursorStats); + ui->displayPeakStats->setChecked(m_settings->m_displayPeakStats); + + displaySettings(); +} + +SpectrumDisplaySettingsDialog::~SpectrumDisplaySettingsDialog() +{} + +void SpectrumDisplaySettingsDialog::accept() +{ + m_settings->m_waterfallTimeUnits = (SpectrumSettings::WaterfallTimeUnits) ui->waterfallVerticalAxisUnits->currentIndex(); + m_settings->m_waterfallTimeFormat = ui->waterfallVerticalAxisFormat->text(); + m_settings->m_scrollBar = ui->waterfallScrollBar->isChecked(); + m_settings->m_scrollLength = ui->scrollLength->value(); + m_settings->m_displayRBW = ui->displayRBW->isChecked(); + m_settings->m_displayCursorStats = ui->displayCursorStats->isChecked(); + m_settings->m_displayPeakStats = ui->displayPeakStats->isChecked(); + m_settings->m_spectrumColor = m_spectrumColor; + + for (int i = 0; i < m_settings->m_spectrumMemory.size(); i++) + { + m_settings->m_spectrumMemory[i].m_color = m_memorySettings[i].m_color; + m_settings->m_spectrumMemory[i].m_label = m_memorySettings[i].m_label; + } + + QDialog::accept(); +} + +void SpectrumDisplaySettingsDialog::displaySettings() +{ + bool enabled = ui->waterfallScrollBar->isChecked(); + ui->scrollLengthLabel->setEnabled(enabled); + ui->scrollLength->setEnabled(enabled); + ui->scrollRAMLabel->setEnabled(enabled); + ui->scrollRAM->setEnabled(enabled); + ui->scrollTimeLabel->setEnabled(enabled); + ui->scrollTime->setEnabled(enabled); + + ui->waterfallVerticalAxisUnitsLabel->setEnabled(enabled); + ui->waterfallVerticalAxisUnits->setEnabled(enabled); + + bool formatEnabled = ui->waterfallScrollBar->isChecked() && (ui->waterfallVerticalAxisUnits->currentIndex() != (int)SpectrumSettings::WaterfallTimeUnits::TimeOffset); + if (!formatEnabled) { + ui->waterfallVerticalAxisUnits->setCurrentIndex((int) SpectrumSettings::WaterfallTimeUnits::TimeOffset); + } + ui->waterfallVerticalAxisFormatLabel->setEnabled(formatEnabled); + ui->waterfallVerticalAxisFormat->setEnabled(formatEnabled); + + // Calculate RAM usage + + std::size_t ram = ui->scrollLength->value() * (m_settings->m_fftSize * sizeof(float) + sizeof(Real *) + sizeof(int) + sizeof(qint64) + sizeof(QDateTime)); + + ui->scrollRAM->setText(tr("%1 MB").arg(ram / 1024 / 1024)); + + // Calculate time duration of complete scroll history + + float fftRate = m_sampleRate / (float) m_settings->m_fftSize * (100.0f - m_settings->m_fftOverlap) / 100.0f; + if (m_settings->m_averagingMode == SpectrumSettings::AvgModeFixed) { + fftRate /= m_settings->getAveragingValue(m_settings->m_averagingIndex, m_settings->m_averagingMode); + } + int secs = ui->scrollLength->value() / fftRate; + int hours = secs / 3600; + secs -= hours * 3600; + int minutes = secs / 60; + secs -= minutes * 60; + + ui->scrollTime->setText(QString("%1:%2:%3") + .arg(hours, 2, 10, QChar('0')) + .arg(minutes, 2, 10, QChar('0')) + .arg(secs, 2, 10, QChar('0'))); + + displayMemorySettings(); +} + +void SpectrumDisplaySettingsDialog::displayMemorySettings() +{ + int idx = ui->memIdx->currentIndex(); + ui->memColor->setStyleSheet(backgroundCSS(m_memorySettings[idx].m_color)); + ui->memLabel->setText(m_memorySettings[idx].m_label); +} + +void SpectrumDisplaySettingsDialog::on_waterfallVerticalAxisUnits_currentIndexChanged(int index) +{ + (void) index; + + displaySettings(); +} + +void SpectrumDisplaySettingsDialog::on_waterfallScrollBar_clicked(bool checked) +{ + (void) checked; + + displaySettings(); +} + +void SpectrumDisplaySettingsDialog::on_scrollLength_valueChanged(int value) +{ + (void) value; + + displaySettings(); +} + +void SpectrumDisplaySettingsDialog::on_spectrumColor_clicked(bool checked) +{ + QColorDialog dialog(QColor::fromRgba(m_spectrumColor), ui->spectrumColor); + if (dialog.exec() == QDialog::Accepted) + { + QRgb color = dialog.selectedColor().rgba(); + ui->spectrumColor->setStyleSheet(backgroundCSS(color)); + m_spectrumColor = color; + } +} + +void SpectrumDisplaySettingsDialog::on_memIdx_currentIndexChanged(int index) +{ + (void) index; + + displayMemorySettings(); +} + +void SpectrumDisplaySettingsDialog::on_memColor_clicked(bool checked) +{ + QColorDialog dialog(QColor::fromRgba(m_memorySettings[ui->memIdx->currentIndex()].m_color), ui->memColor); + if (dialog.exec() == QDialog::Accepted) + { + QRgb color = dialog.selectedColor().rgba(); + ui->memColor->setStyleSheet(backgroundCSS(color)); + m_memorySettings[ui->memIdx->currentIndex()].m_color = color; + } +} + +void SpectrumDisplaySettingsDialog::on_memLabel_editingFinished() +{ + m_memorySettings[ui->memIdx->currentIndex()].m_label = ui->memLabel->text(); +} diff --git a/sdrgui/gui/spectrumdisplaysettingsdialog.h b/sdrgui/gui/spectrumdisplaysettingsdialog.h new file mode 100644 index 000000000..62ef99ef3 --- /dev/null +++ b/sdrgui/gui/spectrumdisplaysettingsdialog.h @@ -0,0 +1,66 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2026 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#ifndef SDRBASE_GUI_SPECTRUMDISPLAYSETTINGSDIALOG_H_ +#define SDRBASE_GUI_SPECTRUMDISPLAYSETTINGSDIALOG_H_ + +#include + +#include "dsp/spectrumsettings.h" +#include "export.h" + +namespace Ui { + class SpectrumDisplaySettingsDialog; +} + +class GLSpectrum; + +class SDRGUI_API SpectrumDisplaySettingsDialog : public QDialog { + Q_OBJECT + + struct MemorySettings { + QRgb m_color; + QString m_label; + }; + +public: + explicit SpectrumDisplaySettingsDialog(GLSpectrum *glSpectrum, SpectrumSettings *settings, int sampleRate, QWidget *parent = nullptr); + ~SpectrumDisplaySettingsDialog(); + +private: + void displaySettings(); + void displayMemorySettings(); + + Ui::SpectrumDisplaySettingsDialog *ui; + GLSpectrum *m_glSpectrum; + SpectrumSettings *m_settings; + int m_sampleRate; + QRgb m_spectrumColor; + QList m_memorySettings; + +private slots: + void on_waterfallVerticalAxisUnits_currentIndexChanged(int index); + void on_waterfallScrollBar_clicked(bool checked=false); + void on_scrollLength_valueChanged(int value); + void on_spectrumColor_clicked(bool checked=false); + void on_memIdx_currentIndexChanged(int index); + void on_memColor_clicked(bool checked=false); + void on_memLabel_editingFinished(); + void accept() override; +}; + +#endif // SDRBASE_GUI_SPECTRUMDISPLAYSETTINGSDIALOG_H_ diff --git a/sdrgui/gui/spectrumdisplaysettingsdialog.ui b/sdrgui/gui/spectrumdisplaysettingsdialog.ui new file mode 100644 index 000000000..f2197a50c --- /dev/null +++ b/sdrgui/gui/spectrumdisplaysettingsdialog.ui @@ -0,0 +1,424 @@ + + + SpectrumDisplaySettingsDialog + + + + 0 + 0 + 420 + 604 + + + + + 400 + 250 + + + + + Liberation Sans + 9 + + + + Spectrum Display Settings + + + + + + + + Waterfall Scrolling + + + + + + + 0 + 0 + + + + Enabled + + + + + + + Whether scrolling of the waterfall / 3D spectrogram is supported + + + + + + + + + + Length (Spectra) + + + + + + + Length of scroll buffer / how many spectra will be stored in RAM + + + 10000 + + + 1000000 + + + 100000 + + + + + + + RAM usage + + + + + + + How much RAM will be used by the scroll buffer + + + 10 M + + + + + + + Time duration + + + + + + + Time duration of scroll buffer in hh:mm:ss + + + 00:00:00 + + + + + + + + + + + + Waterfall Axis + + + + + + + 0 + 0 + + + + Time units + + + + + + + Values for waterfall/3D spectrogram vertical axis. Scolling needs to be enabled to display system time + + + 0 + + + + Time offset + + + + + Local time + + + + + UTC time + + + + + + + + Time format + + + + + + + Format string for time. + +dd.MM.yyyy - 21.05.2001 +ddd MMMM d yy - Tue May 21 01 +hh:mm:ss.zzz - 14:13:09.120 +hh:mm:ss.z - 14:13:09.12 +h:m:s ap - 2:13:9 pm + + + hh:mm:ss + + + + + + + + + + Status Line + + + + + + Display RBW (Resolution Bandwidth) in status line + + + Display RBW + + + + + + + Display power/frequency under cursor in status line + + + Display power/frequency under cursor + + + + + + + Display peak power/frequency + + + + + + + + + + Spectrum + + + + + + + 60 + 0 + + + + Color + + + + + + + Spectrum color + + + + + + + + + + + + + Spectrum Memories + + + + + + Memory + + + + + + + + + Select which memory to display settings for + + + + M1 + + + + + M2 + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + Label + + + + + + + + + + + 60 + 0 + + + + Color + + + + + + + + + Memory color + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Orientation::Horizontal + + + QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok + + + + + + + + + + + buttonBox + accepted() + SpectrumDisplaySettingsDialog + accept() + + + 257 + 194 + + + 157 + 203 + + + + + buttonBox + rejected() + SpectrumDisplaySettingsDialog + reject() + + + 314 + 194 + + + 286 + 203 + + + + + diff --git a/sdrgui/gui/spectrummeasurements.cpp b/sdrgui/gui/spectrummeasurements.cpp index 3ee45f2d6..245c39306 100644 --- a/sdrgui/gui/spectrummeasurements.cpp +++ b/sdrgui/gui/spectrummeasurements.cpp @@ -198,7 +198,8 @@ SpectrumMeasurements::SpectrumMeasurements(QWidget *parent) : m_measurement(SpectrumSettings::MeasurementPeaks), m_precision(1), m_table(nullptr), - m_peakTable(nullptr) + m_peakTable(nullptr), + m_maskTable(nullptr) { m_textBrush.setColor(Qt::white); // Should get this from the style sheet? m_redBrush.setColor(Qt::red); @@ -263,6 +264,10 @@ void SpectrumMeasurements::createMeasurementsTable(const QStringList &rows, cons // Cell context menu m_table->setContextMenuPolicy(Qt::CustomContextMenu); connect(m_table, &QTableWidget::customContextMenuRequested, this, &SpectrumMeasurements::tableContextMenu); + + // Enable mouse tracking for FramelessWindowResizer, as table is created after FramelessWindowResizer::enableChildMouseTracking is called + m_table->setMouseTracking(true); + m_table->viewport()->setMouseTracking(true); } void SpectrumMeasurements::createPeakTable(int peaks) @@ -306,6 +311,10 @@ void SpectrumMeasurements::createPeakTable(int peaks) // Cell context menu m_peakTable->setContextMenuPolicy(Qt::CustomContextMenu); connect(m_peakTable, &QTableWidget::customContextMenuRequested, this, &SpectrumMeasurements::peakTableContextMenu); + + // Enable mouse tracking for FramelessWindowResizer, as table is created after FramelessWindowResizer::enableChildMouseTracking is called + m_peakTable->setMouseTracking(true); + m_peakTable->viewport()->setMouseTracking(true); } void SpectrumMeasurements::createTableMenus() @@ -371,6 +380,52 @@ void SpectrumMeasurements::createSNRTable() createMeasurementsTable(rows, units); } +void SpectrumMeasurements::createMaskTable(unsigned memMask) +{ + int memories = qPopulationCount(memMask); + + m_maskTable = new SpectrumMeasurementsTable(); + m_maskTable->horizontalHeader()->setSectionsMovable(true); + + QStringList columns = QStringList{"Tests", "Fails", ""}; + + m_maskTable->setColumnCount(columns.size()); + m_maskTable->setRowCount(memories); + + for (int i = 0; i < columns.size(); i++) { + m_maskTable->setHorizontalHeaderItem(i, new QTableWidgetItem(columns[i])); + } + m_maskTable->horizontalHeader()->setStretchLastSection(true); + + int row = 0; + for (int i = 0; i < 32; i++) + { + if ((memMask & (1 << i)) != 0) + { + m_maskTable->setVerticalHeaderItem(row, new QTableWidgetItem(QString("M%1").arg(i + 1))); + + for (int j = 0; j < 2; j++) + { + QTableWidgetItem *item = new QTableWidgetItem(); + item->setFlags(Qt::ItemIsEnabled); + m_maskTable->setItem(row, j, item); + } + row++; + } + } + + m_maskTable->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + m_maskTable->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents); + + // Cell context menu + m_maskTable->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_maskTable, &QTableWidget::customContextMenuRequested, this, &SpectrumMeasurements::maskTableContextMenu); + + // Enable mouse tracking for FramelessWindowResizer, as table is created after FramelessWindowResizer::enableChildMouseTracking is called + m_maskTable->setMouseTracking(true); + m_maskTable->viewport()->setMouseTracking(true); +} + // Create column select menu item QAction *SpectrumMeasurements::createCheckableItem(QString &text, int idx, bool checked, bool row) { @@ -458,12 +513,34 @@ void SpectrumMeasurements::peakTableContextMenu(QPoint pos) connect(copyAction, &QAction::triggered, this, [text]()->void { QClipboard *clipboard = QGuiApplication::clipboard(); clipboard->setText(text); - }); + }); tableContextMenu->addAction(copyAction); tableContextMenu->addSeparator(); tableContextMenu->popup(m_peakTable->viewport()->mapToGlobal(pos)); - } + } +} + +void SpectrumMeasurements::maskTableContextMenu(QPoint pos) +{ + QTableWidgetItem *item = m_maskTable->itemAt(pos); + if (item) + { + QMenu* tableContextMenu = new QMenu(m_maskTable); + connect(tableContextMenu, &QMenu::aboutToHide, tableContextMenu, &QMenu::deleteLater); + + // Copy current cell + QAction* copyAction = new QAction("Copy", tableContextMenu); + const QString text = item->text(); + connect(copyAction, &QAction::triggered, this, [text]()->void { + QClipboard *clipboard = QGuiApplication::clipboard(); + clipboard->setText(text); + }); + tableContextMenu->addAction(copyAction); + tableContextMenu->addSeparator(); + + tableContextMenu->popup(m_peakTable->viewport()->mapToGlobal(pos)); + } } void SpectrumMeasurements::resizeMeasurementsTable() @@ -495,10 +572,11 @@ void SpectrumMeasurements::resizePeakTable() m_peakTable->removeRow(row); } -void SpectrumMeasurements::setMeasurementParams(SpectrumSettings::Measurement measurement, int peaks, int precision) +void SpectrumMeasurements::setMeasurementParams(SpectrumSettings::Measurement measurement, int peaks, int precision, unsigned memMasks) { if ( (measurement != m_measurement) || (m_precision != precision) + || (m_memMask != memMasks) || ((m_peakTable == nullptr) && (m_table == nullptr)) || ((m_peakTable != nullptr) && (peaks != m_peakTable->rowCount())) ) @@ -508,9 +586,12 @@ void SpectrumMeasurements::setMeasurementParams(SpectrumSettings::Measurement me m_peakTable = nullptr; delete m_table; m_table = nullptr; + delete m_maskTable; + m_maskTable = nullptr; m_measurement = measurement; m_precision = precision; + m_memMask = memMasks; switch (measurement) { @@ -543,6 +624,11 @@ void SpectrumMeasurements::setMeasurementParams(SpectrumSettings::Measurement me createSNRTable(); layout()->addWidget(m_table); break; + case SpectrumSettings::MeasurementMask: + reset(); + createMaskTable(m_memMask); + layout()->addWidget(m_maskTable); + break; default: break; } @@ -558,6 +644,11 @@ void SpectrumMeasurements::setMeasurementParams(SpectrumSettings::Measurement me m_table->show(); resize(sizeHint()); } + else if (m_maskTable) + { + m_maskTable->show(); + resize(sizeHint()); + } } } @@ -578,6 +669,16 @@ void SpectrumMeasurements::reset() } } } + if (m_maskTable) + { + for (int i = 0; i < m_maskTable->rowCount(); i++) + { + for (int j = COL_MASK_TESTS; j <= COL_MASK_FAILS; j++) + { + m_maskTable->item(i, j)->setData(Qt::DisplayRole, 0); + } + } + } } // Check the value meets the user-defined specification @@ -614,74 +715,88 @@ bool SpectrumMeasurements::checkSpec(const QString &spec, double value) const return false; } -void SpectrumMeasurements::updateMeasurement(int row, float value) +void SpectrumMeasurements::updateMeasurement(int row, float value, bool updateGUI) { - m_measurements[row].add(value); - double mean = m_measurements[row].mean(); - - m_table->item(row, COL_CURRENT)->setData(Qt::DisplayRole, value); - m_table->item(row, COL_MEAN)->setData(Qt::DisplayRole, mean); - m_table->item(row, COL_MIN)->setData(Qt::DisplayRole, m_measurements[row].m_min); - m_table->item(row, COL_MAX)->setData(Qt::DisplayRole, m_measurements[row].m_max); - m_table->item(row, COL_RANGE)->setData(Qt::DisplayRole, m_measurements[row].m_max - m_measurements[row].m_min); - m_table->item(row, COL_STD_DEV)->setData(Qt::DisplayRole, m_measurements[row].stdDev()); - m_table->item(row, COL_COUNT)->setData(Qt::DisplayRole, m_measurements[row].m_values.size()); - - QString spec = m_table->item(row, COL_SPEC)->text(); - bool valueOK = checkSpec(spec, value); - bool meanOK = checkSpec(spec, mean); - bool minOK = checkSpec(spec, m_measurements[row].m_min); - bool mmaxOK = checkSpec(spec, m_measurements[row].m_max); - - if (!valueOK) + if (!updateGUI) { - m_measurements[row].m_fails++; - m_table->item(row, 8)->setData(Qt::DisplayRole, m_measurements[row].m_fails); + m_measurements[row].add(value); + + double mean = m_measurements[row].mean(); + + QString spec = m_table->item(row, COL_SPEC)->text(); + bool valueOK = checkSpec(spec, value); + bool meanOK = checkSpec(spec, mean); + bool minOK = checkSpec(spec, m_measurements[row].m_min); + bool mmaxOK = checkSpec(spec, m_measurements[row].m_max); + + if (!valueOK) { + m_measurements[row].m_fails++; + } } + else + { + double mean = m_measurements[row].mean(); - // item->setForeground doesn't work, perhaps as we have style sheet applied? - m_table->item(row, COL_CURRENT)->setData(Qt::ForegroundRole, valueOK ? m_textBrush : m_redBrush); - m_table->item(row, COL_MEAN)->setData(Qt::ForegroundRole, meanOK ? m_textBrush : m_redBrush); - m_table->item(row, COL_MIN)->setData(Qt::ForegroundRole, minOK ? m_textBrush : m_redBrush); - m_table->item(row, COL_MAX)->setData(Qt::ForegroundRole, mmaxOK ? m_textBrush : m_redBrush); + m_table->item(row, COL_CURRENT)->setData(Qt::DisplayRole, value); + m_table->item(row, COL_MEAN)->setData(Qt::DisplayRole, mean); + m_table->item(row, COL_MIN)->setData(Qt::DisplayRole, m_measurements[row].m_min); + m_table->item(row, COL_MAX)->setData(Qt::DisplayRole, m_measurements[row].m_max); + m_table->item(row, COL_RANGE)->setData(Qt::DisplayRole, m_measurements[row].m_max - m_measurements[row].m_min); + m_table->item(row, COL_STD_DEV)->setData(Qt::DisplayRole, m_measurements[row].stdDev()); + m_table->item(row, COL_COUNT)->setData(Qt::DisplayRole, m_measurements[row].m_values.size()); + + QString spec = m_table->item(row, COL_SPEC)->text(); + bool valueOK = checkSpec(spec, value); + bool meanOK = checkSpec(spec, mean); + bool minOK = checkSpec(spec, m_measurements[row].m_min); + bool mmaxOK = checkSpec(spec, m_measurements[row].m_max); + + m_table->item(row, 8)->setData(Qt::DisplayRole, m_measurements[row].m_fails); + + // item->setForeground doesn't work, perhaps as we have style sheet applied? + m_table->item(row, COL_CURRENT)->setData(Qt::ForegroundRole, valueOK ? m_textBrush : m_redBrush); + m_table->item(row, COL_MEAN)->setData(Qt::ForegroundRole, meanOK ? m_textBrush : m_redBrush); + m_table->item(row, COL_MIN)->setData(Qt::ForegroundRole, minOK ? m_textBrush : m_redBrush); + m_table->item(row, COL_MAX)->setData(Qt::ForegroundRole, mmaxOK ? m_textBrush : m_redBrush); + } } -void SpectrumMeasurements::setSNR(float snr, float snfr, float thd, float thdpn, float sinad) +void SpectrumMeasurements::setSNR(float snr, float snfr, float thd, float thdpn, float sinad, bool updateGUI) { - updateMeasurement(0, snr); - updateMeasurement(1, snfr); - updateMeasurement(2, thd); - updateMeasurement(3, thdpn); - updateMeasurement(4, sinad); + updateMeasurement(0, snr, updateGUI); + updateMeasurement(1, snfr, updateGUI); + updateMeasurement(2, thd, updateGUI); + updateMeasurement(3, thdpn, updateGUI); + updateMeasurement(4, sinad, updateGUI); } -void SpectrumMeasurements::setSFDR(float sfdr) +void SpectrumMeasurements::setSFDR(float sfdr, bool updateGUI) { - updateMeasurement(5, sfdr); + updateMeasurement(5, sfdr, updateGUI); } -void SpectrumMeasurements::setChannelPower(float power) +void SpectrumMeasurements::setChannelPower(float power, bool updateGUI) { - updateMeasurement(0, power); + updateMeasurement(0, power, updateGUI); } -void SpectrumMeasurements::setAdjacentChannelPower(float left, float leftACPR, float center, float right, float rightACPR) +void SpectrumMeasurements::setAdjacentChannelPower(float left, float leftACPR, float center, float right, float rightACPR, bool updateGUI) { - updateMeasurement(0, left); - updateMeasurement(1, leftACPR); - updateMeasurement(2, center); - updateMeasurement(3, right); - updateMeasurement(4, rightACPR); + updateMeasurement(0, left, updateGUI); + updateMeasurement(1, leftACPR, updateGUI); + updateMeasurement(2, center, updateGUI); + updateMeasurement(3, right, updateGUI); + updateMeasurement(4, rightACPR, updateGUI); } -void SpectrumMeasurements::setOccupiedBandwidth(float occupiedBandwidth) +void SpectrumMeasurements::setOccupiedBandwidth(float occupiedBandwidth, bool updateGUI) { - updateMeasurement(0, occupiedBandwidth); + updateMeasurement(0, occupiedBandwidth, updateGUI); } -void SpectrumMeasurements::set3dBBandwidth(float bandwidth) +void SpectrumMeasurements::set3dBBandwidth(float bandwidth, bool updateGUI) { - updateMeasurement(0, bandwidth); + updateMeasurement(0, bandwidth, updateGUI); } void SpectrumMeasurements::setPeak(int peak, int64_t frequency, float power) @@ -696,3 +811,28 @@ void SpectrumMeasurements::setPeak(int peak, int64_t frequency, float power) qDebug() << "SpectrumMeasurements::setPeak: Attempt to set peak " << peak << " when only " << m_peakTable->rowCount() << " rows in peak table"; } } + +void SpectrumMeasurements::setMaskTestResult(int memoryIdx, qint64 count, qint64 fails) +{ + int row = 0; + + for (int i = 0; i < memoryIdx; i++) + { + if (m_memMask & (1 << i)) { + row++; + } + } + + if (row < m_maskTable->rowCount()) + { + QTableWidgetItem *testsItem = m_maskTable->item(row, COL_MASK_TESTS); + QTableWidgetItem *failsItem = m_maskTable->item(row, COL_MASK_FAILS); + + testsItem->setData(Qt::DisplayRole, count); + failsItem->setData(Qt::DisplayRole, fails); + } + else + { + qDebug() << "SpectrumMeasurements::addMaskTestResult: Result for memory " << memoryIdx << " when only " << m_maskTable->rowCount() << " rows in mask table"; + } +} diff --git a/sdrgui/gui/spectrummeasurements.h b/sdrgui/gui/spectrummeasurements.h index 96c9ec0fc..c14955e66 100644 --- a/sdrgui/gui/spectrummeasurements.h +++ b/sdrgui/gui/spectrummeasurements.h @@ -91,14 +91,15 @@ class SDRGUI_API SpectrumMeasurements : public QWidget { public: SpectrumMeasurements(QWidget *parent = nullptr); - void setMeasurementParams(SpectrumSettings::Measurement measurement, int peaks, int precision); - void setSNR(float snr, float snfr, float thd, float thdpn, float sinad); - void setSFDR(float sfdr); - void setChannelPower(float power); - void setAdjacentChannelPower(float left, float leftACPR, float center, float right, float rightACPR); - void setOccupiedBandwidth(float occupiedBandwidth); - void set3dBBandwidth(float bandwidth); + void setMeasurementParams(SpectrumSettings::Measurement measurement, int peaks, int precision, unsigned memMasks); + void setSNR(float snr, float snfr, float thd, float thdpn, float sinad, bool updateGUI); + void setSFDR(float sfdr, bool updateGUI); + void setChannelPower(float power, bool updateGUI); + void setAdjacentChannelPower(float left, float leftACPR, float center, float right, float rightACPR, bool updateGUI); + void setOccupiedBandwidth(float occupiedBandwidth, bool updateGUI); + void set3dBBandwidth(float bandwidth, bool updateGUI); void setPeak(int peak, int64_t frequency, float power); + void setMaskTestResult(int memoryIdx, qint64 count, qint64 fails); void reset(); private: @@ -110,8 +111,10 @@ private: void createOccupiedBandwidthTable(); void create3dBBandwidthTable(); void createSNRTable(); + void createMaskTable(unsigned memMask); void tableContextMenu(QPoint pos); void peakTableContextMenu(QPoint pos); + void maskTableContextMenu(QPoint pos); void rowSelectMenu(QPoint pos); void rowSelectMenuChecked(bool checked); void columnSelectMenu(QPoint pos); @@ -119,11 +122,12 @@ private: QAction *createCheckableItem(QString &text, int idx, bool checked, bool row); void resizeMeasurementsTable(); void resizePeakTable(); - void updateMeasurement(int row, float value); + void updateMeasurement(int row, float value, bool updateGUI); bool checkSpec(const QString &spec, double value) const; SpectrumSettings::Measurement m_measurement; int m_precision; + unsigned m_memMask; SpectrumMeasurementsTable *m_table; QMenu *m_rowMenu; @@ -134,6 +138,8 @@ private: QBrush m_textBrush; QBrush m_redBrush; + SpectrumMeasurementsTable *m_maskTable; + enum MeasurementsCol { COL_CURRENT, COL_MEAN, @@ -153,6 +159,11 @@ private: COL_PEAK_EMPTY }; + enum MaskTableCol { + COL_MASK_TESTS, + COL_MASK_FAILS + }; + static const QStringList m_measurementColumns; static const QStringList m_tooltips; diff --git a/sdrgui/gui/spectrummeasurements.md b/sdrgui/gui/spectrummeasurements.md index 87d64da62..0dc3d0236 100644 --- a/sdrgui/gui/spectrummeasurements.md +++ b/sdrgui/gui/spectrummeasurements.md @@ -116,6 +116,13 @@ SINAD is measured as per SNR, but the result is the ratio of the fundamental to SFDR is a measurement of the difference in power from the largest peak (the fundamental) to the second largest peak (the strongest spurious signal). +

Mask Test

+ +The mask test measurement checks whether the spectrum exceeds a user-defined mask. The mask is defined by a set of frequency and power points, held in memory M1 or M2. +Any points where the spectrum exceeds the mask are highlighted in red and held. The measurement results table shows the number of spectrum that fail the mask test. + +![Spectrum Measurements - Mask Test](../../doc/img/Spectrum_Measurement_Mask_Test.png) +

Specifications

The measurements table has a Spec column that allows entry of user-defined specifications for the Current, Mean, Min and Max values to be checked against. diff --git a/sdrgui/gui/spectrummeasurementsdialog.cpp b/sdrgui/gui/spectrummeasurementsdialog.cpp index b23241761..78be30f76 100644 --- a/sdrgui/gui/spectrummeasurementsdialog.cpp +++ b/sdrgui/gui/spectrummeasurementsdialog.cpp @@ -57,6 +57,9 @@ SpectrumMeasurementsDialog::SpectrumMeasurementsDialog(GLSpectrum *glSpectrum, S ui->harmonics->setValue(m_settings->m_measurementHarmonics); ui->peaks->setValue(m_settings->m_measurementPeaks); + ui->m1Mask->setChecked(m_settings->m_measurementMemMasks & 1); + ui->m2Mask->setChecked(m_settings->m_measurementMemMasks & 2); + displaySettings(); } @@ -66,11 +69,12 @@ SpectrumMeasurementsDialog::~SpectrumMeasurementsDialog() void SpectrumMeasurementsDialog::displaySettings() { bool show = m_settings->m_measurement != SpectrumSettings::MeasurementNone; + bool mask = m_settings->m_measurement == SpectrumSettings::MeasurementMask; ui->positionLabel->setVisible(show); ui->position->setVisible(show); - ui->precisionLabel->setVisible(show); - ui->precision->setVisible(show); + ui->precisionLabel->setVisible(show && !mask); + ui->precision->setVisible(show && !mask); ui->highlightLabel->setVisible(show); ui->highlight->setVisible(show); @@ -98,8 +102,11 @@ void SpectrumMeasurementsDialog::displaySettings() bool peaks = (m_settings->m_measurement == SpectrumSettings::MeasurementPeaks); ui->peaksLabel->setVisible(peaks && show); ui->peaks->setVisible(peaks && show); -} + ui->maskLabel->setVisible(mask); + ui->m1Mask->setVisible(mask); + ui->m2Mask->setVisible(mask); +} void SpectrumMeasurementsDialog::on_measurement_currentIndexChanged(int index) { @@ -131,7 +138,7 @@ void SpectrumMeasurementsDialog::on_resetMeasurements_clicked(bool checked) (void) checked; if (m_glSpectrum) { - m_glSpectrum->getMeasurements()->reset(); + m_glSpectrum->resetMeasurements(); } } @@ -170,3 +177,17 @@ void SpectrumMeasurementsDialog::on_peaks_valueChanged(int value) m_settings->m_measurementPeaks = value; emit updateMeasurements(); } + +void SpectrumMeasurementsDialog::on_m1Mask_toggled(bool checked) +{ + m_settings->m_measurementMemMasks &= ~1; + m_settings->m_measurementMemMasks |= checked ? 1 : 0; + emit updateMeasurements(); +} + +void SpectrumMeasurementsDialog::on_m2Mask_toggled(bool checked) +{ + m_settings->m_measurementMemMasks &= ~2; + m_settings->m_measurementMemMasks |= checked ? 2 : 0; + emit updateMeasurements(); +} diff --git a/sdrgui/gui/spectrummeasurementsdialog.h b/sdrgui/gui/spectrummeasurementsdialog.h index 6be0e653d..b215c76be 100644 --- a/sdrgui/gui/spectrummeasurementsdialog.h +++ b/sdrgui/gui/spectrummeasurementsdialog.h @@ -58,6 +58,8 @@ private slots: void on_adjChBandwidth_changed(qint64 value); void on_harmonics_valueChanged(int value); void on_peaks_valueChanged(int value); + void on_m1Mask_toggled(bool checked); + void on_m2Mask_toggled(bool checked); signals: void updateMeasurements(); diff --git a/sdrgui/gui/spectrummeasurementsdialog.ui b/sdrgui/gui/spectrummeasurementsdialog.ui index c1dd86019..430ac6861 100644 --- a/sdrgui/gui/spectrummeasurementsdialog.ui +++ b/sdrgui/gui/spectrummeasurementsdialog.ui @@ -7,7 +7,7 @@ 0 0 400 - 302 + 315 @@ -28,105 +28,6 @@ - - - - Highlight on spectrum - - - - - - - Number of harmonics - - - 20 - - - - - - - - 0 - 0 - - - - - 32 - 16 - - - - - DejaVu Sans Mono - 12 - - - - PointingHandCursor - - - Qt::StrongFocus - - - Center frequency offset (Hz) - - - - - - - Channel spacing - - - 2 - - - - - - - Where to display the measurements result table - - - - Above spectrum - - - - - Below spectrum - - - - - Left of spectrum - - - - - Right of spectrum - - - - - - - - Peaks - - - - - - - Center frequency offset - - - @@ -170,119 +71,11 @@ SNR - - - - - - Display results table - - - - - - - Channel bandwidth - - - 2 - - - - - - - - 0 - 0 - - - - - 32 - 16 - - - - - DejaVu Sans Mono - 12 - - - - PointingHandCursor - - - Qt::StrongFocus - - - Channel spacing (Hz) - - - - - - - Results precision - - - - - - - - 0 - 0 - - - - - 32 - 16 - - - - - DejaVu Sans Mono - 12 - - - - PointingHandCursor - - - Qt::StrongFocus - - - Channel bandwidth (Hz) - - - - - - - Measurement - - - - - - - Whether to highlight the measurements in the spectrum - - - - - - - - - - Harmonics - - - 2 - + + + Mask test + + @@ -298,26 +91,6 @@ - - - - Adjacent channel bandwidth - - - 2 - - - - - - - Precision of results (number of decimal places) - - - 9 - - - @@ -342,19 +115,301 @@ PointingHandCursor - Qt::StrongFocus + Qt::FocusPolicy::StrongFocus Adjacent channel bandwidth (Hz) + + + + Results precision + + + + + + + Harmonics + + + 2 + + + + + + + Precision of results (number of decimal places) + + + 9 + + + + + + + + + Use memory 2 as mask + + + M1 + + + true + + + + + + + Use memory 1 as mask + + + M2 + + + true + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + Number of harmonics + + + 20 + + + + + + + Whether to highlight the measurements in the spectrum + + + + + + + + + + Highlight on spectrum + + + + + + + Peaks + + + + + + + Center frequency offset + + + + + + + + 0 + 0 + + + + + 32 + 16 + + + + + DejaVu Sans Mono + 12 + + + + PointingHandCursor + + + Qt::FocusPolicy::StrongFocus + + + Center frequency offset (Hz) + + + + + + + Channel bandwidth + + + 2 + + + + + + + + 0 + 0 + + + + + 32 + 16 + + + + + DejaVu Sans Mono + 12 + + + + PointingHandCursor + + + Qt::FocusPolicy::StrongFocus + + + Channel bandwidth (Hz) + + + + + + + Channel spacing + + + 2 + + + + + + + Measurement + + + + + + + Where to display the measurements result table + + + + Above spectrum + + + + + Below spectrum + + + + + Left of spectrum + + + + + Right of spectrum + + + + + + + + Display results table + + + + + + + + 0 + 0 + + + + + 32 + 16 + + + + + DejaVu Sans Mono + 12 + + + + PointingHandCursor + + + Qt::FocusPolicy::StrongFocus + + + Channel spacing (Hz) + + + + + + + Memories to use as masks + + + + + + + Adjacent channel bandwidth + + + 2 + + + - Qt::Vertical + Qt::Orientation::Vertical @@ -379,10 +434,10 @@ - Qt::Horizontal + Qt::Orientation::Horizontal - QDialogButtonBox::Close + QDialogButtonBox::StandardButton::Close

veBq7Ho3OOuiB6FPcoMwnwj&nXu4mr*ohS`4m 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%0Ap2=aNSqhkHmW86 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≧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 Nc*H|Q5{z=5{|}LNU!ed1 diff --git a/doc/img/MainWindow_spectrum_gui_wide.png b/doc/img/MainWindow_spectrum_gui_wide.png index a569df96d7930d71fb11cce4c163fbfa2bf76286..caf39bff58c4e6a163ce438a0e0c03d8d375808b 100644 GIT binary patch literal 313872 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