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”, and the “-X” suffix indicates that WSJT-X started as an extended (and experimental) branch of program WSJT.

WSJT-X currently offers two protocols or “modes,” JT65 and JT9. Both 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 (“moon-bounce”) on the VHF/UHF bands and has proved very effective for worldwide QRP communication on the HF bands, too. JT9 is optimized for the LF, MF, and HF bands. It is about 2 dB more sensitive than JT65 while using less than 10% of the bandwidth. Both 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 with power levels of a few watts and compromise antennas.

WSJT-X can display a bandpass as large as 5 kHz and transparently provides dual-mode reception of both JT65 and JT9 signals. If your receiver can be configured with at least 4 kHz bandwidth in USB mode, you can set the dial frequency to one of the standard JT65 frequencies — for example, 14.076 MHz for the 20-meter band — and display the full JT65 and JT9 sub-bands simultaneously on the waterfall. You can then make QSOs in both modes using nothing more than mouse clicks.

Plans for future program development call for WSJT-X and WSJT to merge together. WSJT-X will gradually acquire the additional modes JT4, FSK441, and ISCAT that are now supported in WSJT. The entire WSJT-related effort 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 wsjt-svn, and most communication among the developers takes place on the email reflector wsjt-devel.

2. System Requirements

  • SSB transceiver and antenna

  • Computer running Windows (XP or later), Linux, or OS X

  • 1.5 GHz or faster CPU and 100 MB of available memory

  • Monitor with at least 1024 x 780 resolution (more is better)

  • Computer-to-radio interface using a (virtual) serial port for T/R switching or CAT control or VOX, as is needed for your radio to computer setup

  • Audio input and output devices supported by the operating system, capable of 48 kHz sample rate

  • Audio or equivalent USB connections between transceiver and computer

  • A means for synchronizing the computer clock to UTC within ±1 second

3. Installation

  • Download WSJT-X from the WSJT Home Page. Click on WSJT-X at the left margin and then on the desired download link.

3.1. Windows

  • Execute the downloaded file and follow its installation instructions.

  • Install WSJT-X into its own directory rather than the conventional location C:\Program Files\WSJTX. The suggested default directory is C:\WSJTX.

  • All files relating to WSJT-X will be stored in the chosen installation directory and its subdirectories. You can uninstall WSJT-X by removing the installation directory and its contents.

  • The built-in Windows facility for time synchronization is usually not adequate. We recommend Meinberg NTP: see Network Time Protocol Setup for downloading and installation instructions.

  • 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).”

Caution If you are using a sound card that is also the Windows default audio device, be sure to turn off all Windows sounds so they are not transmitted over the air.

3.2. Linux

  • Installation packages for Ubuntu 12.04, 12.10, 13.04, 13.10 are maintained by AC6SL and available at WSJT-X Linux Packages.

  • If you have not before obtained packages from the Personal Package Archive (PPA) at the above link, open a terminal window and execute the following command:

    sudo add-apt-repository ppa:jnogatch/wsjtx
  • Accept the PPA Key, then issue these commands:

    sudo apt-get update
    sudo apt-get install wsjtx
  • Download the soft-decision Reed Solomon decoder, kvasd, and put it in the same directory as the executable binaries wsjtx and jt9. Normally (after you have run the script /usr/bin/wsjtx at least once) this directory will be $HOME/.wsjtx.

3.3. OS X

Two different packages are available for WSJT-X v1.3: one for OS X 10.6 through 10.8, and one for OS X 10.9. The two packages are not interchangeable.

  • Select the correct package for your OS X and download it to your desktop.

  • Double-click on the desktop icon to see a new folder, WSJT-X. Drop down into that folder, where a Readme file provides detailed instructions on how to configure your system for WSJT-X.

  • Remember to use the Mac’s Audio MIDI Setup utility as described in the Readme file to configure your sound card for 48000 Hz, single-channel, 16-bit format. Depending on your sound card you might have to change Audio In format to 48000 Hz two-channel, 16-bit.

  • Use System Preferences to select an external time source to keep your system clock synchronized to UTC.

3.4. Source Code

Source code is available from the public repository at wsjt-svn. To compile the program you will need to install the following packages:

  • Subversion

  • Qt 5.x

  • g++

  • gfortran or g95

  • fftw3

  • hamlib

  • MinGW (for Windows only)

