# ZL2AFP FSQ

## Setup and Help Information

V0.41, 21.10.2016

MENU
Introduction | Installation | Guided Tour | FSQCALL
Image Mode | Telemetry | Syntax | Rules

### Introduction

> FSQ is a Fast Simple QSO mode for MF/HF. It works well under NVIS and sunrise/sunset conditions on the lower bands, and also works well for short skip on higher bands. It can also be used on VHF FM, and clearly has a much wider useful range of operating conditions that other more conventional digital modes. It even has native telemetry capability, can send and receive pictures and files, automatically. What's more, it's just plain fun to use. Some of the unique features of FSQ are described below.

> FSQ is fully open source: the protocols, the coding and syntax are publicly disclosed. Contact the authors or see the website for more information.

> In this description, FSQ describes the overall technology and the transport mechanism, i.e. the modem, while the term FSQCall specifically applies to the Selective Calling and Messaging protocol based on FSQ, and also to the program which supports it.

> Support Limitations
> This extensive Help system applies specifically and only to ZL2AFP FSQCall V0.40, and directly associated products. If you cannot find the answer to your questions here, contact the authors, ZL2AFP/ZL1BPU. Other implementations of FSQ may not have some of the features described here, may have other features, or implement some of them differently. As far as possible, interoperability of core features with other versions has been maintained. These other programs are not supported by the ZL2AFP/ZL1BPU team. If you have any questions regarding them, write to the developer of the program.

### Features

> Incremental Keying
> FSQ uses Offset Incremental Frequency Keying (IFK+), a type of Multi-Frequency Shift Keying (MFSK) with properties which make it moderately drift-proof and easy to tune. IFK+ also has excellent tolerance of multi-path reception. The symbol rate (keying speed) of FSQ is modest (no more than six tones per second), but each individual tone transmitted carries a surprising amount of information, resulting in a typing speed approaching 60 WPM in the default configuration.

> Very Low Symbol Rate
> By using very slow-changing tones, several advantages accrue. The bandwidth required to receive each tone is reduced, increasing the sensitivity and reducing interference, especially the effects of impulse noise (QRN); the overall transmission bandwidth is reduced, or to put it another way, more tones can be used in a given bandwidth; and the effect of ionospheric timing changes is much reduced. Special techniques are required to transfer data quickly at low symbol rates.

> Efficient Alphabet
> Such a high typing speed at modest symbol rate comes about because the alphabet coding is very efficient. Each lower case letter and the most common punctuation can be sent in just one symbol, and all others (the total alphabet contains 104 characters) in just two symbols. This is a simple example of a Varicode, where it takes less time to send the more common characters, which also tend to have fewer errors. The default character rate is close to six per second, the same as RTTY, but at only 1⁄10th of the symbol rate (4.5 baud vs 45.45 baud).

> No Sync
> Another important factor in the design of FSQ is that no synchronising process is required to locate and decode the received characters. It's not just that it saves time that might be used sending sync information. Lack of sync means that reception is much less influenced by the propagation timing changes that affect almost all other modes, since timing is now quite unimportant; and it also contributes to very fast acquisition of the signal (decoding reliably within one symbol of start of reception), which removes the need for padding idle characters at start of transmission, and leads to a very slick system. Add high resistance to QRM and QRN, thanks to the low baud rate, and you have a system so robust that it does not normally need error correction.

> When receiving error-correction encoded files, FSQCall switches on an additional synchronous demodulator. This enables the off-line error-correction program to determine synchronism very accurately, and so operate in a way that provides very precise decoding and eliminates any risk of insertion and deletion errors, which (robust as it is) are the main type of error experienced with FSQ.

> Arbitrary Sending Speed
> Unlike all previous modes (except LF weak signal modes JASON and WSQ2), the FSQ receiver uses no sync process, and operates without needing any information about the sending speed. It will operate from 2 baud to 6 baud, and anywhere in-between, with no changes to settings. This is completely unique to FSQ, and gives operators great flexibility. The slower speeds are more robust and slightly more sensitive. Four sending speeds are provided, and the same receiver copies them all!

