1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-12 11:26:11 -05:00
sdrangel/plugins/feature/demodanalyzer
Jon Beniston c966f1cb5a dd maximize button to MainSpectrum and expandible Channels and Features.
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.
2022-11-11 12:24:27 +00:00
..
CMakeLists.txt Install debug symbols on Windows for debug builds 2022-02-06 12:56:58 +00:00
demodanalyzer.cpp Update threading model in Demod Analyzer feature. Part of #1346 2022-09-22 10:54:45 +02:00
demodanalyzer.h Update threading model in Demod Analyzer feature. Part of #1346 2022-09-22 10:54:45 +02:00
demodanalyzergui.cpp dd maximize button to MainSpectrum and expandible Channels and Features. 2022-11-11 12:24:27 +00:00
demodanalyzergui.h v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
demodanalyzergui.ui Massive UI revamping (v7): added channels 2022-04-12 16:20:45 +02:00
demodanalyzerplugin.cpp Updated versions and changelogs 2022-10-07 00:24:31 +02:00
demodanalyzerplugin.h Demod Analyzer implementation with AM modulator and demodulator 2020-12-20 18:31:59 +01:00
demodanalyzersettings.cpp M17 mod: allow connection to Demod Analyzer 2022-07-18 11:18:56 +02:00
demodanalyzersettings.h Massive UI revamping (v7): created configurations with just Features for now 2022-04-05 16:28:07 +02:00
demodanalyzerwebapiadapter.cpp Demod Analyzer implementation with AM modulator and demodulator 2020-12-20 18:31:59 +01:00
demodanalyzerwebapiadapter.h Demod Analyzer implementation with AM modulator and demodulator 2020-12-20 18:31:59 +01:00
demodanalyzerworker.cpp Update threading model in Demod Analyzer feature. Part of #1346 2022-09-22 10:54:45 +02:00
demodanalyzerworker.h Update threading model in Demod Analyzer feature. Part of #1346 2022-09-22 10:54:45 +02:00
readme.md Fix typo for #1503 2022-11-07 14:49:27 +00:00

(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

Demod Analyzer plugin GUI

The interface is essentially divided in the following sections

  • A. Channel controls
  • B. Spectrum view
  • C. Scope view

A. Channel controls

Demod Analyzer plugin controls

Typical sequence of operations:

  1. Start the plugin (A.1)
  2. Scan for displayable channels (A.2)
  3. Select channel (A.3)
  4. 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.