ARRL

Register Account

Login Help

MFSK Spec

1. INTRODUCTION 

MFSK is an easy-to-use chat mode for real-time amateur contacts, nets and bulletin transmissions, but not intended for contesting or Bulletin Board System (BBS) use. It is a half-duplex non-Automatic Repeat ReQuest (ARQ) forward-error-correcting (FEC) mode. It performs well on long-path fading conditions and in the presence of interference. No special equipment will be required to set up a station to operate this mode. 

2. DESCRIPTION OF MODES 

2.1 Choice of Modes 

The choice of useful modes offered by the software is limited. Other modes offered will be sufficiently different in nature and application to be obvious to the non-technical user (for example PSK31 is a suitable alternative). 

The default mode, known as MFSK16..MFSK 9-9, offers comfortable typing speed and quick manual half-duplex end of over turnaround. Turnaround time will not exceed five seconds using the default mode. Typing speed is dependent on mode and FEC settings, and the turnaround time will scale with data-rate changes and increase with addition of FEC. The default mode is 16-FSK, 16-tone, 15.625-baud transmission rate with FEC ON, Interleaver ON. The FEC will be R=1/2 K=7, using the NASA algorithms. 

2.2 Mode Selection

The user software will automatically select number of tones, signaling rate, FEC and interleaver regimes from a single menu selection, invisible to the user. The user will not be able to change any of these parameters, nor will they be shown what the settings are. Different modes with clearly different performance will be provided only from a limited list, which descriptively names the modes. 

3. TRANSMISSION TECHNIQUE 

3.1. MFSK Technique 

The transmission is based on 16-FSK (sequential single tone FSK), with continuous phase (CPSK) tones. There is no delay between tones, and no shaping of the tones. 

3.2 Transmission Bandwidth 

Transmission bandwidth will be less than the number of tones ×tone spacing × 2 at the --30 dB point relative to a single carrier when properly adjusted. The transmitter does not need to be linear. Note that this is outside the second sidelobe, so should be easily achievable. The CCIR requirement is for less than 0.005% of the total power to be outside the necessary bandwidth, which is 316 Hz for the default mode 16FSK16. The ITU emission designator is 316HJ21B when produced by audio modulation of an SSB-SC transmitter. 

3.3 Symbol Rate and Tone Spacing 

The system uses a tone spacing numerically equal to the symbol rate. Each symbol consists of a single square keyed pulse with the same start and finish phase as all others, and concatenated with others. No single or isolated pulses, or gaps between pulses are emitted. 

3.4 Range of Tones 

Transmission tones (and receiver tuning) should be adjustable to suit different transceiver IF filters. Low (~1 kHz) and high (~2 kHz) alternatives to be accommodated without change of actual tone spacing. 

3.5 Bit-Stream Orientation 

At the lowest level, i.e. the single symbol, the system will be a bit-stream oriented transmission, allowing convolutional-code FEC, Varicode and binary transfer options to be used at a higher level. This approach allows maximum flexibility; for example, it also allows data block transmission over sequential tones, such as is used in Piccolo, with two sequential tones per character. 

3.6 FEC Coding 

Full-time FEC coding with interleaver is used with this mode. FEC is sequential R=1/2, K=7, using NASA algorithms. The interleaver will be self-synchronizing, based on 10 concatenated 4 × 4 bit IZ8BLY diagonal interleavers. 

3.7 Alphabet Coding 

The default alphabet coding will be the IZ8BLY Varicode, using an extended ASCII character set and super-ASCII control codes. 

3.8 Idle Limitation 

To avoid extended periods of single tone (for example, when the keyboard buffer is empty), a non-printing character is stuffed periodically into the transmit system as though it came from the keyboard. A non-printing character is sent whenever the transmitter is idle for 20 symbol periods. Stuffing will not occur when the buffer is not empty. Idle will be achieved by sending ASCII NULL or other non-printing character, followed by an extended zero bit stream, e.g., "0000000000000000." The latter will be rejected by the receiver as an invalid character. 

Comment: It is intended in future releases of this specification to describe a "secondary data channel." Special characters for secondary channel data, which will be outside the extended ASCII character set defined in paragraph C.10, will allow transmission of low priority data during idle, exactly like the IZ8BLY MT63 "secondary channel." The data rate would be very low, but would permit automatic ID. These super-ASCII characters would be used in place of the above mentioned NULL character. The purpose of the "diddle" is to allow the receiver symbol clock to remain in lock. The diddle must not be continuous, as the idle period is used for signal tuning purposes. 

3.9 Beginning and End of Transmission 

At the start of transmission an idle carrier representing the lowest tone is transmitted for 8 symbol periods. At end of transmission all pending transmit characters is sent, and the transmitter is flushed with zeros, allowing an idle period of at least 4 symbol periods to be transmitted. The purpose of the idle carrier is to allow accurate manual tuning. 

3.10 Tone Bit Weighting 

Tone weighting is such that the lowest audio tone represents zeros in all bits. The weighting will increase in gray-code as the tone frequency is increased. This technique provides the least Hamming.MFSK 9-11 distance between adjacent tones:

 

Tone

Weight

Tone

Weight

0 (lowest)

0000

8

1100

1

0001

9

1101

2

