Friday, May 8, 2015

Free DV

Flex has developed a second API which allows inclusion of new modes and other "waveforms" modules into the radio.  With the latest Apha release a codec (called codec2) has been included that allows Free DV QSO's to be made.  No need to go through the pain of configuring sound cards etc you simply add the codec to the waveform library, start the little app and you are on Free DV.

What is Free DV?   Here is a quote from the Flex Alpha Test Waveform Manual :

"The first WAVEFORM Module being provided for the FLEX-6000 radio series is the FREEDV/CODEC2 module. FREEDV is a free, open source, digital voice communications system for HF amateur radio, which uses the CODEC2 low bit rate VOCODER (Voice Coder Decoder) developed by David Rowe, VK5DGR. A FREEDV signal only occupies one half the bandwidth of a normal SSB signal. It may be installed in any FLEX-6000 Signature Series radio by using the instructions below. Once installed, the ability to transmit and receive using FREEDV/CODEC2 is added to the FLEX-6000 radio, and a new mode button named “FDV” appears alongside USB, LSB, FM, etc. If you press this button, the radio talks and listens in this new narrowband digital voice mode. Future WAVEFORM Modules may be implemented for signaling and digital modes such as RTTY and PSK-31 extending the capability of the radio. WAVEFORM Modules also allow a user with appropriate programming skills to add modes or functionality to the FLEX-6000 radio, by using a defined, open, API (Application Programming Interface)."

How do you install the codec?  You download the codec from the author (in this case Flex) open the waveforms choice in the menu

and Install

The codec is integrated into the radio.  You click on FDV and start having QSO's

It's that simple and that powerful.  

Free DV is a version of QPSK, kind of a cross between PSK and DSL  16 packet streams are generated and the voice compressed down to 1.25 khz is spread across these 16 channels for transmission  

It is then received and decoded and the voice signal is then reconstructed.  Voice can be reliably decoded down to a signal to noise of 2 dB.  There is no static or background noise, it sounds like you are talking to someone in the room.  It also has a text channel 

This was copied off of my 6300 pan adapter!  How cool!  Here lives the free DV home page  For us we just include the codec in the radio click a mode choice.  For the rest of Ham-manity you have to configure the software, screw around with sound cards and interfaces and separate mics and headphones etc.  

There is a web page which lists people that are listening and where they are listening

There are freqs available on every HF band but so far 20M is he only place I've seen any activity.  Not bad, half the bandwidth, no splatter, no static, fairly immune to interference, armchair copy, FREE as in Free DV!  Also free as in speech  You can hear snippets and learn more about codec 2 here 

You hear people go on and on about how Flex has closed its software.   Does this look closed to you?  It's friggin wide open and totally available to developers.  Here is how open the API is.  There are several clients written by private developers that are in widespread use with Flex users.  DDUTIL by K5FR, SDR-Bridge by W2RF and FDStack by MKCM software are in use at my station.  After integrating the FreeDV codec, I used the memory function in DDUTIL to store a FDV freq  The freq shows up totally integrated in DDUTIL  

Note how the mode lists FDV in the memory slot.  If I'm on 40 CW and click load I'm immediately taken to 20M FDV with all parameters preset.  FRStack is a memory matrix program which copies data out of the SSDR memory stack.  This is a snapshot of the last 4 freqs I've been on on every band.  Some of these are weeks old some are real time it just depends where the radio has been and when.

You can see SW and MW as well as Ham listed in the table.  I can promote a listing to a stable memory with a click and that creates a new table on another tab  and allows me to store and label memories on all band including non ham bands

When I store a FDV freq it is stored as FDV

With all the appropriate parameters.  For example I use a loop antenna on RX which comes in on the XVTR port and another antenna on ANT1 for transmitting.  This is all saved.  Nothing was done to these external programs to make them talk to the FreeDV codec, FreeDV simply integrated itself as part of the ecosystem.  Imagine someone writes a waveform codec that decodes PSK and displays it as an overlay on the panadapter or some other more exotic idea.  This can therefore be directly integrated into the radio and if there is some special flyout form (like a special control panel) associated with this codec that can be directly integrated into the rest of the ecosystem.  

This is what separates Flex.  They take a goal and break it down to its basic infrastructure and then build that (in this case the waveforms infrastructure)  It includes all the necessary things needed to integrate into the radio.  They then publish the API and will release the ability to write code and experiment and improve the radio.  So if your goal is to improve the radio or push the state of the art Flex has your back.  They did something similar with the release of REMOTE.  You can make your radio remote on your LAN in 10 minutes.  Flex created the infrastructure.  Soon enough WAN remote base should be available to all users...and so on and so on.

Here is a clip from a FreeDV QSO on 20M

73  W9OY