WSJT-X Users Guide
WSJT-X Users Guide
WSJT-X Users Guide
Version 1.0
Copyright 2013
Contents
Introduction ..................................................................................................................... 3
System Requirements ..................................................................................................... 4
Installation and Setup ...................................................................................................... 4
Basic Operating Tutorial .................................................................................................. 6
Making QSOs .................................................................................................................. 9
On-Screen Controls....................................................................................................... 10
Status Bar ..................................................................................................................... 15
Menus ........................................................................................................................... 16
Keyboard Shortcuts ....................................................................................................... 18
Special Mouse Commands ........................................................................................... 19
Under the Hood ............................................................................................................. 19
Acknowledgments ......................................................................................................... 21
Appendix A: Installed and Generated Files ................................................................... 21
Appendix B: The JT9 Protocol ...................................................................................... 23
Appendix C: Source Code ............................................................................................ 24
Introduction
WSJT-X is a computer program designed to facilitate basic amateur radio
communication using very weak signals. The first four letters in the program name
stand for Weak Signal communication by K1JT, and the -X suffix indicates that
WSJT-X started as an experimental branch of program WSJT.
Version 1.0 of WSJT-X offers a new mode called JT9, designed for use on the LF, MF,
and HF bands. JT9 shares many characteristics with the modes JT65 and JT4 made
popular in WSJT. All three are designed for making reliable, confirmed QSOs under
extreme weak-signal conditions. They use nearly identical message structure and
source encoding. JT65 was designed for EME (moonbounce) on the VHF/UHF bands
and has also proved very effective for worldwide QRP communication at HF; JT4 is
used mainly on the microwave bands. In contrast, JT9 is optimized for HF and lower
frequencies. JT9 is about 2 dB more sensitive than JT65A while using less than 10% of
the bandwidth. World-wide QSOs are possible with power levels of a few watts and
compromise antennas. Several dozen JT9 signals fit easily into a 1 kHz slice of
spectrum.
All WSJT modes use timed sequences of alternating transmission and reception. The
basic JT9 mode (sometimes called JT9-1) uses 1-minute sequences. A minimal QSO
takes 4 to 6 minutes: 2 or 3 transmissions by each station, one transmitting in odd
minutes and the other even. WSJT-X also offers submode JT9-2, with 2-minute
sequences and 3 dB better sensitivity under optimum circumstances1. JT9-1 is always
the recommended submode unless you really need the additional sensitivity.
Plans for future program development call for WSJT-X and WSJT to merge together:
WSJT-X will gradually acquire the modes JT65, JT4, FSK441, and ISCAT that are now
supported in WSJT. The entire WSJT-related effort is an open-source project. If you
have programming skills or would like to contribute to the project in other ways, please
make your interests known to K1JT and the rest of the development team. The
projects source-code repository can be found at
http://developer.berlios.de/projects/wsjt/, and communication among the developers
takes place on the email reflector [email protected]. You can subscribe to this
list at https://lists.berlios.de/mailman/listinfo/wsjt-devel.
Experimental versions of WSJT_X have offered submodes JT9-5, JT9-10, and JT9-30 with even longer
sequences. They trade reduced throughput for smaller bandwidth and increased sensitivity. The
slowest experimental submode, JT9-30, has total bandwidth 0.4 Hz and operates at signal-to-noise ratios
as low as 40 dB measured in the standard 2.5 kHz reference bandwidth. These submodes require very
stable oscillators in both transmitter and receiver, and are generally useful only at MF and LF.
System Requirements
radio for dial frequency). WSJT-X is then able to set the radios frequency, but the
program will be unaware of subsequent changes made with the radios panel
controls. With most radios you can set Polling interval to a reasonable small
number (say 1 3 s) and the program will then follow any frequency changes made
at the radio. Note that you may not be able to simultaneously control your radio from
WSJT-X and from another software program. Some experimentation may be
required, and you may need to refer to the documentation for your radio. It is best to
have the radio and any interface equipment turned on and connected before starting
WSJT-X, and to exit the program before turning your equipment off.
5. If you use the program Ham Radio Deluxe to control your transceiver, you can
configure WSJT-X to communicate with the radio through HRD. In this case, select
the last very entry (9999 Ham Radio deluxe) from the drop-down list of rigs. HRD
will take care of the rest.
5
6. Try clicking the Test CAT Control and Test PTT buttons to see that you have
established the desired control of station functions. Then click OK to dismiss the
Configuration window.
7. WSJT-X expects your sound card to do its raw sampling at 48000 Hz. To ensure
that this will be so when running under Windows, open the Sound control panel and
select in turn the Recording and Playback devices you will use for audio input and
output. Click on Properties, then Advanced, and select 16 bit, 48000 Hz (DVD
Quality). If you are using a sound card that is also the default device for Windows
sounds, be sure to turn off all such sounds so they are not transmitted over the air.
8. To set the proper level of audio drive from WSJT-X to your radio, click the Tune
button on the main screen. WSJT-X should set the radio into transmit mode and
generate a steady audio tone at the same amplitude that will be used for a
generated JT9 signal. Listen to the generated audio tone using your radios
Monitor facility, or by another method. The tone should be perfectly smooth, with
no clicks or glitches. Open the computers audio mixer controls for output
(playback) devices and adjust the volume slider downward until the RF output from
your transmitter falls by around 10%. This will be a good level for audio drive.
Toggle the Tune button once more to stop your test transmission.
3. Note that at least eight JT9 signals are present in the example file; all but one of
them are decodable. When this file was recorded KF4RWA was finishing a QSO
7
with K1JT. Since the green marker was placed at his audio frequency, 1224 Hz, his
message K1JT KF4RWA 73 appears in both decoded text windows. The Band
Activity window shows this message as well as all the other decodes at nearby
frequencies. The CQ lines are highlighted in green, and lines containing My Call,
in this case K1JT, are highlighted in red. (For this step and the next one, you may
want to pretend you are K1JT by entering that call temporarily as My Call on the
Configuration screen. Your results should then be identical to those shown here.)
4. To gain some feeling for the controls you will use when making QSOs, try clicking
with the mouse on the decoded text lines and on the waterfall spectral display. You
should be able to confirm the following behavior:
a. Double-click on either of the decoded lines highlighted in green. This
action copies callsign and locator of a station calling CQ to the DX Call
and DX grid entry fields. It also generates suitable messages for a
minimal QSO and checks or clears the Tx even box so that you will
transmit in the proper (odd or even) minutes. Rx and Tx frequency
markers will be moved to the CQing stations frequency, and the Gen Msg
(generated message) radio button at bottom right of the main window will
be selected. If you had checked Double-click on call sets Tx Enable on
the Setup menu, Enable Tx would also be activated, and you would start
to transmit automatically, at the appropriate time.
b. Double-click on the decoded line with the message K1JT N5KDV EM41,
highlighted in red. Results will be similar to (a), except the Tx frequency
(red marker) is not moved. Such messages are usually in response to
your own CQ, or from a tail-ender, and you probably want your Tx
frequency to stay where it was. By holding down the Ctrl key when
double-clicking on the decoded line (or checking Tx freq locked to Rx
freq on the Setup menu) you can cause both Tx and Rx frequencies to
be moved.
c. Now double-click on the message from KF4RWA in either window. He is
sending 73 to K1JT, signifying that the QSO is over. Most likely you
want to send 73 to him, so the message KF4RWA K1JT 73 is
automatically generated and selected for your next transmission.
(Alternatively, you might choose to send a free text message or to call CQ
again.)
d. Clicking on the waterfall moves the Rx frequency (green marker) to the
selected frequency. Ctrl-click on waterfall moves both Rx and Tx
frequencies.
Making QSOs
By longstanding tradition, a minimal valid QSO requires the exchange of callsigns, a
signal report or some other information, and acknowledgments. WSJT-X is designed to
facilitate making such minimal QSOs using short, formatted messages. The process
works best if you use these formats and follow standard operating practices.
The recommended basic QSO goes something like this:
1.
2.
3.
4.
5.
6.
CQ K1ABC FN42
K1ABC G0XYZ IO91
G0XYZ K1ABC 19
K1ABC G0XYZ R22
G0XYZ K1ABC RRR
K1ABC G0XYZ 73
These standard messages consist of two callsigns (or CQ, QRZ, or DE and one
callsign) followed by the transmitting stations grid locator, a signal report, or the
acknowledgement RRR or sign-off 73. These messages are compressed and
encoded in a highly efficient and reliable way. Signal reports are given as signal-tonoise ratio in dB, using the standard reference noise bandwidth 2500 Hz; they must lie
in the range 50 to +49 dB. Thus, in example message #2 above K1ABC is telling
G0XYZ that his signal is 19 dB below the noise power in bandwidth 2500 Hz. In
message #3 G0XYZ acknowledges receipt of that report and responds with a 22 dB
9
signal report. For operators with good hearing, signals start to become audible around
15 dB on this scale. Signals are visible on the waterfall down to about 26 dB, and the
JT9 decoder also begins to fail at about this limit.
Free-format messages such as TNX JOE 73 GL or 5W VERT 73 GL can be
transmitted, up to a maximum of 13 characters. Users often add some friendly chit-chat
as a final transmission, in place of the formatted 73 message. It should be obvious,
however, that JT9 is not a mode suitable for extensive conversations or rag-chewing.
Compound callsigns such as PJ4/K1ABC or G0XYZ/P are handled in a slightly different
way. The following formats are all valid:
CQ pfx/callsign grid
QRZ pfx/callsign grid
DE pfx/callsign grid
CQ callsign/sfx grid
QRZ callsign/sfx grid
DE callsign/sfx grid
where pfx is a 1-4 character prefix, callsign is a standard callsign, sfx is a 1-3
character suffix, and grid is a 4-character Maidenhead locator, a signal report of the
form nn or Rnn, or the acknowledgment or signoff messages RRR or 73.
WSJT-X generates messages in these forms automatically, as required.
Before attempting your first QSO with JT9, be sure to go through the tutorial above as
well as the following checklist:
On-Screen Controls
The following controls appear at the bottom of the Wide Graph window:
FFT Bins/Pixel gives you control over the displayed frequency resolution. Set this
value to 1 for the highest possible resolution, or to higher values to compress the
10
spectral display. Normal operation with a convenient window size works well at 2 bins
per pixel.
N Avg is the number of successive FFTs to be averaged before updating the spectral
display. Values around 5 are suitable for normal JT9 operation.
Gain and Zero control the amplitude scale and reference level for waterfall colors.
Values around 0 for both parameters are usually about right, but your preferences may
differ.
f Min and f Max set the lower and upper limits of the second (wideband) pass through
the JT9 decoder and corresponding positions of the blue markers on the frequency
scale.
The Current / Cumulative / JT9 Sync drop-down list offers three possibilities for
graphical display in the bottom one-third of the Wide Graph window. Current is the
average spectrum over the most recent N Avg FFT calculations. Cumulative is the
average spectrum since the start of the current Rx sequence. JT9 Sync displays the
programs tentative estimate of whether a JT9 signal is present at each frequency. (See
the discussion under Receiving on page 19 for more details.)
With the exception of f Min and f Max, controls on the Wide Graph window affect only
the appearance of what is displayed during a receiving sequence. They have no effect
on the decoding of JT9 signals.
The following buttons appear just under the decoded text windows on the main window:
Log QSO pops up a confirmation screen pre-filled with known information about a QSO
you have nearly completed. You can edit or add to this information before clicking OK
to log the QSO. If you select Prompt me to log QSO on the Setup menu (see below),
the program will pop up the confirmation screen automatically when you send a 73 or
free-text message.
11
Stop will stop normal data acquisition in case you want to open and explore previously
recorded audio files.
Monitor restarts normal program operation in receive mode. This button is highlighted
in green when the program is receiving.
Decode tells the program to repeat the decoding procedure at the QSO frequency
(green marker on waterfall), using the most recently acquired sequence of Rx data.
Erase clears the right (QSO frequency) window. Double-clicking Erase clears both text
windows.
Tune may be used to switch into Tx mode and generate an unmodulated carrier at the
specified Tx frequency (red marker on waterfall). This process may be useful for
adjusting an antenna tuner, for example. Toggle the button a second time to terminate
the Tune process.
Enable Tx puts the program into automatic Rx/Tx sequencing mode and highlights the
button in red. A transmission will start at the beginning of the selected (odd or even)
sequence.
Halt Tx will terminate a transmission in progress and disable automatic Rx/Tx
sequencing.
12
At lower left of the main window are controls and displays related to date and time,
frequency, Rx audio level, and the station being worked.
The drop-down Band selector at upper left lets you select the operating band and sets
dial frequency to a default value taken from the Default Frequencies tab on the Setup |
Configuration screen. If you are using CAT control, a small colored square appears in
red if the CAT control is two-way between WSJT-X and your radio, or orange if the
control is only from program to radio. If the Dx Grid is known, the great-circle azimuth
and distance are given. The program can keep a database of callsigns and locators for
future reference. Click Add to insert the present call and locator in the database; click
Lookup to retrieve the locator for a previously stored callsign.
At center and right of the main window are a number of controls you will use when
making QSOs. The following are near screen center:
Select Tx even to transmit in even-numbered UTC minutes (or, for submode JT9-2,
even-numbered sequences starting with 0 at the top of a UTC hour). Uncheck this box
to transmit in the odd intervals. This selection is made automatically when you doubleclick on a decoded text line as described in the Basic Operating Tutorial, pages 6 9 of
this Guide. Your audio Tx frequency is displayed and can be controlled by the Tx
+xxxx Hz spinner control. Again, this setting is normally handled automatically by the
13
double-click procedure. The on-the-air frequency of your lowest JT9 tone will be the
sum of dial and audio frequencies. You can force Tx frequency to the current Rx
frequency by clicking the Tx=Rx button, and vice-versa for Rx=Tx. Finally, the Report
control lets you change a signal report that may have been inserted automatically. Most
reports will fall in the approximate range 26 to +10 dB. When signals are stronger than
about 0 dB, you and your QSO partner should probably reduce power. JT9 is supposed
to be a weak signal mode!
Two configurations of controls are provided for generating and selecting Tx messages:
Traditional controls carried over from program WSJT provide six fields for message
entry. Pre-formatted messages for the standard minimal QSO (see page 9) are
generated when you click Generate Std Msgs, or when you double-click on an
appropriate line of decoded text. Select the next message to be transmitted (at the start
of your next Tx sequence) by clicking on the circle under Next. To change to a
specified Tx message immediately, perhaps after a transmission has already started,
click on a rectangular button under the Now label. Changing Tx messages after a
transmission has started reduces the probability of a correct decode by your QSO
partner, but if you do it in the first 10 s or so of a Tx period, it will probably succeed.
14
Right-clicking on the entry field for message #5 pops up a list of free text messages
entered on the Setup | Configuration | Tx Macros dialog window, for example
You can select any of these pre-stored messages with the left mouse button.
The second configuration of message-selecting controls looks like this:
With this setup you will normally follow a top-to-bottom sequence of transmissions from
the left column (if you are calling CQ) or the right column (if you are answering a CQ).
Clicking a button puts the appropriate message in the Gen Msg box. If you are already
transmitting, it changes the Tx message immediately. (The actual message being
transmitted always appears in the first box on the status bar, at the bottom left of the
main screen.) You can put anything you like (up to 13 characters) in the Free Msg box.
Right-clicking on this entry field pops up your previously defined list of Tx Macros.
Status Bar
A Status Bar at the bottom edge of the main window provides information about current
operating conditions.
15
Reading from left to right, labels in a Status Bar at bottom edge of the main window
provide information about current operating state (Receiving, Transmitting, Tune, or an
opened file name), received noise level in dB, selected QSO Frequency, WSJT mode,
and the content of the most recent transmitted message. When transmitting, the
message being sent is highlighted in yellow for structured messages, pink for free-text
messages.
Menus
Program menus offer many options for configuration and operation. Explore them and
test the resulting program actions. The actions caused by most menu items should be
self-explanatory.
File menu
Setup menu
16
View menu
Mode menu
Decode menu
Save menu
Help menu
17
Keyboard Shortcuts
F1
Ctrl+F1
F2
F3
F4
Alt+F4
F5
F6
Shift+F6
F11
Ctrl+F11
F12
Ctrl+F12
Alt+1-6
Alt+D
Shift+D
Alt+E
Ctrl+F
Alt+G
Alt+H
Ctrl+L
Alt M
Alt+N
Alt+Q
Alt+S
Alt+T
Alt+V
18
Action
Waterfall
Set Rx frequency
Double-click to set Rx frequency and decode there
Ctrl-click to set Rx and Tx frequencies
Ctrl-double-click to set Rx and Tx frequencies and decode there
Decoded text
Erase button
Tx5 Entry
audio waveform on-the-fly, calculating 16-bit integer samples at a 48000 Hz sample rate
and maintaining phase continuity across symbol boundaries. The digital samples are
converted to an analog waveform in the sound card (or equivalent USB interface).
Receiving: The receiving side of WSJT-X acquires 16-bit integer samples from the
sound card at a 12000 Hz rate. The real input signal is filtered and converted to a
complex (analytic) signal sampled at 1500 Hz. Overlapping windowed spectra are
computed for display and saved at intervals of half the symbol length. They are used to
produce the Current, Cumulative, and JT9 Sync curves that can be displayed below
the waterfall in the Wide Graph window. As shown in the screenshot on page 7, a
JT9-1 signal appears in the Cumulative spectrum as a nearly rectangular pulse about
16 Hz wide. By convention, the nominal frequency of a JT9 signal is that of the sync
tone at the left edge.
Decoding: At the end of a reception sequence, about 50 seconds into the UTC minute
for submode JT9-1, the acquired complex samples are sent to the decoder. For
operator convenience the decoder goes through its full procedure twice: first over a
narrow range around the selected QSO Frequency, and then in the full range between
blue markers at fmin and fmax. Each pass can be described as a sequence of discrete
steps. For those who may wish to study the programs source code, perhaps with an
eye toward making future improvements, the steps are presented here as blocks
labeled with the names of functional procedures in the code.
sync9:
peakdt9:
afc9:
twkfreq:
symspec2:
20
unpackmsg:
Its useful to know that when conditions necessary for decoding are marginal, the
sequential algorithm can have exponentially long times to completion. If the first step in
the above sequence finds many seemingly worthy candidate signals, and if many of
them turn out to be undecodable, the decoding loop can take a long time. For this
reason the decode9 step in the above list is programmed to time out and report failure
if it is taking too long. The menu choice Decode | Fast / Normal / Deepest gives you
three-step control of the timeout limit.
Acknowledgments
Many users of WSJT, too numerous to mention here individually, have contributed suggestions and advice that have
greatly aided the development of WSJT-X and its sister programs. Since 2005 the overall project (including WSJT,
MAP65, WSPR, and WSPR-X) has been open source, all code being licensed under the GNU Public License
(GPL). For WSJT-X in particular, I wish to acknowledge contributions from AE4JY, PY2SDR, VK4BDJ, AC6SL,
G4KLA, and AF5X. Each has helped to bring the programs design, code, and documentation to its present state.
21
libhamlib-2.dll
libstdc++-6.dll
libusb0.dll
mingwm10.dll
mouse_commands.txt
palir-02.dll
PSKReporter.dll
QtCore4.dll
QtGui4.dll
QtNetwork4.dll
QtSvg4.dll
qwt.dll
save
shortcuts.txt
unins000.dat
unins000.exe
wsjt.ico
wsjtx.exe
Qwt library
Directory for saved *.wav files
Keyboard shortcuts
Executable for uninstalling WSJT-X
WSJT icon
Executable for WSJT-X
You might be curious about additional files that appear in the WSJT-X installation
directory after using the program for a while. These include:
ALL.TXT
decoded.txt
timer.out
wsjtx.ini
wsjtx_log.adi
wsjtx_status.txt
22
Submode
JT9-1
JT9-2
JT9-5
JT9-10
JT9-30
nsps
6912
15360
40960
82944
252000
Symbol
Duration
(s)
0.58
1.28
3.41
6.91
21.00
Tone
Spacing
(Hz)
1.736
0.781
0.293
0.145
0.048
Signal
Bandwidth
(Hz)
15.6
7.0
2.6
1.3
0.4
23
S/N
Threshold*
(dB)
-27
-30
-34
-37
-42
QSO
Time
(minutes)
6
12
30
60
180
24