Diddles by W7AY

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.