RTTY Mode User Manual

  1. Introduction
  2. Features
  3. Operation
  4. Copying

1. Introduction
RTTY Mode supports Amateur Radio communications in the RTTY digital mode. RTTY detects the Mark/Space signals that make an RTTY-encoded character by processing the audio samples stream from the CW Demodulator. The audio signal is processed by software Goertzel detectors, which detect the level of the Mark and Space frequencies and forward these to a Sync Train detector and RTTY character decoder. The decoded ASCII characters are printed to the Receive window of RTTY after some processing to deal with non-printable characters etc. An IFFT-based "Waterfall" display is available to help tune in RTTY signals and a "Scope" display is available to show the input Mark/Space signals.

Transmission of RTTY-encoded characters is realized by writing a pre-computed audio samples stream to the transceiver's DUC. RTTY has built-in CAT control capability which can set the transceiver's center frequency and the required mode.

2. Features
Software Mark/Space signal detector
RTTY was designed from the beginning to be simple and efficient, decoding RTTY signals using mostly integer arithmetic and simple processing methods. It uses the samples stream from the CW Demodulator to detect the '1' and '0' elements that make the RTTY-coded characters by implementing a Goertzel detector for each of the two tones of the RTTY signal. These Goertzel detectors are centered on the Mark and Space frequencies, which are either side of the BFO tone frequency specified in the ~/.lhpsdr/rtty/rtty.config configuration file. To provide for a finer search for the Start bit position, four samples of signal levels are taken for each bit of the RTTY code. A measure of compensation for the effects of Selective Fading is provided, by compensating partially for the imbalance of amplitudes of the Mark and Space signals.

Mark-Space Signal Scope
RTTY Mode has a simple oscilloscope type display of the Mark and Space signals as produced by the Goertzel detectors. This can be used to monitor the RTTY signal received by the Transceiver and to maximize it by tuning the receiver manually. An idea of the signal quality and magnitude can also be realized.

"Waterfall" display with CAT
RTTY has a "Waterfall" (audio spectrum) display derived from an IFFT of the receiver's audio output. The Waterfall display has two vertical white lines either side of its center, which indicate the position of the Mark and Space frequencies. The position of these lines depends on the specified BFO center tone frequency and the AFSK frequency shift: the two lines are positioned at one half the AFSK shift either side of the center of the Waterfall, which represents the BFO center tone frequency. An RTTY signal is tuned correctly when the two traces, produced by the IFFT function, are positioned under the two white guide lines. RTTY can automatically tune the Rx if the left button is clicked near the left trace, or the right button near the right trace. During Transmit or Receive, RTTY Can also set up the right mode of operation for the transceiver.

Macros in Transmit mode
RTTY Mode allows 10 prepared Macros to be sent by clicking on one of the ten buttons in the 'Prepared Macros' frame for easy transmission of repeated messages like call-sign exchanges, station info, BTU, sign-off etc. Theses Macros are stored in the ~/.lhpsdr/rtty/rtty.config run time configuration file and are invoked by clicking on the relevant Macro button. Short labels for these Macros are also stored in rtty.config and are displayed in the button labels. For even more operating convenience RTTY allows the use of 'tags' embedded in the Macros for automatic insertion of certain basic strings in the transmitted message: call-sign, RST, name, QTH and QTH locator for both the operator and the remote station, the current UTC date and time and the operating frequency. The program's version string is also available as a tag so that it can be included in a macro, e.g. there are 13 tags altogether in this version. More on this in the Operation section.

QSO Recording and Logging
RTTY can save details of activity during its operation in three separate files on the disk:
1. In ~/.lhpsdr/rtty/record.txt all characters printed in the Transmit or Receive window including Macros are recorded 'raw' e.g. in real time and unedited. This makes it possible to check everything transmitted or received during operation if something goes wrong.
2. In ~/.lhpsdr/rtty/log.txt all details of a QSO entered in the QSO Record form (under the Receive window) are saved in text form with the addition of date and time to form a standard station log.
3. In ~/.lhpsdr/rtty/log.adif an ADIF-formatted version of the QSO Record is saved for direct uploading to eQSL.cc or other sites that can accept ADIF formatted logs.