With Subversion installed, the full source code for WSJT-X can be downloaded with the command:

svn co svn://svn.berlios.de/wsjt/branches/wsjtx

For some basic instructions on building WSJT-X from source code, see the section Compiling WSJT-X near the end of this Guide.

4. Setup and Configuration

4.1. Station Tab

  • Start WSJT-X and select Configuration from its Setup menu. Enter the following information:

    • Call Sign: <Your Call Sign>

    • Grid: <Your Maidenhead locator>

    • PTT method: choose from RTS, DTR, CAT, VOX, or None.

    • PTT port: if you will use RTS or DTR, choose a serial port.

    • PSK Reporter: check to enable sending reception reports to the PSK Reporter mapping facility.

    • CW ID: Check to send your callsign in CW after sending 73.

    • CW Interval: set the time interval for sending your CW identification. Default is 0 (never).

WSJT-X does not implement full transceiver control, but it provides a way to ensure that WSJT-X can read and set the radio’s dial frequency. To enable this capability:

  • Check the box Enable CAT

  • Select your radio type from a drop-down list

  • Select a CAT port (not the same port selected for PTT control)

Tip If you need an additional item in the list of devices for the CAT port, edit the configuration file wsjtx.ini and add your requirement as CATdriver=<yourdriver> (for example, CATdriver=/dev/tty.usbserial) in the group of entries marked [Common].
  • Set the port parameters Serial rate, Handshake, Data bits, Stop bits as required for your radio

  • If you use Commander or Ham Radio Deluxe to control your transceiver, you can configure WSJT-X to communicate with the radio through that program. Entries for these programs appear at the end of the drop-down list of supported rigs.

Configuration Screen

Leave Split Tx unchecked for now. If you are using CAT control, most radios will allow you to set PTT method = CAT. Some radios support two types of PTT assertion via CAT control: one takes audio input from the Mic connector, the other from a rear-panel Data connector. The simplest CAT configuration sets Polling interval = 0 (no polling the radio for dial frequency). WSJT-X can then set the radio’s frequency, but the program will be unaware of subsequent changes made using the radio’s panel controls.

With most radios you can set Polling interval to a small number (say 1 – 3 s) and the program will follow any frequency changes made at the radio. Note that you may not be able simultaneously to control the radio from WSJT-X and from another program. Some experimentation may be required; refer to the documentation for your rig-control software and 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 the equipment off.

  • Click the Test CAT Control and Test PTT buttons to see that you have established the desired control of station functions.

  • Select the devices you will use for Audio In and Audio Out.

  • Click OK to dismiss the Configuration window.

4.2. Tx Macros Tab

Tx Macros are an aid for sending commonly used free-text messages. To enable a pull-down selection, add your custom messages to the entry fields provided. In JT65 and JT9 the maximum free-text message length is 13 characters, including spaces.

images/tx-macros.png

4.3. Band Settings Tab

The Band Settings tab allows you to define the default frequency and enter a brief description of your antenna for each amateur band. The antenna information will be included with reception reports to PSK Reporter, if enabled.

images/band-settings.png

4.4. Font Sizes

  • You can control the program’s font sizes by using a text editor (e.g., Windows Notepad or similar) to create a one-line file named fonts.txt in the WSJT-X installation directory. Enter a single line of text with four numbers separated by spaces. The first two numbers control the font size (in points) and weight (on a 0 – 100 scale) of most labels on the user interface. The last two numbers control size and weight of text in the Band Activity and Rx Frequency windows.

  • By default the four numbers are “8 50 10 50”. If you need larger fonts in the user interface and bold text in the decode windows, try something like “10 50 12 100” (without the quotes).

5. Basic Operating Tutorial

5.1. Main Window Settings

  • Click the Stop button on the main window to halt any data acquisition.

  • Select JT9 from the Mode menu and Deepest from the Decode menu.

  • Set the audio frequencies to Tx 1224 Hz and Rx 1224 Hz.

5.2. Wide Graph Settings

  • Bins/Pixel = 4

  • JT65 …. JT9 = 2500

  • Start = 0

  • N Avg = 5

  • Zero = 0

  • Gain = 0,

  • Palette = Digipan

  • Flatten = checked

  • Select Cumulative for data display.

  • Select Tab 2 (below the Decode button on the main window) to choose the alternative set of controls for generating and selecting Tx messages.

5.3. Sample File 1

