home *** CD-ROM | disk | FTP | other *** search
- A BRIEF TUTORIAL ON HF PACKET OPERATION
- by Norm Sternberg, W2JUP
-
- 1. TNC PARAMETER VALUES
-
- RULE 1: DON'T USE THE FACTORY DEFAULTS IN YOUR TNC
-
- The values stored in your TNC's EPROMs are totally unsuitable for HF
- packet operation; they are tailored for the average VHF case. Here is a
- set of recommended "non-default" parameter values for general purpose HF
- operation on 40, 20 and 15 meter packet operation.
-
- MAXFRAME 1 to 2
- PACLEN 32, 64 or 80
- TXDELAY 40 or 50
- FRACK 6, 7 or 8
-
- MAXFRAME
-
- Choose a lower setting for poor conditions, a higher value for better
- conditions. We have very strong mathematical and experimental evidence
- (papers by Phil Karn and others) that MAXFRAME 1 provides better long-
- term throughput even on VHF!
-
- If you send FOUR frames in one packet and the distant station ACKs only
- frame #1, then you're going to resend frames #2, #3, and #4. If he ACKs
- frames #2, #3 and #4 but bombs #1, you're going to resend all four of
- them again anyway. What's the point in cluttering the channel with two,
- three or four un-ACK'ed frames when the first one hasn't been accepted?
-
- Each frame imposes a fixed "overhead" on the packet. This "overhead" is
- the synchronization, timing, clocking, control and address information
- stuff that you DON'T type; the stuff that makes the protocol work. The
- simplest frame you can send has at least 19 bytes (152 bits) of overhead.
- Each BIT of each BYTE is tested by the error correction process.
-
- Unless you have a definite need to maintain a specific document format,
- don't waste bandwidth inserting blank lines because you think it may
- "look good" on the other station's screen. If you're operating in the
- CONVERSE mode as most people tend to do, your packet frame is actually
- sent by the CARRIAGE RETURN or ENTER key.
-
- That single CR/LF you type to make a blank line creates a frame that has
- exactly the same overhead as a frame that has 80 typed characters. This
- "overhead" is the packet protocol stuff like the sync, callsigns and con-
- trol information - stuff that you don't see, that conveys no "user" in-
- formation. Every blank line must be ACK'ed just the same as the fully
- typed lines. (It hurts to see a link time out retrying a blank line.)
-
- PACLEN
-
- Choose a lower setting for poor conditions, a higher value for better
- conditions.
-
- This is the number of typed characters that makes ONE frame. The lower
- the number of characters or bytes in the frame, the higher the mathemat-
- ical probabilities of getting through without taking a hit.
-
- Each byte in the overhead mentioned above has eight bits. Each of the
- characters you type has eight bits. If any one of those bits in any one
- of those overhead bytes (or in your typed characters) takes a noise hit,
- then the error correction process fails, and the whole frame is thrown
- away.
-
- Let's say that W2JUP is directly connected to W2HPM and sends the simple
- line:
-
- Hello, Joe, how are you?>>
-
- That small packet frame actually consists of at least 20 bytes (160 bits)
- of overhead, plus 27 bytes (208 bits) of your typed data, a total of 376
- bits. If any one of those 376 individual bits is trashed at any point in
- the link during transmission, then the entire frame is thrown away by the
- receiving station.
-
- Now let's assume that you're still using the factory-default value of
- PACLEN, 128 bytes, and that you're NOT typing any CR/LF so that your TNC
- is automatically sending the packet at your 129th typed character. Your
- frame might look like this:
-
- Joe, I wanted to let you know that I wouldn't be able to go to the club
- meeting tomorrow night and you'll have to get a ride from
-
- The same simple arithmetic tells us that you've just sent 20 bytes of
- overhead, plus 128 bytes of the characters you've typed, resulting in a
- frame that has 20 + 128 * 8 = 1184 bits.
-
- Simple common sense says that the chances of getting 1184 bits through
- the link "unharmed" - are much lower than getting only 376 bits through
- without damage by the typical noisy HF radio environment. Now - if you
- happen to be operating with the factory-default settings (as your TNC is
- shipped from the factory):
-
- MAXFRAME 4
- FRACK 3
- PACLEN 128
-
- Let's look at MAXFRAME first. Arithmetic tells us that you've just sent
- a packet of FOUR frames, each one containing 1184 bits, totalling 4736
- bits. The chance of ALL 4736 bits surviving the journey in typical HF
- conditions is a wee bit small.
-
- We're limited by Part 97 to a maximum 300 bit-per-second data rate on HF
- packet. At 300 bits per second, each BIT of each BYTE (or character) has
- a duration of 3.3 milliseconds. You can see that it doesn't take much of
- a noise pulse to smear one of those many bits and thereby kill an entire
- frame. Have you ever measured the length of a single pulse from either
- the "Woodpecker" or your local power line noise?
-
- Now, let's look at FRACK. The FRACK timer sets the amount of time that
- your TNC will wait for an ACK after the instant your PTT keys your rig.
- Contrary to a common misunderstanding, FRACK time is NOT counted from the
- end of your burst; it's counted from the beginning.
-
- Let's assume you're still using the factory supplied default values
-
- FRACK 3 (3 seconds)
- TXDELAY 30 (300 milliseconds).
-
- Let's say that you send our sample short line shown above:
-
- Hello, Joe, how are you?>>
-
- That packet frame contains 376 bits of stuff. More arithmetic:
-
- 376 bits @ 300 bits per second = 1.25 seconds
- 300 milliseconds TXDELAY = 0.30 seconds
- Length of burst = 1.57 seconds
- minus FRACK delay = 3.00 seconds
- Available response window for ACK = 1.47 seconds
-
- This appears to be logically possible - but is it really? Is this
- enough time for the other station to send you the ACK you need?
-
- The other station's TNC must send an ACK whose minimum length will be 20
- bytes or 376 bits. If he's using a slightly lengthened TXDELAY (say 400
- milliseconds, a longish DWAIT of 320 milliseconds, a RESPTIME of 5 (500
- milliseconds), or if his TNC hears anything on the channel and delays the
- ACK for even a few hundred milliseconds, we have an interesting problem.
-
- Let's assume that the other station's TNC received a valid frame from
- your system, the channel is clear, and his TNC is going to send the ACK
- back to you. Now we've got a very cute "CATCH-22" situation:
-
- 376 bits @ 300 bits per second = 1.25 seconds
- Distant station's TXDELAY = 0.40 seconds
- Distant station's DWAIT = 0.32 seconds
- Distant station's RESPTIME = 0.50 seconds
-
- TOTAL DELAY before other station's end-of-data = 2.47 seconds
-
- Remember that your system won't know if his ACK is valid until your TNC
- has received and decoded his entire frame. The combined delays intro-
- duced at his end now approach your FRACK time. You can't decode and val-
- idate his ACK before your FRACK timer runs out. Your TNC RETRYs your
- frame because the other station's ACK didn't arrive on time. And all
- this relates to his sending an ACK frame of only 20 bytes.
-
- Now that we've had a taste of timing concepts, let's see why HF packet
- doesn't work and what happens if you're still using the factory-default
- values:
-
- MAXFRAME 4
- PACLEN 128
- FRACK 3
-
- Our arithmetic said that you would send a packet of four frames, each one
- containing 1184 bits, totalling 4736 bits.
-
- 4736 bits @ 300 bits per second = 15.79 seconds
- 300 milliseconds TXDELAY = 0.30 seconds
- Length of burst = 16.09 seconds
- FRACK delay = 3.00 seconds
- Available response window for ACK = minus 13.09 seconds
-
- You cannot fit a 16-second burst into a 3-second FRACK window. Your
- FRACK timer expires before you've finished sending the packet! This is
- not going to work!
-
- Now, let's use the same arithmetic to see how our suggested values fit in
- here.
-
- MAXFRAME 1 (Only ONE un-ACK'ed frame allowed on the air)
- PACLEN 64 ((64 * 8) + (20 * 8)) = 672 bits
- FRACK 6 (6 seconds)
- 672 bits @ 300 bits per second = 2.24 seconds
- 300 milliseconds TXDELAY = 0.30 seconds
- Length of burst = 2.54 seconds
- FRACK delay = 6.00 seconds
- Available response window for ACK = 3.46 seconds
-
- This will work. Your single frame packet burst of 20 bytes of overhead
- and 64 bytes of your typed data adds up to about 2.5 seconds. About 3.5
- seconds remain available as the interval during which you must receive
- the ACK from the other guy before your TNC will retry the frame.
-
- Below 28 MHz you're limited to 300 bits per second. On VHF you've been
- using 1200 bits per second. Everything on HF takes FOUR TIMES LONGER to
- send, and FOUR TIMES LONGER to receive.
-
- TXDELAY
-
- Don't assume that TXDELAY relates ONLY to your radio's switching times.
- It also relates to the switching and other timing factors in the other
- station's radio. In our real world of HF packet radio, TXDELAY relates
- to the radios at both ends of the link.
-
- Nearly all phase-locked-loop synthesized radios have some measureable
- "settling time". This delay is introduced by some PLL frequency setting
- systems when switching from transmit mode to receive mode and vice-versa.
- We also note that many HF transceivers have a significant delay - even
- with "fast" AGC. This additional delay occurs while the receiver's AGC
- circuit is "relaxing" and returning the receiver to full sensitivity.
-
- One more cause of delays appears when the sending station uses AFSK in
- the single-sideband mode. Some operators are not careful to avoid
- driving the transmitter into ALC action. ALC (Automatic Level Control)
- tends to reduce the transmitter's power output at keyup time and, if
- excessive, can actually destroy the first few bytes of the transmitted
- packet frame. Those first bytes of each packet frame are the FLAG field,
- the information that marks the beginning of the frame and provides timing
- or synchronization information to the other station's TNC. If the flag
- is smeared during transmission, the receiving TNC can't use that frame
- and throws away whatever it receives after it. In addition, the more
- sync you have on the front of each frame, the higher the probability that
- the other station's TNC will successfully decode your frame in conditions
- of noise and propagation effects.
-
- Extra flag also seems to help combat the effects of multipath and select-
- ive fades. Don't fall for that "Too much TXD cuts down my throughput"
- nonsense. If the other station doesn't decode your flag correctly, then
- all the bytes after the sync are trashed; the frame is thrown away. So
- much for your "throughput".
-
- 2. FREQUENCY CONTROL AND STABILITY
-
- RULE 2: HF PACKET DEMANDS PRECISE OPERATING FREQUENCY CONTROL!!
-
- You've operated VHF packet without problems, so you've probably ignored
- your TNC's transmitted tones and calibration. You've probably devoted
- the same benevolent neglect towards your TNC's demodulator calibration.
- You connect to your buddies and to the local BBS; your rule has been "if
- it ain't broke, don't fix it".
-
- On FM, the the tones you receive are directly generated and controlled in
- the other station's TNC and vice-versa. Your TNC's tones are transmitted
- directly, unaltered, by your FM transmitter and received unaltered by the
- other station's receiver. Your synthesized radio's LED frequency display
- tells you you're on the same frequency as the other station.
-
- But HF packet is a different story. The tones produced by your TNC may
- no longer be the same tones that come out of the other station's radio.
- The frequency of the tones recovered from the other station's receiver
- depend on how the other station's operator tunes his receiver. Whether
- you and the other station are using AFSK or direct FSK, the tones from
- the receiver will always be determined by receiver frequency tuning.
-
- Tuning accuracy on HF packet radio is generally more critical than in the
- other operating modes. Tuning errors as small as 20 Hz can result in
- failure to decode packets successfully. The more selective the receiver
- and the TNC's filters, the more critical the tuning accuracy. Some IF
- filters can be too narrow to handle data at our usual HF packet rate of
- 300 bits per second. In general, IF filter bandwidths should be greater
- than 500 Hz for packet operation at 300 bits per second.
-
- HF packet operation also imposes greater demands for overall transmitter
- and receiver stability. Unless the rig can hold frequency, plus or minus
- 20 or 30 Hz for more than just a few minutes, you may drift right out of
- a useable HF link and "die" from excessive retrys.
-
- There are other interesting problems. Unlike conventional Baudot, ASCII
- RTTY and AMTOR, packet signals use a data format called NRZI (non-return-
- -to-zero-inverted), which in effect ignores data sense (mark-space polar-
- ity). On HF packet, you can use upper sideband or lower sideband equally
- well. The only difference will be in the frequency shown on your rig's
- tuning display. You can be on USB while your link partner can be on LSB.
- Your rigs will appear to be on different frequencies. In general, most
- stations using AFSK tend to operate on LSB. It's best to use the same
- sideband as the station you're working.
-
- To set up a schedule, or connect to a PBBS, or link in a network system,
- you can't always go strictly by the frequency displayed by most modern HF
- rigs. There is no industry-wide standard as to the exact meaning of the
- numbers shown. Some transceivers display the frequency of the suppressed
- carrier in SSB; some show the frequency when your rig is tuned to Mark
- (lower) tone, some show tuning for Space (higher) tone. Some HF rigs
- even provide front-panel adjustment of the digital display to whatever
- the user wishes; carrier, USB, LSB, FSK either tone, etc.
-
- For the AFSK packet operator, this situation is somewhat complicated by
- the lack of an industry-wide standard for HF Mark and Space tones. AEA's
- PK-64 and PK-232 TNCs use 2110 Hz as Mark and 2310 Hz as Space, about in
- the same range as the traditional RTTY tones at 2125 and 2295 Hz (plus
- and minus 15 Hz).
-
- Most licensed clones of the TAPR TNC-2 (including the AEA PK-80) use 1650
- and 1850 Hz for Mark and Space respectively. TNCs using the AMD7910
- "World Chip" modem (including AEA's PK-87 and PK-88) provide a choice of
- 1075 Mark and 1275 Space, or 2025 Mark and 2225 Space.
-
- When using AFSK, your rig's displayed frequency will literally depend on
- the tones being transmitted by the distant station, and also on the fre-
- quencies to which your TNC's demodulator and filters are tuned. Check
- your TNC and transceiver operating manuals to determine what audio tones
- your TNC uses for Mark and Space, and how your rig's digital display re-
- lates to the received and transmitted frequencies.
-
- There are some subtle problems in HF packet radio. You may see lots of
- interesting packet signals, send repeated connect requests - and nothing!
- You check your timing parameters; they're all what they should be. You
- set AGC to "FAST", you verify that "ALC" is not active. VOX is turned
- off, the rig is putting out power, the antenna is connected, everything
- appears "normal - and still nothing! What can be wrong here?
-
- You've probably assumed that your rig is receiving and transmitting on
- the same frequency shown by your digital display. This is not always
- true! Some of the most-recent HF transceivers seem to have as much as
- 200 Hz difference between the receive and transmit frequencies. This is
- enough to guarantee your inability to establish and maintain a decent
- packet link. Don't assume anything! Be prepared to tweak your RIT/XIT
- controls to make the link work. Be prepared to recalibrate your rig's
- reference oscillators if neede. You may require either a good counter or
- a patient partner to determine how your rig is behaving and if you're
- really sending and receiving on the same frequency.
-
- 3. CONCLUSIONS
-
- You too can work HF packet successfully. Remember these general
- principles:
-
- o Assume nothing
- o Take nothing for granted
- o Check everything twice
- o Recognize that there are major operational differences between VHF
- and HF packet radio.
- o Remember the two most-critical factors for success on HF packet:
-
- TIMING and TUNING
-
- /30
- W2JUP