NAME¶freedv - Digital Voice for HF
DESCRIPTION¶FreeDV is a GUI application that allows any SSB radio to be used for low bit rate digital voice.
Speech is compressed down to 700-1600 bit/s then modulated onto a 1.25 kHz wide signal comprised of 16 QPSK carriers which is sent to the Mic input of a SSB radio. The signal is received by an SSB radio, then demodulated and decoded by FreeDV. FreeDV 700C is approaching SSB in it's low SNR performance. At high SNRs FreeDV 1600 sounds like FM, with no annoying analog HF radio noise.
FreeDV was built by an international team of Radio Amateurs working together on coding, design, user interface and testing. FreeDV is open source software, released under the GNU Lesser General Public License version 2.1. The FDMDV modem and Codec 2 Speech codec used in FreeDV are also open source.
Why FreeDV?¶Amateur Radio is transitioning from analog to digital, much as it transitioned from AM to SSB in the 1950s and 1960s. How would you feel if one or two companies owned the patents for SSB, then forced you to use their technology, made it illegal to experiment with or even understand the technology, and insisted you stay locked to it for the next 100 years?? That is exactly what was happening with digital voice. But now, hams are in control of their technology again.
FreeDV is unique as it uses 100 percent Open Source Software, including the audio codec. No secrets, nothing proprietary FreeDV represents a path for 21st century Amateur Radio where Hams are free to experiment and innovate, rather than a future locked into a single manufacturers closed technology.
Demo Video¶Watch this video of a FreeDV QSO.
Here is what you need:
A SSB receiver or transceiver FreeDV software A computer with one (receive only) or two sound cards. Cables to connect your computer to your SSB radio.
Test your Transmitter Frequency Response¶When you play this 10 second 1 kHz to 2 kHz sweep .wav file(external link) through your transmitter, the power level should remain constant. If not, look for filtering and processing to turn off.
Connecting Your Radio¶If you are lucky enough to have a "9600" input and output on your radio, this is the best connection for every digital mode, even 1200 packet, and your audio box should be configured for 9600 or "no pre-emphasis/de-emphasis" if it has that setting. If the radio's configuration menu has a 1200/9600 setting, leave it permanently on 9600.
The "9600" and "1200" settings are misnamed. "9600" should really be called "direct connection", and "1200" should be called "processed". The audio processing in your radio does not help any digital mode.
Configuring Your Radio¶Turn off as much processing as possible. In general noise blankers, DSP band limit filtering, and narrow bandpass filters are likely to hurt rather than help. Compression, DSP noise and carrier elimination, and voice processing are definitely wrong for Digital modes. FreeDV's FDM modem does its own DSP, and in general this is true for other digital programs as well. The only things that we would expect to hurt the signal are intrusion of the opposite sideband, images of out-of-passband signals, and intermodulation distortion. You can see the effect of different settings in the S/N display of FreeDV.
Drive your transmitter and amplifier so that it emits 10%% to 20%% of its rated power continuously. There is a 12 dB peak-to-average power ratio in the FDM modem, and peak clipping in your amplifier will reduce the received S/N. Modern transmitters and amplifiers are only as linear, and only have as much headroom, as is necessary for voice SSB. Ask manufacturers and reviewers to start rating linearity and headroom for digital modes.
PTT Configuration¶Tools-PTT Dialog
Hamlib comes with a default serial rate for each radio. If your radio has a different serial rate change the Serial Rate drop down box to match your radio.
When "Test" is pressed, the "Serial Params" field is populated and displayed. This will help track down any mis-matches between Hamlib and your radio.
Serial PTT support is complex. We get many reports that FreeDV Hamlib PTT doesn't work on a particular radio, but may work fine with other programs such as Fldigi. This is always a mis-match between the serial parameters Hamlib is using with FreeDV and your radio. For example you may have changed the default serial rate on your radio. Carefully check the serial parameters on your radio match those used by FreeDV in the PTT Dialog.
If you are really stuck, download Hamlib (Debian package libhamlib-utils) and test your radio's PTT using the command line rigctl program.
Voice Keyer¶Voice Keyer Button on Front Page Options-PTT Dialog
Puts FreeDV and your radio into transmit, reads a wave file of your voice to call CQ, then switches to receive to see if anyone is replying. If you press space bar the voice keyer stops. If a signal with a valid sync is received for a few seconds the voice keyer stops.
Options-PTT dialog can be used to select the wave file, set the Rx delay, and number of times the tx/rx cycle repeats.
The wave file for the voice keyer should be in 8kHz mono 16 bit sample form. Use a free application such as Audacity to convert a file you have recorded to this format.
Test Frame Histogram¶Test Frame Histogram tab on Front Page
Displays BER of each carrier when in "test frame" mode. As each QPSK carrier has 2 bits there are 2*Nc histogram points.
Ideally all carriers will have about the same BER (+/- 20% after 5000 total bit errors). However problems can occur with filtering in the tx path. If one carrier has less power, then it will have a higher BER. The errors in this carrier will tend to dominate overall BER. For example if one carrier is attenuated due to SSB filter ripple in the tx path then the BER on that carrier will be higher. This is bad news for DV.
i) Transmit FreeDV in test frame mode. Use a 2nd rx (or get a friend) to monitor your rx signal with FreeDV in test frame mode.
ii) Adjust your rx SNR to get a BER of a few % (e.g. reduce tx power, use a short antenna for the rx, point your beam away, adjust rx RF gain).
iii) Monitor the error histogram for a few minutes, until you have say 5000 total bit errors. You have a problem if the BER of any carrier is more than 20% different from the rest.
A typical issue will be one carrier at 1.0, the others at 0.5, indicating the poorer carrier BER is twice the larger.
Full Duplex Testing with loopback¶Options - Half Duplex check box
FreeDV GUI can operate in full duplex mode which is useful for development of listening to your own FreeDV signal as only one PC is required. Normal operation is half duplex.
Tx and Rx signals can be looped back via an analog connection between the sound cards.
On Linux, using the Alsa loopback module:
$ sudo modprobe snd-aloop $ ./freedv
In Tools - Audio Config - Receive Tab - From Radio select -> Loopback: Loopback PCM (hw:1,0) - Transmit Tab - To Radio select -> Loopback: Loopback PCM (hw:1,1)
Design & Key Features¶Design:
Codec 2 voice codec and FDMDV/COHPSK modems 1.25 kHz spectrum bandwidth (half SSB) with 75 Hz carrier spacing FreeDV 1600 mode: 1275 bit/s voice coding, 25 bit/s text for call sign ID, 300 bit/s FEC, 16x50 baud DQPSK carriers, Differential QPSK demodulation FreeDV 700(C) mode: 700 bit/s voice coding, no FEC, 14x75 baud QPSK carriers, frequency diversity to combat fading, coherent QPSK demodulation No interleaving in time, resulting in low latency, fast synchronization and quick recovery from fades. 44.1 or 48kHz sample rate sound card compatible
Cross platform, runs on Linux and Windows. Open source, patent free Codec and Modem that anyone can experiment with and modify Waterfall, spectrum, scatter and audio oscilloscope displays. Adjustable squelch Fast/slow SNR estimation Microphone and Speaker signal audio Equaliser Control of Transmitter PTT via RS232 levels Works with one (receive only) or two (transmit and receive) sound cards, for example a built in sound card and USB headphones.
Credits¶FreeDV is being maintained and extended by David Rowe, VK5DGR. Richard Shaw KF5OIM maintains the Cmake build system, Windows and Fedora packaging. Walter, K5WH is leading Windows testing in the USA.
As development continues, many people are helping whom we have not credited, but we appreciate all of their work.
This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).
History¶In 2012 FreeDV was coded from scratch by David Witten (GUI, architecture) and David Rowe (Codec 2, modem implementation, integration).
The FreeDV design and user interface is based on FDMDV, which was developed by Francesco Lanza, HB9TLK. Francesco received advice on modem design from Peter Martinez G3PLX, who has also advised David on the FDMDV modem used in FreeDV.
Mel Whitten, K0PFX has contributed greatly to the design, testing and promotion of several Digital Voice systems, including FDMDV. This practical experience has led to the current design – a fast sync, no FEC, low latency system that gives a “SSB” type feel for operators. Mel and a team of alpha testers (Gerry, N4DVR; Jim, K3DCC; Rick, WA6NUT; Tony, K2MO) provided feedback on usability and design of FreeDV.
Bruce Perens has been a thought leader on open source, patent free voice codecs for Amateur Radio. He has inspired, promoted and encouraged the development of Codec 2 and FreeDV.
For casual chat there is a #freedv IRC channel on freenode.net
|July 2017||freedv 1.2.2|