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