thumb|right |alt=Olivia 16-500 waterfall | [[Spectrogram|Spectrogram (waterfall display) of an Olivia 16/500 signal centered on 7073.25 kHz]]

Olivia MFSK is an amateur radioteletype protocol, using multiple frequency-shift keying (MFSK) and designed to work in difficult (low signal-to-noise ratio plus multipath propagation) conditions on shortwave bands. The signal can be accurately received even if the surrounding noise is 10 dB stronger. It is commonly used by amateur radio operators to reliably transmit ASCII characters over noisy channels using the high frequency (3–30 MHz) spectrum. The effective data rate of the Olivia MFSK protocol is 150 characters/minute.

Olivia modes are commonly referred to as Olivia X / Y (or, alternatively, Olivia Y / X ), where X refers to the number of different audio tones transmitted and Y refers to the bandwidth in hertz over which these signals are spread. Examples of common Olivia modes are 16/500, 32/1000 and 8/250.

History

The protocol was developed at the end of 2003 by Pawel Jalocha. The first on-the-air tests were performed by two radio amateurs, Fred OH/DK4ZC and Les VK2DSG, on the Europe-Australia path in the 20-meter amateur band. The tests proved that the protocol works well and can allow regular intercontinental radio contacts with as little as one watt RF power. Since 2005 Olivia has become a standard for digital data transfer under white noise, fading and multipath, flutter (polar path) and auroral conditions.

Voluntary channelization

Since Olivia signals can be decoded even when received signals are extremely weak, (signal-to-noise ratio of −14 dB), signals strong enough to be decoded are sometimes below the noise floor and therefore impossible to search for manually. As a result, amateur radio operators have voluntarily decided upon channelization for this mode. This channelization allows even imperceptibly weak signals to be properly tuned for reception and decoding. By common convention amateur stations initiate contacts utilizing the 8/250 mode and then switch to other wider-bandwidth modes to continue the conversation. The following table lists the common center frequencies used in the amateur radio bands, and is based on community collaboration after the introduction of new amateur radio digital modes and the resulting overlapping with the Olivia calling frequencies on some amateur radio bands.

