cocoaModem RTTY Interfaces
Kok Chen, W7AY
[w7ay@arrl.net]
Last updated: May 27, 2007
Index (User's Manual - RTTY Interfaces)
General Information
RTTY Interfaces
- Configuration Panels
-
RTTY Receiver Configuration
-
RTTY Transmitter Configuration
- RTTY Macros
- Basic RTTY
Interface
- Dual RTTY
Interface
- Wideband RTTY
Interface
MFSK Interface
Hellschreiber Interface
CW Interface
SITOR-B Receiver
HF-FAX Receiver
Synchronous AM Receiver
Versions
Part II
RTTY Interfaces
cocoaModem contains three separate RTTY interfaces - a
"basic" RTTY interface, a Dual RTTY interface and a
Wideband RTTY interface.
The three interfaces share the same underlying
implementation and differ from one another mainly in the
user interfaces.
The Dual RTTY interface also has two independent
demodulators. If your transceiver has two separate
receivers (e.g., the Yaesu FT-1000MP and the TenTec Orion)
you can connect the two demodulators of the Dual RTTY
interface to the two outputs of the transceiver. This
enables you to copy two different RTTY signals at the same
time - this can be useful when you are working DX that is
operating "split" (transmitting and receiving on different
frequencies).
In addition to having two receivers, the Wideband RTTY
interface also has agile "tone-pairs" which you can
instantly tune to anywhere within a 2 kHz bandwidth by
clicking on a "waterfall" spectrogram.
Config Panel
After selecting an RTTY interface in the main cocoaModem
window, you can open the Config panel by selecting
Config under the Window menu in the Menu bar. You
can also open the Config panel by using the
Command-Option-comma keyboard shortcut.
The Config panel is closed by using the red (leftmost)
button in the title bar of the configuration panel.
The common functions of the Config Panel are discussed in
the General Information section of this
manual. We will only discuss the Config Panel functions
that depart from the common functions here.
RTTY Receiver
Configuration
The receiver portion of the Config Panel for the
conventional RTTY interface is shown in Fig 1.
The Config panels for the Dual RTTY and Wideband RTTY
interfaces are similar except that there are two Receiver
config sections, one for the Main receiver and one for the
Sub receiver.
Figure 1 -
RTTY Receiver Configuration
The input device controls have
already been described in an earlier section (Audio Device
Selection).
The RTTY-specific configuration items are in the box on the
right of Figure 1.
RTTY Sideband and AFSK/FSK
Selection
The top of the two popup menu on the right of the Config
panel selects which sideband your transceiver uses when
receiving and when transmitting AFSK. This popup menu is in
the Display Offset box in the Wideband RTTY interface.
The second lower popup menu allows you to select between
AFSK and FSK. Fig 1b below shows what it looks like in the
Wideband RTTY receiver's configuration panel.
Figure 1b -
AFSK/FSK selection
Once these menus are set to
agree with what your transceiver is using, cocoaModem will
do the rest of the tone-pair management in AFSK for you.
Refer to the transceiver’s user manual for which
sideband to use -- often, the AFSK setting is documented in
the “Packet” section of the transceiver manual.
Most transceivers use LSB in RTTY or AFSK.
In the case of the Wideband RTTY interface, each receiver
can independently use either FSK or AFSK; you can if you
like, use FSK when transmitting through one "receiver" and
use AFSK when transmitting through the second "receiver."
Unavailable devices are grayed out (as shown in the above
figure for the digiKeyer). A microKeyer II will show up in
the menu as a plain microKeyer. Remember to also select the
appropriate PTT whether you are operating in AFSK or FSK.
Be sure to set the cocoaModem tone pair to the same tone
pair that your transceiver uses and to set up the correct
VFO offset and sideband (LSB or USB )-- this way you know
that you are zero beat to an RTTY signal if his Mark
frequency appears at zero in the wideband RTTY's waterfall.
Transceivers usually offer you more than one tone pair you
can choose. Be sure to tell cocoaModem what mark and space
frequencies are selected by the transceiver. Failure to do
this will cause you to transmit away from where you think
you might be transmitting.
cocoaModem's AFSK interfaces have been set up so that
receive and transmit tone pair settings match. If you
prefer to use FSK, you will need to make sure tone pairs
and VFO offsets that cocoaModem uses match their
counterparts in your transceiver.
Please note that you lose the frequency agility function of
the Wideband RTTY interface when you use FSK, and the
interface will behave as if the transmit tones are locked
-- in fact, the Tx Lock button is grayed out if you choose
to use FSK instead of AFSK. You also lose the keyclick
filter that is present when using cocoaModem's AFSK
setting. You can still use the waterfall of the Wideband
RTTY to quickly move to a different receive offset, but
your transmit frequency will not move and the transmit
frequency will be determined solely by the transceiver's
VFO and the tone pair frequencies.
Important note: some transceivers require that you
invert the FSK polarity. This is true with most Yaesu
transceivers -- for example, the RTTY Tone switch in the
top access panel of the FT-990 needs to be switched to the
Reverse position; the RTTY Polarity menu (Menu 6-1) of the
FT-1000MP needs to be changed to the Reversed setting, etc.
Failure to set this up correctly will cause you to put out
an "inverted" or "reversed" RTTY signals that others will
copy as gibberish.
You can also change the polarity by setting the
Transmit Polarity in cocoaModem to Reverse. The transmit
polarity button of the Wideband and Dual RTTY interfaces
are in the Aux panels, while the transmit polarity button
of the basic RTTY interface is in the main interface.
However, it is always better to reverse the RTTY transmit
polarity at the transceivers, since it will not depend on
plist changes, etc. Leave the transmit polarity buttons in
cocoaModem for use in the rare and temporary occasions when
the other station is receiving in reversed.
Finally, there is a myth that you have to use LSB when
operating RTTY in AFSK mode. This is totally false.
As long as the proper audio tone-pair polarity is
generated, you can use either LSB or USB to generate and
copy an RTTY signal. The sideband popup menu tells
cocoaModem which polarity to set up internally.
RTTY Receiver
Options
There are three checkboxes to specify receiver options.
If you like, you can skip to the next section and simply leave the
checkboxes defaulted to the state shown at the top right
hand corner of the Figure 1. I recommend however that
you read on since you will get a better idea of what is
happening when seemingly garbled messages are sometimes
printed to your screen.
USOS
(unshift on space) is a commonly used protocol in RTTY.
Amateur RTTY uses the Baudot code to send characters.
Baudot has only 5 bits to encode each character and the
code can therefore only represent a maximum of 32
distinct symbols.
To accomodate the 26 letters and puntuation marks, 10
numbers, space character, carriage return, line feed, bell,
etc, Baudot adds a pair of “letters/figures
shift” characters to the set. The behavior of these
two extra characters (LTRS and FIGS) is very much like the
caps lock key on your computer keyboard which
allows you to have more character combinations than there
are keys on the keyboard. The LTRS/FIGS scheme allows two
different characters to share the same code. A LTRS
character locks the Baudot state into the letters symbol
set and the FIGS character locks the Baudot state into the
figures symbol set.
For example, to send a "W", the sender makes sure that the
Baudot shift state is already in LTRS, and if not he first
sends a LTRS character. The character code that represents
"W" is then sent.
To send a "2", the sender first makes sure the Baudot state
is in FIGS, first sending a FIGS character if neccessary,
and then he sends the character code for "2".
However, a "W" and a "2" shares the same character code in
Baudot - both are sent as the bit sequence 11001. The
recipient of the message will print the correct character
only if his LTRS or FIGS state corresponds to the sender's
state.
Every so often, a LTRS and FIGS character is corrupted
along the way by noise and the recipient no longer
correctly tracks the Baudot state of the sender.
The USOS protocol is a an attempt to re-synchonize the two
ends without sending extra shift characters. The protocol
states simply that in addition to using LTRS and FIGS
characters to control the Baudot state, all space
characters should be considered to be accompanied by an
implicit LTRS character.
Without sending any extra characters, the USOS mechanism
helps synchronize the sender and receiver since spaces
occur often in a message and it works well in practice if
both ends use the protocol. The protocol falls completely
apart however when the sender does not use USOS and the
receiver is set to obey USOS - a message sent as "599
+20DB" will be received as "599 ZWPDB".
The USOS checkbox allows you to disengage USOS just in case
the other end does not use it.
In addition to USOS, cocoaModem has an extra option for a
Robust
mode for cases where the channel is very noisy. When
set to Robust mode, cocoaModem periodically sends redundant
LTRS and FIGS character. This is what the Robust mode
checkbox does. Use it only when you have very noisy
conditions, otherwise you will be unnecessarily slowing
down the message stream.
The Baudot code has a BEL (bell) character that can be sent
to wake up a teletype operator at the other end.
Mute
BELL is a preference to ask cocoaModem to ignore the
BEL character and avoid sending a chime through the
computer's output device.
The use of the Mute BELL option should be considered
mandatory if you are using the built-in audio as the output
device, otherwise system beeps and chimes will be
transmitted through your transceiver and in violation of
FCC regulations. cocoaModem uses AFSK, which means that if
you are using the built in system sound as the output to
your transceiver, all sound output from the computer will
go out on the air . Although BEL is seldomly used by good
RTTY operators, a "J" that is misinterpreted as a FIGS
shift can still be interpreted as a bell character since J
and BEL share the same Baudot code.
RTTY Input Device
Spectrum
As seen in Figure 1 above the RTTY Config panels
includes a pair of red markers in the spectrum display
to indicate the positions of the current tone-pair.
RTTY Transmitter
Configuration
Figure 2 shows the Config panel when the Transmitter tab is
selected.
Figure 2 -
RTTY Transmitter Configuration
In addition to the controls for
selecting and adjusting the output sound device that is
common with the other interfaces (describe in Audio
Device Selection in an earlier section), the RTTY transmitter
configuration comes with a set of RTTY-centric test
tones to aid in the adjustment of output signal levels.
To familiarize yourself with the controls, you can
initially select the Built-in Speakers of the Macintosh as
your output device. You will be able to hear from the
speakers what the other buttons do.
Notice the row of buttons for selecting Test tones. These
are used for making AF level adjustments that are needed to
match the transmitter’s requirements.
The Mark and Space buttons generate clean reference sine
waves at the Mark (default of 2125 Hz) and Space (default
of 2295 Hz) tones.
The Two Tone generator produces a sum of the mark and space
tones, each of the tones are attenuated by 6 dB from the
individual reference tones that is generated by the Mark or
Space buttons.
The Diddle button generates the familiar RTTY idle pattern
(a sequence of Baudot LTRS character).
The RY button generates a repeating sequence of R and Y
Baudot characters. This pattern was used to tune the
mechanism of old mechanical Teletype machines. It no longer
serves any useful function for everyday use with modern
equipment. For nostalgic reasons however, the RY sequence
has been kept in use by some Amateurs, while other Amateurs
find the use of the RY sequence to be a complete nuisance.
Except for testing, I would recommend not to send the RY
sequence on the air unless you know that the person on the
other end is running an old mechanical Teletype machine.
The RY sequence remains mildly useful for equipment testing
purposes since the sequence generate one of the highest bit
transition rate of any Baudot character sequence – as
a result, it will exhibit the widest spectrum occupancy. If
you generate a clean spectrum when sending the RY sequence,
chances are your spectrum will be clean in actual use.
Finally, the Text button generates a repeating “The
quick brown fox jumps over the lazy dog” sequence,
which is closer to “real-world” than the RY
sequence.
If you had selected the Built-in speakers on the output
device menu, you should be able to hear changes in the
audio tones and patterns on the Macintosh’s speakers
as you cycle through these test tones.
Once you are familiar with the output controls, you are
ready to hook your audio device up to the transceiver and
follow the transceiver’s AFSK level adjustment
procedure, using one of these test tones as the test signal
(I recommend using the diddle or the RY sequence).
Adjusting RTTY Output
Level
Adjust cocoaModem’s RTTY output levels and any
external devices (such as the trim pot in a SignaLink SL+
interface) to satisfy the transceiver’s requirements.
The main purpose of the AFSK adjustments is to make sure
that you are operating within the linear region of an SSB
transmitter. Usually, that means that the audio levels have
to be reduced to the point where there is no ALC activity
in an SSB transmitter. Typically, the procedure is to
increase the the audio drive until you notice ALC kicking
in, and then back off from that position so there is again
no ALC action. Your transceiver manual should cover this
under the AFSK or Packet description.
Please be careful not to overdrive the transmitter. An
overdriven AFSK signal is overly broad, and possibly with
keyclicks that can interfere with stations that are many
kHz away. Keep an eye on the ALC of the transceiver as
often as practical. The ALC setting can even vary with
changing antenna SWR with some transceivers.
The audio response of your transmitter may not be flat (it
is definitely not flat with a Yaesu FT-1000MP operating in
PKT mode, for example) across the audio spectrum. With
transceivers that do not have a sufficiently flat audio
response, be sure to check to make sure that you are not
over driving the transmitter each time you change the
transmit tone pair (for example, when you click on the
waterfall to change the tone-pair in the wideband RTTY
interface).
(In the future, I might implement an audio equalizer to
take care of transmitters with a non-flat audio response.)
Stop Bits
Characters in RTTY are transmitted asynchronously. Each
character consists of a start bit, the 5 Baudot data bits
and then a stop bit. A start bit is represented by a binary
"0" and transmitted as a Space tone. The stop bit is a
represented by a binary "1" and is transmitted as a Mark
tone. The start of a character is detected by looking for a
Mark to Space transition.
With 45 baud RTTY, all bits except the stop bit have the
same duration of 22ms.
cocoaModem allows you to set the stop bit to be 1, 1.5 or 2
times the duration of the other bits. 1.5 stop bits is the
most commonly used stop character today. I recommend that
you select a stop bit duration that is no less than 1.5
times the duration of data bits.
cocoaModem’s Baudot decoder will track the stop bit
duration of the received signal and there is no need for
selecting the duration of stop bits for the receiver.
RTTY Macros
The following macros are specific to the RTTY interfaces.
| %[b1] | use narrow bandwidth
|
|
| %[b2] | use normal bandwidth
|
|
| %[b3] | use wide bandwidth
|
|
| %[d1] | use normal Mark/Space demodulator
|
|
| %[d2] | use light multipath demodulator
|
|
| %[d3] | use heavy multipath demodulator
|
Please note that all the RTTY interfaces share a single set of macros. When you edit the Macro Sheet for one RTTY interface, it take effect for all RTTY interfaces.
Basic RTTY Interface
Please proceed to the Basic RTTY Interface page.
Dual RTTY Interface
Please proceed to the Dual RTTY Interface page.
Wideband RTTY Interface
Please proceed to the Wideband RTTY Interface page.