> An exception is made for sending Error Correction coded files. This MUST be done at 4.5 baud since a special synchronous decoder is used.

> Chat Operation
> FSQ is designed for simple but effective 'Chat' operation, rather like phone text messaging or Skype™ chat: fast and easy to use. This will appeal to young people familiar with 'TXTing'. You don't use 'overs' as you would with a conventional digital or voice mode. It is highly suited to net operation, and operation is very 'slick' (very responsive, with no delays). You just type a sentence and press Enter. No need even to type your callsign, as that's done for you every time.

> Image Transfer
> Believe it or not, FSQ also allows you to transmit and receive three sizes of colour picture, and also has a high resolution grey-scale FAX mode! Like FSQ itself, the FSQCall image modes are designed for NVIS propagation conditions, and while slow, give far better results than SSTV under these conditions. The transmissions are digitally managed, and you can send from a stored photograph or live from a 'webcam'. You can also request live (webcam) and stored file images remotely!

> Click on the image to view the picture full-size.

> This picture was sent 300km on 80m at night, using 15W and the FSQ FAX Image Transfer mode. There is some noise, but impressive image resolution. Just the cat's whiskers!

> File Transfer and Telemetry
> FSQCall will send and receive text-based files automatically, with no 'byte creep', and will also handle telemetry in the same way. Suitable files types are .TXT, .HTM, .CSV and even some source code. Correct reception is acknowledged automatically. File directories are available.

> Text files can also be transferred with guaranteed 100% accuracy using Forward Error Correction, by employing the 'Helper' program FSE (Fast Simple Error-correction) available with this release. Read the FSE Help document for more information.

> Selective Calling
> FSQCall is a Directed Messaging (Selective Calling), Linking and Net Management application based on the FSQ protocol. The FSQCall program was written by Con Wassilieff ZL2AFP, and the protocol was developed by Murray Greenman ZL1BPU. Selective Calling is only available in the default Active mode in the FSQCall software. Operation of Active mode and the commands used by it are described separately. See FSQCALL Help for more information.

### Technical Details

> FSQ has some similarity to the weak-signal mode WSQ2, introduced in 2013. It also uses 33 tones, in this case spaced 9Hz apart (exactly twice the default baud rate), resulting in a signal bandwidth of 300Hz, including the keying sidebands (bandwidth assessed according to ITU-R SM.1138). The ITU Emission Designator is 300HF1B. The modulation is constant amplitude, phase coherent MFSK, using IFK+1 coding with 32 frequency differences, yielding 32 unique alphabet codes. This means that each symbol carries enough information for all lower case letters to be expressed in just one symbol, which greatly enhances the speed.

> IFK+ coding means that the character numbers from the alphabet table are added to the most recent transmitted tone number, and ONE is added as well. The purpose of this added ONE is to force a continual rotation of the tones. This markedly improves tolerance of multi-path reception (reduces inter-symbol interference), assists the sync-less detection since no tone is ever repeated sequentially, and also assists in reducing the effect of carrier interference. When the resulting tone number exceeds 33, to keep the tones within range, 33 is subtracted from the tone number before transmission.

> There is no 'idle' process in FSQ. Transmission starts with no padding, sends all the available characters, and stops when the buffer is empty. The receiver can lock to the signal from the first tone, as it measures the distance to the next tone. Thus the receiver detects and starts receiving the first character in under 200ms from the start of transmission.

> The receiving process is a DSP emulation of the familiar 'integrate and dump' detector developed for Piccolo in the 1950s, and uses a high-speed overlapping FFT (Fast Fourier Transform) process operating at 48 samples/sec. At the receiver, the tones are spaced three FFT bins apart, which gives accurate rounding of the differences when the tone bin numbers are decoded and divided by three. This division also reduces the effect of drift and Doppler on the decision process by a factor of three. There are four alternative speeds (6, 4.5, 3 and 2 baud), although the tone spacing always remains the same. (Default values are shown BOLD). Unusually for any digital mode, the receiver settings need not change when you change baud rate! Sensitivity is believed to be about -13 dB SNR at 4.5 baud, and -16 dB SNR at 3 baud. That's about 10dB better and several times faster than 12 WPM Morse.