Recognized characters The alphabetic characters, punctuation marks and numerics that RTTY can currently recognize are the ones specified in the ITA2 character code. These can be seen in the ita2.gif file in the doc/ folder.

3. Operation
RTTY User Interface
RTTY is an X/GTK+-3 application for Linux. The main application window has the following widgets:

1. The Transmit window: Any text typed during transmission appears in this window. When it is filled, it scrolls automatically so that the last line is always visible. It can be cleared by right-clicking in the window and activating the 'Clear Window' item in the pop-up menu. Clicking the middle button toggles RTTY between the Transmit and Receive modes.

2. The Receive window: Displays characters decoded from an RTTY signal. When it is filled, it scrolls automatically so that the last line is always visible. It can be cleared by right-clicking in the window and activating the 'Clear Window' item in the pop-up menu. Clicking the middle button toggles RTTY between the Receive mode and Standby. If RTTY is in Transmit mode it is changed over to Receive, but if a Macro is being transmitted, then it is interrupted and RTTY remains in Transmit mode until another middle-click on either window. The Squelch slider, which can be used to set a Squelch level for the incoming signal level, to stop decoding of stray characters from incoming background noise. Again, to the right of this is a button that indicates the state of the LTRS/FIGS shift flag and can also be used to toggle this state.

3. Waterfall and Tuning Aid: The Waterfall widget is an aid to tuning the receiver accurately to an incoming RTTY signal. The Waterfall display has two vertical white lines either side of its center, which indicate the position of the Mark and Space frequencies. The position of these lines depends on the specified BFO center tone frequency and the AFSK frequency shift: the two lines are positioned at one half the AFSK shift either side of the center of the Waterfall, which represents the BFO center tone frequency. An RTTY signal is tuned correctly when the two traces, produced by the IFFT function, are positioned under the two white guide lines. RTTY can automatically tune the Rx if the left button is clicked near the left trace, or the right button near the right trace. During Transmit or Receive, RTTY can also set up the right mode of operation for the transceiver.

Below the Waterfall display there is a Sync Train (Start bit) Position display, in the form of a circle which represents the circular buffer used to save average signal values. The Sync detection function searches the circular buffer (which stores four signal samples per bit for three RTTY characters) and the detected position of the Start bit is marked by a radial line from the center. Since three RTTY characters are saved in the buffer, the indicator line rotates clockwise to three points on the circle, at 120 degrees spacing. If sync detection is done correctly, the indicator line will either move to stable positions or creep around very slowly (indicating a difference in the clocks between the two stations).

4. The QSO Record frame: In this frame there are seven entry fields in which basic QSO data are entered for saving in the text-format station log file and the ADIF-format log file in the ~/.lhpsdr/rtty/ directory. The minimum requirement for a valid record is the DX station's call-sign, signal report and operating frequency. The mode and date are entered automatically by RTTY each time a new record is opened. RTTY will read the Transceiver status and enter the signal report and operating frequency automatically each time a new record is opened.

The buttons below the QSO Record fields have the following functions:
Open New Record: This button clears all but the 'Band' field and enters the mode and the date and time to the QSO record buffer in memory. If there is a previous valid record then this is saved to the log files in ~/.lhpsdr/rtty/ before a new record is opened.
Save Record: Opens a pop-up save dialog box. If the QSO Record is valid (call-sign, RST-out and Band have been entered) then a confirmation request for saving is shown, otherwise if not, a warning is given to that effect.
Clear All Fields: This button clears all entry fields. NOTE: This will clear the QSO Record buffer in memory, resulting in lost data if the record has not been saved first!.
Clear Windows: Clears the Transmit and Receive windows of all text.

5. The Macro buttons frame: In this frame there are ten buttons that initiate the transmission of prepared macros, e.g. standard messages saved in the run time config file ~/.lhpsdr/rtty/rtty.config. Clicking on a button puts RTTY in Transmit mode and starts transmission of the macro, clicking again on any of these buttons interrupts the macro but leaves RTTY in transmit mode.