Open a Wave File:
  • Select File | Open and navigate to …\save\samples\130418_1742.wav under the WSJT-X installation directory. When the file opens you should see something similar to the to the following screen shot:

Main UI and Wide Graph
Decoding Overview

Notice the GREEN and RED markers on the waterfall frequency scale. Decoding takes place at the end of a receive sequence and is organized in two stages. The first decodes take place at the selected Rx frequency, indicated by the 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(s) over the displayed frequency range. The RED marker 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. Lines containing CQ are highlighted in GREEN, and lines with My Call (in this case K1JT) in RED.

Tip For this step and the next, you may want to pretend you are K1JT by entering that callsign temporarily as My Call on the Setup | Configuration screen. Your results should then be identical to those shown in the screen shot above.
Decoding Controls

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

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

5.4. Sample File 2

Wide Graph Settings:
  • Set Bins/Pixel = 7

  • Adjust the width of the Wide Graph window so that the upper frequency limit is approximately 4000 Hz.

Main Window:
  • 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.

Open a Wave File:
  • Select File | Open and navigate to …\save\samples\130610_2343.wav. The waterfall should look like this:

Wide Graph Decode 130610_2343
Tip Notice the BLUE marker on the waterfall scale, here set at 2400 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 JT65 signals below this frequency and JT9 signals above it.

JT9 signals appear in the Cumulative spectrum as nearly rectangular shapes about 16 Hz wide. Although there is no clearly visible sync tone like the one at the low-frequency edge of JT65 signals, by convention the nominal frequency of a JT9 signal is taken to be that of its 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 @). The Band Activity window should contain these decodes (you may need to scroll back in the window to see them all):

images/decodes.png

Since the Tx mode was set to Tx JT65, signals in that mode were decoded next. If you had selected Tx JT9, JT9 signals would have been decoded first.

  • Confirm that mouse-click behavior is similar to that described earlier, in Example 1. The program automatically determines the mode of each JT9 or JT65 signal.

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

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.

Reopen the First Sample File:
  • 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 2600 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 0 to 2600 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.

Start, Zero, and Gain

Now is a good time to experiment with the Start, Zero, and Gain parameters. Start determines the frequency displayed at the left side of the waterfall scale. Zero sets the baseline level for colors, and Gain sets the sensitivity for color changes. For the receiver setup of this file good values are close to Zero=0, Gain=0. Re-open the wave file after each change, to see the new results.

Important When you are finished with this Tutorial, don’t forget to re-enter your own callsign
My Call in the Setup | Configuration screen.

6. Transceiver Setup

Receiver Noise Level
  • Click the Monitor button to return to normal receive operation (button should be highlighted in GREEN).

  • Set your transceiver to USB (or USB Data) mode.

  • Use the receiver gain controls and/or Windows mixer controls to set the background noise level (scale at lower left of main window) to around 30 dB when no signals are present. If necessary you can also use the slider next to the scale, but note that the overall dynamic range will be best with this slider not too far from its mid-point.

Bandwidth and Frequency Setting

Many SSB transceivers have a fixed-width Tx filter that will not pass audio frequencies higher than about 2700 Hz. WSJT-X takes care of this by offering a Split Tx mode, receiving with VFO A and transmitting with VFO B. Under CAT control WSJT-X offsets the Tx dial frequency (VFO B) in 500 Hz steps, adjusting the generated audio frequency so that it always falls in the range 1500 – 2000 Hz. With CAT and Split Tx enabled on the configuration screen and your transceiver set to Split mode, this frequency control will be handled automatically.

If your transceiver has only a standard SSB filter you won’t be able to use more than about 2.7 kHz bandwidth. You can still have all of the JT9 sub-band and part of the JT65 sub-band available on screen, however. On 20m, say, set dial frequency (VFO A) to 14.0774 and the JT9 nnnn JT65 dividing line at 1600 Hz. JT9 signals in their conventional sub-band will then appear at 1600 – 2600 Hz, while JT65 signals will be below 1000 Hz. Of course, you might prefer to concentrate on one mode at a time, setting your dial frequency to (say) 14.076 for JT65 and 14.078 for JT9. Present conventions have the nominal JT9 dial frequency 2 kHz higher than the JT65 dial frequency, and the checkbox labeled +2 kHz, just below the Band selector, makes the appropriate settings easy.

