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
|