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.