6. The pop-up menu: This opens on a right-click on the Receive or Transmit window. It has the following items:
Baud Rate: Select the RTTY baud rate: 45.5, 50, 75, 100 bd.
AFSK Shift: Select the RTTY AFSK shift: 170, 200, 450, 850 Hz.
Reverse AFSK: Reverses the sense of the frequency shift of the RTTY signal, e.g. swaps the frequencies that represent Mark or Space.
Stop Bits: Select the stop bit size: 1, 1.5 or 2 bits.
Enable Pseudo Diversity: Enable/Disable compensation for selective fading of the mark or space frequency. This to some extend works like the space diversity system used by some stations.
Unshift on Space: Enable/Disable automatic unshifting from FIGS to LTRS shift, when a Space character is received.
Record QSO's: Keep a record of all transmitted and received characters in the record.txt file in ~/.lhpsdr/rtty/.
Clear Window: Clears the window of all characters.
Identify in CW: Sends the station call-sign in CW/Morse code.
Quit: Quits RTTY.

Configuration and set-up
After compilation and installation, the ~/.lhpsdr/rtty/rtty.config run time configuration file MUST be edited for proper operation! To do this, load ~/.lhpsdr/rtty/rtty.config into your favorite editor and make sure that you review ALL the configuration fields in the file and that you properly edit all the ones that must be edited. There are three sections, RTTY Run time, Operator/QTH info and Macros fields. Please review ALL and EDIT as needed!! There are more detailed instructions in the file itself so please follow them for a proper set-up. In particular, station details like Call-sign, operator's name and QTH etc must be edited for Macros to be usable.

Receiving RTTY signals

RTTY is a narrow-band mode and it requires accurate tuning, to within less than +-20/40 Hz for reliable operation. The Waterfall display can be used to tune in a signal by clicking near its trace, with the left button on the left trace or the right button on the right trace. RTTY will adjust the center frequency so that that the signal is tuned in closely.

Conducting a QSO
As usual to make a QSO with another station using RTTY you may call CQ or reply to a CQ. Calling CQ would normally be done using a prepared Macro by clicking on the relevant Macro button and during the course of a QSO, other Macros can be started as needed to send some of the standard messages that are usually exchanged. When the Macro is finished, RTTY will revert to Receive mode unless a tilde '~' is the last character in the Macro, in which case it remains in Transmit so that a manually typed message can follow the Macro. Reversion to Receive would then be done by middle-clicking on the Receive or Transmit window. Please note that Macro transmission can be interrupted by middle-clicking on the Receive or Transmit window or left-clicking on any of the Macro buttons.

When a station replies to a CQ it would normally be netted closely and characters transmitted will appear in the Receive window. If there is a significant frequency offset, it will cause errors in decoding but correcting this from the main dial may cause the remote station to miss reception. Disabling the ->Tx toggle button allows the transmitter to be tuned independently of the receiver.

Once two-way contact is established, at least the station's call-sign, RST, and the QSO frequency must be entered in the QSO Record's fields before it can be saved to ~/.lhpsdr/rtty/log.adif and ~/.lhpsdr/rtty/log.txt. BUT PLEASE NOTE: Always remember to 'Open New Record' before entering any data otherwise the mode and date/time will not be entered to the record buffer by RTTY.

Any information entered in the fields is available to any relevant 'tag' in the Macros but please note that if any fields are not filled, RTTY enters blanks in place of tags! Please note that during transmission no entries should be made to the QSO Record fields since these will reflect in whatever tags are embedded in Macros.

To reply to a CQ, tune in the station accurately and type its call-sign, signal report and frequency in the QSO Record fields. Then prepared Macros can be used to reply to the call and conduct a QSO. Have a look in ~/.lhpsdr/rtty/rtty.config for some typical prepared Macros. NOTE: You will need to edit at least some of these!!

8. Copying This software package is released under the GNU Public License. Please see the COPYING file for more details.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.