1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-22 16:08:39 -05:00
sdrangel/plugins/feature/demodanalyzer
2024-04-20 19:10:18 +02:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
demodanalyzer.cpp Fix bug that prevents settings changes updates via reverse API 2024-04-14 18:58:12 +02:00
demodanalyzer.h Use F:n for feature Ids instead of Fn:m as discussed in #1912 2024-03-05 10:28:01 +00:00
demodanalyzergui.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
demodanalyzergui.h Use F:n for feature Ids instead of Fn:m as discussed in #1912 2024-03-05 10:28:01 +00:00
demodanalyzergui.ui Use F:n for feature Ids instead of Fn:m as discussed in #1912 2024-03-05 10:28:01 +00:00
demodanalyzerplugin.cpp Updated versions and changelogs 2024-04-14 11:41:00 +02:00
demodanalyzerplugin.h Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
demodanalyzersettings.cpp Use F:n for feature Ids instead of Fn:m as discussed in #1912 2024-03-05 10:28:01 +00:00
demodanalyzersettings.h Remove unused includes and use more direct includes 2024-04-20 19:10:18 +02:00
demodanalyzerwebapiadapter.cpp Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
demodanalyzerwebapiadapter.h Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
demodanalyzerworker.cpp Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
demodanalyzerworker.h Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
readme.md Use F:n for feature Ids instead of Fn:m as discussed in #1912 2024-03-05 10:28:01 +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
  • Broadcast FM demodulator
  • DAB demodulator
  • DSD (FM digital voice) demodulator
  • End-of-train demodulator
  • FT8 demodulator
  • M17 demodulator
  • NFM demodulator
  • Packet demodulator
  • Radiosonde demodulator
  • SSB demodulator
  • WFM demodulator

Tx plugins are:

  • AIS modulator
  • AM modulator
  • M17 modulator
  • NFM modulator
  • Packet modulator
  • PSK31 modulator
  • RTTY 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. Select channel (A.3)
  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.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.

A.8. Record as .wav file

Use this button to toggle recording. Start or stop recording

Format is always 16 bit little-endian and can be mono (1 channel) or stereo (2 channels) depending on data type.

A.9. Select recording output file

Click on this icon to open a file selection dialog that lets you specify the location and name of the output files.

Each recording is written in a new file with the starting timestamp before the .wav extension in yyyy-MM-ddTHH_mm_ss_zzz format. It keeps the first dot limited groups of the filename before the .wav extension if there are two such groups or before the two last groups if there are more than two groups. Examples:

  • Given file name: test.wav then a recording file will be like: test.2020-08-05T21_39_07_974.wav
  • Given file name: test.2020-08-05T20_36_15_974.wav then a recording file will be like (with timestamp updated): test.2020-08-05T21_41_21_173.wav
  • Given file name: test.first.wav then a recording file will be like: test.2020-08-05T22_00_07_974.wav
  • Given file name: record.test.first.wav then a recording file will be like: record.test.2020-08-05T21_39_52_974.wav

If a filename is given without .wav extension then the .wav extension is appended automatically before the above algorithm is applied. If a filename is given with an extension different of .wav then the extension is replaced by .wav automatically before the above algorithm is applied.

The file path currently being written (or last closed) appears at the right of the button (A.1.10).

A.1.10. Recording file path

This is the file path currently being written (or last closed).

A.1.11 Record silence time

This is the time in seconds (between 0.1 and 10.0) of silence (null samples) before recording stops. When non null samples come again this will start a new recording. Set the value to 0 to record continuously.

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.