Transmitter Audio Level
  • 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 or “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 same 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.

7. Making QSOs

7.1. Standard Exchange

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, structured messages. The process works best if you use these formats and follow standard operating practices. The recommended basic QSO goes something like this:

UTC Transmitted Message Comment

0001

CQ K1ABC FN42

K1ABC calls CQ

0002

K1ABC G0XYZ IO91

G0XYZ answers

0003

G0XYZ K1ABC –19

K1ABC sends report

0004

K1ABC G0XYZ R–22

G0XYZ sends acknowledgment and report

0005

G0XYZ K1ABC RRR

K1ABC sends acknowledgment

0006

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, and in uncompressed form may contain as many as 18 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 #0003 above, K1ABC is telling G0XYZ that his signal is 19 dB below the noise power in bandwidth 2500 Hz. In message #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, while JT9 supports the extended range –50 to +49 dB.

Tip Signals become visible on the waterfall around S/N = –26 dB and audible (to someone with very good hearing) around –15 dB. Thresholds for signal decodability are approximately –24 dB for JT65, –26 dB for JT9.

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. (Normally you should avoid the character / in free-text nessages, since the program may try to interpret your construction as part of a compound callsign.) It should be obvious that the JT9 and JT65 protocols are not well suited for extensive conversations or rag-chewing.

7.2. Compound Callsigns

Compound callsigns such as xx/K1ABC or K1ABC/x are handled in one of two possible ways.

Type 1 Compound-Callsign Messages

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 message word (normally a locator, signal report, RRR, or 73). Thus, the following examples are all acceptable Type 1 messages with 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 a Type 1 message:

ZA/K1ABC G0XYZ -22        #These messages will be sent
G0XYZ K1ABC/4 73          #without the 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 both operators send and receive the full compound callsign in the first two transmissions. After that, they omit the add-on prefix or suffix and use the standard structured messages.

Type 2 Compound-Callsign Messages

Prefixes and suffixes not found in the short displayable list can be handled with a Type 2 message. 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 Type 2 messages with compound callsigns:

CQ W4/G0XYZ FM07
DE W4/G0XYZ -22
QRZ K1ABC/VE6 DO33

In each case, the message 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.

Tip 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 would receive it.

QSOs involving Type 2 compound callsigns might look like either of the following sequences

CQ KP4/K1ABC FK68
                    K1ABC G0XYZ IO91
G0XYZ K1ABC –19
                    K1ABC G0XYZ R–22
G0XYZ K1ABC RRR
                    K1ABC G0XYZ 73
CQ K1ABC FN42
                    DE G0XYZ/W4 FM18
G0XYZ K1ABC –19
                    K1ABC G0XYZ R–22
G0XYZ K1ABC RRR
                    DE G0XYZ/W4 73

Each operator sends his own compound callsign in the first (and possibly also last) transmission, as may be required by licensing authorities. Subsequent transmissions may use the standard structured messages without callsign prefix or suffix.

Important It’s up to you, the operator, to ensure that messages with compound callsigns are composed in the manner described above. Double-clicking on a line of decoded text may not always produce the desired result.

7.3. Pre-QSO Checklist

Before attempting your first QSO with JT9 or JT65, 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 pass.

  • Radio’s Split mode selected or not, consistent with your choice on Station tab of the Setup | Configuration window. Verify both VFOs are set to USB if your rig allows each VFO independent mode setting

Important Remember that JT9 and J65 generally do not require high power. Under most propagation conditions, QRP is the norm.

8. Controls & Functions

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

Wide Graph Controls
  • 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 for wide-band decoding of JT65 and JT9 signals in JT9+JT65 mode. The decoder looks for JT65 signals below the specified frequency and JT9 signals above it.

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

  • Zero and Gain control the scaling and reference level for waterfall colors. Values around 0 for both parameters are usually about right, depending on the input signal level and your own preferences.

  • Palette lets you select from a wide range of waterfall color palettes.

  • Check Flatten if you want WSJT-X to compensate for a sloping or uneven response across the received passband.

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

8.2. Main Window

The following buttons appear just under the decoded text windows on the main screen:

Main UI Controls
  • 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 73 or free-text message.

Log QSO
  • 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.

  • 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), 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). 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 to terminate the Tune process.

8.3. Misc 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:

