c966f1cb5a
Add sizeToContents in ChannelGUI and FeatureGUI, called when widget is rolled, so we can remove resizing code from all of the individual channels and features. In RollupContents, use minimumSizeHint for calculated size, so that minimumWidth can come from .ui file. In DeviceGUI::sizeToContents(), call adjustSize(), so Device GUIs start out at minimum needed size (which should restore appearance prior to last patch). In stackSubWindows, use available space for channels if no spectrum/features present. In stackSubWindows, fix spectrum from being sized too big, resulting in scroll bars appearing. Reset user-defined channel width in stackSubWindows, when channels are removed. Don't stack maximized windows. There's one hack in Channel/FeatureGUI::maximizeWindow(). It seems that when maximimzing a window, QOpenGLWidgets aren't always paint properly immediately afterwards, so the code forces an additional update. I can't see why the first call to paintGL doesn't work. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
demodanalyzer.cpp | ||
demodanalyzer.h | ||
demodanalyzergui.cpp | ||
demodanalyzergui.h | ||
demodanalyzergui.ui | ||
demodanalyzerplugin.cpp | ||
demodanalyzerplugin.h | ||
demodanalyzersettings.cpp | ||
demodanalyzersettings.h | ||
demodanalyzerwebapiadapter.cpp | ||
demodanalyzerwebapiadapter.h | ||
demodanalyzerworker.cpp | ||
demodanalyzerworker.h | ||
readme.md |
(De)modulator Analyzer plugin
Introduction
This plugin can be used to analyze the real demodulated signal from some Rx channel plugins. It can also be used to view the modulating signal of some Tx channel plugins.
Rx plugins are:
- AIS demodulator
- AM demodulator
- DAB demodulator
- DSD (FM digital voice) demodulator
- NFM demodulator
- Packet demodulator
- SSB demodulator
- WFM demodulator
Tx plugins are:
- AIS modulator
- AM modulator
- NFM modulator
- Packet modulator
- SSB modulator
- WFM modulator
General interface
The interface is essentially divided in the following sections
- A. Channel controls
- B. Spectrum view
- C. Scope view
A. Channel controls
Typical sequence of operations:
- Start the plugin (A.1)
- Scan for displayable channels (A.2)
- Select channel (A.3)
- If channel is unique or default selection has not been changed press the (re)apply button (A.4)
A.1: Start/Stop plugin
This button starts or stops the plugin
A.2: (Re)scan available channels
Use this button to scan for channels available for display (see list of channel types in introduction)
A.3: Channel selection
Use this combo to select which channel to use for display. Channel is selected upon change. If channel is not changed or there is only one in the list you have to use the (re)apply button (A.4) to effectively connect the channel to the analyzer.
A.4: (Re)apply channel selection
Applies or re-applies channel selection (A.3) so that the channel gets effectively connected to the analyzer and signal is displayed. This will update the sample rate.
A.5: Decimation by a power of two
This combo can select half-band decimation from baseband sample rate by a power of two.
A.6: Analyzer sample rate
This is the resulting sample rate after possible decimation that is used by the spectrum and scope visualizations
A.7. Channel power
Average total power in dB relative to a +/- 1.0 amplitude signal received in the pass band.
B. Spectrum view
This is the same display as with the channel analyzer spectrum view. This is the spectrum of a real signal so it is symmetrical around zero frequency. Details on the spectrum view and controls can be found here
C. Scope view
This is the same display as with the channel analyzer scope view. Input is a real signal so imaginary part is always zero and some display are not relevant (phase and frequency displays). See Channel Analyzer plugin documentation for details.