0011

10

1111

3

0010

11

1110

4

0110

12

1010

5

0111

13

1011

6

0101

14

1001

7

0100

15

1000 (highest)

4. THE RECEIVER

4.1 Demodulator Technique 

The receiver uses non-coherent demodulation, employing an FFT filter and demodulator technique, integrating the signal over the symbol tone period by sampling the period synchronously with the transmitted symbol. A recovered symbol clock will be used to accomplish this purpose. Reduction of multi-path reception effects can be achieved by windowing the symbol sample period to exclude, for example, the first and last 5 ms worth of samples. 

4.2 Decision Decoding 

The symbol decision decoder which follows the FFT will preferably use bit-wise soft decisions. The symbol decision decoder may offer soft decisions to the FEC decoder. 

4.3 Tuning Indicators and AFC

The symbol decision decoder provides tuning indication, as well as signal performance metering (S/N meter). Automatic Frequency Control may be offered. This mode will be very sensitive, and very narrow, so will require very accurate tuning. Due consideration needs to be given to accurately tuning almost inaudible signals, through use of a good expanded waterfall display. A S/N meter in arbitrary units based on data from the symbol decision decoder will be useful. AGC is not required with an FFT approach. 

4.4 FEC Decoding 

The FEC decoder uses soft decisions, and may use soft data from the symbol decoder. The FEC regime can identify the FEC dibits unambiguously from the fixed weight bits in the received symbols. 

4.5 Confidence Meter 

The FEC decoder may provide information for a "signal confidence" meter, which reflects the current reliability of FEC decoding from the decoder metrics. 

4.6 Default Text Mode 

The default receiver text mode uses a specially adapted Varicode, translating into ASCII for display. Characters outside the defined extended ASCII character set is not be displayed, i.e., will not be sent to the screen. This use of non-printing special characters permits these characters to provide symbol sync or carry a secondary channel text thread where supported by the software, without requiring support to be part of thes specification. 

4.7 Other Requirements 

4.7.1 Symbol Sync 

Receiver symbol synchronization will be affected by using transmitted carrier phase or data transition information or by multiple FEC decoder voting, rather than recovering AM modulation, since the transmitter is hard keyed. (The original Piccolo used AM modulation of tones to transmit sync. MFSK16 does not, but transmits constant-phase carriers. CPFSK transmissions make these techniques possible.) 

4.7.2 Symbol Clock 

The received symbol phase will remain substantially correct (within 90 degrees) for at least 50 symbol clock periods while receiving an idle condition, and will retain phase with one non-printing character every 20 symbols. 

4.7.3 Tuning Display and Tuning 

The user interface provides a waterfall tuning display, preferably with point and click tuning, but with at least easy tuning in steps of 1/4 of the tone spacing or better.

4.7.4 User Interface Windows 

The user interface provides separate TX and RX windows, a type-ahead buffer and simple macros. 

4.7.5 Identification and Tuning Signal 

Morse ID and a transmitter tuning signal are provided. Suggestion: OOK of the lowest tone, or FSK between lowest and highest tones would be suitable for the ID, as it would assist receiver tuning. Transmitter idle will suffice for the tuning signal. 

4.7.6 USB/LSB Reverse Switch 

A reverse switch may be provided to allow copy of wrong-sideband signals. If provided, the transmitter will reverse in concert with the receiver. 

5. DOCUMENTATION 

5.1 Software Copyright 

User software (released binaries) of software offering this mode will be copyright of the author, and all rights will be retained by the various authors. All source code copyright to be retained by the author. All source code must be submitted to the MFSK development team if the software claims to be written to this specification. The development team "committee" will review all source and executables before approval is given. Submitted source code will not be published without the authors' permission, but if the software is approved will be retained and offered to interested developers on request. Permission to use the MFSK16 logo will be provided for incorporation into approved software. 

5.2 Non-Amateur Use 

Commercial or military use of the released binaries will be permitted only as agreed by the contributing authors and owner of this specification. No responsibility for damages or lack of performance is assumed by the owner, the authors, or any of the development team.(The purposes of this paragraph are to (a) discourage commercial exploitation of the product or concept without approval and involvement of the developers; and (b) to protect the developers from unreasonable demands.) 

5.3 Publication of Specifications 

Algorithms and code tables sufficient to define the mode will be published as electronic documents, are referred to and referenced in this document. The documents will be retained on the MFSK Website. A reference version of the source code will be made available to interested developers. These released documents, along with this specification, will constitute the complete description of the mode. 

5.4 User Documentation 

Software developers are to make their own arrangements for documentation of their software. Installation and operating information will accompany each release. 

5.5 Release of Non-compliant Software 

No user software will be released which purports to support this specification but which offers for public use MFSK operation not covered by this specification. This particularly applies to test versions and beta versions. Test features in these releases must be protected from public access. 

5.6 Freeware Availability 

All user software (released binaries) will be made available free of charge, other than media costs, perhaps via an end-user license. The software will be fully operational and fully documented. 

6. ACKNOWLEDGEMENT 

The information was based on a description prepared by Murray Greenman, ZL1BPU.

Join ARRL

Donate Now

EXPLORE ARRL

Instragram     Facebook     Twitter     YouTube     LinkedIn