> The image mode sends the pictures as RGB colour analogue FM, rather like SSTV, but the bandwidth is narrower, more in keeping with FSQ. Black is represented as 1350 Hz, mid-grey 1500 Hz, and full-saturation colour as 1650 Hz. There is no sync, and reception is completely automatic. Picture formats are 640 x 480, 320 x 240 or 160 x 120 pixels, and are displayed at a fixed 640 x 480 pixel size. The FAX mode is black-and-white, 640 x 480 pixels. Pixels are interpolated to improve display quality. Received image alignment (phase and slant) is achieved manually.

> Error Corrected files are specially encoded, and only contain lower-case letters, both for speed and to eliminate the possibility of insertion or deletion errors. The message is stored synchronously directly from the FFT demodulator, and then synchronously sampled for accuracy and to further prevent insertion or deletion errors. The error correction process uses a Reed-Solomon text-based algorithm, capable of correcting 15 errors or 30 errors per block (255 symbols), depending on the strength setting. Encoding and decoding are fully automatic.

> Automatic Preamble
> Every transmission is automatically identified by the preamble callsign:, so the operator never needs to identify manually. At the receiver, whatever the sender types appears after the callsign preface. Every transmission is identified.

> Character Coding
> High typing speed for a given symbol rate is achieved through the use of a highly efficient character coding scheme using Varicodes. The FSQ alphabet has 29 characters that can be sent as a single symbol (all the lower case letters and frequently used punctuation) and a further 75 characters using two symbols, encompassing 104 ASCII characters in total.

> Lower case should be used wherever possible, as not only are these characters twice as fast to send and quicker to type than upper case, the probability of errors in their reception is also halved.

> Click the image to view the FSQ Alphabet and Varicode.

### Installation

> - Download the latest zipped archive from the official ZL1BPU FSQ Website.
> - Unzip the archive into a suitable folder on your C: drive, such as "C:\FSQ", and NOT under the Windows operating system. Make sure that the folder isn't buried too deep. It also MUST NOT have spaces in the folder names. This is a limitation of the shell mechanism used to maintain file directories. I suggest using an installation folder such as C:\Radio\FSQ. Nice and simple.
> - Right-click on the executable FSQCALvnnn.exe (nnn is the version number), select 'Create Shortcut', then drag the shortcut to the desktop or your menu.
> - Connect the receiver audio output to the computer Line Input via an isolating transformer or digital modes interface. Ensure that the Line Input is selected as a Record source. This is the same as any digital modes setup with an SSB transceiver.
> - Connect the audio out from your computer to the transmitter via an isolating transformer or digital modes interface. This is the same as any digital modes setup with an SSB transceiver.
> - If using CAT, connect the appropriate (serial, USB or CI/V) cable or adaptor between the transceiver and computer. You may need to manually edit the setup file FSQCALvnnn_setup.txt, to set the correct data rate, or change your transceiver to suit the default rate, 9600 bps. You must close the program before you edit the file.
> - Each time the program starts, it first shows the PTT/CAT settings dialog (shown below). If you are planning to use direct PTT via an interface box connected to a serial port, select 'Use PTT' and make sure the 'Comport' setting is correct for your interface. Ignore the 'Rig address' setting.
> - If you plan to use CAT, and your radio is listed in the 'Rig address' list (mostly Icom models), select the appropriate rig, and select the 'Use CAT' radio button.
> - If your rig is not listed in the PTT/CAT settings dialog, you must close the program (press Cancel) and manually edit the setup file FSQCALvnnn_setup.txt, to add the correct TX and RX commands for your radio. There is an index in the file which shows you where to place these commands. The software understands both text commands (such as 'TX;' and 'RX;') as well as Hex-ASCII (such as 'FEFE76E01C0001FD'). Make sure the COM port address, bit rate, parity and stop bit settings for your radio are correct in the file. Save the file and restart the program. From now on, choose the option 'Use CAT commands from file' to use your user-defined radio whenever you start the program. Make sure the 'Comport' setting is correct. You can ignore the 'Rig address' if using the 'Use CAT commands from file' option.

