logo

cocoaModem RTTY Interfaces

Kok Chen, W7AY [w7ay@arrl.net]
Last updated: May 27, 2007


Index (User's Manual - RTTY Interfaces)

General Information

RTTY Interfaces
PSK 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.

ryconfig
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.

FSK Menu
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.

txconfig
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.