sdrangel/plugins/channeltx/modfreedv
f4exb d504b060f9 REST API: added missing bits in some modulators and demodulators for reverse API 2019-04-20 19:53:16 +02:00
..
CMakeLists.txt
freedvmod.cpp REST API: added missing bits in some modulators and demodulators for reverse API 2019-04-20 19:53:16 +02:00
freedvmod.h Fixed incomplete copyright headers (1) 2019-04-11 06:39:30 +02:00
freedvmodgui.cpp FreeDV: REST API fixes (1) 2019-04-17 17:34:02 +02:00
freedvmodgui.h FreeDV: REST API fixes (1) 2019-04-17 17:34:02 +02:00
freedvmodgui.ui
freedvmodplugin.cpp FreeDV: REST API fixes (1) 2019-04-17 17:34:02 +02:00
freedvmodplugin.h Fixed incomplete copyright headers (1) 2019-04-11 06:39:30 +02:00
freedvmodsettings.cpp Fixed incomplete copyright headers (1) 2019-04-11 06:39:30 +02:00
freedvmodsettings.h Fixed incomplete copyright headers (1) 2019-04-11 06:39:30 +02:00
readme.md

readme.md

FreeDV modulator plugin

Introduction

This plugin can be used to generate a signal following the FreeDV digital voice protocol.

⚠ A minimum of 48 kS/s I/Q sample rate in the baseband is required in 2400A mode for the coder/modulator to work correctly. Other modes only require 8 kS/s however such a low rate is not recommended and at least 48 kS/s should be used anyway.

Interface

FreeDV Modulator plugin GUI

1: Frequency shift from center frequency of transmission

Use the wheels to adjust the frequency shift in Hz from the center frequency of transmission. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.

2: Channel power

Average total power in dB relative to a +/- 1.0 amplitude signal generated in the pass band.

3: FreeDV mode

Use this combo box to select which FreeDV standard is used. The following are supported:

  • 2400A: FSK-4 wideband (6 kHz) modulation with 1300 b/s compressed voice to be used at 29 MHz and above similarly to FM analog usage. Details here
  • 1600: OFDM (16 QPSK carriers) narrowband (1.4 kHz) with 700 b/s compressed voice
  • 800XA: FSK-4 narrowband (2 kHz) with 700 b/s compressed voice
  • 700C: Another OFDM (14 QPSK carriers) narrowband (1.5 kHz) mode with 700 b/s compressed voice

4: Reverse left and right channels in binaural mode

Effective only in binaural mode: reverses left and right audio channels so that the left is connected to Q and the right to the I complex signal channel.

4: VU meter selection

Check to select input audio to be displayed on the VU meter (6)

5: Volume

This is the volume of the modulating audio signal from 0.0 (mute) to 2.0 (maximum). It can be varied continuously in 0.1 steps using the dial button. The Loudspeaker button is the audio mute toggle.

6: Level meter in %

Use the checkbox (4) to select between input audio and modulator output display

  • top bar (beige): average value
  • bottom bar (brown): instantaneous peak value
  • tip vertical bar (bright red): peak hold value

You should aim at keeping the peak value below 100% using the volume control

7: Input source control

Modulator input source control GUI

7.1: Tone input select

Switches to the tone input. You must switch it off to make other inputs available. Note that tone input has been kept from other modulators but does not make much sense for digital voice modes.

7.2: Morse keyer input select

Switches to the Morse keyer input. You must switch it off to make other inputs available. Note that the Morse keyer has been kept from other modulators but does not make much sense for digital voice modes.

7.3: Tone frequency (kHz)

Adjusts the tone frequency from 0.1 to 2.5 kHz in 0.01 kHz steps.

7.4: Audio input select and select audio input device

Left click to switch to the audio input. You must switch it off to make other inputs available.

Right click to select audio input device. See audio management documentation for details.

8: CW (Morse) text

Enter the text to be keyed when Morse input is active and in text mode.

9: Clear CW text

Clears the CW (Morse) text

10: Morse keyer controls

Morse keyer control GUI

10.1: CW keying speed

Sets the CW speed in Words Per Minute (WPM). This is based on the word "PARIS" sent 5 times. For 5 WPM the dot length is 240 ms. In other terms the dot length is calculated as 1.2 / WPM seconds. The dot length is used as the base to compute other timings:

  • Element (dot or dash) silence separator: 1 dot length
  • Dash: 3 dot lengths
  • Character silence separator: 3 dot lengths
  • Word silence separator: 7 dot lengths

10.2: Dots keying

Switch this button to send dots continuously

10.3: Dashes keying

Switch this button to send dashes continuously

10.4: Text keying

Switch this button to send the text typed into the text box (13)

10.5: Text auto repeat

Switch this button to auto repeat the text keying

10.6: Text play/stop

Use this button to stop sending text. When resuming keying restarts at the start of text

11: Audio file path

The path to the selected audio file to be played or dots if unselected

12: Audio file play controls

Modulator audio file play control GUI

12.1: Audio file select

Opens a file dialog to select the audio file to be played. It must be 8 kHz S16LE single (mono) channel raw format. Using sox a .wav file can be converted with this command: sox piano.wav -t raw -r 8k -c 1 -b 16 -L -e signed piano.raw

12.2: Audio file loop

Audio replay file at the end

12.3: Play/pause file play

Toggle play/pause file play. When paused the slider below (20) can be used to randomly set the position in the file when re-starting.

13: Play file current position

This is the current audio file play position in time units relative to the start

14: Play file length

This is the audio file play length in time units

15: Play file position slider

This slider can be used to randomly set the current position in the file when file play is in pause state (button 17.3)

16: Spectrum display frequency span

The transmitted signal is further decimated by a power of two before being applied to the channel spectrum display and used to set the in channel filter limits. This effectively sets the total available bandwidth depending on the decimation:

  • 1 (no decimation): 24 kHz (2400A) or 4 kHz (other modes)
  • 2: 12 kHz (2400A) or 2 kHz (other modes)
  • 4: 6 kHz (2400A) or 1 kHz (other modes)
  • 8: 3 kHz (2400A) or 0.5 kHz (other modes)
  • 16: 1.5 kHz (2400A) or 0.25 kHz (other modes)

17: Channel spectrum display

This is the channel spectrum display. Controls at the bottom of the panel are the same as with the central spectrum display.