Wednesday, May 07, 2008

Digital Mode of the "Week:" HF Packet

This is early because I'm going on vacation.


"Packet Radio" is an amateur mode used to send data between terminals attached to radios. It really took off in the 80s after the authorization of ASCII on amateur bands. It gets its name from "packet switching," a networking protocol in which data is divided into small blocks (packets) with the address and sequence numbers attached. This allows a station to act as a "node," and connect to multiple users on the same frequency. Incidentally, you're using packet-switching and routing right now, since these are also used in the TCP/IP protocol suite which makes the Internet go.

HF packet, which is what we're interested in, is an adaptation of the VHF packet you might be more used to. It transmits at 300 baud, with a 200-Hz shift, using audio frequency-shift keying (AFSK) of standard single-sideband ham transceivers. Various tone centers have been used by different hardware Terminal Node Controllers (TNCs), with the most common being 2210 and 1700.

The AX.25 link-layer protocol used by amateur packet radio uses a special polarity (or lack therof) called NRZI (Non-Return to Zero Inverted). In this, any bit state transition is a one, and no transition is a zero. Since it's the transitions that matter, mark and space are in practice not relevant. This means that packet can be tuned in USB or LSB with no need to change polarity at the receiver. However, as in RTTY, the receiver dial frequencies are usually (though not always) closer to the listed ones in LSB mode.

Today, software TNCs have pretty much replaced hardware ones, but the underlying link-layer scheme is the same. It's just better hidden. AX.25 uses connections, meaning that one station will connect with the other before exchanging information. However an "unproto" mode is provided for CQs, and a "beacon" mode for all-station-this-net broadcasts. There's also a "monitor" mode, which is what we will use, because it decodes all the packets.

Packets are labeled for type of data, which for our purposes means that they are either control packets or data packets. A lot of control packets are sent, giving the mode a rather high overhead.

The receiving connected station will error-check packets and ask for retries of missed ones. Therefore packet radio, like SITOR-A, slows down as channel noise increases. Even at 300 baud, the need for retries can make real information throughput absolutely glacial, and HF packet just isn't used much for long messages. In extensive monitoring, I've seen a few BBS (Bulletin Board System) connections, a few compressed file transfers (which print as gibberish), and a lot of automatic forwarding of packets (aka "digipeating").

Plain text is 7-bit ASCII. TNCs can switch to 8-bit mode for binary transfers or extended characters, but the one at the other end has to do same.

HF packet sounds like a series of short buzzes. These are much shorter and chirpier sounding than other modes used for e-mail and such. Given the greater chance that long packets will be rejected, it's best to keep the bursts very short.

One interesting mode that is run as an application on top of packet is Automatic Position Reporting System (APRS). This automatically sends the GPS position of the station, or even such data as the weather. It allows hams to track vehicles out in the boonies, or participate in weather observing networks. These are then forwarded to multiple stations, and plotted using slick map software. Obviously, HF has considerable potential here due to its coverage of areas where VHF is unheard of.

The best HF frequency for APRS is listed as 10147.6 USB. This is the worldwide APRS gateway. My receiver gives a 1700-Hz tone center when tuned in this mode. I have it on right now, and an HF station just reported a position in California. This is cool stuff.