{| class="wikitable"

|+ Olivia suggested calling frequencies

For the second FEC layer: every ASCII character is encoded as one of 64 possible Walsh functions (or vectors of a Hadamard matrix). The receiver again measures the amplitudes for all 64 vectors (here comes the Hadamard Transform) and chooses the greatest.

For optimal performance the actual demodulators work with soft decisions and the final (hard) decision to decode a character is taken only at the second layer. Thus the first layer demodulator actually produces soft decisions for each of the 5 bits associated to an MFSK tone instead of simply picking up the highest tone to produce hard decisions for those 5 bits.

In order to avoid simple transmitted patterns (like a constant tone) and to minimize the chance for a false lock at the synchronizer the characters encoded into the Walsh function pass through a scrambler and interleaver. This stage simply shifts and XORs bits with predefined scrambling vectors and so it does not improve the performance where the white (uncorrelated) noise is concerned, but the resulting pattern gains certain distinct characteristics which are of great help to the synchronizer.

The receiver synchronizes automatically by searching through possible time and frequency offsets for a matching pattern. The frequency search range is normally ±100 Hz but can be as high as ±500 Hz if the user wishes so.

The MFSK layer

The default mode sends 32 tones within the 1000 Hz audio bandwidth and the tones are spaced by 1000 Hz/32 = 31.25 Hz. The tones are shaped to minimize the amount of energy sent outside the nominal bandwidth.

The exact shape formula is:

:<math>+1.0000000000 +1.1913785723 \cos(x) -0.0793018558 \cos(2x) -0.2171442026 \cos(3x) -0.0014526076 \cos(4x)</math>

where x ranges from −π to π.

thumb|left|A plot of the window ("shape formula")

The coefficients represent the symbol shape in the frequency domain and were calculated by a minimization procedure which sought to make the smallest crosstalk and the smallest frequency spillover.

The tones are sent at 31.25 baud or every 32 milliseconds. The phase is not preserved from one tone to the next: instead a random shift of ±90 degrees is introduced in order not to transmit a pure tone when the same symbol is repeatedly sent. Because the symbols are smoothly shaped there is no need to keep the phase constant, which normally is the case when no (e.g., square) shaping is used.

The modulator uses the Gray code to encode 5-bit symbols into the tone numbers.

The waveform generator is based on the 8000&nbsp;Hz sampling rate. The tones are spaced by 256 samples in time and the window that shapes them is 512 samples long. The demodulator is based on the FFT with the size of 512 points. The tone spacing in frequency is 8000&nbsp;Hz/256 = 31.25&nbsp;Hz and the demodulator FFT has the resolution of 8000&nbsp;Hz/512 = 15.625&nbsp;Hz thus half of the tone separation.

To adapt the system to different propagation conditions, the number of tones and the bandwidth can be changed and the time and frequency parameters are proportionally scaled. The number of tones can be 2, 4, 8, 16, 32, 64, 128 or 256. The bandwidth can be 125, 250, 500, 1000 or 2000&nbsp;Hz.

The Walsh functions FEC layer

The modulation layer of the Olivia transmission system in the default mode sends one of 32 tones at a time. Each tone thus constitutes a symbol that carries 5 bits of information. For the FEC code, 64 symbols are taken to form a block. Within each block one bit out of every symbol is taken and it forms a 64-bit vector coded as a Walsh function. Every 64-bit vector represents a 7-bit ASCII character, thus each block represents 5 ASCII characters.

This way, if one symbol (tone) becomes corrupted by the noise, only one bit of every 64-bit vector becomes corrupt, thus the transmission errors are spread uniformly across the characters within a block.

The two layers (MFSK+Walsh function) of the FEC code can be treated as a two dimensional code: the first dimension is formed along the frequency axis by the MFSK itself while the second dimension is formed along the time axis by the Walsh functions. The two dimensional arrangement was made with the idea in mind to solve such arranged FEC code with an iterative algorithm, however, no such algorithm has yet been established.

The scrambling and simple bit interleaving is applied to make the generated symbol patterns appear more random and with minimal self-correlation. This avoids false locks at the receiver.

Bit interleaving: The Walsh function for the first character in a block is constructed from the 1st bit of the 1st symbol, the 2nd bit of the 2nd symbol, and so on. The 2nd Walsh function is constructed from the 2nd bit of the 1st symbol, the 3rd bit of the 2nd symbol, and so on.

Scrambling: The Walsh functions are scrambled with a pseudo-random sequence 0xE257E6D0291574EC. The Walsh function for the 1st character in a block is scrambled with the scrambling sequence, the 2nd Walsh function is scrambled with the sequence rotated right by 13 bits, the 3rd with the sequence rotated by 26 bits, and so on.

Samples

The listed audio files both are encoded with the message: "Welcome to Wikipedia, the free encyclopedia that anyone can edit."

Contestia

Contestia is a digital mode that is directly derived from Olivia, which is not as robust. It is more of a compromise between performance and speed. It sounds and looks almost identical to Olivia, and can be configured in as many ways, but has just over twice the speed. The mode was developed by Nick Fedoseev, UT2UZ, in 2005.

The Contestia mode has 40 formats just like Olivia - some of which are considered standard and they all have different characteristics. The formats have a variation in bandwidth (125, 250, 500, 1000, and 2000&nbsp;Hz) and number of tones used (2, 4, 8, 16, 32, 64, 128, or 256).

The standard Contestia formats (bandwidth/tones) are 125/4, 250/8, 500/16, 1000/32, and 2000/64. The most commonly used formats are 250/8, 500/16, and 1000/32.

References

  • Website containing technical information about the Olivia protocol, current active suggested calling frequencies on HF, and links to the active Olivia community
  • GPL C++ source for Linux and Cygwin (web archive)