Last week I had a great chat with Gary Pearce KN4AG from Ham Radio Now:

Which brings me to my plans for 2015……..

2015 Open Digital Voice Road Map

I’m pretty excited about where Open Source Digital Radio is going in 2015. My goals for this year are:

A “sub zero” negative SNR FreeDV HF mode.

VHF FreeDV mode(s) that demonstrates a TDMA repeater in a 5kHz channel, diversity reception, high bit rate audio/data, and operation at 10dB less C/No than analog FM or 1st generation DV systems.

SM1000 speaker-mic and SM2000 VHF radio in production.

This figure shows the work packages we need to execute to make this happen:

The amount of blue shading indicates progress to date. It’s doable, but we could use some help – see below. The custom VHF radio product is the audacious stretch goal, but we need custom hardware to demonstrate the potential of open source VHF DV. In particular decent modems, TDMA, diversity, and variable bit rate (VBR). Sub-carrier VBR is explained in the next section. I’m no Icom, but do have the huge open source advantage of “owning the stack” and a very impressive brains trust that is forming up behind this work.

Sub Carrier Variable Bit Rate

HF and VHF channels vary wildly in quality due to multipath fading. If the channel is really poor it’s essential to push through with low quality, but intelligible speech. However if the channel is good, you may have 20dB more signal to noise ratio available. Current digital (and to a lessor extent analog) voice radio systems just toss that 20dB away. Systems are designed for the worst case, with power heaped on to survive the fading.

I’ve been brainstorming a sub-carrier idea. We send the must-have information using a full power, low bit rate to survive the worst case. On HF this might be 450 bit/s. At the same time, we transmit a higher bit rate sub-carrier at say 10dB less power. When the channel is good, we use the high bit rate carrier. When it’s poor, we fall back to just the low bit rate carrier.

This is better than a protocol based system that negotiates the bit rate, as it requires no back channel and can handle rapid changes in channel quality. It does however require a demodulator that can determine when the sub-carrier is viable. This needs some smarts to avoid rapid high/low quality switching, or for Ham radio could be manually switch-able so the operator has full control.

Sending a second, low power carrier has negligible impact on our total transmit power, e.g. 11 W total rather than 10W (0.4dB). It does use more bandwidth, and will require some implementation tricks (e.g. two class C amplifiers at VHF, but no changes at HF with a linear amplifier). The addition of a low power sub-carrier will have a small impact on peak/average power ratio (PAPR) compared to multiple carriers at the same power. Another bonus.

It’s an idea we can implement as we have complete control over the stack. From microphone to antenna and back again. Go Open Source.

I’d like to try this trick for both HF and VHF.

Daniel has illustrated it well for GMSK carriers:

Old school, analog colour TV worked like this. You get the black and white image information and sync signals on one carrier, then a sub-carrier carries the colour information. In weak signal situations you get black and white. Hmm, I wonder if this analog analogy is too dated. Showing my age.

Codec 2 and AMBE 2+

I recently compared a few AMBE 2+ samples with Codec 2, both at 2400 bit/s. I think they are close enough, except for the $100k up-front license fee, several $ per-unit license fee, policy of eternal lock-in through standardisation, patent encumbrances, and being forbidden by law to modify and learn anything about the algorithm. Not sure why Codec 2 is louder. I listen to them through my laptop speaker as that’s close to a radio.

Codec Female Male Original female male AMBE 2+ female male Codec 2 female male

I cheated a bit, and ran both of them through a a 200Hz high pass filter. AMBE does a better job between 0 and 200 Hz. However most radio systems use an audio bandwidth of 400 to 2600 Hz. Indeed analog FM in VHF applications is sharply filtered at 400Hz so various control tones are not heard.

This isn’t the best we can do with Codec 2, it can be improved further.

Get Involved

There is a fine group of people who are already working with me. They are having fun and working on a really useful and meaningful project. Here are some examples:

Rick, KA8BMA and I have had a great year building the SM1000 together.

Mel Whitten K0PFX and his band of merry Hams have done a fantastic job promoting HF DV and testing FreeDV.

Daniel, VA7DRM has been zooming around British Columbia testing VHF diversity and prototypes of a 2nd generation VHF DV system.

Richard Shaw has been doing fine work on cross platform build systems and packaging of FreeDV and Codec 2.

Many people have provided invaluable, high level technical advice on RF, Modems, HF and VHF channels and DSP. You know who you are.

Many other contributors, large and small, through donations, testing, donations of test equipment, promotion, porting, contract development or small patches, some of which have expressly asked to remain anonymous (e.g. for commercial reasons).

Don’t Just Talk. Act

What did you do during the Open Source Digital Radio revolution?

Contributions count much more than suggestions. Suggestions add to my TODO list, contributions make it shorter. I’m just one guy working part time for nearly zero income and have my limits. If you can help make my TODO list shorter rather than longer please contact me!

If you have a great, must-have suggestion, then I will politely ask you to step up and submit a patch for it. Now you have my attention!

Can you code in C, use Octave/Matlab, write a radio or protocol specification, provide me with RF test equipment, or use a soldering iron to design and make VHF radios? Please contact me.

If you don’t have time or skills then you can still support this work by buying a SM1000 or simply donating. I also need my sig-gen and spec-an either replaced or fixed! Let me know if you need my shipping address 🙂