1. 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,” while the suffix “-X” indicates that WSJT-X started as an extended (and experimental) branch of the program WSJT.
WSJT-X Version 1.6 offers five protocols or “modes”: JT4, JT9, JT65 WSPR, and Echo. The first three are designed for making reliable 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 proven very effective for worldwide QRP communication on the HF bands. JT9 is optimized for the LF, MF, and lower HF bands. It is 2 dB more sensitive than JT65 while using less than 10% of the bandwidth. JT4 offers a wide variety of tone spacings and has proved very effective for EME on microwave bands up to 24 GHz. All three of these modes use one-minute timed sequences of alternating transmission and reception, so a minimal QSO takes four to six minutes — two or three transmissions by each station, one sending in odd UTC minutes and the other even. On the HF bands, world-wide QSOs are possible using power levels of a few watts and compromise antennas. On VHF bands and higher, QSOs are possible (by EME and other propagation types) at signal levels 10 to 15 dB below those required for CW.
WSPR (pronounced “whisper”) stands for Weak Signal Propagation Reporter. The WSPR protocol was designed for probing potential propagation paths using low-power transmissions. WSPR messages normally carry the transmitting station’s callsign, grid locator, and transmitter power in dBm, and they can be decoded at signal-to-noise ratios as low as -28 dB in a 2500 Hz bandwidth. WSPR users with internet access can automatically upload their reception reports to a central database called WSPRnet that provides a mapping facility, archival storage, and many other features.
Echo mode allows you to detect and measure your own lunar echoes, even if they are far below the audible threshold.
WSJT-X provides spectral displays for passbands up to 5 kHz, flexible rig control for nearly all modern radios used by amateurs, and a wide variety of special aids such as automatic Doppler tracking for EME QSOs and Echo testing. The program runs equally well on Windows, Macintosh, and Linux systems, and installation packages are available for all three platforms.
WSJT-X is an open-source project released under the GNU General Public License (GPL). If you have programming or documentation skills or would like to contribute to the project in other ways, please make your interests known to the development team. The project’s source-code repository can be found at SourceForge, and most communication among the developers takes place on the email reflector wsjt-devel. User-level questions and answers, and general communication among users is found on the WSJT Group email reflector.
1.1. New in Version 1.6
For quick reference, here’s a short list of features and capabilities added to WSJT-X since Version 1.5.0:
-
WSPR mode, including coordinated automatic band-hopping and a new two-pass decoder that can decode overlapping signals.
-
EME-motivated features including JT4 (submodes A-G), Echo mode, and automatic Doppler tracking. The JT4 decoder is more sensitive than that in the latest WSJT, and message averaging is fully automated. (Note that submodes JT65B and JT65C are also present in Version 1.6, but the high-sensitivity decoder required for EME with JT65 is not yet included.)
-
Tools for accurate frequency calibration of your radio, so you can be always on-frequency to within about 1 Hz.
-
Mode-specific standard working frequencies accessible from the drop-down band selector.
-
A number of corrections to the Hamlib library, fixing balky rig-control features. A few unreliable features peculiar to particular radios have been removed.
1.2. Future releases
Much work has already been done on Version 1.7 of WSJT-X. (Up to now this branch has been called v1.6.1.) More than 100 people have been building this version for themselves as development progresses, and reporting on their experiences. The next release will offer several “fast modes” intended for meteor and ionospheric scatter, including a new FEC-enhanced mode called JTMSK. It will also have a significantly improved JT65 decoder, especially advantageous when used in crowded HF bands. Starting with Version 1.7, WSJT-X will no longer use the patented, closed-source Koetter-Vardy algorithm.
2. System Requirements
-
SSB transceiver and antenna
-
Computer running Windows (XP or later), Linux, or OS X
-
1.5 GHz or faster CPU and 200 MB of available memory
-
Monitor with at least 1024 x 780 resolution
-
Computer-to-radio interface using a serial port or equivalent USB device for T/R switching, or CAT control, or VOX, as required for your radio-to-computer connections
-
Audio input and output devices supported by the operating system and configured for sample rate 48000 Hz.
-
Audio or equivalent USB connections between transceiver and computer
-
A means for synchronizing the computer clock to UTC within ±1 second
3. Installation
Installation packages for Windows, Linux, and OS X are found on the the WSJT Home Page. Click on the WSJT-X link at the left margin, and then select the appropriate package for your operating system.
3.1. Windows
Download and execute the package file wsjtx-2.2.159-win32.exe, following these instructions:
-
Install WSJT-X into its own directory rather than in the conventional location C:\Program Files\WSJTX. Suggested installation directories are C:\WSJTX or C:\WSJT\WSJTX.
-
All program files relating to WSJT-X will be stored in the chosen installation directory and its subdirectories.
-
Logs and other writeable files will normally be found in the directory C:\Users\<username>\AppData\Local\WSJT-X.
Note that your computer might be configured so that this directory is “invisible”. It’s there, however, and accessible. An alternative (shortcut) directory name is %LOCALAPPDATA%\WSJT-X\. |
-
The built-in Windows facility for time synchronization is usually not adequate. We recommend the program Meinberg NTP (see Network Time Protocol Setup for downloading and installation instructions) or Dimension 4 from Thinking Man Software.
-
WSJT-X expects your sound card to do its raw sampling at 48000 Hz. To ensure that this will be so when running under recent versions of Windows, open the system’s Sound control panel and select in turn the Recording and Playback tabs. Click on Properties, then Advanced, and select 16 bit, 48000 Hz (DVD Quality).
-
You can uninstall WSJT-X by clicking its Uninstall link in the Windows Start menu, or by using Uninstall a Program on the Windows Control Panel.
3.2. Linux
Debian, Ubuntu, and other Debian-based systems:
-
32-bit: wsjtx_2.2.159_i386.deb
-
To install:
sudo dpkg -i wsjtx_2.2.159_i386.deb -
Uninstall:
sudo dpkg -P wsjtx
-
-
64-bit: wsjtx_2.2.159_amd64.deb
-
To install:
sudo dpkg -i wsjtx_2.2.159_amd64.deb -
Uninstall:
sudo dpkg -P wsjtx
-
You may also need to execute the following commands in a terminal:
For Ubuntu 15.04 and similar systems, the above and also
Fedora, Red Hat, and other rpm-based systems:
-
32-bit: wsjtx-2.2.159-i686.rpm
-
To install:
sudo rpm -i wsjtx-2.2.159-i686.rpm -
Uninstall:
sudo rpm -e wsjtx
-
-
64-bit: wsjtx-2.2.159-x86_64.rpm
-
To install:
sudo rpm -i wsjtx-2.2.159-x86_64.rpm -
Uninstall:
sudo rpm -e wsjtx
-
You may also need to execute the following commands in a terminal:
3.3. Macintosh OS X
OS X 10.7 and later: Download the file wsjtx-2.2.159-Darwin.dmg to your desktop, double-click on it and consult its ReadMe file for important installation notes.
If you have already installed a previous version, you can retain it by changing its name in the Applications folder (say, from WSJT-X to WSJT-X_1.5). You can then proceed to the installation phase.
Take note also of the following:
-
Use the Mac’s Audio MIDI Setup utility to configure your sound card for 48000 Hz, two-channel, 16-bit format.
-
Use System Preferences to select an external time source to keep your system clock synchronized to UTC.
-
To uninstall simply drag the WSJT-X application from Applications to the Trash Can.
4. Settings
Select Settings from the File menu or by typing F2. (On Macintosh select Preferences from the WSJT-X menu, or use the keyboard shortcut Cmd+,). The following sections describe setup options available on each of seven tabs selectable near the top of the window.
4.1. General
Select the General tab on the Settings window. Under Station Details, enter your call sign and 4-digit or 6-digit grid locator. This information will be sufficient for initial tests.
Meanings of remaining options on the General tab should be self-explanatory after you have made some QSOs using WSJT-X. You may return to set these options to your preferences later.
If you are using a callsign with an add-on prefix or suffix, or wish to work a station using such a call, be sure to read the section Compound Callsigns. |
4.2. Radio
WSJT-X offers CAT (Computer Aided Transceiver) control of the relevant features of most modern transceivers. To configure the program for your radio, select the Radio tab.
-
Select your radio type from the drop-down list labeled Rig, or None if you do not wish to use CAT control.
-
Alternatively, if you have configured your station for control by DX Lab Suite Commander, Ham Radio Deluxe, Hamlib NET rigctl, or OmniRig, you may select one of those program names from the Rig list. In these cases the entry field immediately under CAT Control will be relabeled as Network Server. Leave this field blank to access the default instance of your control program, running on the same computer. If the control program runs on a different computer and/or port, specify it here. Hover the mouse pointer over the entry field to see the required formatting details.
-
Select OmniRig Rig 1 or OmniRig Rig 2 to connect to an OmniRig server running on the same computer. Note that OmniRig is available only under Windows.
-
Set Poll Interval to the desired interval for WSJT-X to query your radio. For most radios a small number (say, 1 – 3 s) is suitable.
-
CAT Control: To have WSJT-X control the radio directly rather than though another program, make the following settings:
-
Select the Serial Port used to communicate with your radio.
-
Serial Port Parameters: Set values for Baud Rate, Data Bits, Stop Bits, and Handshake method. Consult your radio’s user guide for the proper parameter values.
-
Force Control Lines: A few station setups require the CAT serial port’s RTS and/or DTR control lines to be forced high or low. Check these boxes only if you are sure they are needed (for example, to power the radio serial interface).
-
-
PTT Method: select VOX, CAT, DTR, or RTS as the desired method for T/R switching. If your choice is DTR or RTS, select the desired serial port (which may be the same one as used for CAT control).
-
Transmit Audio Source: some radios permit you to choose the connector that will accept Tx audio. If this choice is enabled, select Rear/Data or Front/Mic.
-
Mode: WSJT-X uses upper sideband mode for both transmitting and receiving. Select USB, or choose Data/Pkt if your radio offers such an option and uses it to enable the rear-panel audio line input. Some radios also offer wider and/or flatter passbands when set to Data/Pkt mode. Select None if you do not want WSJT-X to change the radio’s Mode setting.
-
Split Operation: Significant advantages result from using Split mode (separate VFOs for Rx and Tx) if your radio supports it. If it does not, WSJT-X can simulate such behavior. Either method will result in a cleaner transmitted signal, by keeping the Tx audio always in the range 1500 to 2000 Hz so that audio harmonics cannot pass through the Tx sideband filter. Select Rig to use the radio’s Split mode, or Fake It to have WSJT-X adjust the VFO frequency as needed, when T/R switching occurs. Choose None if you do not wish to use split operation.
When all required settings have been made, click Test CAT to test communication between WSJT-X and your radio. The button should turn green to indicate that proper communication has been established. Failure of the CAT-control test turns the button red and displays an error message. After a successful CAT test, toggle the Test PTT button to confirm that your selected method of T/R control is working properly.
4.3. Audio
Select the Audio tab to configure your sound system.
-
Soundcard: Select the audio devices to be used for Input and Output. Usually the Mono settings will suffice, but in special cases you can choose Left, Right, or Both stereo channels.
If you select the audio output device that is also your computer’s default audio device, be sure to turn off all system sounds to prevent transmitting them over the air. |
Be sure that your audio device in configured to sample at 48000 Hz, 16 bits. |
-
Save Directory: WSJT-X can save its received audio sequences as .wav files. A default directory for these files is provided; you can select another location if desired.
-
AzEl Directory: A file named azel.dat will appear in the specified directory. The file contains information usable by another program for automatic tracking of the Sun or Moon, as well as calculated Doppler shift for the specified EME path. The file is updated once per second.
4.4. Tx Macros
Tx Macros are an aid for sending brief, frequently used free-text messages such as the examples shown above.
-
To add a new message to the list, enter the desired text (up to 13 characters) in the entry field at top, then click Add.
-
To remove an unwanted message, click on the message and then on Delete.
-
You can reorder your macro messages by using drag-and-drop. The new order will be preserved when WSJT-X is restarted.
4.5. Reporting
-
Logging: Choose any desired options from this group.
-
Network Services: Check Enable PSK Reporter Spotting to send reception reports to the PSK Reporter mapping facility.
-
UDP Server: This group of options controls the network name or address and port number used by a program that will receive status updates from WSJT-X. Cooperating applications like JTAlert use this feature to obtain information about a running WSJT-X instance.
4.6. Frequencies
Working Frequencies: By default the Working Frequencies table contains a list of currently recommended dial frequencies for each mode. You can modify the frequency table as desired.
-
To change an existing entry, click to select it, type a desired frequency in MHz, and hit Enter on the keyboard. The program will format your frequency value appropriately and add a band designator.
-
To add a new entry, right-click anywhere on the frequency table and select Insert. Enter a frequency in MHz in the popup box and select the desired mode (or leave the Mode selection blank). Then click OK. The table may include more than one frequency for a given band.
-
To delete an entry, right-click it and select Delete.
-
Click the Reset button to return the table to its default configuration.
Frequency Calibration: If you have calibrated your radio using WWV or other reliable frequency references, or perhaps with the technique described here, enter the measured values for Intercept A and Slope B in the equation
Dial error = A + B*f
where “Dial error” and A are in Hz, f is frequency in MHz, and B is in parts per million (ppm).
Frequency values sent to the radio and received from it will then be adjusted accordingly so that frequencies displayed by WSJT-X are accurate.
Station Information: You can save Band, Offset and Antenna Description information for your station. The antenna information will be included in reception reports sent to PSK Reporter. By default the frequency offset for each band is zero. Nonzero offsets may be added if (for example) a transverter is in use.
-
For a simple setup approach you might want to delete any unwanted bands — for example, bands where you have no equipment. Then click on a Frequency entry and type Ctrl+A to “select all,” and drag-and-drop the entries onto the Station Information table. You can then add any transverter offsets and antenna details.
-
To avoid typing the same information many times, you can drag-and-drop entries between the lines of the Station Information table.
-
When all settings have been configured to your liking, click OK to dismiss the Settings window.
4.7. Colors
WSJT-X uses colors to highlight decoded messages containing information of particular interest. Click on one of the buttons to select your preferred colors for any message category.
5. Transceiver Setup
-
If it is not already highlighted in green, click the Monitor button to start normal receive operation.
-
Be sure your transceiver is set to USB (or USB Data) mode.
-
Use the receiver gain controls and/or the computer’s audio mixer controls to set the background noise level (scale at lower left of main window) to around 30 dB when no signals are present. It is usually best to turn AGC off or reduce the RF gain control to minimize AGC action. If necessary you can also adjust the slider next to the dB scale, but note that the overall dynamic range will be best with this slider not too far from its mid-point.
-
If your transceiver offers more than one bandwidth setting in USB mode, you should normally choose the widest one possible, up to about 5 kHz. This choice has the desirable effect of allowing the Wide Graph (waterfall and 2D spectrum) to display the conventional JT65 and JT9 sub-bands simultaneously on most HF bands. Further details are provided in the Basic Operating Tutorial. A wider displayed bandwidth may also be helpful at VHF and above, where JT4 and JT65 signals are found over much wider ranges of frequencies.
-
If you have only a standard SSB filter you won’t be able to display more than about 2.7 kHz bandwidth. Depending on the exact dial frequency setting, on HF bands you can display the full sub-band generally used for one mode (JT65 or JT9) and part of the sub-band for the other mode.
-
Of course, you might prefer to concentrate on one mode at a time, setting your dial frequency to (say) 14.076 for JT65 or 14.078 for JT9. Present conventions have the nominal JT9 dial frequency 2 kHz higher than the JT65 dial frequency.
-
Click the Tune button on the main screen to switch the radio into transmit mode and generate a steady audio tone.
-
Listen to the generated audio tone using your radio’s Monitor facility. The transmitted tone should be perfectly smooth, with no clicks or glitches.
-
Open the computer’s audio mixer controls for output (“Playback”) devices and adjust the volume slider downward from its maximum until the RF output from your transmitter falls by around ten percent. This will be a good level for audio drive.
-
Alternatively, you can make the Tx audio level adjustment using the digital slider labeled Pwr at the right edge of the main window.
-
Toggle the Tune button once more to stop your test transmission.
Windows Vista and later incorrectly configure audio devices using the Texas Instruments PCM2900 series CODEC for microphone input rather line input. (This chip is used in many radios with built-in USB CODECs, as well as various other audio interfaces.) If you are using such a device, be sure to set the mic level in the Recording Device Properties to 0 dB. |
6. Basic Operating Tutorial
Sections 6.1 through 6.4 cover basic operation for making two-way QSOs with modes JT9 and JT65 on the HF bands. Section 7 covers WSPR mode, and Section 8 covers VHF+ features. If you are a new user of WSJT-X we suggest that you go through the full HF-oriented tutorial while at your radio. It should take no more than 20 minutes. If your main interests are WSPR of VHF+, you may then proceed to Sections 7 and 8.
6.1. Main Window Settings
-
Click the Stop button on the main window to halt any data acquisition.
-
Select JT9 from the Mode menu and Deep from the Decode menu.
-
Set the audio frequencies to Tx 1224 Hz and Rx 1224 Hz.
Sliders and spinner controls respond to Arrow key presses and Page Up/Down key presses, with the Page keys moving the controls in larger steps. You can also type numbers directly into the spinner controls. |
-
Select Tab 2 (below the Decode button) to choose the alternative set of controls for generating and selecting Tx messages.
6.2. Wide Graph Settings
-
Bins/Pixel = 4
-
JT65 …. JT9 = 2500
-
Start = 200 Hz
-
N Avg = 5
-
Palette = Digipan
-
Flatten = checked
-
Select Cumulative for data display
-
Gain and Zero sliders set near midscale
-
Use the mouse to adjust the width of the Wide Graph so that its upper frequency limit is about 2400 Hz.
6.3. JT9
For this step and the next, you may want to pretend you are K1JT by entering that callsign temporarily as My Call on the Settings | General tab. Your results should then be identical to those shown in the screen shot below.
-
Select File | Open and select the file ...\save\samples\130418_1742.wav. When the file opens you should see something similar to the to the following screen shot:
Decoding takes place at the end of a receive sequence and proceeds in two steps. The first decode is done at the selected Rx frequency, indicated by the U-shaped green marker on the waterfall scale. Results appear in both the left (Band Activity) and right (Rx Frequency) text windows on the main screen. The program then finds and decodes all signals in the selected mode over the displayed frequency range. The red marker on the waterfall scale indicates your Tx frequency.
Seven JT9 signals are present in the example file, all decodable. When this file was recorded KF4RWA was finishing a QSO with K1JT. Since the green marker was placed at his audio frequency, 1224 Hz, his message “K1JT KF4RWA 73” is decoded first and appears in the Rx Frequency window. The Band Activity window shows this message plus all decodes at other frequencies. By default lines containing CQ are highlighted in green, and lines with My Call (in this case K1JT) in red.
To gain some feeling for controls frequently used 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:
-
Double-click on either of the decoded lines highlighted in green. This action produces the following results:
-
Callsign and locator of a station calling CQ are copied to the DX Call and DX Grid entry fields.
-
Messages are generated for a standard minimal QSO.
-
The Tx even box is checked or cleared appropriately, so that you will transmit in the proper (odd or even) minutes.
-
The Rx and Tx frequency markers are moved to the frequency of the CQing station.
-
The Gen Msg (“generated message”) radio button at bottom right of the main window is selected.
-
If you had checked Double-click on call sets Tx Enable on the Setup menu, Enable Tx would be activated and a transmission would start automatically at the proper time.
-
-
Double-click on the decoded message “K1JT N5KDV EM41”, highlighted in red. Results will be similar to those in the previous step, 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 a decoded line you can cause both Tx and Rx frequencies to be moved. This behavior can also be forced by checking Lock Tx=Rx.
-
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.)
-
Click somewhere on the waterfall to set Rx frequency (green marker on waterfall scale).
-
Ctrl-click on the waterfall to set both Rx and Tx frequencies.
-
Double-click on a signal in the waterfall to set Rx frequency and start a narrow-band decode there. Decoded text will appear in the right window only.
-
Ctrl-double-click on a signal to set both Rx and Tx frequencies and decode at the new frequency.
-
Click Erase to clear the right window.
-
Double-click Erase to clear both text windows.
6.4. JT9+JT65
-
Select JT9+JT65 on the Mode menu.
-
Toggle the Tx mode button to read Tx JT65, and set the Tx and Rx frequencies to 1718 Hz.
-
Double-click on Erase to clear both text windows.
-
Set Bins/Pixel = 7
-
Adjust the width of the Wide Graph window so that the upper frequency limit is approximately 4000 Hz.
-
Select File | Open and navigate to ...\save\samples\130610_2343.wav. The waterfall should look like this:
Notice the BLUE marker on the waterfall scale, here set at 2500 Hz. Its position is set by the spinner control JT65 nnnn JT9, where nnnn is a frequency in Hz. In JT9+JT65 mode the program will automatically decode JT9 signals only above this frequency. |
JT9 signals appear in the Cumulative spectrum as nearly rectangular shapes about 16 Hz wide. They have no clearly visible sync tone like the one at the low-frequency edge of all JT65 signals. By convention the nominal frequency of both JT9 and JT65 signals is taken to be that of the lowest tone, at the left edge of its spectrum.
This sample file contains 17 decodable signals — nine in JT65 mode (flagged with the character # in the decoded text windows), and eight in JT9 mode (flagged with @). On multi-core computers the decoders for JT9 and JT65 modes run simultaneously, so their results will be interspersed. The Band Activity window contains all decodes (you might need to scroll back in the window to see some of them). A signal at the frequency specified by the green marker is given decoding priority, and its message is displayed also in the Rx Frequency window.
-
Confirm that mouse-click behavior is similar to that described earlier, in Example 1. WSJT-X automatically determines the mode of each JT9 or JT65 message.
When you double-click on a signal in the waterfall it will be properly decoded even if on the “wrong” side of the JT65 nnnn JT9 marker. The Tx mode automatically switches to that of the decoded signal and the Rx and Tx frequency markers on the waterfall scale resize themselves accordingly. When selecting a JT65 signal, click on the sync tone at its left edge. |
-
Double-click on the waterfall near 815 Hz: a JT65 message originating from W7VP will be decoded and appear in the Rx Frequency window. Between the UTC and Freq columns on the decoded text line you will find dB, the measured signal-to-noise ratio, and DT, the signal’s time offset in seconds relative to your computer clock.
UTC | dB | DT | Freq | Mode | Message |
---|---|---|---|---|---|
2343 |
-7 |
0.3 |
815 |
# |
KK4DSD W7VP -16 |
-
Double-click on the waterfall at 3196 Hz. The program will decode a JT9 message from IZ0MIT:
UTC | dB | DT | Freq | Mode | Message |
---|---|---|---|---|---|
2343 |
-7 |
0.3 |
3196 |
@ |
WB8QPG IZ0MIT -11 |
-
Scroll back in the Band Activity window and double-click on the message CQ DL7ACA JO40. The program will set Tx mode to JT65 and Tx and Rx frequencies to that of DL7ACA, 975 Hz. If you had checked Double-click on call sets Tx Enable on the Setup menu, the program would configure itself to start a QSO with DL7ACA.
-
Double-click on the decoded JT65 message CQ TA4A KM37. The program will set Tx mode to JT9 and the Rx and Tx frequencies to 3567 Hz. The program is now configured properly for a JT9 QSO with TA4A.
-
Select File | Open and navigate to ...\save\samples\130418_1742.wav.
Taking full advantage of the wide-band, dual-mode capability of WSJT-X requires a receiver bandwidth of at least 4 kHz. These data were recorded with a much narrower Rx bandwidth, roughly 200 to 2400 Hz. If you have no Rx filter wider than about 2.7 kHz, you will be using data like this. For best viewing, adjust Bins/Pixel and the width of the Wide Graph so that only the active part of the spectrum shows, say 200 to 2400 Hz. Re-open the example file after any change of Bins/Pixel or Wide Graph width, to refresh the waterfall.
The signals in this file are all JT9 signals. To decode them automatically in JT9+JT65 mode you’ll need to move the JT65 nnnn JT9 delimiter down to 1000 Hz or less.
Now is a good time to experiment with the Start control and the sliders controlling gain and zero-point of the waterfall and spectrum plots. Start determines the frequency displayed at the left side of the waterfall scale. Sliders set the baseline level and gain for the waterfall and the several types of spectra. Good starting values should be close to mid-scale. You might want to uncheck Flatten when adjusting the sliders. Re-open the wave file after each change, to see the new results.
When finished with this Tutorial, don’t forget to re-enter your own callsign as My Call on the Settings | General tab. |
7. WSPR Mode
-
Select WSPR-2 from the Mode menu. The main window will reconfigure itself to the WSPR interface, removing some controls not used in WSPR mode.
-
Configure the Wide Graph as suggested in the screen shot below.
-
Use the mouse to set the width and height of the main window as desired.
-
Select an active WSPR frequency (for example, 10.1387 MHz).
-
Click Monitor to start a WSPR receiving period.
-
If you will be transmitting as well as receiving, select a suitable value for Tx Pct (average percentage of 2-minute sequences devoted to transmitting) and activate the Enable Tx button.
-
Select your Tx power (in dBm) from the drop-down list.
7.1. Band Hopping
WSPR mode allows those with CAT-controlled radios to investigate propagation on many bands without user intervention. Coordinated hopping enables a sizable group of stations around the world to move together from band to band, thereby maximizing the chances of identifying open propagation paths.
-
To enable automatic band-hopping, check the Band Hopping box on the main window.
-
Click Schedule to open the WSPR Band Hopping window, and select the bands you wish to use at each time of day.
-
Band-switching occurs after each 2-minute interval. Preferred bands are identified with time slots in a repeating 20-minute cycle, according to the following table:
Band: | 160 | 80 | 60 | 40 | 30 | 20 | 17 | 15 | 12 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
UTC minute: |
00 |
02 |
04 |
06 |
08 |
10 |
12 |
14 |
16 |
18 |
20 |
22 |
24 |
26 |
28 |
30 |
32 |
34 |
36 |
38 |
|
40 |
42 |
44 |
46 |
48 |
50 |
52 |
54 |
56 |
58 |
-
If the preferred band is not active according to your band-hopping schedule, a band will be selected at random from among the active bands.
-
If the box labeled Tune is checked for a particular band, WSJT-X transmits an unmodulated carrier for several seconds just after switching to that band and before the normal Rx or Tx period starts. This feature can be used to activate an automatic antenna tuner (ATU) to tune a multi-band antenna to the newly selected band.
-
Depending on your station and antenna setup, band changes might require other switching besides retuning your radio. To make this possible in an automated way, whenever WSJT-X executes a successful band-change command to a CAT-controlled radio, it looks for a file named user_hardware.bat, user_hardware.cmd, user_hardware.exe, or user_hardware in the working directory. If one of these is found, WSJT-X tries to execute the command
user_hardware nnn
-
In the above command nnn is the band-designation wavelength in meters. You will need to write your own program, script, or batch file to do the necessary switching at your station.
8. VHF+ Features
8.1. VHF Setup
V1.6.0 is the first WSJT-X version to include features specifically designed for use on VHF and higher bands. These features include JT4, a mode particularly useful for EME on the microwave bands; Echo mode, for detecting and measuring your own lunar echoes; and automatic Doppler tracking for the EME path. The accuracy of Doppler calculations is better than 1 Hz at 10 GHz. (Note that sub-modes JT65B and JT65C are present in v1.6.0, but are not yet fully implemented for EME purposes.)
-
To activate the VHF-and-up features check the box labeled Enable VHF/UHF/Microwave features on the Settings | General tab.
-
If you will be doing EME, check the box Decode at t = 52 s to allow for the EME path delay on received signals.
-
If you will use automatic Doppler tracking, check the box Allow Tx frequency changes while transmitting. On the Radio tab select Split Operation (use either Rig or Fake It: you might need to experiment with both).
Not all transceivers permit computer adjustments of Tx frequency while transmitting. Among those that do are the IC-735, IC-756 Pro II, IC-910-H, FT-847, TS-2000 (with Rev 9 firmware upgrade), Flex 1500 and 5000, HPSDR, Anan-10, Anan-100, and KX3. |
-
The main window reconfigures itself as necessary to include controls supporting features of each mode. For example, in JT4 mode the central part of the main window will look like this:
-
On the View menu, select Astronomical data to display a window with important information for tracking the Moon and performing automatic Doppler control. Check the box labeled Doppler tracking to ensure that the right-hand portion of the window is visible.
Note that two different types of Doppler control are provided. |
-
Select Full Doppler to DX Grid if you know your QSO partner’s locator and he/she will not be using any Doppler control.
-
Select Constant frequency on Moon to correct for your own (one-way) Doppler shift to or from the Moon. If your QSO partner does the same thing, both stations will have the required Doppler compensation. Moreover, anyone else using this option will hear both of you without the need for manual frequency changes. The hypothetical “man in the moon” will copy all of you on the selected nominal frequency.
-
In the example depicted above, the moon-based nominal frequency is 100 kHz above the stated band edge, or 10368.100 MHz for the 10 GHz band. The home station two-way self Doppler shift is +6193 Hz, so the one-way shift is +3096.5 Hz. Therefore, the receive frequency is set to 10,360.103097 Hz. When a transmission is started, the frequency is reset to 3096.5 Hz below the nominal frequency.
-
Spinner controls at top right of the Astronomical Data window let you set a working frequency above the nominal band edge. The frequency above band edge is the sum of the numbers in these two controls (kHz + Hz).
8.2. EME with JT4
-
Select JT4 from the Mode menu.
-
Select the desired submode, which determines the tone spacing. Higher spacings are used on the higher microwave bands, to allow for larger Doppler spreads. For example, JT4F is generally used for EME on the 10 GHz band.
-
If using a transverter, set the appropriate offset on the Settings | Frequencies tab. Offset is defined as (desired transceiver dial reading) minus (desired on-the-air frequency). For example, when using a 144 MHz radio at 10368 MHz, Offset (MHz) = (144 - 10368) = -10224.000. If the band is already in the table, you can edit the offset by double clicking on the offset field itself. Otherwise a new band can be added by right clicking in the table and selecting Insert.
-
The JT4 decoder in WSJT-X includes optional facilities for averaging over successive transmissions and also correlation decoding, sometimes known as “Deep Search”.
The Decode menu appears to provide options to set different decoding behavior. However, in JT4 mode WSJT-X Version 1.6 always behaves as if you have selected Include correlation. |
-
By convention, EME with JT4 can use “short form” messages. To activate automatic generation of these messages, check the box labeled Sh on the main window.
Thanks to G3WDG, many additional hints for using JT4 and Echo mode on the EME path are available here. |
8.3. Echo Mode
Echo mode allows you to make sensitive measurements of your own lunar echoes, even when they are too weak to be heard. Select Echo from the Mode menu, aim your antenna at the moon, pick a clear frequency, and toggle click Tx Enable. WSJT-X will then cycle through the following loop every 6 seconds:
-
Transmit a 1500 Hz fixed tone for 2.3 s
-
Wait about 0.2 s for start of the return echo
-
Record the received signal for 2.3 s
-
Analyze, average, and display the results
-
Repeat from step 1
To make a sequence of echo tests:
-
Select Echo from the Mode menu.
-
On the Astronomical Data window check Doppler tracking and Constant frequency on the Moon
-
Choose your desired test frequency using the Frequency above nominal band edge controls.
-
Be sure that your rig control has been set up for Split Operation (either Rig of Fake It) on the Settings | Radio tab.
-
Click Enable Tx on the main window to start a sequence of 6-second cycles.
-
WSJT-X calculates and compensates for Doppler shift automatically. Your return echo should always appear at the center of the plot area on the Echo Graph window, as in the screen shot below.
9. Making QSOs
9.1. Standard Exchange
By longstanding tradition, a minimally 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, structured messages. The process works best if you use these formats and follow standard operating practices. The recommended basic QSO goes something like this:
CQ K1ABC FN42 #K1ABC calls CQ K1ABC G0XYZ IO91 #G0XYZ answers G0XYZ K1ABC –19 #K1ABC sends report K1ABC G0XYZ R–22 #G0XYZ sends R+report G0XYZ K1ABC RRR #K1ABC sends RRR K1ABC G0XYZ 73 #G0XYZ sends 73
Standard messages consist of two callsigns (or CQ, QRZ, or DE and one callsign) followed by the transmitting station’s grid locator, a signal report, R plus a signal report, or the final acknowledgements RRR or 73. These messages are compressed and encoded in a highly efficient and reliable way. In uncompressed form (as displayed on-screen) they may contain as many as 22 characters.
Signal reports are specified as signal-to-noise ratio (S/N) in dB, using a standard reference noise bandwidth of 2500 Hz. Thus, in example message at UTC 0003 above, K1ABC is telling G0XYZ that his signal is 19 dB below the noise power in bandwidth 2500 Hz. In the message at 0004, G0XYZ acknowledges receipt of that report and responds with a –22 dB signal report. JT65 reports are constrained to lie in the range –30 to –1 dB, and values are significantly compressed above about -10 dB. JT9 supports the extended range –50 to +49 dB and assigns more reliable numbers to relatively strong signals.
Signals become visible on the waterfall around S/N = –26 dB and audible (to someone with very good hearing) around –15 dB. Thresholds for decodability are around -23 dB for JT4, –24 dB for JT65, –26 dB for JT9. |
9.2. Free Text Messages
Users often add some friendly chit-chat at the end of a QSO. Free-format messages such as “TNX ROBERT 73” or “5W VERT 73 GL” are supported, up to a maximum of 13 characters, including spaces. In general you should avoid the character / in free-text messages, as the program may then try to interpret your construction as part of a compound callsign. It should be obvious that the JT4, JT9, and JT65 protocols are not designed or well suited for extensive conversations or rag-chewing.
9.3. Compound Callsigns
Compound callsigns such as xx/K1ABC or K1ABC/x are handled in one of two possible ways:
A list of about 350 of the most common prefixes and suffixes can be displayed from the Help menu. A single compound callsign involving one item from this list can be used in place of the standard third word of a message (normally a locator, signal report, RRR, or 73). The following examples are all acceptable messages containing Type 1 compound callsigns:
CQ ZA/K1ABC CQ K1ABC/4 ZA/K1ABC G0XYZ G0XYZ K1ABC/4
The following messages are not valid, because a third word is not permitted in any message containing a Type 1 compound callsign:
ZA/K1ABC G0XYZ -22 #These messages are invalid; each would G0XYZ K1ABC/4 73 # be sent without its third "word"
A QSO between two stations using Type 1 compound-callsign messages might look like this:
CQ ZA/K1ABC ZA/K1ABC G0XYZ G0XYZ K1ABC –19 K1ABC G0XYZ R–22 G0XYZ K1ABC RRR K1ABC G0XYZ 73
Notice that the full compound callsign is sent and received in the first two transmissions. After that, the operators omit the add-on prefix or suffix and use the standard structured messages.
Prefixes and suffixes not found in the displayable short list are handled by using Type 2 compound callsigns. In this case the compound callsign must be the second word in a two- or three-word message, and the first word must be CQ, DE, or QRZ. Prefixes can be 1 to 4 characters, suffixes 1 to 3 characters. A third word conveying a locator, report, RRR, or 73 is permitted. The following are valid messages containing Type 2 compound callsigns:
CQ W4/G0XYZ FM07 QRZ K1ABC/VE6 DO33 DE W4/G0XYZ FM18 DE W4/G0XYZ -22 DE W4/G0XYZ R-22 DE W4/G0XYZ RRR DE W4/G0XYZ 73
In each case, the compound callsign is treated as Type 2 because the add-on prefix or suffix is not one of those in the fixed list. Note that a second callsign is never permissible in these messages.
Remember that during a transmission your transmitted message is always displayed in the first label on the Status Bar, highlighted in yellow. It is displayed there exactly as another station will receive it. Be sure to check that you are actually transmitting the message you wish to send! |
QSOs involving Type 2 compound callsigns might look like either of the following sequences
CQ K1ABC/VE1 FN75 K1ABC G0XYZ IO91 G0XYZ K1ABC –19 K1ABC G0XYZ R–22 G0XYZ K1ABC RRR K1ABC/VE1 73
CQ K1ABC FN42 DE G0XYZ/W4 FM18 G0XYZ K1ABC –19 K1ABC G0XYZ R–22 G0XYZ K1ABC RRR DE G0XYZ/W4 73
Operators with a compound callsign use its full form when calling CQ and possibly also in a 73 transmission, as may be required by licensing authorities. Other transmissions during a QSO may use the standard structured messages without callsign prefix or suffix.
If you are using a compound callsign, you may want to experiment with the option Message generation for type 2 compound callsign holders on the Settings | General tab, so that messages will be generated that best suit your needs. |
9.4. Pre-QSO Checklist
Before attempting your first QSO with one of the WSJT modes, be sure to go through the Basic Operating Tutorial above as well as the following checklist:
-
Your callsign and grid locator set to correct values
-
PTT and CAT control (if used) properly configured and tested
-
Computer clock properly synchronized to UTC within ±1 s
-
Radio set to USB (upper sideband) mode
-
Radio filters centered and set to widest available passband (up to 5 kHz).
Remember that JT4, JT9, J65, and WSPR generally do not require high power. Under most HF propagation conditions, QRP is the norm. |
10. On-Screen Controls
10.1. Wide Graph
The following controls appear at the bottom of the Wide Graph window. With the exception of JT65 nnnn JT9, they affect only the graphical displays — they have no effect on the decoding process.
-
Bins/Pixel controls the displayed frequency resolution. Set this value to 1 for the highest possible resolution, or to higher numbers to compress the spectral display. Normal operation with a convenient window size works well at 2 to 8 bins per pixel.
-
JT65 nnnn JT9 sets the dividing point (blue marker) for wide-band decoding of JT65 and JT9 signals in JT9+JT65 mode. The decoder looks for JT65 signals everywhere, but JT9 signals only above this frequency.
-
Start nnn Hz sets the low-frequency starting point of the waterfall frequency scale.
-
N Avg is the number of successive FFTs to be averaged before updating the spectral display. Values around 5 are suitable for normal JT9 and JT65 operation. Adjust N Avg to make the waterfall move faster or slower, as desired.
-
A dropdown list below the Palette label lets you select from a wide range of waterfall color palettes.
-
Click Adjust to activate a window that allows you to create a user-defined palette.
-
Check Flatten if you want WSJT-X to compensate for a sloping or uneven response across the received passband. For this feature to work properly, you should restrict the range of displayed frequencies so that only the active part of the spectrum is shown.
-
Select Current or Cumulative for the spectrum displayed 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 present UTC minute. Linear Avg is useful in JT4 mode, especially when short-form messages are used.
-
Four sliders control reference levels and scaling for waterfall colors and the spectrum plot. Values around midscale are usually about right, depending on the input signal level, the chosen palette, and your own preferences.
-
Smoothing is active only when Linear Average has been selected. Smoothing the displayed spectrum over more than one bin can enhance your ability to detect weak EME signals with Doppler spread more than a few Hz.
10.2. Main Window
The following buttons appear just under the decoded text windows on the main screen:
-
Log QSO raises a dialog window 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 check Prompt me to log QSO on the Setup menu, the program will raise the confirmation screen automatically when you send a message containing 73.
-
Stop will terminate normal data acquisition in case you want to freeze the waterfall or open and explore a previously recorded audio file.
-
Monitor restarts normal receive operation. This button is highlighted in green when the WSJT-X is receiving. If you are using CAT control, toggling Monitor OFF relinquishes control of the rig; if Monitor returns to last used frequency is selected on the Settings | General tab, toggling Monitor back ON will return to the original frequency.
-
Erase clears the right-hand decoded text window. Double-clicking Erase clears both text windows.
-
Decode tells the program to repeat the decoding procedure at the Rx frequency (green marker on waterfall scale), using the most recently completed sequence of received data.
-
Enable Tx toggles the program into automatic T/R sequencing mode and highlights the button in red. A transmission will start at the beginning of the selected (odd or even) sequence, or immediately if appropriate. A transmission will not be started any later than 24 s into a UTC minute.
-
Halt Tx terminates a transmission in progress and disables automatic T/R sequencing.
-
Tune may be used to switch into Tx mode and generate an unmodulated carrier at the specified Tx frequency (red marker on waterfall scale). This process may be useful for adjusting an antenna tuner. The button is highlighted in red while Tune is active. Toggle the button a second time or click Halt Tx to terminate the Tune process.
10.3. Controls Left
Controls related to frequency selection, received audio level, the station being called, and date and time are found at lower left of the main window:
-
A drop-down list of frequencies and bands at upper left lets you select the operating band and sets dial frequency to a value taken from the Frequencies tab on the Settings window. If CAT control is active the radio’s dial frequency will be set accordingly; if not, you must tune the radio manually.
-
Alternatively, you can enter a frequency (in MHz) or band name in recognized ADIF format, for example 630m, 20m, or 70cm. The band-name format works only if a working frequency has been set up on that band, in which case the first working frequency on that band is selected.
-
If you are using CAT control, a small colored circle appears in green if the CAT control is activated and functional. The green circle contains the character S if the rig is detected to be in Split mode. The circle becomes red if you have requested CAT control but communication with the radio has been lost.
Many Icom rigs cannot be queried for split status, current VFO or split transmit frequency. Consequently you should not change the current VFO, split status or frequency using controls on the radio when using WSJT-X with an Icom radio. |
-
If DX Grid contains a valid Maidenhead locator, the corresponding great-circle azimuth and distance from your location are displayed.
-
The program can maintain 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 call. This feature is mainly useful for situations in which the number of active stations is modest and reasonably stable, such as EME (Earth-Moon-Earth) communication.
10.4. Controls Center
At the center of the main window are a number of controls used when making QSOs:
-
Check Tx even to transmit in even-numbered UTC minutes. Uncheck this box to transmit in the odd minutes. This selection is made automatically when you double-click on a decoded text line, as described in the Basic Operating Tutorial.
-
The Tx and Rx audio frequencies are usually set automatically by double-clicking on decoded text or a signal in the waterfall. They can also be adjusted with spinner controls.
-
You can force Tx frequency to the current Rx frequency by clicking the Tx<Rx button, and vice-versa for Rx<Tx. Check the box Lock Tx=Rx to make the frequencies always track one another. The on-the-air frequency of your lowest JT9 or JT65 tone is the sum of dial frequency and audio Tx frequency.
In general we do not recommend using Lock Tx=Rx since it encourages poor radio etiquette when running a frequency. With Lock Tx=Rx checked, your own Tx frequency will move around following your callers. |
-
The Report control lets you change a signal report that has been inserted automatically. Most reports will fall in the range –26 to +10 dB. Remember that JT65 reports saturate at an upper limit of -1 dB.
Consider reducing power if your QSO partner reports your signal above -5 dB. The WSJT modes are supposed to be weak signal modes! |
10.5. Tx Messages
Two arrangements of controls are provided for generating and selecting Tx messages. Controls familiar to users of program WSJT appear on Tab 1, providing six fields for message entry. Pre-formatted messages for the standard minimal QSO are generated when you click Generate Std Msgs or double-click on an appropriate line in one of the decoded text windows.
-
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 during a transmission, click on a rectangular button under the Now label. Changing a Tx message in mid-stream will slightly reduce the chance of a correct decode, but it is usually OK if done in the first 10-15 s of a transmission.
-
All six Tx message fields are editable. You can modify an automatically generated message or enter a desired message, keeping in mind the limits on message content. See Protocol Specifications for details.
-
Click on the pull-down arrow for message #5 to select one of the pre-stored messages entered on the Settings | Tx Macros tab. Pressing Enter on a modified message #5 automatically adds that message to the stored macros.
The second arrangement of controls for generating and selecting Tx messages appears on Tab 2 of the Message Control Panel:
With this setup you normally follow a top-to-bottom sequence of transmissions from the left column if you are calling CQ, or the right column if answering a CQ.
-
Clicking a button puts the appropriate message in the Gen Msg box. If you are already transmitting, the Tx message is changed immediately.
-
You can enter and transmit anything (up to 13 characters, including spaces) in the Free Msg box.
-
Click on the pull-down arrow in the Free Msg box to select a pre-stored macro. Pressing Enter on a modified message here automatically adds that message to the table of stored macros.
During a transmission the actual message being sent always appears in the first box of the status bar (bottom left of the main screen). |
10.6. Status Bar
A Status Bar at the bottom edge of the main window provides information about operating conditions.
Labels on the Status Bar display such information as the program’s current operating state, operating mode, the content of your most recent transmitted message, and whether Double-click on call sets Tx enable has been selected on the Settings | General tab. The first label (operating state) can be Receiving, Tx (for Transmitting), Tune, or the name of file opened from the File menu; this label is highlighted in green for Receiving, yellow for Tx, and red for Tune. When transmitting, the Tx message is displayed exactly as it will be decoded by receiving stations.
10.7. Menus
Program menus offer many options for configuration and operation. Most of the items are self-explanatory; a few additional details are provided below. Keyboard shortcuts for some frequently used menu items are listed at the right.
10.7.1. WSJT-X menu
This menu appears on the Macintosh only. Settings appears here, labeled as Preferences, rather than on the File menu. About WSJT-X appears here rather than on the Help menu.
10.7.2. File menu
10.7.3. View Menu
10.7.4. Mode Menu
10.7.5. Decode Menu
10.7.6. Save Menu
Choose Save all to save received data as audio .wav files. Save decoded will save only those files containing at least one decoded message.
10.7.7. Help Menu
Keyboard Shortcuts (F3)
Special Mouse Commands (F5)
11. Logging
A basic logging facility in WSJT-X saves QSO information to files named wsjtx.log (in comma-separated text format) and wsjtx_log.adi (in standard ADIF format). These files can be imported directly into other programs, for example spreadsheets and popular logging programs. As described in the Installation and Platform Dependencies sections, different operating systems may place your local log files in different locations. You can always navigate to them directly by selecting Open log directory from the File menu.
More elaborate logging capabilities are supported by third party applications like JT-ALERT-X, which can log QSOs automatically to other applications including Ham Radio Deluxe, DX Lab Suite, and Log4OM.
The program option Show DXCC entity and worked before status (selectable on the Settings | General tab) is intended mostly for use on non-Windows platforms, where JT-ALERT-X is not available. When this option is checked WSJT-X appends some additional information to all CQ messages displayed in the Band Activity window. The name of the DXCC entity is shown, abbreviated if necessary. Your “worked before” status for this callsign (according to log file wsjtx_log.adi) is flagged with a single character and a change of background color, as follows:
! |
default color bright purple: — New DXCC entity |
~ |
light pink: — You have already worked this DXCC entity but not this station :: green: — You have previously worked the calling station |
In this respect the program does not distinguish between modes, but it does differentiate between bands.
WSJT-X includes a built-in cty.dat file containing DXCC prefix information. Updated files can be downloaded from here when required. If an updated cty.dat is present in the logs folder and readable, it will be used in preference to the built-in one.
The log file wsjtx_log.adi is updated whenever you log a QSO from WSJT-X. (Keep in mind that if you erase this file you will lose all “worked before” information.) You can append or overwrite the wsjtx_log.adi file by exporting your QSO history as an ADIF file from another logging program. Turning Show DXCC entity and worked before status off and then on again will cause WSJT-X to re-read the log file. Very large log files may cause WSJT-X to slow down when searching for calls.
12. Cooperating Programs
WSJT-X is programmed to cooperate closely with several other useful programs.
-
DX Lab Suite and Ham Radio Deluxe were described in the section on rig control.
-
PSK Reporter, by Philip Gladstone, is a web server that gathers reception reports sent by various other programs, including WSJT-X. The information is made available in near real time on a world map, and also as statistical summaries of various kinds. A number of options are available to the user; for example, you can request a map showing world-wide JT65 activity on all amateur bands over over the past hour. Such a map might look like this, where different colors represent different bands:
-
JT-ALERT-X, by VK3AMA, is available only for Windows. It provides many operating aids including automatic logging to several third-party logging programs, audio and visual alerts following a number of optional alert conditions (decoding of a new DXCC, new state, etc.), and convenient direct access to web services such as callsign lookup.
-
AlarmeJT, by F5JMH, is available only for Linux. The program keeps its own logbook. It fetches contact information from WSJT-X and provides visual alerts for new DXCC entities and grid squares on the current band, as well as other options.
13. Platform Dependencies
A few WSJT-X features behave differently in Windows, Linux, or OS X, or may not be relevant to all operating platforms.
-
Windows
- Settings
-
%LOCALAPPDATA%\WSJT-X\WSJT-X.ini
- Log files
-
%LOCALAPPDATA%\WSJT-X\
- Default save
-
%LOCALAPPDATA%\WSJT-X\save\
-
Windows, when using "--rig-name=xxx"
- Settings
-
%LOCALAPPDATA%\WSJT-X - xxx\WSJT-X - xxx.ini
- Log files
-
%LOCALAPPDATA%\WSJT-X - xxx\
- Default save
-
%LOCALAPPDATA%\WSJT-X - xxx\save\
-
Linux
- Settings
-
~/.config/WSJT-X.ini
- Log files
-
~/.local/share/WSJT-X/
- Default save
-
~/.local/share/WSJT-X/save/
-
Linux, when using "--rig-name=xxx"
- Settings
-
~/.config/WSJT-X - xxx.ini
- Log files
-
~/.local/share/WSJT-X - xxx/
- Default save
-
~/.local/share/WSJT-X - xxx/save/
-
Macintosh
- Settings
-
~/Library/Preferences/WSJT-X.ini
- Log files
-
~/Library/Application Support/WSJT-X/
- Default save
-
~/Library/Application Support/WSJT-X/save/
-
Macintosh, when using "--rig-name=xxx"
- Settings
-
~/Library/Preferences/WSJT-X - xxx.ini
- Log files
-
~/Library/Application Support/WSJT-X - xxx/
- Default save
-
~/Library/Application Support/WSJT-X - xxx/save/
14. Frequently Asked Questions
-
My displayed spectrum is flatter when I do not check the Flatten box. What’s wrong?
WSJT-X does not expect a steep filter edge within the displayed passband. Use a wider IF filter or reduce the displayed passband by decreasing Bins/Pixel, increasing Start, or reducing the width of the Wide Graph. You might also choose to re-center the filter passband, if such control is available.
-
How should I configure WSJT-X to run multiple instances?
Start WSJT-X from a command-prompt window, passing each instance a unique identifier as in the following two-instance example. This procedure will isolate the Settings file and the writable file location for each instance of WSJT-X.
wsjtx --rig-name=TS2000 wsjtx --rig-name=FT847
-
When setting up rig control through OmniRig, something goes wrong when I click Test CAT. What can I do about it?
OmniRig apparently has a bug that appears when you click Test CAT. Forget using Test CAT and just click OK. OmniRig then behaves normally.
-
I am using WSJT-X with Ham Radio Deluxe. All seems well until I start HRD Logbook or DM780 running in parallel; then CAT control becomes unreliable.
You may see delays up to 20 seconds or so in frequency changes or other radio commands, due to a bug in HRD. HRD folks are aware of the problem, and are working to resolve it.
-
I am running WSJT-X under Ubuntu 14.04. The program starts, but menu bar is missing from the top of the main window and the hot-keys don’t work.
Ubuntu’s new “Unity” desktop puts the menu for the currently active window at the top of the primary display screen. You can restore menu bars to their traditional locations by typing the following in a command-prompt window:
sudo apt-get remove appmenu-qt5
15. Protocol Specifications
15.1. JT65
JT65 was designed for making minimal QSOs via EME (“moon-bounce”) on the VHF and UHF bands. A detailed description of the protocol and its implementation in program WSJT was published in QEX for September-October, 2005. Briefly stated, JT65 uses 60 s T/R sequences and carefully structured messages. Standard messages are compressed so that two callsigns and a grid locator can be transmitted in just 71 information bits. A 72nd bit serves as a flag to indicate that a message consists of arbitrary text (up to 13 characters) instead of callsigns and a grid locator. Special formats allow other information such as add-on callsign prefixes (e.g., ZA/K1ABC) or numerical signal reports (in dB) to be substituted for the grid locator. The basic aim is to compress the most common messages used for minimally valid QSOs into a minimum fixed number of bits. After compression, a Reed Solomon (63,12) error-control code converts 72-bit user messages into sequences of 63 six-bit channel symbols.
JT65 requires tight synchronization of time and frequency between transmitting and receiving stations. Each transmission is divided into 126 contiguous tone intervals or “symbols” of length 4096/11025 = 0.372 s. Within each interval the waveform is a constant-amplitude sinusoid at one of 65 pre-defined frequencies. Frequency steps between intervals are accomplished in a phase-continuous manner. Half of the channel symbols are devoted to a pseudo-random synchronizing vector interleaved with the encoded information symbols. The sync vector allows calibration of time and frequency offsets between transmitter and receiver. A transmission nominally begins at t = 1 s after the start of a UTC minute and finishes at t = 47.8 seconds. The synchronizing tone is at 11025 × 472/4096 = 1270.46 Hz, and is normally sent in each interval having a “1” in the following pseudo-random sequence:
100110001111110101000101100100011100111101101111000110101011001 101010100100000011000000011010010110101010011001001000011111111
Encoded user information is transmitted during the 63 intervals not used for the sync tone. Each channel symbol generates a tone at frequency 11025 × 472/4096 + 11025/4096 × (N+2) × m, where N is the value of the six-bit symbol, 0 ≤ N ≤ 63, and m is 1, 2, or 4 for JT65 sub-modes A, B, or C. Sub-mode JT65A is always used at HF.
For EME (but, conventionally, not on the HF bands) the signal report OOO is sometimes used instead of numerical signal reports. It is conveyed by reversing sync and data positions in the transmitted sequence. Shorthand messages for RO, RRR, and 73 dispense with the sync vector entirely and use time intervals of 16384/11025 = 1.486 s for pairs of alternating tones. The lower frequency is always 1270.46 Hz, the same as that of the sync tone, and the frequency separation is 110250/4096 = 26.92 Hz multiplied by n × m, with n = 2, 3, 4 for the messages RO, RRR, and 73.
15.2. JT4
JT4 uses 72-bit structured messages nearly identical to those in JT65. Error control coding (ECC) uses a strong convolutional code with constraint length K=32, rate r=1/2, and a zero tail, leading to an encoded message length of (72+31) x 2 = 206 information-carrying bits. Modulation is 4-tone frequency-shift keying at 11025 / 2520 = 4.375 baud. Each symbol carries one information bit (the most significant bit) and ony synchronizing bit (the least signicifant bit). The pseudo-random sync vector is the following sequence:
000011000110110010100000001100000000000010110110101111101000 100100111110001010001111011001000110101010101111101010110101 011100101101111000011011000111011101110010001101100100011111 10011000011000101101111010
15.3. JT9
JT9 is designed for making minimally valid QSOs at LF, MF, and HF. It uses 72-bit structured messages nearly identical (at the user level) to those in JT65. Error control coding (ECC) uses a strong convolutional code with constraint length K=32, rate r=1/2, and a zero tail, leading to an encoded message length of (72+31) × 2 = 206 information-carrying bits. Modulation is nine-tone frequency-shift keying, 9-FSK. Eight tones are used for data, one for synchronization. Eight data tones means that three data bits are conveyed by each transmitted information symbol. Sixteen symbol intervals are devoted to synchronization, so a transmission requires a total of 206 / 3 + 16 = 85 (rounded up) channel symbols. The sync symbols are those numbered 1, 2, 5, 10, 16, 23, 33, 35, 51, 52, 55, 60, 66, 73, 83, and 85 in the transmitted sequence. Each symbol lasts for 6912 sample intervals at 12000 samples per second, or about 0.576 seconds. Tone spacing of the 9-FSK modulation is 12000/6912 = 1.736 Hz, the inverse of the symbol duration. The total occupied bandwidth is 9 × 1.736 = 15.6 Hz.
15.4. Summary
Frequency spacing between tones, total occupied bandwidth, and approximate decoding thresholds are given for the various submodes of JT4, JT9, and JT65 in the following table:
Submode Spacing BW S/N (Hz) (Hz) dB ---------------------------- JT4A 4.375 17.5 -23 JT4B 8.75 35.0 -22 JT4C 17.5 70.0 -21 JT4D 39.375 157.5 -20 JT4E 78.75 315.0 -19 JT4F 157.5 630.0 -18 JT4G 315.0 1260.0 -17
JT9 1.7361 15.625 -27
JT65A 2.6917 177.6 -25 JT65B 5.3833 355.3 -24 JT65C 10.767 710.6 -23
Transmissions in all three modes are essentially the same length, and all use 72 bits to carry message information. At user level the modes support nearly identical message structures.
JT4 and JT65 signal reports are constrained to the range –1 to –30 dB. This range is more than adequate for EME purposes, but not enough for optimum use at HF. S/N values displayed by the JT4 and JT65 decoders are clamped at an upper limit –1 dB, and the S/N scale is nonlinear above –10 dB.
By comparison, JT9 allows for signal reports in the range –50 to +49 dB. It manages this by taking over a small portion of “message space” that would otherwise be used for grid locators within 1 degree of the south pole. The S/N scale of the present JT9 decoder is reasonably linear (although it’s not intended to be a precision measurement tool).
JT9 is an order of magnitude better than JT65 in spectral efficiency. On a busy HF band, the conventional 2-kHz-wide JT65 sub-band is often filled with overlapping signals. Ten times as many JT9 signals can fit into the same frequency range, without collisions.
16. Implementation Details
Immediately before the start of a transmission WSJT-X encodes a user’s message and computes the sequence of tones to be sent. The audio waveform is computed on-the-fly, with 16-bit integer samples sent to the audio output device at a 48000 Hz rate. Generated signals have continuous phase and constant amplitude, and there are no key clicks. The transmitter’s power amplifier need not be highly linear.
WSJT-X acquires 16-bit integer samples from the audio input device at a 48000 Hz rate and immediately downsamples the stream to 12000 Hz. Spectra from overlapping segments are computed for the waterfall display and saved for the decoder at intervals of 3456/12000 = 0.288 s, half the JT9 symbol length.
At the end of a reception sequence, about 50 seconds into the UTC minute, received data samples are forwarded to the decoder. In JT9 and JT65 modes the decoder goes through its full procedure twice: first at the selected Rx frequency, and then over the full displayed frequency range. Each decoding pass can be described as a sequence of discrete blocks. Details of the functional blocks are different for each mode. In dual-mode JT9+JT65 operation on computers with more than one CPU, decoding computations for the two modes are done in parallel.
The basic decoding algorithm for JT65 mode is described in the 2005 QEX paper. The following list summarizes the corresponding algorithm for JT9 mode. Blocks are labeled here with the names of functional procedures in the code.
sync9 |
Use sync symbols to find candidate JT9 signals in the specified frequency range |
Then, at the frequency of each plausible candidate:
downsam9 |
Mix, filter and downsample to 16 complex samples/symbol |
peakdt9 |
Using sync symbols, time-align to start of JT9 symbol sequence |
afc9 |
Measure frequency offset and possible drift |
twkfreq |
Remove frequency offset and drift |
symspec2 |
Compute 8-bin spectra for 69 information-carrying symbols, using the time- and frequency-aligned data; transform to yield 206 single-bit soft symbols |
interleave9 |
Remove single-bit interleaving imposed at the transmitter |
decode9 |
Retrieve a 72-bit user message using the sequential Fano algorithm |
unpackmsg |
Unpack a human-readable message from the 72-bit compressed format |
Decoding of clean JT9 signals in a white-noise background starts to fail below signal-to-noise ratio -25 dB and reaches 50% copy at -26 dB.
With marginal or unrecognizable signals the sequential Fano algorithm can take exponentially long times. If the sync9 step in the above sequence finds many seemingly worthy candidate signals and many of them turn out to be undecodable, the decoding loop can take an inconveniently long time. For this reason the step labeled decode9 is programmed to “time out” and report failure for a given signal if it takes too long. The choices Fast | Normal | Deepest on the Decode menu provide the user with a three-step adjustment of the timeout limit.
Decoding in JT4 and WSPR modes is basically similar to that for JT9. The same K=32, r=1/2 sequential Fano algorithm is used for all three modes. Other details such as tone numbers, symbol lengths, synchronizing scheme, and subroutine names are distinct for each mode. The WSPR decoder now uses a two-pass algorithm. Decoded signals are reconstructed and subtracted from the received waveform, after which a second decoding pass takes place.
17. Utility Programs
The WSJT-X packages include program rigctl-jtdx[.exe], which can be used to send CAT sequences to a rig from the command line, or from a batch file or shell script; and program rigctld-jtdx[.exe], which allows other compatible applications to share a CAT connection to a rig. These program versions include the latest Hamlib rig drivers — the same ones used by WSJT-X itself.
Additional utility programs jt4code, jt9code, and jt65code let you explore the conversion of user-level messages into channel symbols or “tone numbers,” and back again. These programs can be useful to someone designing a beacon generator, for understanding the permissible structure of transmitted messages, and for studying behavior of the error-control codes.
Channel-symbol values for JT4 run from 0 to 3. The total number of symbols in a transmitted message is 206. To run jt4code, enter the program name followed by a JT4 message enclosed in quotes. In Windows the command and program output might look like this:
C:\WSJTX> jt4code "G0XYZ K1ABC FN42" Message Decoded Err? Type ------------------------------------------------------------------- 1. G0XYZ K1ABC FN42 G0XYZ K1ABC FN42 1: Std Msg
Channel symbols 2 0 0 1 3 2 0 2 3 1 0 3 3 2 2 1 2 1 0 0 0 2 0 0 2 1 1 2 0 0 2 0 2 0 2 0 2 0 2 3 0 3 1 0 3 1 0 3 0 1 1 1 1 1 0 1 0 0 2 3 2 2 3 0 2 1 3 3 3 3 2 0 2 1 2 3 0 0 2 3 1 1 1 0 3 1 2 0 3 2 0 2 3 3 0 1 2 1 2 1 0 1 0 1 1 1 1 3 0 3 0 3 2 3 3 0 3 0 1 0 3 3 3 0 0 3 2 1 3 2 3 1 3 3 2 2 0 2 3 3 2 1 1 0 2 2 3 3 1 2 3 1 1 2 1 1 1 0 2 1 2 0 2 3 1 2 3 1 2 2 1 2 0 0 3 3 1 1 1 1 2 0 3 3 0 2 2 2 3 3 0 0 0 1 2 3 3 2 1 1 1 3 2 3 0 3
Channel-symbol values for JT9 run from 0 to 8, with 0 representing the sync tone. The total number of symbols in a transmitted message is 85. Enter the program name followed by a JT9 message enclosed in quotes:
C:\WSJTX> jt9code "G0XYZ K1ABC FN42" Message Decoded Err? Type ------------------------------------------------------------------- 1. G0XYZ K1ABC FN42 G0XYZ K1ABC FN42 1: Std Msg
Channel symbols 0 0 7 3 0 3 2 5 4 0 1 7 7 7 8 0 4 8 8 2 2 1 0 1 1 3 5 4 5 6 8 7 0 6 0 1 8 3 3 7 8 1 1 2 4 5 8 1 5 2 0 0 8 6 0 5 8 5 1 0 5 8 7 7 2 0 4 6 6 6 7 6 0 1 8 8 5 7 2 5 1 5 0 4 0
For the corresponding program jt65code only the information-carrying channel symbols are shown, and the symbol values range from 0 to 63. Sync symbols lie two tone intervals below data tone 0, and the sequential locations of sync symbols are described in the JT65 Protocol section of this Guide.
A typical execution of jt65code is shown below. The program displays the packed message of 72 bits, shown here as 12 six-bit symbol values, followed by the channel symbols:
C:\WSJTX> jt65code "G0XYZ K1ABC FN42" Message Decoded Err? Type ---------------------------------------------------------------------- 1. G0XYZ K1ABC FN42 G0XYZ K1ABC FN42 1: Std Msg
Packed message, 6-bit symbols 61 36 45 30 3 55 3 2 14 5 33 40
Information-carrying channel symbols 56 40 8 40 51 47 50 34 44 53 22 53 28 31 13 60 46 2 14 58 43 41 58 35 8 35 3 24 1 21 41 43 0 25 54 9 41 54 7 25 21 9 62 59 7 43 31 21 57 13 59 41 17 49 19 54 21 39 33 42 18 2 60
For an illustration of the power of the strong error-control coding in JT9 and JT65, try looking at the channel symbols after changing a single character in the message. For example, change the grid locator from FN42 to FN43 in the JT65 message:
C:\Users\joe\wsjt\wsjtx_install>jt65code "G0XYZ K1ABC FN43" Message Decoded Err? Type ---------------------------------------------------------------------- 1. G0XYZ K1ABC FN43 G0XYZ K1ABC FN43 1: Std Msg
Packed message, 6-bit symbols 61 36 45 30 3 55 3 2 14 5 33 41
Information-carrying channel symbols 25 35 47 8 13 9 61 40 44 9 51 6 8 40 38 34 8 2 21 23 30 51 32 56 39 35 3 50 48 30 8 5 40 18 54 9 24 30 26 61 23 11 3 59 7 7 39 1 25 24 4 50 17 49 52 19 34 7 4 34 61 2 61
You will discover that every possible JT65 message differs from every other possible JT65 message in at least 52 of the 63 information-carrying channel symbols.
18. Support
18.1. Help with Setup
The best source of help in setting up your station or configuring WSJT-X is the WSJT Group at email address wsjtgroup@yahoogroups.com. The chances are good that someone with similar interests and equipment has already solved your problem and will be happy to help.
18.2. Bug Reports
One of your responsibilities as a WSJT-X user is to help the volunteer programmers to make the program better. Bugs may be reported to WSJT Group (email address wsjtgroup@yahoogroups.com) or the WSJT Developers list (wsjt-devel@lists.sourceforge.net). To be useful, bug reports should include at least the following information:
-
Program version
-
Operating system
-
Concise description of the problem
-
Exact sequence of steps required to reproduce the problem
18.3. Feature Requests
Suggestions from users often result in new program features. Good ideas are always welcome: if there’s a feature you would like to see in WSJT-X, spell it out in as much detail as seems useful and send it to us at one the the email addresses given a few lines above. Be sure to explain why you think the feature is desirable, and what sort of other users might find it so.
19. Acknowledgements
Since 2005 the WSJT project (including programs WSJT, MAP65, WSPR, WSJT-X, and WSPR-X) has been “open source”, with all code licensed under the GNU Public License (GPL). Many users of these programs, too numerous to mention here individually, have contributed suggestions and advice that have greatly aided the development of WSJT and its sister programs.
For WSJT-X in particular, we acknowledge contributions from AC6SL, AE4JY, DJ0OT, G4KLA, G4WJS, K3WYC, K9AN, KA6MAL, KA9Q, KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR, VK3ACF, VK4BDJ, W4TI, W4TV, and W9MDB. Each of these amateurs has helped to bring the program’s design, code, and documentation to its present state.
Most of the color palettes for the WSJT-X waterfall were copied from the excellent, well documented, open-source program fldigi, by W1HKJ and friends.
We use development tools and libraries from many sources. We particularly wish to acknowledge importance of the GNU Compiler Collection from the Free Software Foundation, the "clang" compiler from LLVM at the University of Illinois, and the Qt Project from Digia PLC. Other important resources include the FFTW library by Matteo Frigo and Steven G. Johnson; SLALIB, the Positional Astronomy Library by P. T. Wallace; and a high-precision planetary ephemeris and associated software from NASA’s Jet Propulsion Laboratory.
20. License
WSJT-X is free software: you may redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
WSJT-X 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.
You should have received a copy of the GNU General Public License along with this documentation. If not, see GNU General Public License.
Copyright © 2001-2015 Joseph H Taylor, Jr., K1JT.