Mist Menu Items
  • A drop-down list of bands at upper left lets you select the operating band and sets dial frequency to a value taken from the Default Frequencies tab on the Setup | Configuration screen. If CAT control is active the radio’s dial frequency will be set accordingly; if not, you must tune the radio manually.

  • If you are using CAT control, a small colored square appears in green if the CAT control is two-way between WSJT-X and your radio, or orange if the control is only from program to radio. (You can request a one-time interrogation of the radio’s dial frequency by clicking on the orange square.) The square becomes red if you have requested CAT control but communication with the radio has been lost. If the locator Dx Grid is known, the great-circle azimuth and distance 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.

8.4. Misc Controls Center

At the center of the main window are a number of controls used when making QSOs:

Misc Controls Center
  • 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. (Copy across the = sign is from right to left.) 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.

  • 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 are clamped at an upper limit of -1 dB.

Important When signals are close to or above 0 dB, you and your QSO partner should probably reduce power. JT65 and JT9 are supposed to be weak signal modes!

8.5. Tx Messages

Two arrangements of controls are provided for generating and selecting Tx messages. Traditional controls carried over from 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.

Traditional Message Menu
  • 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, 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 s of a transmission.

  • Right-clicking on the entry field for message #5 pops up a list of free-text messages entered on the Setup | Configuration | Tx Macros screen. Select any of your pre-stored messages by using the left mouse button.

The second arrangement of controls for generating and selecting Tx messages appears on Tab 2 of the Message Control Panel:

New Message Menu

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, it changes the Tx message immediately. You can enter anything (up to 13 characters) in the Free Msg box. Right-clicking on this entry field pops up your previously defined list of Tx Macros.

Important During a transmission the actual message being sent always appears highlighted in yellow in the first box of the status bar (bottom left of the main screen).

8.6. Status Bar

A Status Bar at the bottom edge of the main window provides information about operating conditions.

New Message Menu

Labels on the Status Bar display the program’s current operating state, operating mode, and content of your most recent transmitted message. The operating state can be Receiving, Transmitting, Tune, or the name of file opened from the File menu.

Program menus offer many options for configuration and operation. Most of the items are self-explanatory; a few additional details are provided below.

8.7.1. File menu

File Menu

8.7.2. Setup Menu

Setup Menu
Show DXCC entity and worked B4 status

When this option is checked WSJT-X appends some useful 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 (according to log file wsjtx_log.adi) is flagged with a single character and a change of background color, as follows:

!

(bright green) — New DXCC entity

~

(mid green) — You have already worked this DXCC entity but not this station


(dull green) — You have previously worked the calling station

The program does not distinguish between modes, but it does differentiate between bands.

This option is mainly intended for use on non-Windows platforms; Windows users can (and should) use VK3AMA’s excellent JT-ALERT-X utility instead.

Requirements:

WSJT-X expects the file cty.dat to be in your installation directory. It contains DXCC prefix information, and updated copies can be downloaded from here. when required.

The log file wsjtx_log.adi is updated whenever you log a QSO from WSJT-X (but note that it can also be erased from the file menu). You can append or overwrite this file by exporting your QSO history as an ADIF file from another logging program. Turning Show DXCC entity and worked B4 status off and 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.

8.7.3. View Menu

View Menu

8.7.4. Mode Menu

Mode Menu

8.7.5. Decode Menu

Decode Menu

8.7.6. Save Menu

Save Menu

8.7.7. Help Menu

Help Menu

8.8. Keyboard Shortcuts

The following keyboard shortcuts give quick access to some frequently used program functions.

Key

Action performed

F1

Display online User’s Guide in browser

Ctrl+F1

About WSJT-X

F2

Open the Setup >> Configuration window

F3

Display keyboard shortcuts

F4

Clear Dx Call and Dx Grid entries

Alt+F4

Exit program

F5

Display special mouse commands

F6

Open next file in directory

Shift+F6

Decode all remaining files in directory

F11

Move Rx frequency down 1 Hz

Ctrl+F11

Move Rx and Tx frequencies down 1 Hz

F12

Move Rx frequency up 1 Hz

Ctrl+F12

Move Rx and Tx frequencies up 1 Hz

Alt+1-6

Set next transmission to this number on Tab 1

Alt+D

Decode again at Rx frequency

Shift+D

Full decode (both windows)

Alt+E

Erase

Ctrl+F

Edit the free text message box

Alt+G

Generate standard messages

