RTTY
[Top] [All Lists]

Re: [RTTY] Zone sent as letters?

To: Phil Sussman <psussman@pactor.com>
Subject: Re: [RTTY] Zone sent as letters?
From: Kok Chen <chen@mac.com>
Date: Mon, 28 Sep 2009 22:19:38 -0700
List-post: <rtty@contesting.com">mailto:rtty@contesting.com>
On Sep 28, 2009, at 8:27 PM, Phil Sussman wrote:

> I'm still a bit confused with USOS. I'm clear on the transmitting  
> side.
>
> On the receiving side, if USOS is engaged:
>
> By convention, does the receiving software insert a shift-FIGS
> character when a space is detected after a number AND a shift-FIGS
> is not already in the data stream?
>
> -or-
>
> Is it assumed when USOS is engaged on the receiving side that
> the transmitter (by default) already is using USOS.
>
> -or-
>
> Is this a matter of the particular version of software being used
> on the receive side?

The second case.

The USOS receiver has no idea whether the transmitter is using USOS  
(it can probably do a statistical guess for a long message, but in  
general, it does not know).

A Baudot decoder keeps two (logical) tables.  One is a 32-element  
table to decode 5-bit codewords into characters in the LTRS shift and  
the other table is 32-element table to decode 5-bit codewords into  
characters in the FIGS shift.

In addition, the decoder maintains a shift "state."  The state tells  
the decoder which of the two tables to use.  When the decoder receives  
a LTRS character (1F hex), it changes the state so that subsequent  
characters are decoded using the "LTRS" table.  The decoder, of  
course, suppresses the printing of the LTRS character itself.  When  
the decoder receives a FIGS character (1B hex), it changes its state  
to decode subsequent characters by using the "FIGS" table, again  
suppressing the printing of the FIGS itself.

When you turn on USOS at the decoder, in addition to switching the  
state to use the LTRS table when it encounters a LTRS character, the  
decoder also shift itself to use the "LTRS" table when it receives a  
space.  Therefore, with USOS turned on,  you can consider the space  
character to be the same as a LTRS character, except that in the case  
of the space character, a space is "printed."

> So, if 599 03 CA is sent with USOS, what would a non-compliant
> receiver decode .. I assume 599 PE CA .. correct?

By a non-compiant receiver, I take it to mean a regular (non-USOS)  
RTTY decoder?  If so, the answer is "not quite," it is a bit more  
confusing.

A USOS transmitter will send your message as  
"<FIGS>599<space><FIGS>03<space>CA".  A non-USOS decoder will  
therefore print "599 03 :-" since the space in between the 03 and the  
CA won't shift the decoder into LTRS mode.

That being said, there are USOS transmitters (what I have informally  
called "weak USOS" as opposed to "strict USOS") that will always send  
a shift character after a <space>.  Such a transmitter will send your  
sequence as "<FIGS>599<space><FIGS>03<space><LTRS>CA".

As you can see when you try to decode it, this "weak USOS" transmitter  
can be copied perfectly by both a USOS receiver and a non-USOS  
receiver, at the expense of lots of extra <LTRS> characters when you  
are in a ragchew (*all* space characters are transmitted as a pair of  
characters, so the average WPM for text drops from 60 WPM to about 51  
WPM for the same 45.45 baud rate).  But it is very robust and does not  
make any special demands on the receiver.

> I suppose the answer lies in what a receiver will decode if
> USOS is OFF on the transmit side, but engaged (ON) on receive.

A non-USOS transmitter will send either  
"<FIGS>599<space>03<LTRS><space>CA" or  
"<FIGS>599<space>03<space><LTRS>CA" .  Both are legitimate -- the  
first case happens when the operator hits the LTRS key on a  
teletypewriter keyboard before he/she hits the space bar.  The second  
case happens when the operator hits the space bar before hitting the  
LTRS key.  I have no idea if military RTTY operators have a preferred  
style -- Charles KK5OQ or Dino KL0S will know.

The USOS receiver therefore prints "599 PE CA".  This is what you had  
mentioned earlier, but you have the receiver's and transmitter's USOS  
states flipped.

USOS can be daunting to someone who has never been forced to implement  
it.  But the basic algorithm to implement it is actually very simple:

(1) the USOS transmitter adds an extra <FIGS> character if the next  
character to be transmitted comes from the FIGS table, AND the  
previous character was a <space>, and

(2) the USOS receiver treats a Baudot <space> as if it is a Baudot  
<LTRS> character, but continues to print it as a space character.

That's all there is to it.  If you can remember these two "rules," you  
know as much about USOS as anyone else.

73
Chen, W7AY




_______________________________________________
RTTY mailing list
RTTY@contesting.com
http://lists.contesting.com/mailman/listinfo/rtty

<Prev in Thread] Current Thread [Next in Thread>