FreeDV Robustness Part 5 – FreeDV 700

We’ve just released FreeDV v0.98 GUI software, which includes the new FreeDV 700 mode. This new mode has poorer speech quality than FreeDV 1600 but is far more robust, close to SSB on low SNR fading HF channels. Mel Whitten and the test team have made contacts over 1000 km using just 1 Watt!

You can download the Windows version of FreeDV 0.98 here.

To build it you need the latest codec2-dev and fdmdv2-dev from SVN, follow the Quickstart 1 instructions in fdmdv-dev/README.txt. I’ve been cross compiling for Windows on my Ubuntu Linux machine which is a time saver for me. Thanks Richard Shaw for your help with the cmake build system.

Mel and the team have been testing the software for the past few weeks and we’ve removed most of the small UI bugs. Thanks guys! I’m working on some further improvements to the robustness which I will release in a few weeks. Once we are happy with the FreeDV 700 mode, it will be ported to the SM1000. If you have time, and gcc/embedded experience I’d love to have some help with this!

It’s sounds pretty bad at 700 bit/s but so does SSB at 0dB SNR. The new modem uses a pilot symbol assisted coherent PSK modem (FreeDV 1600 uses a differential PSK modem). The new modem also has diversity; the 7 x 75 symb/s QPSK carriers are copied to form a total of 14 half power carriers. Overall this gives us significantly lower operating point SNR than FreeDV 1600 for fading channels. However the bandwidth is a little wider (800 – 2400 Hz), lets see how that goes through real radios.

Simulations indicate it has readability 4/5 at 0dB SNR on CCIR poor (fast) fading channels. It also has a PAPR of 7dB so if your PA can handle it you can hammer out 5dB more power than FreeDV 1600 (be careful).

For those of you who are integrating FreeDV into your own applications the FreeDV API now contains the 700 bit/s mode and freedv_tx and freedv_rx have been updated to demo it. The API interface has changed, we now have variables for the number of modem and speech samples which change with the mode. The coherent PSK modem has the very strange sample rate of 7500 Hz which at this stage the user (that’s you) has to deal with (libresample is your friend).

The 700 bit/s codec (actually 650 bit/s plus 2 data bits/frame) band limits the input speech between 600 and 2200 Hz to reduce the amount of information we need to encode. This might be something we can tweak, however Mel and the team have shown we can communicate OK using this mode. Here are some samples at 1300 (the codec rate used in FreeDV 1600) and 700 bit/s with no errors for comparison.

Lots more to talk about. I’ll blog some more when I pause and take a breath.

SM1000 Part 13 – Shipping!

The enclosure has arrived from the new manufacturer! Edwin and team at Dragino are now assembling, testing, and shipping the first batch of 100 SM1000s. We plan to ship all Aliexpress pre-orders in week starting 3 May, Australian orders the week starting 10 May.

We have sold almost all of the first batch just in pre-orders! Rick and Edwin have already started work on the next batch of 100, making some small changes to help production.

It is remarkable just how long the “little details” take to work out when putting a product into production. I had the prototype SM1000 working in September, and the first revision of the case was ready before Christmas. Things always take longer than you expect. Oh well, we have made it in the end. We are shipping about 14 months after Rick and I started work on the project, which is not bad for any product I guess. Thanks so much Rick and Edwin!

SM1000 Support

Here is the SM1000 user Guide.

For SM1000 support please post to the Codec 2 mailing list, that way we can all share the information. We’ll publish some SM1000 user guide information over the next few weeks. Maybe a wiki, so you can all join in. I really want this to be a community project.

FreeDV News

In other FreeDV news I’ve been working hard on a new “negative SNR” FreeDV mode that will find it’s way into the SM1000 and other FreeDV platforms later this year. So far I’ve developed a prototype 650 bit/s version of Codec 2 and Octave/C versions of a new coherent PSK HF modem with frequency diversity which greatly helps HF fading channel performance. I am currently being frustrated by HF modem frequency offset estimation (yet again!) but I’ll get there eventually. Other parts of the new coherent PSK HF modem are working really well.

In the VHF space, Brady KC9TPA, has been working hard on a design and PCB layout for a prototype VHF radio that can run FreeDV and demonstrate our advanced new ideas for VHF Digital Voice. Wish I was building radios too but I’m knee deep in DSP code!

Dayton 2015

Rick will be attending the Dayton Hamfest and presenting a talk on the SM1000, and will have a bunch of SM1000s for you to play with. Mel, Bruce and team will have a booth at Dayton with FreeDV and the SM1000 on display – thanks guys for all your efforts and kind support.

Codec 2 wins the ARRL Technical Innovation Award

I’ve won the ARRL Technical Innovation Award for 2012 for my Codec 2 work.

When I first became interested in Ham Radio as a 12 year old in the late 70’s my grandfather bought me the 1979 ARRL handbook. Quite an honor to one day be contributing back to this fine hobby that was my start in a communications and electronics career.

That version of the handbook even had a chapter on “Narrow Band Voice Modulation” – an esoteric analog technique to compress speech by removing chunks of audio bandwidth. Who would have thought that 30 years later I ‘d be contributing in the same area…….

The Codec 2 project is moving along nicely. Recently I have been working on integration of the FDMDV modem with Codec 2, and have written a GUI program called fl_fdmdv to help me debug the combined system. Here is a screen shot (click for large version):

