Getting Started on RTTY
Technical Discussion of Diddles
Thanks to Kok Chen, W7AY, for
explaining this to me!
Most people think diddles only assist when tuning RTTY signals. However, diddles help to keep the demodulator synchronized when receiving RTTY. Kok Chen, W7AY, explains why.
Says Chen:
"Even though Baudot is a 5 bit character code, 3 extra bits are added to provide
character synchronization. A start bit (space tone) is prepended to the Baudot
code, and two stop bits (mark tone) are added after the Baudot code. Thus the
actual character is 8 bits.
In "rest" or idle condition, RTTY sends a continuous Mark tone. After an idle
(Mark) period, the Baudot stream decoder is going to wait for the first space
tone to be demodulated. The Baudot decoder then assumes this is a Start bit.
It then assumes that the tone 1/45.45 seconds later represents the first bit of
the Baudot character, the one 2/45.45 seconds later represents the second bit of
the Baudot character, and so on.
After sending the 5 bits of the character, you send a stop sequence (two bit
times, in the case of Amateur RTTY) to place the system back into the idle
state, so the Baudot decoder can now look for the Start bit of the next
character.
Now take the case of not sending diddles.
Let's say you miss that first start bit of the first character after a long idle
mark. Not only do you miss decoding the first character properly, you will be
out of sync for quite a while, mistaking a lot of future data bits as start
bits, and advancing the character timing only when the place where a start bit
should have fallen happens to have a mark tone.
There is a 50% chance that you will advance after an error, and 50% chance you
continue to be out of sync. Even when you advance, you may hit yet another
space character that is not a start bit. On average, it takes 3 to 4 character
times before you are in sync again.
So, after making a character synchronization error, not only do you screw up
decoding that character, you will be printing gibberish for the next couple of
characters too. Until character sync is accomplished.
Diddles are just a non-printing character, usually the Baudot LTRS character.
When you transmit diddles, you replace the idle Mark tone by a repeating
sequence of LTRS. What really helps is that the Baudot LTRS character is 11111
(all Mark tones). So if you miss a character synchronization of one LTRS
character, the Baudot decoder will immediately advance to the next true start
bit (Space) since there are no bits in LTRS which looks like a start bit."
After reading all that, you still may not understand
diddles. I didn't understand it right away either. Chen explains it perfectly
though. After looking up other sources explaining Baudot, and remembering the
digital picture I took of what LTRS diddles looked like on my oscilloscope, it
all came together for me. Let me try to explain it to you.
First, let's look at a typical Baudot character. Below is the character "D".

It shows the first bit or "pulse" as a Space. This is the
start bit. Then the actual code for the letter "D" is sent with the first bit
as Mark, followed by two Space, then another Mark and the last data bit is a
Space - thus 10010 in binary so to speak. Then two Mark tones ends the sequence
as stop bits. Or in other words, the last two Mark tones are really one long
Mark tone at twice the time it normally takes for one bit. In theory, it looks
like 8 bits as described earlier by Chen. For the letter D, in theory is
01001011 after we put a Space (0) as a start bit in front and two Mark (1's) at
the end. Every character in the Baudot code starts with a Space start bit and
ends with two Mark stop bits. Your decoder, in our case MMTTY, knows this
sequence and uses it for timing.
Since diddles was set to the LTRS character in the MMTTY setup, when we pause
sending text, we send the LTRS character over and over until we send the next
text character. The LTRS character is used to tell the decoder that the next
character sent will be a LETTER and not a FIGURE (unless the next character is
also a LTRS or a FIGS character). So you will see nothing happen on your
screen. LTRS and FIGS characters are non-printing characters.
Let's look at the picture I took on my oscilloscope when I was sending diddles
from MMTTY.

When you look at it, it just looks like a steady signal with one drop in level. If you look at it closer, it looks like a steady Mark tone with one single Space tone thrown in. And that is exactly what it is. The LTRS character is 11111 in Baudot code. If you put the mandatory single Space start bit in front and the two Mark stop bits at the end it's 01111111. At that is what you see in the oscilloscope. It was difficult for me set the scope so it could be shown exactly this way, but the diagram below shows it more clearly.

As you can see, the LTRS character is one Space stop bit followed by timing for 5 Mark data bits and 2 Mark stop bits. Now go back and read Chen's dissertation again on the advantages of using diddles and it should make much more sense now. Always use diddles when transmitting RTTY. Click here to hear what LTRS diddles sound like.