The PTT/CAT settings dialogue.

### Setup

> When you first start the program, you will need to set your callsign (Options/Callsign), Location (Options/Location) and sound card settings (Soundcard/Select soundcard). Also check and if necessary set the QTC and QTC messages (right click on the relevant button).

> Every time you start the program, you will need to check the PTT/CAT settings and press APPLY. This annoying "feature" is included as a conservative measure to cope with some USB COM ports, which have a habit of changing address when the computer reboots or the USB connections change in any way. Everything else should default to the most appropriate or most recent settings.

> If expecting to use Error Correction to send files, create a shortcut to FSE003.exe, and run it in addition to FSQCall whenever necessary.

### Software Compatibility

> The Windows™ software is written in ANSI C, and is compatible with Windows Vista, WinXP, Win7, Win8 and Win10. It also runs under Linux using Wine. The program requires at least a 1GHz processor, SVGA display and a 16-bit sound card. A Pentium 2 class or better is suggested. One serial port (or USB equivalent) is required for PTT or CAT control. Memory requirements are minimal, and the program size is about 350kB.

> The default program window is of modest size, allowing you to use a laptop or netbook with a smaller screen, or allowing room for other applications on the screen. However the window can be resized by dragging the corners. The image mode windows are floating and separate.

> This program may not run well on a low-spec 'netbook' type computer, or older single-core Pentium, especially using image modes, as the processing power required for reception and image maniputation is high. Check the Task Manager, and make sure no other tasks are running.

> The actual program consists of just one file, and although it makes a few files and two folders, no changes are made to the computer's registry or anywhere else. To remove the program, simply delete the whole folder made during installation. A setup file is made in the working folder. A new setup file is used for each new version, so you can install new versions to the same folder.

> The FSQCall program will operate with 'Helper' programs designed to pass information back and forth via a file-level protocol. This is how programs such as FSQPlot operate, as well as the FSE error correction program included here.

> CAT functions are difficult to test due to lack of standardization between rigs. CAT is known to work with Icom, Flex, ANAN, and some Kenwood and Yaesu rigs, but we could do with feedback from users of other transceivers. You may be able to get support for your transceiver from the FSQ Users Group at the FSQDigital Yahoo Group.

> Developers interested in writing software for FSQ and/or FSQCAL should contact ZL2AFP (zl2afp "at" xtra.co.nz) for source code and other details. There is already an excellent US Version available, and an FSQ mode with compatible selective calling in FLDIGI.

> The latest versions of FSQCall, along with source code, are always available at www.qsl.net/zl1bpu/MFSK/FSQWeb.htm.

### Warning

> For unattended operation, test run the complete setup for some weeks prior to deployment, to make sure that it will be stable over long periods of time. It would be advisable to use a hardware transmitter timeout circuit so that if something goes seriously wrong it won't be stuck on transmit. The developers accept no responsibility for damage, and do not recommend using FSQCall for mission critical applications.

> Whether you can legally operate an unattended station will depend on your local regulations. Check with the relevant authority.

### Credits

> - The original idea for Incremental Frequency Keying came from Steve VK2XV/VK2ZTO
> - The offset IFK concept (IFK+) was developed first for DominoEX by Murray ZL1BPU, following research into intersymbol interference
> - 'Sync-less' peak-hit counting IFK was first suggested by Alberto I2PHD (and used in JASON)
> - The 'unsquare' 28/32 WSQ Varicode, the WSQ alphabet and telemetry concepts were dreamt up by Murray ZL1BPU
> - The FSE correlator, sync detector and LC alphabet used in error correction are the work of Murray ZL1BPU
> - The FSQCALL Selective Calling protocol was developed by Murray ZL1BPU with significant input from Con ZL2AFP
> - All the hard coding work was done by Con ZL2AFP, following many years experience developing MFSK modes

Copyright © Murray Greenman and Con Wassilieff 2013-2016. All rights reserved.