Alt+H

Halt Tx

Ctrl+L

Lookup callsign in database, generate standard messages

Alt M

Monitor

Alt+N

Enable Tx

Alt+Q

Log QSO

Alt+S

Stop monitoring

Alt+T

Tune

Alt+V

Save the most recently completed ‘*.wav’' file

8.9. Mouse Commands

The following special mouse commands are available:

Click on Action Performed

Waterfall

Click: set Rx frequency
Double-click: set Rx frequency and decode there
Ctrl-click: set Rx and Tx frequencies
Ctrl-double-click: set Rx and Tx frequencies and decode there

Decoded text

Double-click: copy second callsign to Dx Call, locator to Dx Grid; change Rx and Tx frequencies to decoded signal’s frequency; generate standard messages. If first callsign is your own, change Tx frequency only it Ctrl is held down when double-clicking.

Erase Button

Click: erase QSO window
Double-click: erase QSO and Band Activity windows

Tx5 or
Free Msg box

Right-click: display the Tx macros
Left-click: select one of the Tx macros

9. Cooperating Programs

To be added: brief descriptions of JTAlert and PSK Reporter and how to use them with WSJT-X.

10. Protocol Specifications

10.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 with just 71 bits. A 72nd bit serves as a flag to indicate that the 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 aim of source encoding is to compress the common messages used for minimal 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 transmitter and receiver. Each transmission is divided into 126 contiguous time intervals or symbols, each 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 s. The synchronizing tone is at 11025 × 472/4096 = 1270.5 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 1275.8 + 2.6917 × N × m Hz, 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.

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 1.486 s (16,384 samples) for pairs of alternating tones. The lower frequency is always 1270.5 Hz, the same as that of the sync tone, and the frequency separation is 26.92 × n × m Hz with n = 2, 3, 4 for the messages RO, RRR, and 73.

10.2. JT9

JT9 is designed for making minimal 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 s. 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. A generated JT9 signal has continuous phase and constant amplitude, and there are no key clicks. The transmitter’s power amplifier need not be highly linear.

10.3. JT65 & JT9 Differences

The JT65 protocol was described in a QEX in 2005; details of the JT9 protocol are presented in the next section of this Guide. To users already familiar with JT65, the most striking difference between the two modes is the much smaller occupied bandwidth of JT9: 15.6 Hz, compared with 177.6 Hz for JT65A. Transmissions in the two modes are essentially the same length, and both modes use exactly 72 bits to carry message information. At the user level the two modes support nearly identical message structures.

JT65 signal reports are constrained to the range –1 to –30 dB. This range is more than adequate for EME purposes, but not really enough for optimum use at HF and below. S/N values displayed by the JT65 decoder are clamped at an upper limit –1 dB. Moreover, the S/N scale in present JT65 decoders 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).

With clean signals and a clean nose background, JT65 achieves nearly 100% decoding down to S/N = –22 dB and about 50% at –24 dB. JT9 is about 2 dB better, achieving 50% decoding at about –26 dB. Both modes produce extremely low false-decode rates.

Early experience suggests that under most HF propagation conditions the two modes have comparable reliability. The tone spacing of JT9 is about two-thirds that of JT65, so in some disturbed ionospheric conditions in the higher portion of the HF spectrum, JT65 may do better.

JT9 is an order of magnitude better in spectral efficiency. On a busy HF band, we often find the 2-kHz-wide JT65 sub-band filled wall-to-wall with signals. Ten times as many JT9 signals can fit into the same frequency range, without overlap.

JT65 signals often decode correctly even when they overlap. Such behavior is much less likely with JT9 signals, which fill their occupied bandwisth more densely. JT65 may also be more forgiving of small frequency drifts.

11. Implementation Details

Transmitting

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, sending 16-bit integer samples to the audio output device at a 48000 Hz rate.

Receiving

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 at intervals of 0.188 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. For operator convenience 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. The functional blocks are different for the JT65 and JT9 modes.

Decoding

The basic decoding algorithm for JT65 mode was described in the 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 any 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 symbol interleaving imposed at the transmitter

decode9

Retrieve a 72-bit user message using the sequential Fano algorithm for convolutional codes

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 decoding algorithm can take exponentially long times. If the sync9 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 an inconveniently long time. For this reason the step labeled decode9 is programmed to “time out” and report failure if it is taking too long. The choices Fast | Normal | Deepest on the Decode menu provide the user with a three-step adjustment of this timeout limit.

