Welcome to the webpage for the new radio communication mode, which is a hybrid of MFSK and a FEC (Forward Error Correcting) code based on Walsh functions. I named this new mode “Olivia”, which is as well the name of my daughter.

This new mode was created in November and December of 2004 so it is fairly new and so is this page :-)

Here I want to give thanks to the following people:

We will now work on this webpage and on the code to provide a stable release of the new communication program to the radio-amateur community so that everybody can enjoy playing with new toys :-)

I am now working to provide public draft specification for the “Olivia” mode. Later I will make the sources available for release under GPL.

Here you can already find my very first executables that run under Cygwin.

Here is the Windows setup for the graphical user interface prepared by Chris VK3DNH.

Here is the integrated transmitter and receiver with ncurses user interface that runs under Cygwin and Linux.

Here you have a recording by Fred OH/DK4ZC of an MFSK signal from Les VK2DSG. The format of this file is .sw (Signed Word) 16-bit, mono, raw PCM. You can feed this file into the mfsk_rx.exe like this:

mfsk_rx mfsk_08dec2004_105449.sw

to hear the transmission and see the message.

 

The characteristics of the “Olivia” mode

I developed the “Olivia” mode for weak signal QSO. For this reason I have chosen the MFSK (Multi-Shift Frequency Keying) modulation, as it is a good FEC code in itself and its waveform has an almost constant envelope, so that the radio transmitter can work at its maximum power. As well MFSK passes well through the ionosphere made distortions.

The disadvantage of MFSK is that it does not tolerate well coherent interferences and non-uniform frequency response of the transmission channel. Coherent noise is often present on HF and the amateur-grade receivers use low pass filters in the audio chain, thus the “Olivia” demodulator passes the audio first through a spectral preprocessor, which attempts to remove coherent signals and then equalizes the frequency response. This at least partially compensates for the MFSK deficiency in that matter.

The default settings for the “Olivia” mode are to send 32 tones spaced by 31.25 Hz at the rate of 31.25 baud. This results in 1000 Hz of total bandwidth. However, the user can chose to send 2, 4, 8, 16, 32, 64, 128 or 256 tones and the total bandwidth can be set to 125, 250, 500, 1000 or 2000 Hz. The correct baud rate is calculated according to the number of tones and the bandwidth.

After the modulation I have chosen the FEC code on top of it: I decided to try the Walsh functions, which can be easily decoded with the Fast Hadamard Transform (FHT). I have chosen the size to be 64 points (like in the MT63 protocol) so that a 64-bit Walsh function can represent a 7-bit ASCII characters.

To spread the MFSK demodulator errors over several characters, the 64-bits of a Walsh function are placed each in a different MFSK symbol. This defines the block size of the FEC code to be 64 symbols and so one FEC block takes 2.048 seconds to transmit at 31.25 baud. This has the consequences for the tolerance of error bursts or fading.

The overall arrangement results in 5 characters being sent every 2 seconds, thus the typing speed is 2.5 characters per second for the default settings. This corresponds to about 15 words per minute (WPM). For the signal to noise performance, the simulation shows that the transmission can be still decoded when the signal is 10 dB below the noise, where the noise power is measured within the 1000 Hz bandwidth.