MFSK16 - A Brief History

In 1999 MFSK16 was developed by Murray Greenman, ZL1BPU for digital amateur radio communications on high frequency (shortwave).
It was a combination of new ideas in a successful attempt at creating a weak signal data mode for HF use.
MFSK is classed as an M-ary orthogonal signaling scheme.
There are 16 tones spaced 15.625Hz apart for a bandwidth of 235Hz. Each tone lasts 64mS and represents 4 bits.
These signals are distinctive when received aurally as a rapid succession of tones with almost musical quality.

Like any other form of angle modulation that transmits a single RF tone that varies only in phase or frequency, MFSK produces a constant envelope. This significantly relaxes the design of the RF power amplifier, allowing it to achieve greater conversion efficiencies than linear amplifiers.
Additionally, the combination of forward error correction and data interleaving makes this mode very robust.

MFSK16 - Migration to the micro controller.

I've been writing assembly PIC packet applications for several years and am always looking for a unique niche.
I recently found another one in the backwaters of APRS via HF (high frequency) radio.
Since it's inception, HF APRS has been attempting to use 300 baud packet (a mode designed for wire) over wireless with dreadful results when conditions were less than optimal.  In the years since, several digital modes designed for HF radio have emerged. Unfortunately, none of them directly supported APRS.
In 2010 Chris Moulding G4HYG changed all that when he released a Windows program called APRS Messenger and started a small revolution in HF APRS by supporting other much more robust modes to send position reports.

Learning of this, I began development of a PSK-63 tracker, employing a mode I was already familiar with. I combined it with my existing code to create APRS position strings for standard and compressed coordinates.
Lastly, I had to make the structure work with APRS Messenger including the CRC16 MODBUS calculation to insure data integrity.

Like the latest, the first PSK63 tracker hardware was centered around an 8 bit PIC 16F690 micro controller and was designed to go between a GPS and mobile HF rig.
It converted the GPS GPRMC sentence into an APRS position report for transmission by the radio.
An 8 bit DAC created the tone and my software modulated it by shifting the phase. This signal was fed to the radio as audio and transmitted periodically.
From this, FreeTrak HF was born. It's PSK63 modulation worked very well compared to 300 baud packet, but still lacked the weak signal throughput I was looking for.

The search for a more robust signal led me to MFSK-16 and a much more daunting endeavor to create a working encoder.
The single tone generation would work with my present PSK63 hardware, but making the convolutional encoder and interleaver in software proved to be a larger challenge. I'd begun looking at this mode in 2009, but didn't send any data til the end of 2012. Thanks to W7AY for the great MFSK16 interleaver info page. It was the final hurdle.

From this came the FreeTrak16, a small APRS tracker for your HF rig that sends MFSK-16 APRS Messenger packets. It has been in mobile testing by John K0CQW for almost a year with excellent results.

The DDS Experiment

Direct digital modulation was born out of an idea that I had while writing the code for my MSFK APRS tracker.
I had a couple $10 Chinese AD9850 DDS modules sitting on the bench and one day began thinking about how to synthesize MFSK signals with one.
Since MFSK16 modulates the carrier with one of 16 tones spaced 15.625 Hz apart at a rate of 15.625 per second, why not just digitally change the carrier frequency by that amount?
The program already knew which tone to create and when to send it. Now instead of creating the tone, it would send a new frequency command to the module.
This eliminates creating the tones with a DAC and mixing them with a carrier, simplifying the construction.
To test my theory, I altered the encoding routine to output new frequency commands to the DDS module at the same rate to simulate the changing tones.
Then I listen with the sideband receiver tuned 1 KHz below my transmit frequency.  From the receiver standpoint there's no difference and it worked splendidly!

The HF GPS Trackers

FreeTrak 16 - Designed to be used with a HF transceiver.
DDS FreeTrak 16 - Outputs digitally modulated MFSK16 RF.

The original is called FreeTrak16 denoting it's use of MFSK-16 and can be built on a custom pcb available from OSH Park.
It's built around a PIC 16F690 micro running at 16 MHz and user configured via RS232 using a terminal program.
It has provisions to use an external GPS or a Spark Fun Ublox GPS module.
The radio interface includes Tx audio, PTT and ground. It's very flexible with all radio connections brought out to a dual header that terminates to a 6 pin mini DIN.
The user has the choice between Mini DIN or wired direct using the solder holes and your own cable.
During configuration the user is asked to enter their call-SSID, transmit interval, APRS symbol and tail text edit.
This data is saved in non volatile memory and will remain in effect until changed.

DDS FreeTrak16 is the newest tracker in this series and is meant for low power operation such as QRP APRS and balloon tracking.
It differs from the FreeTrak16 in that it runs at 4 MHz and uses a AD9850 Direct Digital Synthesizer to output modulated RF directly at about 1 milliwatt.
It's frequency agile tuning from 160m - 10m and with the addition of an amplifier, is every bit as capable as it's older brother.
The only difference the DDS operator has to be aware of is setting the transmit frequency 1 KHz above the upper sideband listening frequency in order to create the tones by heterodyne.
The forward error correction and interleaving are handled in software and like the original, the user can choose between Mic-e compressed or conventional APRS packets at the flip of a switch.

FreeTrak-16 APRS HF Tracker

DDS FT-16 APRS HF Tracker with DIZ 100 mW amp

The FreeTrak-16 with my trusty Garmin Etrex and Yaesu FT-857D

Chinese DDS 9850 module from Ebay for around $10

The DDS Texter

My texter came out of an idea I had for demonstrating MFSK16. It uses a rotary encoder and LCD display as input.  Output is taken from a AD9850 RF synthesizer module.
It will tune from 1 to 30 MHz and output a signal of about a milliwatt. This is enough for use around the shack or house.
The human interface portion consists of two switches, a 2x16 LCD display and a rotary encoder for adjusting frequency and creating messages.
The texter circuit is built around the PIC 16F690 20 pin micro running at 4 MHz in conjunction with a Chinese AD9850 DDS module.

All of these circuits can be built on a breadboard for experimenting temporarily.

The Amplifiers from W8DIZ

The 100 mW CW amp with user supplied SMA connectors. About 40-50 mA @12v

These are the two amplifier kit's I have built and used with my QRP projects. One costs $11 and outputs 100 mW with 1 mW DDS input. The other costs $19 and makes up to 5W from 1 mW in.
Skill level is above beginner for both and requires careful attention to the instructions. The SMA hardware is available on Ebay or Amazon.

The 5W CW amp with user supplied SMA connectors. Good to 18 MHz and draws about 650 mA @ 12v.
Serious gain here (37db) smoothly taking the 1 mW DDS output to 5 watts.
Also has gain adjust that allows you to put your power level where you want.


File package for the original MFSK16 APRS tracker for mobile HF rigs.

File package to make a frequency agile QRP APRS tracker

File package to build a QRP MFSK16 texter/transmitter

Last update 11-10-14

Ask Mike