12. Frequently Asked Questions

  1. When I start WSJT-X v1.3, it seems to run properly in receive mode, with signals appearing on the waterfall. However, Decode starts later than expected and nothing is decoded. Is this a sampling problem and how can I fix it?)

    Some earlier soundcard drivers fail to work properly at 48 kHz sample rate, which is the default in WSJT-X r3590 and above. You can force WSJT-X to sample at 12000 Hz by inserting two lines at the end of file wsjtx.ini. Using a text editor such as Windows Notepad, open the file wsjtx.ini in your WSJT-X installation directory. Then copy-and-paste the following two lines into the file, save the file, and restart WSJT-X.

      pass:[[Tune]]
      Audio\DisableInputResampling=true
  2. Why does the Flatten feature cause my displayed spectrum to curve steeply upward near the edges, before falling where the IF filter cuts off?

    WSJT-X does not expect a steep filter edge within the displayed passband, except perhaps a low-frequency cutoff below 200 Hz. Either 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.

  3. Occasionally, WSJT-X unexpectedly quits. I have read this is because I set Polling interval to a nonzero value. How can I fix this issue?

    A few radios do not interact properly with the hamlib library calls used in WSJT-X. We are working to resolve this and other CAT-control issues. In the meantime you can run with Polling interval set to 0, or control your radio through DX Labs Commander or Ham Radio Deluxe.

  4. How should I configure WSJT-X to run multiple instances?

    Each instance must be executed from a separate directory. Be sure to check Advanced | Allow multiple instances in the Setup menu for each one; then exit and restart the program. This step needs be done just once.

  5. WSJT-X does not set my VFO (A or B, if available) to USB on any band I select. Why is that?

    Automatic setting of mode for a selected band depends on your radio manufacturer’s implementation of CAT control. The details are not standardized between manufacturers, or even between rigs from a given manufacturer, so this feature is difficult to implement. WSJT-X does not currently support setting USB mode. Set your VFO(s) to USB for all bands you intend to work before launching WSJT-X, as suggested in Transceiver Setup, above.

  6. How do I know what settings to use for rig control (CAT) and PTT?

    Your radio’s manual will have these settings in a section for computer setup, digital modes and TNC interface specifications. These may also be detailed in a programmers guide which is usually offered as a downloadable file from the manufacturer’s web site. Do a web search for something like “rig cat for your_rig_model” which should give you several places to look.

    If your rig uses CAT control and PTT control on separate cables, the port settings could very easily be different for each cable. You may find more than one settings configuration that works correctly. Some experimentation is likely to be necessary.

  7. How does WSJT-X use both VFOs when operating in split mode?

    Let’s assume that Split mode is set on WSJT-X and the rig. We also assume that +2 kHz is not set and that your receiver’s bandwidth is at least 4000 Hz.

    Using the 20 m band as an example, let’s observe the waterfall window while looking for contacts. VFO-A, the receiving VFO, will be set to 14.076 MHz, the nominal calling frequency for JT65. When transmitting, WSJT-X will always generate an audio signal in the range 1500 - 2000 Hz. Put the red Tx waterfall cursor at 1700 Hz. You should see VFO-B, the Tx VFO, also set to 14.0760 MHz. That’s because 1700 Hz lies within the 1500 - 2000 Hz range, so no adjustment to the transmit frequency is required. Our Tx signal will be at 14.076 MHz + 1700 Hz, or 14.077700 MHz, and this frequency will be shown in the WSJT-X log if we log a QSO at these settings.

    Now move the Tx cursor to 2200 Hz. WSJT-X still wants to generate audio in the 1500 - 2000 Hz range, so the VFO-B frequency is increased to 14.0765 MHz. The transmitted frequency will be 14.0765 MHz + 1700 Hz, or 14.07820 MHz.

    Similarly, if the Tx cursor is set below the 1500 - 2000 Hz range, VFO-B must be set lower than 14.076 to keep the transmitted audio in the desired 1500 - 2000 Hz range.

  8. My rig has only a single SSB filter, about 2700 Hz bandwidth. Can I use split mode?

    Set the radio to Split mode and WSJT-X to Split Tx. To operate primarily in the JT9 frequency range, check the +2 kHz box. VFO-A will then be moved up to 14.078 MHz. The JT9 subband now falls between about 500 Hz and 2000Hz on the waterfall display. As described above, VFO-B will be adjusted so as to keep your Tx audio always between 1500 and 2000 Hz. To operate JT65, simply uncheck the +2 kHz option.

