[GreenKeys] re:The Importance of Diddle
JerryL
[email protected]
Tue, 27 Apr 2004 12:34:51 -0700
I offer this excellent paper written by Brian Beezley (k6sti) concerning
diddle. Diddle is as extremely important now as it was 35 years ago. I
use dedicated computers and model 28's to copy Rtty to this day. Irv
(w6ffc) and Cole (w6oxp) would roll over in their graves if you guys did
away with the diddle! Also, the 'only' character you want to send as a
diddle is 'ltrs' !
Whatever you guys do, please keep the diddle!
Jerry - (Original member of the old 3612.5 Khz Rtty autostart group -
i.e. wb6wpx)
[email protected]
The Importance of RTTY Diddle
When I got back on RTTY in 1995 after having been away
since the 1970s, the first thing I noticed was the widespread
use of diddle. Diddle is the transmission of a do-nothing, idle
character (usually LTRS) when there's no text to send. An RTTY
signal without diddle is just a steady mark tone.
Diddle originates in your terminal software or modem.
Usually a parameter is provided to enable or disable the
feature. The purpose of this note is to motivate those of you
with diddle disabled to turn it on. Transmission of an idle
character may seem curiously irrelevant, but using diddle has
many benefits, some profound.
To begin with, diddle allows someone tuning across your
signal to immediately identify it as RTTY. Without diddle, the
steady mark tone your modem emits when it runs out of text is
indistinguishable from an unmodulated carrier. You might just
as well be someone tuning up, a computer birdie, Radio Moscow
between programs, and so on. Diddle uniquely identifies your
signal as RTTY.
An operator encountering a diddled signal can
immediately determine its baud rate and frequency shift
(experienced operators can do this by ear). Diddle thus allows
an operator to quickly set his modem to receive your transmitted
signal. Without diddle, the operator must wait for text before
he can set modem parameters and tune you in. If you pause long
or type irregularly, a frustrated operator may pass your signal
by and look for one easier to decode.
The advantages of diddle mentioned so far are receiving
conveniences. If you're patient, once you've set the right
modem parameters you'll copy the same text with diddle or
without as long as the signal is strong. But diddle has another
advantage: It can help recover text when signals are weak.
One way it does this is to correct the receive case
whenever your modem incorrectly decodes a FIGS character due to
noise. As soon as it decodes a LTRS diddle character, your
receive case will again be synchronized with that of the
transmitter. This can help prevent printing strings of numbers
that should be letters.
Another benefit of diddle is more subtle. Many modems
use automatic threshold correction (ATC). This feature
automatically adjusts the decision threshold that determine
whether a received bit is a mark or space. When the mark and
space signals have equal amplitude, the best detection threshold
for the mark-minus-space signal is zero. But when selective
fading, IF-filter ripple, or audio rolloff cause the two signals
to be received at different amplitudes, a threshold of zero is
no longer optimal. ATC continually adjusts the threshold based
on an estimate of the mark and space amplitudes. But it's
impossible to do this when there's no space signal to sample!
This is the case during a non-diddled idle. Thus an optimal
decision threshold is unavailable for the first character sent
after a pure-mark idle. (Digital ATC can compensate for this
limitation by peeking into the future and extrapolating a
threshold back into the past. Analog circuits don't have this
luxury.) Using diddle ensures that ATC systems have the signal
they need to work effectively.
Here's an even stronger reason to use diddle: It allows
a receiver greatly enhanced immunity to loss of synchronization
due to noise. RTTY uses asynchronous transmission. The five
data bits of the Baudot code are preceded by a start bit, which
is always a space. Your decoder waits for a start bit, collects
the data bits, and at some point in the stop bit becomes ready
for a new character. But what if while you're sending no
character, a noise burst on the space frequency overrides the
steady mark signal and masquerades as a start bit? Your decoder
must then commit itself to decoding an entire character. But if
you happen to begin sending during the middle of the decoding
cycle, the receiver loses sync. It may take a dozen characters,
each garbled, before the decoder locates your start bits and
resumes decoding correctly.
Leaving a steady mark signal between characters is just
waiting for an accident to happen. If you're lucky, a noise
burst or signal fade will be decoded as a single bogus character
and the modem will resume waiting for a start bit. But if
you're unlucky, you'll lose sync and print garbled text until
the transmitter and receiver resync. Using diddle greatly
minimizes the chance of this happening. Diddle commits the
receiver to decoding an idle character whenever there's nothing
to send. This forces the receiver to maintain sync with the
transmitter. A noise burst can then cause a false trigger only
by occurring in the very brief interval between the receipt of
the stop bit and the beginning of the start bit.
The width of this open window is a modem design
parameter. It involves a trade-off between rejecting false
start bits and missing valid start bits of signals whose timing
is fast. The window for detection of a new start bit migh
begin 22 ms into a 45-baud stop bit. The window ends when the
diddling transmitter emits another start bit, typically 9 ms
later. Thus, out of a nominal character length of 163 ms, the
receiver can be thrown out of sync only during an interval 9 ms
long. Diddle thus improves noise immunity from 0% to 94.5%.
That is, the receiver will falsely trigger on sufficiently
strong noise only 5.5% of the time rather than 100%!
While these arguments for diddle are compelling, I think
this is the most powerful of all: Modems with advanced
synchronization algorithms can lock to asynchronous character
streams and essentially receive RTTY synchronously. Th
critical asynchronous-protocol dependency on a start bit can be
virtually eliminated. A modem can do this by implementing what
amounts to a numerical flywheel whose rotation is synchronized
in phase and frequency with the transmitted characters. Timing
marks engraved on the flywheel, rather than noisy start pulses,
determine when characters begin. With a flywheel of enough
mass, a modem can maintain sync through deep fades in which the
signal completely disappears. A numerical flywheel permits you
to recover text that would otherwise be lost.
Use of a numerical flywheel also improves decoding by
greatly reducing timing jitter. When optimal channel filters
are used to receive RTTY, the exact point at which the signal is
sampled to determine whether it's a mark or space becomes
critical. Optimal filters do not output rectangular or rounded
pulses. Instead, they generate triangular waveforms. The
optimal sampling point is at the peak of the triangle, but this
location can't be determined by waveform inspection when the
signal is noisy. Instead, sample timing must be derived from
the timing of the start pulse. But when that's noisy, data
samples will be mistimed and a mark may be mistaken as a space.
A well-implemented numerical flywheel can virtually eliminate
decoding errors due to timing jitter.
But here's the rub: Without diddle, a numerical
flywheel has no way to maintain lock when you stop typing or
type irregularly. After a prolonged mark tone or intermittent
character emission, the flywheel will have wandered off and
become useless.
RTTY modems with robust numerical flywheels have been
available since 1995. Your signal can take advantage of their
advanced synchronization capabilities only by using diddle. For
this reason and for all of the others mentioned above, do
yourself a favor and always enable diddle.
Brian Beezley, K6STI