This looks really cool as the graphics update in real time, a static image doesn’t really do it justice. Displaying parameters in real time has helped me spot a few bugs, which I missed with the static plots I get from the Octave simulations. I have used fl_fdmdv to send the Codec2/FDMDV signal over an audio cable between two laptops. It’s really exciting to see the bits being modulated onto the waveform on the GUI while listening to audio flowing over the system! Next step is to replace the audio cable with SSB radios and do some over the air testing.

I am also working on a high quality version of Codec 2 at about 4000 bit/s. The target is speech quality similar to CELP type algorithms such as g.729/Speex/Opus that run at 8000 bits/s. The main application is VOIP, but it might also be useful for a “FM quality” mode for VHF digital radio. The key to high quality is quantising and transmitting the phase of the sine waves used by Codec 2 to model speech. The challenges are working with phase (modulo 2-pi hurts my head) and the time varying number of sine waves and hence phases that must be transmitted. The technique I am currently working on is “sparse vector quantisation of phases”. Tough work but I am slowly making progress. This work is being generously supported by a company who wishes to remain anonymous – but I wanted to thank them anyway!

Web Site Updates

I am about to head to Dayton for the Hamvention, so took the opportunity to bring my web site up to date. The Codec 2 page includes our latest plans on building a Linux/Windows GUI Application for HF Digital Voice, has updates on recent algorithm developments, links to conference videos, and lots of figures explaining how Codec 2 works. I have added a FDMDV modem page, and updated my About Page to reflect my current projects and motivation. The Media page includes updates on recent conferences and radio interviews, and has a section on how this post on busting my daughters party with a Fluksometer went viral around the world, ending up back at my local newspaper!

ISIF award for Dili Village Telco

This is somewhat old news but last September Fongtil and I won an award for our work on the Dili Village Telco. Here is the ISIF press release. We were selected from a group of about 50 ISIF funded projects for the award. Here is a photo of Lemi (2nd from right) accepting the award in Nairobi, Kenya:

Although this project was my first developing world deployment and I worked hard to make sure we did a good job, soaking up experience and knowledge from others where I could.

I think we got it about 70% right. Many things (ease of use, training, enthusiasm for local assembly and installation) worked really well. However being an Engineer there are still some remaining “bugs” I feel compelled to work on, for example there are still lingering issues with Wifi link quality, and a sustainable business model. Importantly, I haven’t seen viral growth, either in Timor or other Village Telco deployments. This is important for me – my goal for the Village Telco was to help a lot of people in the developing world get telephony. This can only happen if the local people embrace the technology and grow the networks themselves without reliance on grants or 1st world technical input. I do think many of the pieces for this are in place. “The Engineer” in me would love to have a go at really fixing those remaining issues! Still, this award confirms we did pretty well over all.

Although the funded part of the project officially ended in 2011, Fongtil are continuing to work on the project using internal resources and have also secured a further ISOC grant. They continue to train people, install nodes, evangelise with government (e.g. installing Mesh Potatoes in the National Parliament building), and have plans to fix the Wifi link issues in Dili:

I have moved my time and attention to other projects for now, but would love to get back to Timor some time to help out if I can. In the mean time Village Telco development and deployment work continues in Timor Leste and around the world.

FDMDV Modem Page

I have added a FDMDV modem page to this web site, plus typed up a README_fdmdv.txt that explains all the files related to the modem and how to use them.

This modem was “lost” a few years ago as the initial implementation was closed source. So I felt compelled to put a fair bit of effort into documenting the open source implementation I have been working on. Building this modem was fun, just hard enough to be challenging but no real show stopper bugs and didn’t hurt my head like Codec 2 algorithm development.

Next step is to tweak Codec 2 to make it interface cleanly to the modem for some initial on-air tests.

IP0X Price Drop and Atcom IP Phones

Due to the consistently high Australian dollar we have lowered the prices of our IP0X range for Australian customers, for example the popular IP04 has been reduced from AUD$399 to AUD$349. We have also started distributing Atcom IP phones in Australia. These phones are very popular in other countries and we are looking for Australian resellers. Please Contact us for reseller pricing.

Codec 2 Over the Air

Some exciting developments this week with Codec 2 being used over the air for the first time!

Bruce, VE9QRP has written a script that allows Codec 2 calls over any IP network. He has tested it over the air using Laptop Wifi and is looking for people to contact him over the Internet.

Ben, VK6IC has tested Codec 2 on 145MHz using a home brew modem, all running on Windows (Ben’s work includes porting Codec 2 to Windows/MSVC). Ben had a contact with VK6UFO between Armadale and Ballajura (Western Australia), a distance of about 40 km. Ben has some off the air samples (including Speex at 8 kbit/s over the same channel) on his web site.

Sorin Cocorada has modified a Speex client to use Codec 2 and has been experimenting with simulated packet loss of up to 30%.

Fantastic work guys. It’s inspiring for me to see this level of interest in Codec 2. More discussion over on the Codec 2 Mailing list.

Codec2 V0.1 Alpha Released

I have just released V0.1 of the Codec2 low bit rate open source speech codec. Almost 1 year to the day since the project started with this post. Speech samples and lots of other new information on the Codec2 page.

I was convinced by many to release early with the current algorithm. After listening to some early MELP 2400 bit/s samples I realised we were already in the ball bark with speech quality. A V0.1 release gives people a chance to try out Codec2 while I work on the algorithm quality and bit rate in parallel.

Codec2 currently runs at 2550 bit/s and delivers fair speech quality. It runs 10 times faster than real time on a modest Linux laptop and is usable today for digital radio or VOIP experimentation.