Olivia – Another Digital Mode

I was looking around for information concerning Olivia and found the following from http://homepage.sunrise.ch/mysunrise/jalocha/mfsk.html

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 (Forward Error Correcting) 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.