Optimizing 1200 Baud TNC Receive Performance
The purpose of this page is to document the performance of the common demodulators used in 1200 baud TNCs, and to describe ways to optimize their performance.
At this point, this is little more than a collection of notes on the testing.
Some Nuggets of InformationEric Gustafson, N7CL, who has spent a lot of professional time working with modems for RF systems, offers the following points about demodulator performance:
PLL demodulators (like the XR2211 used in the TNC-2 and many clones)
work, in a grossly simplified fashion, using the product of the
amplitude and the sine of the input frequency. This means that if the
low tone has a greater amplitude than the high tone, demodulator performance
will suffer. The problem is that if (Amplow*cos(Flow))
is nearly the same value as (Amphigh*cos(Fhigh)),
then the demodulator won't work very well.
This is why twisted audio causes problems.
You need 20dB or more of signal to noise ratio to get a signal out of
a narrow-band FM receiver that can be decoded. Most modem implementations
are better than this value, so tweaking on the modem performance itself
isn't a rewarding experience.
The XR2211 demodulator can work with tones of only a few millivolts, but
the internal noise level on most TNC boards is frighteningly high -- as
much as several hundred millivolts peak-to-peak. The XR2211 can handle an
input level of many volts, so overdriving it isn't a problem. Therefore,
it's important to provide adequate drive -- ideally, a volt or so
peak-to-peak on the low tone -- and to err on the side of overdrive, rather
TNC Frequency ResponseIf you look at TAPR's "historical documents" (old copies of Packet Status Register), you'll see that there was consternation early in the development of the TNC-1 about poor decode performance. The developers thought that the audio channel through their radios was deeply flawed, and they developed an active filter, installed ahead of the XR2211 demodulator, to compensate for this.
This MF-10 filter was carried into the TNC-2 design, but at some point an inconspicuous note appeared in PSR saying that you could bypass the MF-10 and greatly improve the dynamic range of the audio input.
All this seemed a bit odd to me, and after talking with N7CL and Lyle Johnson, WA7GXD, the truth came out. In the early testing of the TNC-1, no one thought about the clipping problem that I describe in Setting Your TNC's Audio Drive Level, and they were indeed hammering the transmitter with too much audio and wiping out the preemphasis. The MF-10 filter was an attempt to undo the clipping by adding preemphasis to the signal in the TNC.
However, the MF-10 introduced problems of its own. Its audio dynamic range is actually less than that of the XR2211 chip it's supposed to protect, and it was susceptible to noise on the negative voltage supply in the TNC.
At some point, someone figured this out and issued the advice that you were better off bypassing the MF-10 filter.
MFJ didn't include the MF-10 in its 1270 series TNCs, but it did include a passive low pass filter network that accomplishes the same thing, but without the limitations of the MF-10.
Here's the frequency response of an MFJ-1270B, measured at the input pin of the XR2211:
When this response acts on the deemphasized audio coming out of the receiver, it results in an essentially flat frequency response. That will help with clipped signals, and shouldn't harm properly deviated signals too badly.
However, my testing shows that feeding discriminator audio -- with no deemphasis -- into this system results in noticeably bad demodulation performance on weak signals. I haven't determined yet just what causes the poor performance, but it's definitely there. So, my recommendation is that if you are using a radio that provides flat audio output, you either bypass this preemphasis circuit in the TNC, or use another TNC that does not have this response curve.
Demodulator Performance Test SetupThe "radio" I'm using is an HP 8920B service monitor. It can both generate and receive a signal at the same time, and both the signal generator and the receiver audio path have selectable 750uS pre/de emphasis.
The monitor is wired to two TNCs -- one to generate packets, and the other (the test unit) to receive it. The TNC used for transmitting is an MFJ-1270C. The tests units will be an MFJ-1270B and a PacComm Tiny-2 Mk-2.
The initial test was done with "normal" conditions -- the transmit TNC was set to a TXD of 300ms, preemphasis was turned on, and the TNC CAL function was used to set the deviation of the high tone to 3.0kHz. Due to the preemph function, the low tone was transmitted at about 1.75kHz, indicating that the preemph circuit in the 8920 is pretty accurate -- the theoretical deviation would be 1.65kHz.
The receive TNC was fed audio of a few hundred millivolts, with deemphasis applied.
The transmit TNC was configured to send a beacon with 80 bytes of payload every 10 seconds. The RF output of the service monitor was adjusted until the TNC didn't copy, and then increased until copy was fairly solid.
In this test, an RF level of 1.41uV resulted in copy of 9 out of 10 packets. At 1.58uV, the rate was 19 out of 20 test packets, or a Packet Probability of Reception (PPR) of 95%. This was established as the baseline.