FSQ, Fast Simple QSO, is an Incremental-Frequency-Keyed mode using an offset differential modulation scheme similar to DominoEX, and Thor. It is a unique mode for fldigi users in that it is a line by line transmission rather than character by character. FSQ uses 33 tones spaced by 3 times the 3 baud symbol rate or 8.8 Hz. The offset rotation of the IFKP sequence offers improved performance under NVIS conditions, because the rotation significantly reduces the risk of adjacent symbols causing inter-symbol interference.
fldigi can operate on the following FSQ modes without special
setup by the operator:
|FSQ 2||1.95 baud||~20||290 Hz|
|FSQ 3*||2.93 baud||~30||290 Hz|
|FSQ 4.5||3.91 baud||~40||290 Hz|
|FSQ 6||5.86 baud||~60||290 Hz|
FSQ is designed to use 32 tone differences between 33 equally spaced tones; so it is possible to allocate 29 different individual differences directly to the most frequently used characters. These characters are all lower case, a-z, plus the most common punctuation symbols: space, full stop (period), and new line (CR/LF). The three ‘spare’ differences are used to define further code tables.
The total alphabet includes upper case and a reasonable range of symbols, yielding a total alphabet of 104 ASCII characters. The extra characters are allocated to three additional code tables, which are sent as two sequential tone differences. These are characterized by an initial difference, describing the character, and a continuation difference, defining the code table.
When the receiver sees a tone difference in the range 0 – 29, followed by another in the range 0 – 29, it recognises a single-tone character (lower case etc). If the tone difference is followed by a difference in the range 30 – 31, it uses the second difference to decide which code table to select the character from, and the first difference to choose the character from that table. The encoding process is the reverse of this.
IFK codes the data (the initial and continuation codes) as differences between two tones, rather than as an absolute tone. This is the MFSK equivalent of differential BPSK, as used in PSK31, etc. MFSK modes such as Piccolo, Coquelet and MFSK16 use direct MFSK modulation, assigning the code directly to a tone number. These modes may suffer from more inter-symbol interference than desirable, cannot tolerate frequency drift, and can be difficult to tune.
FSQ uses very narrow tone spacing. IFK+ reduces inter-symbol interference by ensuring that the chance of the same or an adjacent tone being used for sequential symbols would be very remote.
Since the tones always change due to the differential action and the tone rotation of IFK+, there is no opportunity for the tones to remain the same for two consecutive symbols, which allows the sync-less process to operate correctly. For example, without IFK+, repeated space characters could be seen as a single character.
Finally, since the coding is differential, any drift and frequency offset is cancelled out during decoding. IFK+ can handle frequency drift of about a third of the tone spacing per symbol, or in FSQ about 18 Hz drift per second at 6 baud. Frequency error tolerance is a matter of decoder design, but ± 50 Hz is tolerated easily by FSQ.
IFK+, an acronym for Offset Incremental Frequency Keying, was suggested by Murray Greenman ZL1BPU (2009), and first used in DominoEX. With each symbol transmitted, as well as adding the difference from the alphabet-coding table to the previous tone number, an addition rotation offset is added. In the case of FSQ, this value is ONE.
Only one tone is transmitted at a time.
In order for the first difference (first character) to be correctly decoded, a dummy tone needs to be transmitted first. This could be the lowest tone, but in fact any permitted tone will suffice since only the difference to the next tone is important. The software simply sends a space character to achieve this.