13. Directory Contents

13.1. Installed Files

After a clean install of WSJT-X on Windows the following files should be present in the installation directory:

CALL3.TXT

Callsign database

HRDInterface001.dll

Ham Radio Deluxe interface library

Palettes

directory for waterfall palettes

Qt5Core.dll

Qt5 library

Qt5Gui.dll

Qt5 library

Qt5Multimedia.dll

Qt5 library

Qt5Network.dll

Qt5 library

Qt5Widgets.dll

Qt5 library

cty.dat

DXCC countries list

hamlib-alinco.dll

Hamlib, Alinco library

hamlib-amsat.dll

Hamlib, Amsat library

hamlib-dummy.dll

Hamlib library

hamlib-flexradio.dll

Hamlib Flex radio library

hamlib-icom.dll

Hamlib Icom library

hamlib-jrc.dll

Hamlib JRC library

hamlib-kachina.dll

Hamlib Kachina library

hamlib-kenwood.dll

Hamlib Kenwood library

hamlib-kit.dll

Hamlib Kit library

hamlib-tapr.dll

Hamlib TAPR library

hamlib-tentec.dll

Hamlib TenTec library

hamlib-winradio.dll

Hamlib WinRadio library

hamlib-yaesu.dll

Hamlib Yaesu library

icudt51.dll

ICU library

icuin51.dll

ICU library

icuuc51.dll

ICU library

jt9.exe

Executable for JT9 and JT65 decoder

kvasd.exe

Executable for Koetter-Vardy decoder

libgcc_s_dw2-1.dll

gcc runtime library

libhamlib-2.dll

Hamlib base library

libstdc+-6.dll+

Standard C function library

libwinpthread-1.dll

Windows pthreads library

mouse_commands.txt

Special mouse commands

platforms

Directory for platform-specific libraries

prefixes.txt

Add-on prefixes and suffixes (Type 1)

qt.conf

Qt configuration file

save

Directory for saved *.wav files

shortcuts.txt

Keyboard shortcuts

unins000.dat

Uninstall data file

unins000.exe

Executable for uninstalling WSJT-X

wsjt.ico

WSJT icon

wsjtx.exe

Executable for WSJT-X

13.2. Runtime Files

Additional files that appear in the installation directory after the program has been run. These include the following:

Files created when running WSJT-X
ALL.TXT

Log of all received and transmitted messages

decoded.txt

Decoded text from the most recent Rx interval

timer.out

Timing measurements, used in decoder optimization

wsjtx.ini

Saved configuration parameters

wsjtx_log.adi

ADIF log of completed QSOs

wsjtx_status.txt

Information sent to companion program JTAlert

14. Utility Programs

Utility programs jt9code and jt65code let you explore the conversion of user-level messages into channel symbols or “tone numbers.” These programs can be useful to someone designing a beacon generator for JT9 or JT65, or for studying behavior of the error-control codes.

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. To run jt9code, enter the program name followed by a JT9 message enclosed in quotes. In Windows the command and program output might look like this:

C:\WSJTX> jt9code "G0XYZ K1ABC FN42"
Message:   G0XYZ K1ABC FN42
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
Decoded message: G0XYZ K1ABC FN42

For the corresponding program jt65code only the information-carrying channel symbols are shown, and the symbol values range from 0 to 63. Sync synbols 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:   G0XYZ K1ABC FN42
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
Decoded message: G0XYZ K1ABC FN42

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:   G0XYZ K1ABC FN43
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
Decoded message: G0XYZ K1ABC FN43

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.

15. Compiling WSJT-X

A Developer’s Guide for WSJT and its sister programs is itself under development. The present draft contains full instructions for compiling WSJT-X in Linux, and an outline of steps required in Windows.

16. 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, KA6MAL, KA9Q, KB1ZMX, KI7MT, KK1D, PY2SDR, VK3ACF, VK4BDJ, W4TI, and W4TV. 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.

17. Appendix A: License

WSJT-X is free software: you can redistribute it and/or modify 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 GPL

Copyright © 2001-2014 Joseph H Taylor, Jr, K1JT.