Home » Digital Modes » FT8 with prefixes and suffixes: why DL/HB9HJI behaves differently from HB9HJI/P

9 min read

FT8 with prefixes and suffixes: why DL/HB9HJI behaves differently from HB9HJI/P

«No prefixes or suffixes in FT8, otherwise FT8 gets confused because of the bit length.» You read that sentence in forums again and again. I had to deal with it when I built the FT8 module in Ham-Tools. What should the sequencer send when the POTA log runs as HB9HJI/P? I had seen problems and wasn’t sure where they came from. So I read up: in the developers’ QEX article, in the WSJT-X User Guide and finally in the source code. I compiled the part of WSJT-X that packs messages into bits myself and fed it my callsign in every variant.

The result up front: the «confusion» is a myth. The restrictions are real, though, and they don’t hit /P, but prefixes and every other add-on.

Is my callsign standard in FT8? The decision tree
Is my callsign standard in FT8? The decision tree

77 bits, nothing more fits

An FT8 transmission carries 77 bits of payload. Add 14 bits of checksum and 83 bits of error correction, 174 bits in total on 58 data symbols of eight tones each. The whole message has to fit into those 77 bits: two callsigns, locator or report, and three bits that say which message type it is. The developers call this field i3. That is why text isn’t sent letter by letter but packed, and each message type splits the 77 bits differently.

How the 77 bits are split: the standard message at the top, the type for nonstandard callsigns below
How the 77 bits are split: the standard message at the top, the type for nonstandard callsigns below

What a «standard callsign» is

A standard callsign consists of a prefix of one or two characters, at least one of them a letter, then a digit and then up to three letters. HB9HJI fits: HB, 9, HJI. So do DL1ABC, K1ABC and OE3XYZ. 28 bits are enough for every possible combination: there are 262,177,560 callsigns, and 28 bits offer 268,435,456 values. The rest is reserved for CQ, QRZ, DE, directed CQs and so-called hash codes, more on those shortly.

Calls that don’t fit this pattern include 3DA0XY with three characters before the digit, long special event calls such as YW18FIFA (the example from the User Guide) and anything extended with a slash at the front or back. With one exception.

/P and /R: one bit, no problem

For /R and /P there is a dedicated bit per callsign. The standard message (i3=1) uses it for /R, its sibling (i3=2) for /P. Nothing else changes: two full callsigns, locator or report. The User Guide only describes /P for the EU VHF contest, but the code makes no distinction. «CQ POTA HB9HJI/P JN47» goes through just like «CQ POTA HB9HJI JN47»; I checked that with the packer.

There are small catches all the same. /P and /R can’t be mixed in the same message. And as soon as the other station has a nonstandard callsign, HB9HJI/P no longer counts as standard either. More on that below.

Prefixes and other suffixes: plain text and hash

Everything else doesn’t fit into 28 bits: DL/HB9HJI, HB9HJI/M, /MM, /QRP or /3. That is what message type 4 is for. It carries the long callsign in plain text, up to 11 characters in 58 bits, and the other callsign only as a 12-bit hash. There is no room left for locator or report, only two bits for RRR, RR73 or 73 and one bit for CQ.

A hash is a kind of shorthand. It is calculated from the callsign but can’t be reversed. So the receiving software remembers the full callsigns it has recently decoded and puts them back in angle brackets: <DL/HB9HJI>. If it has never seen the callsign in plain text, all you get is <…>. A standard message can also carry a hash instead of a callsign, there with 22 bits. Two callsigns with the same hash are possible, but according to the developers rare in practice.

What this means in a QSO

  • No locator in the CQ. «CQ DL/HB9HJI» works, «CQ DL/HB9HJI JN47» doesn’t. In my test, the packer silently encoded a hand-typed CQ with locator as «CQ HB9HJI JN47». The prefix was gone.
  • No directed CQ. «CQ POTA DL/HB9HJI» doesn’t fit any message type. WSJT-X turns it into free text, which is limited to 13 characters: what goes out is «CQ POTA DL/HB».
  • Reports exist, but only with a hash. In the report messages the compound callsign appears in brackets. It is sent in full only in the CQ and with RRR or 73.
  • <…> at first. Anyone who has never received you in plain text sees <…> until your CQ or RRR gets through once.
  • Only one nonstandard callsign per message. According to the User Guide, two nonstandard callsigns can’t work each other at all. This is where /P comes back in: if a station with a nonstandard callsign calls HB9HJI/P, the /P call slips into the special type as well, and the report drops out of the message. Without /P the same QSO runs normally.
  • PSK Reporter loses the position. Without a locator in the CQ, maps and spotting services lack the location. The User Guide points this out itself.
  • More room for logging errors. What only arrives as a hash is easily copied wrongly.

Two QSOs side by side

Both sequences come from the WSJT-X User Guide. On the left a standard QSO, on the right the same with a compound callsign:

StandardWith a nonstandard callsign
CQ K1ABC FN42CQ PJ4/K1ABC
K1ABC G0XYZ IO91<PJ4/K1ABC> W9XYZ
G0XYZ K1ABC –19W9XYZ <PJ4/K1ABC> +03
K1ABC G0XYZ R-22<PJ4/K1ABC> W9XYZ R-08
G0XYZ K1ABC RRR<W9XYZ> PJ4/K1ABC RRR
K1ABC G0XYZ 73PJ4/K1ABC <W9XYZ> 73

On the right both locators are missing, the caller’s too, and PJ4/K1ABC is spelled out in only three of six lines.

The overview

CallsignMessage typeLocator in CQCQ POTARestrictions
HB9HJIStandard (i3=1)yesyesnone
HB9HJI/PStandard with /P bit (i3=2)yesyescan’t be mixed with /R, problems with nonstandard partners
HB9HJI/RStandard with /R bit (i3=1)yesyessame as /P
HB9HJI/QRPType 4nonohash, <…> at the partner
HB9HJI/MM, HB9HJI/MType 4nonoas above
HB9HJI/3Type 4nonoas above
DL/HB9HJIType 4nonoas above, but mandatory abroad

Examples: what actually goes out

I ran these messages through the packer from the WSJT-X source code. On the left what you type, in the middle what the other station decodes.

TypedDecoded asMessage typeResult
CQ POTA HB9HJI JN47CQ POTA HB9HJI JN47standardworks
CQ POTA HB9HJI/P JN47CQ POTA HB9HJI/P JN47standard with /Pworks
CQ POTA HB9HJI/M JN47CQ POTA HB9HJI JN47standard/M silently dropped
CQ HB9HJI/MCQ HB9HJI/Mtype 4works, no locator
CQ POTA HB9HJI/QRP JN47CQ POTA HB9HJI JN47standard/QRP silently dropped
CQ HB9HJI/QRPCQ HB9HJI/QRPtype 4works, no locator
CQ POTA DL/HB9HJI JN47CQ POTA HB9HJI JN47standardprefix silently dropped
CQ POTA DL/HB9HJICQ POTA DL/HBfree textmangled
CQ POTA DL/HB9HJI/PCQ POTA DL/HBfree textmangled
CQ DL/HB9HJI JN47CQ HB9HJI JN47standardprefix silently dropped
CQ DL/HB9HJICQ DL/HB9HJItype 4works
CQ DL/HB9HJI/PCQ DL/HB9HJI/Ptype 4works, but /P is unnecessary
CQ POTA HB0/HB9HJICQ POTA HB0/Hfree textmangled
CQ HB0/HB9HJICQ HB0/HB9HJItype 4works
DL1ABC DL/HB9HJI -10DL1ABC HB9HJI -10standardprefix silently dropped
DL1ABC <DL/HB9HJI> -10DL1ABC <DL/HB9HJI> -10standard with hashworks, this is what WSJT-X generates

The dangerous rows are the ones marked «silently dropped». The packer reports no error, it simply packs what fits the standard format, and the add-on is missing. Abroad that means operating without the mandatory prefix without noticing.

What the rules say

In Switzerland /P is optional. The OFCOM (BAKOM) regulations say the licensee «may» add /P, /M, /MM or /AM to the callsign. The Swiss national society USKA writes that a suffix is generally optional but mandatory in certain contest situations.

Abroad it is the other way round. Under CEPT Recommendation T/R 61-01 you transmit your own callsign preceded by the prefix of the host country, separated by a slash. A Swiss licensee operating in Liechtenstein must put HB0/ in front. The law comes before convenience. DL/HB9HJI with all its restrictions is correct, a bare HB9HJI in Germany is not.

Your own country’s rules on /P may differ from the Swiss ones, so check them before you drop it.

Practical tips

  • POTA at home: operate without /P where your rules allow it. With standard partners /P does no harm, with nonstandard calls it does, and it isn’t needed.
  • POTA abroad: put the country prefix in front, leave out optional suffixes unless the host country requires them. CQ without locator and without «POTA», and patience, because hunters first see you as <…>. They learn that it’s an activation from the POTA spot.
  • Don’t type anything by hand. The messages Tx1 to Tx6 generated by the software follow the rules. Hand-typed text can be rebuilt silently, see the vanished prefix above.
  • Check your log: before uploading, verify callsigns that only appeared in angle brackets or as <…>.

This isn’t only about WSJT-X. JTDX, MSHV and other programs speak the same 77-bit protocol, otherwise they couldn’t work each other at all.

Conclusion

FT8 doesn’t get confused by a slash. It simply has fixed compartments, and a prefix doesn’t fit into the standard one. My rule of thumb: a /P doesn’t bother FT8, a prefix does. Leave out optional add-ons, send the mandatory ones.

Sources

73 de Chris, HB9HJI

Leave a Reply

Your email address will not be published. Required fields are marked *