FreeDV Robustness Part 3

Since the last post I have explored some improvements to PAPR, and tested the 1600/2000 modes introduced in the last post in real time. These tests have given me a little more insight into the problems with HF channels and led me to better understand the requirements. This has lead to a new 1600 bit/s FreeDV mode specifically designed to handle these requirements.

Peak/Average Power Ratio (PAPR) Improvements

The FreeDV FDMDV modem waveforms have a PAPR of around 12dB. That means the peaks of the waveform are 12dB higher than the average. So the average power of the signal is limited to 12dB less than the peak power of the amplifier.

Now the average transmit power sets the Bit Error Rate (BER) of the received signal. So if we can reduce PAPR, we can raise the average power without clipping the amplifier, and improve our BER. Peter Martinez, G3PLX, suggested that some hard clipping of the modem waveform might reduce PAPR without adversely affecting performance. Here are the results from clipping, obtained using the fdmdv_ut simulation in an AWGN channel:

Test Eb/No SNR PAPR Clip BER
(a) 6.3 3.0 12.6 1.0 0.0134
(b) 6.3 3.0 7.74 0.7 0.0175
(c) 9.3 6.0 7.71 0.7 0.0024
(d) 11.3 8.0 7.74 0.7 0.0

Test (a) is the baseline unclipped modem waveform with a BER of 0.0134. If we clip the waveform to 0.7 of the peaks (b) in the same channel we get only a slight increase in BER however the PAPR has reduced by 5dB. This is very significant, as it potentially allows us to increase the transmit power, for example by 3dB (c) or even up to 5dB (d), with significant reductions in the BER.

This got me thinking about what happens in a SSB radio power amplifier if we drive it into compression, a somewhat softer form of reducing the peak level than hard clipping. So we tested various power levels on an IC7000 owned by Mark, VK5QI. A nearby receiver and FreeDV was used to monitor the SNR of the received signal. In this case the SNR (as measured by FreeDV) represents distortion due to compression, the tx and rx were so close that there was no significant channel noise affecting SNR.

Test Av Tx Power SNR BER
(a) 8 18 0
(b) 25 10.5 0

We found that at 25W average power the radio became quite hot. A higher average power would not be practical. Now FreeDV users typically drive their tx at the 10-20W average level, this is a backoff from the peak 100W power of 10-7dB. This is similar to the 7dB PAPR obtained from the hard clipping experiments above. This is well into compression, but as we can see above the SNR is still quite high, so the distortion due to this much compression won’t affect the BER much.

So despite the PAPR reduction we found by experimenting with hard clipping above, it is not possible to get any further power benefits from PAPR reduction – we are already running the typical SSB power amplifier near it’s safe limits.

Codecs for HF DV

I spent some time watching the 1600 and 2000 bit/s modes introduced in the last post in action. I noticed they were still falling over on typical HF fading channels, especially in the 0-5dB SNR range. After some thought, I came up with some design ideas for HF DV modes:

  1. Intelligible speech at around 10% raw BER for QPSK (averaging all carriers over over a few seconds).
  2. For a FEC code to work with a raw bit rate of 10% BER we require a low code rate (e.g. 0.3), which means lots of parity bits (a high bit rate), and large block sizes.
  3. But we are constrained by latency to short blocks, and the code rate is constrained by bit rate (e.g. its hard to get more than 2000 bit/s thru this channel).
  4. So it is difficult to protect all bits in the Codec with FEC.

My previous tests show the excitation bits (pitch, voicing, energy) are the most sensitive. The excitation bits affect the entire spectrum, unlike LSPs where a bit error introduces distortion to a localised part of the spectrum.

So I dreamt up a new 1300 bit/s Codec 2 mode that has “less” sensitive bits. The 1300 bit/s Codec 2 mode only sends (scalar) pitch and energy once every 40ms, rather than twice for the previous 1600 Codec 2 bit/s mode. This reduces the 0 BER quality a little, but now there is “less to go wrong” (just 16 bits for the excitation) at high BER. Less excitation bits means they can be protected with just a few extra FEC bits. So I added a single Golay FEC word to protect 12 of the 16 excitation bits to get a total bit rate of 1600 bit/s over the channel. This is known as the new 1600 bit/s mode.

This table shows the difference between the 1300 and previous 1600 bit/s Codec 2 modes, you might be able to hear a small difference:

Sample
hts1a 1300 bit/s
hts1a 1600 bit/s
ve9qrp 1300 bit/s
ve9qrp 1600 bit/s

This table has some samples of the 1300 bit/s Codec 2 + 300 bit/s FEC (1600 bit/s FreeDV mode) over several simulated and real world channels, as shown in the table below:

Sample
FreeDV V0.91 1400 bit/s CCIR poor channel 4dB
1600 bit/s CCIR poor channel 4dB
1600 bit/s VK2MEV in Newcastle to Adelaide 20m
1600 bit/s K5WH to K0PFX with interfering SSB

The signal sampled from VK2MEV had a reasonably high SNR (above 5dB) but a high average BER due to the constant fading:

Note the number of frames in the 10 to 15% error range, and the near constant fading on at least one carrier. As the fading is so regular, the SNR is fairly steady. The last plot is the timing offset, which is slowly drifting downwards indicating a sample clock difference between the tx and rx sound cards.

The K5WH to K0PFX sample is an example of a SSB signal interfering with FreeDV:

You can hear the SSB and modem signals together in this sample of the off air signal. You can hear the FreeDV modem tones start up about 10 seconds in. The decoded speech (in the table above) holds up pretty well.

Command Line

octave:1> fdmdv_demod("/home/david/n4dvr.wav",1600*30,16,"mod_test_1600_n4dvr_001.err")
45952 bits  1321 errors  BER: 0.0287 PAPR(rx): 22.53 dB
david@bear:~/codec2-dev/src$ ./c2enc 1300 ../raw/ve9qrp.raw - | ./fec_enc - - 1600 | ./insert_errors - - ../octave/mod_test_1600_n4dvr_001.err 64 | ./fec_dec - - 1600 | ./c2dec 1300 - - | play -t raw -r 8000 -s -2 -

FreeDV Robustness Part 2

Since the last post I have been working on two new FreeDV modes (1600 and 2000 bit/s), designed to improve the performance of FreeDV over HF multipath fading channels. This involved modifying the Octave and C modem code to support a variable number of carriers, a new 1600 bit/s Codec 2 mode, and some C . . . → Read More: FreeDV Robustness Part 2

FreeDV Robustness Part 1

Here is the next installment in my adventure of making FreeDV work as least as well as analog SSB over HF multipath fading channels. I’ve included the command lines I am using for those who want to play along with me.

Incremental Improvements

Over the past few weeks I have made some incremental improvements:

Bill Cowley pointed out . . . → Read More: FreeDV Robustness Part 1

Dead DC-DC converter in my EV

About a week ago I returned from LCA 2013 after being away from home for 1 month. My EV was parked at a house close to the airport. It burst into life and off I went. However about 1 km from home the front lights and dash went dim and the EV ground to . . . → Read More: Dead DC-DC converter in my EV

HF Modem Bit Error Patterns

I am working on improving the performance of FreeDV on HF channels. As a first step I have been exploring the bit error patterns from the modem using some samples of a 1300 km HF radio path. These samples were kindly collected by Mark, VK5QI and Brenton, VK2MEV.

The FDMDV modem has 14 DQPSK data . . . → Read More: HF Modem Bit Error Patterns

linux.conf.au (LCA) 2013

Last week I attended lca.conf.au 2013, my sixth LCA. It was a very well organised and enjoyable conference for me. After a few days back I miss it. I have made some good friends at LCA over the years, and catching up with them is as important for me as the conference talks. It . . . → Read More: linux.conf.au (LCA) 2013

Coherent PSK Demodulation on HF

This post is rather technical, and assumes a knowledge of PSK demodulator design. I apologise if it is difficult to understand for the general reader. I have spent the last few weeks working on this part time so felt compelled to record the results somewhere. Thanks to Bill Cowley VK5DSP and Peter Martinez G3PLX . . . → Read More: Coherent PSK Demodulation on HF

My First FreeDV Contact

A very pleasant Ham Radio day. My friends Joel and Mark (VK5QI) visited my home to build Peter Parkers (VK3YE) “Porta 40″ DSB receiver (from the November 2012 issue of “Amateur Radio” magazine). Joel did the assembly work, with Mark and I helping test the receiver.

We started with the local oscillator, . . . → Read More: My First FreeDV Contact

FreeDV

For the last 2 months I have been working with Dave Witten KD0EAG, coding a GUI application called FreeDV. It combines Codec 2 and the FDMDV modem into single, user friendly application that runs on Linux and Windows. It enables anyone with a SSB radio start using digital voice.

It works really well. . . . → Read More: FreeDV

HTML Bison Adventure

My 14 year old son William likes animals and his favourite is the North American Bison. He recently had to prepare a story for school. I showed him how he could use HTML to write the story, pull in images from the Internet, and put options on each page for “what do you want . . . → Read More: HTML Bison Adventure