1. Introduction

WSJT is a computer program for amateur VHF/UHF communication using state-of-the-art digital techniques. It can help you to make contacts using fraction-of-a-second signals reflected from meteor trails, as well as steady signals more than 10 dB below the threshold of audibility. Distinct protocols or “modes” are provided for different types of propagation:

JTMS

For meteor scatter. Uses minimum-shift keying (MSK) at 1378.125 baud, with a character transmission rate 197 cps.

FSK441

For meteor scatter. Uses 4-tone frequency-shift keying (4-FSK) at 441 baud, character transmission rate 147 cps.

FSK315

For meteor scatter. Uses 4-tone frequency-shift keying (4-FSK) at 315 baud, character transmission rate 105 cps. 10m legal.

ISCAT

Optimized for meteor and ionospheric scatter on 6 meters. Uses 42-FSK at 21.53 or 43.07 baud, character transmission rate 16.15 or 32.3 cps.

JT6M

Optimized for meteor and ionospheric scatter on 6 meters. Uses 44-FSK at 21.53 baud, character transmission rate 14.4 cps.

JT65

For Earth-Moon-Earth (EME, “moonbounce”) and weak troposcatter. Uses structured messages, a Reed-Solomon (63,12) error-control code (ECC), and 65-FSK modulation at 2.69 baud. Effective throughput is about 0.25 cps.

JT4

Designed for EME on microwave bands. Uses structured messages, a K=32, r=1/2 convolutional code, and 4-FSK modulation at 4.375 baud. Effective throughput is about 0.25 cps.

CW

For EME using timed, computer-generated transmissions.

Echo

For testing echoes of your own signal from the Moon.

2. System Requirements

///

  • SSB transceiver and antenna for one or more VHF/UHF/SHF bands

  • Computer running the Microsoft Windows, Linux, FreeBSD, or OS X operating system

  • 1 GHz or faster CPU and 128 MB of available RAM

  • Monitor with at least 800 x 600 resolution (more is better)

  • Computer-to-radio interface using a serial port for T/R switching, or VOX control

  • Audio input and output devices supported by the operating system

  • Audio or equivalent USB connections between transceiver and computer

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

3. Installation

3.1. Windows

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

  • Execute the downloaded file and follow its installation instructions.

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

  • All files relating to WSJT will be stored in the chosen installation directory and its subdirectories. You can uninstall WSJT 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.

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

Still to come …

3.3. OS X

This guide refers to installation of WSJT on Mac OSX 10.7 and 10.9. This scheme should also work on OSX 10.8 but has not been tested. There are problems with Tcl/Tk libraries which prevent the code from running on OSX 10.10. You will need to be familiar with Unix commands in a Terminal window.

  • Install the latest version of Xcode, available free from developer.apple.com. Launch Xcode and visit Preferences → Downloads and select "command line tools" and install them.

  • You will need a Fortran compiler. Visit https://gcc.gnu.org/wiki/GFortranBinaries#MacOS and select an installer for your OSX version.

  • The default Python installed on a Mac is version 2.7. A later version is required. Visit https://www.python.org/downloads/release/python-342/ and select Mac OS X 64-bit/32-bit installer. Download the package and install.

  • For the next downloads I recommend that you create an installation directory and use this for the downloads that follow.

  • You need the numpy suite. Visit http://sourceforge.net/projects/numpy/files/NumPy/1.9.1/ and download numpy-1.9.1.tar.gz. Expand this file and type:

    python setup.py build --fcompiler=gnu95

    sudo python setup.py install

  • Install portaudio. Visit http://www.portaudio.com/download.html and download pa_snapshot.tgz. Expand this file and type:

    configure

    make

    sudo make install

  • Install libsamplerate. Visit http://www.mega-nerd.com/SRC/download.html and download libsamplerate-0.1.8.tar.gz. Expand this file and type:

    configure

    make

    sudo make install

  • Install Fast Fourier code. Visit http://www.fftw.org/download.html and download fftw_3.3.4.tar.gz and expand the file. Type:

    configure --enable-float

    make

    sudo make install

  • Install PIL for imaging. Type:

    sudo pip install Pillow

  • Now it is time to download the source code. Type the following which will download the complete source tree and install in a new directory wsjt.

    svn co svn://svn.code.sf.net/p/wsjt/wsjt/trunk wsjt

  • Finally, change your working directory to wsjt and type:

    configure --with-portaudio-include-dir=/usr/local/include --with-portaudio-lib-dir=/usr/local/lib

    make

    python wsjt.py

and if all has proceeded without error, WSJT should launch.

You will need a Mac driver to control the serial link between your Mac and the transmitter.

3.4. Source Code

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

  • Subversion

  • Python 3.x, and the following Python packages

    • python-numpy

    • python-imaging-tk

    • python-pmw

  • gcc

  • gfortran or g95

  • fftw3

  • PortAudio

  • libsamplerate

  • MinGW (for Windows only)

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

svn co svn://svn.berlios.de/wsjt/trunk

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

4. Setup and Configuration

4.1. Options

  • Start WSJT and select Options from the Setup menu. Enter the following information:

    • My Call: <Your Call Sign>

    • Grid Locator: <Your 6-digit Maidenhead locator>

    • ID Interval: set the time interval for sending your CW identification. Zero (0) means never.

    • PTT port: if you will use RTS or DTR for T/R control, choose a serial port. On Windows enter the number of the port (for example 1 if you will use COM1). Enter 0 if you will use VOX control (not recommended if you will be running high power). On Linux or FreeBSD enter the actual device name, for example /dev/ttyS0.

    • PTT Line: choose DTR or RTS.

    • Distance unit: choose miles or kilometers.

images/options.png
  • The console window (with black background) presents a list of the audio devices available on your system. On the Options screen, set Audio In to the number of the desired input device and Audio Out to the number of the output device. The chosen devices must offer at least two input or output channels. For example, Audio devices number 1 (input) and 4 (output) could be selected from the following screen image. Your selections will take effect the next time you start the program.

images/console.png
  • Take note of two numbers in the first panel of the status bar at lower left of the main screen. After WSJT has been running for a minute or so they should stabilize at values close to 1.0000. If both numbers are between 0.9995 and 1.0005, the effective input and output sampling rates of your soundcard are close to the nominal 11025 Hz. If either number is outside this range, enter it as Rate in (first number) or Rate out (second number) on the Setup | Options screen. WSJT will then make necessary adjustments for the incorrect sampling rate or rates.

images/StatusBar.png

4.2. Fonts

You can control the fonts and colors used in WSJT. A text file named wsjtrc.win (on Windows) or wsjtrc (on Linux and FreeBSD) is supplied with the following contents:

*font:                         Arial 8
*Label*font:                   Arial 8
*Text*font:                    "Courier New" 9
*Canvas*font:                  "Lucida Console" 16
*background:                   gray85
*Text*background:              white
*Entry*background:             white
*foreground:                   black
*Listbox*foreground:           RoyalBlue

You can edit this file with a text editor (such as Windows Notepad). For example, to make the on-screen fonts slightly larger you can increase the numbers on the first three lines to 9, 9, and 10. It might be wise to save a backup of the original file under a different name, in case you need to restore the original contents.

5. Tutorial

5.1. Basics

Decoding and operating procedures are different for the various WSJT modes, so it helps to practice with each mode before using it on the air. As a useful starting point, take at least the following steps:

  • Select FSK441 from the Mode menu on the main window.

  • Select File | Open,navigate to the RxWav\Samples folder in your WSJT home directory, and open the sample file W8WN_010809_110400.wav. Your main screen should look something like the image below. The larger graphical area displays a spectrogram in which time increases from left to right and frequency from bottom to top. The green curve below the spectrogram shows total power over the full received bandwidth. In FSK441 mode, the smaller graphical area at right displays average spectra of the full record (magenta) and of the strongest detected “ping” (red).

images/wsjt9.7_main.png
  • Click with the right mouse button around the location of the ping at time t = 19 s on the graphical display, and observe the decoded text that appears. The time corresponding to the location of the mouse pointer is displayed in the green label at lower left of the main-window plot area.

  • Click on the static crashes around t = 1 s or elsewhere on the green line. You will probably see garbage text, or nothing.

  • Use Windows Media Player (or the equivalent program for your operating system) to play this audio file and listen to the signal. The file starts with a burst of summertime QRN and then has nothing but background noise until a moderately strong FSK441 ping appears about 18 seconds later.

To follow the full tutorial — and it’s strongly recommended that you should do this — download the collection of sample wave files available in zip (Windows) or tar (Linux) format. These files contain recordings of real signals in typical on-the-air situations, for each of the WSJT modes.

  • Extract the files to a suitable location such as ..\RxWav\Samples under your WSJT installation directory.

  • Exit WSJT and delete your WSJT.INI file (or temporarily rename it to something else). This will ensure that you start the tutorial with everything in the default configuration.

  • Restart WSJT and position the main window conveniently on your screen.

5.2. Fast Modes

It’s convenient to think of the WSJT protocols in two groups — fast and slow. The fast modes (JTMS, FSK441, ISCAT, and JT6M) send text messages character-by-character, without forward error correction, at rates ranging from nearly 200 characters per second (JTMS) down to about 14 cps (JT6M). JTMS and FSK441 attempt to make the best possible use of the common, very short pings of meteor scatter, with durations around 0.1 s and even less. ISCAT and JT6M perform well with somewhat longer signal enhancements, including those characteristic of meteor/ionospheric scatter at 50 and 70 MHz, and also aircraft scatter at 10 GHz. The fast modes generally use T/R sequences of length 30 s, with 15 s as an option.

JTMS
  • Select JTMS from the Mode menu.

  • Set ping threshold S = 1 dB and frequency tolerance Tol = 25 Hz. These controls can be adjusted upward or downward by left- or right-clicking with the mouse.

  • Select menu item File | Open, navigate to subdirectory …\RxWav\Samples\JTMS under your installation directory, and open one of the files there. JTMS generally does a good job of finding and decoding pings by itself, and the transmitted message is correctly decoded for three different pings in each of these two files, for example:

    111730  7.7  140  3 26  15   K1JT N5SIX          *
  • Each line of decoded text contains the starting time of the transmission; the time T of each detected ping, relative to the start of the file; the ping Width in ms; signal strength (S+N)/N in dB; signal report Rpt; and measured frequency offset DF in Hz.

Tip If the ping duration is sufficient for message repetitions to be recognizable, the JTMS decoder attempts to average over them. If it considers the attempt successful, the average message is displayed with an asterisk * appended at the end of line.
  • Note that the average DF for these signals is about +22 Hz. Checking Freeze will force the decoder to cover only a specified range, Freeze DF ± Tol. The value of Freeze DF is displayed in the Status Bar; it can be changed in ±5 Hz increments with function keys F11 and F12. Once you have identified the signal of a QSO partner, it is usually best to set Freeze DF close to the signal’s measured DF and to check the Freeze box.

  • Experiment with different settings of Freeze, Freeze DF, and Tol. Click Decode after each change to observe the results. The Tol setting is sometimes interpreted generously.

  • Try clicking on the main-window spectrogram to decode signal present at a particular time. Such action will sometimes decode a signal that failed to decode automatically.

FSK441
  • Switch to FSK441 mode and open the file K5CZD_050723_134100.wav in the …\Samples\FSK441 subdirectory. The decoder produces the following text in the main text box:

    O1JT 26 K5CZD 2626 K1JT 27 K5CZ #6
  • K5CZD is sending K1JT the signal report 26. In FSK441 mode it is not uncommon to see some incorrect characters, especially near the ends of decoded sequences where the signal is weak.

  • Hit the F6 key (or select File | Open next in directory) to open and decode successive files in the FSK441 directory. These recordings contain the following easily decoded messages:

    B KI4BWW K8EB KI4BWW K8EB KI4BWW K8
    32 CQ KC0HLN EN32 CQ KC0HLN E
    LN K1JT KC0HLN K1JT KC0HLN K1JT K
    6 JT R26 JT R26 JT R25 JT R
    K1JT KM5ES K1JT KM5ES K1JT KM5ES K1JT
    26 K1JT 26 KM5ES
    M5PO K1JT KM5PO K1JT KM5PO K1JT KM5PO
    EGT CQ DE N9EGT CQ DE N9EGT CQ DE N9E
  • Try left- and right-clicking on pings in any of these files to invoke the decoder at a particular location in the file.

  • Click Erase at any time to clear the display areas.

  • Click Decode for repeat analysis of a whole file.

  • Open the first KC0HLN file again. Double-click on the decoded callsign and observe what happens in the Tx message boxes. The program is now ready for K1JT to answer the CQ from KC0HLN.

ISCAT
  • Switch to mode ISCAT-B and open any file in the …\Samples\ISCAT-B subdirectory. These files contain recordings of ionospheric scatter signals on 6 meters. The signals are inaudible most of the time, but they decode readily nevertheless.

  • You can instruct the ISCAT decoder to concentrate on a particular portion of a received sequence. Left-click to decode in a 4-second region centered on the mouse pointer. Right-click to decode from the beginning to the pointer. Swipe with the left mouse button depressed to decode over any desired range.

  • Open the file K0AWU_100714_120200.wav. The spectrogram shows little sign of any signal except for barely visible enhancements around t = 2.1 and t = 5.5 s. Nothing is visible (or audible) after about t = 8 s. Nevertheless, try a Swipe to decode between about 9 and 25 s. The message THUNDER should be decoded.

  • Switch now to mode ISCAT-A and examine files in the …\Samples\ISCAT-A subdirectory. VK7MO and VK3HZ are completing a 10 GHz QSO over a 600 km path, using low power, small dishes, and airplane-scatter propagation. The signals are barely audible, if at all — but ISCAT decodes them flawlessly.

Tip Usable ISCAT signals are often well below the noise, so signal strengths are quoted as S/N rather than (S+N)/N.
JT6M
  • Switch to mode JT6M and open file AA9MY_030323_142300.wav in the JT6M subdirectory. You should see decoded text

    9MY 73 DE AA9MF2
  • Try left-clicking near t = 15.0 s. You should be able to obtain the average message shown below. (Averaged messages are indicated by an asterisk * near the end of line, followed by the message length.)

    73 DE AA9MY         *
  • Hit F6 to read and decode subsequent files in the JT6M directory. You will see AC5TM working K1SIX, AF4O working K1JT, and WA5UFH working K0AWU. In several files the signals are inaudible or barely audible, yet still decodable. The second AF4O file produces no decoded text by default, but try right-clicking at t = 16.8 s.

  • Find several other examples of decodable text in flat regions on the green curve. For example, try left-clicking at t = 7.4 s or t = 9.8 s in the first AF4O file, or at t = 11.6 s in the second AF4O file.

5.3. Slow Modes

The slow modes in WSJT are designed for signals that are very weak — perhaps averaging 10 dB or more below the audible threshold — but more or less steady. These modes use strong error-control coding, so the software generally decodes a transmission exactly as it was sent, or not at all. T/R sequence lengths are usually one minute.

JT65A
  • Switch to mode JT65A.

  • Select View | SpecJT if you have previously deleted this window. If the SpecJT and WSJT windows overlap on your screen, reduce the vertical size of the SpecJT window so that only its top half shows.

  • Select Speed 3 on the SpecJT window.

  • Check the following items on the SpecJT Options menu:

    • Mark T/R boundaries

    • Flatten spectra

    • Mark JT65 tones only if Freeze is checked

    • JT65 DF axis.

  • Select File | Open on the main window, navigate to the …\Samples\JT65A directory, and open the file F9HS_031120_074800.wav. The SpecJT screen will show a messy spectrum cluttered with birdies at 100 Hz intervals and other interfering signals. However, the red curve in the main-screen graphical area shows a strong JT65 sync tone amongst the clutter, and the decoder produces

  074800 2 -20 2.6 361  3 *   K1JT F9HS JN23      1  0
  • Double-click on F9HS in the text window. This callsign will be copied into the To Radio box; the database will be searched and the grid locator retrieved, if available. Tx messages will be generated for a QSO with F9HS, and the Tx message pointer will be set to message #2 so that the signal report OOO will be sent. During actual operation, all of this can take place in the few seconds near the end of a reception interval, before your next transmission starts.

  • Hit F6 to open the next file. A smaller red spike appears, indicating successful synchronization, and you will see that G3FPQ is calling W7GJ:

    131900 1 -25 1.5 43 3 *    W7GJ G3FPQ IO91     1  0
Tip Signals become visible on the waterfall around S/N = -26 dB, and audible to someone with good hearing around -15 dB.
JT65B
  • Select JT65B from the Mode menu and click Clr Avg.

  • Go to File | Open, navigate to inside the JT65B directory, and open the DL7UAE file. The waterfall shows a strong birdie at DF = 783 Hz and several weaker signals. The ones at DF = 223 and DF = 244 Hz look most interesting because they seem to show the speckled pattern typical of a JT65 signal.

images/SpecJT_DL7UAE.png
  • WSJT chooses the signal at DF = 223 Hz as the most promising, and decodes it to reveal DL7UAE answering a CQ from K1JT.

images/jt65.png
  • The red curve shows a second spike that looks almost as good as the DL7UAE signal. Experiment to see if you can determine who else might be calling. (The answer and how to find it are given below, at the end of this section.)

  • When you are ready to continue, clear Freeze and AFC, click Erase and Clr Avg) and hit F6 to open the next file. The green curve shows some nasty SSB QRM starting at t = 5.3 s into the file. (Again, you might want to listen to this file.) Some rhythmic broadband noise is also present, showing clearly on the green line. Fortunately, the waterfall looks nearly clean in the important JT65 spectral region, and WSJT has no problem decoding the signal at DF = -46 Hz. EA5SE is sending K1JT the default OOO signal report.

    000400 2 -25 2.9 -46 3 # K1JT EA5SE IM98 OOO    1  0
  • Try double-clicking on the sync tone in the waterfall, or on the red spike in the main-screen graphics area. Either action will automatically check Freeze, set Freeze DF to the selected frequency and Tol to 50 Hz, and click Decode. The red curve will show that the sync-tone search range has been reduced to ±50 Hz around the selected frequency.

  • Take note of the colored tick marks on the frequency scale at the top of the SpecJT window. The leftmost vertical green mark shows the selected Freeze DF, and the horizontal band below it shows the range that will be searched for a sync tone. The other green tick marks the upper limit of the JT65 data tones, and red ticks mark the frequencies used for JT65 shorthand messages.

  • Hit F6 to open the next file. You will see EA5SE sending K1JT the shorthand message RRR. Magenta and orange curves in the main-screen graphics area show the measured average spectra for two distinct phases of the shorthand message cycle. In the waterfall display you should see the alternating tones for RRR accurately aligned with the sync-tone marker and the second red marker. Hit the F6 key once more to decode the final transmission of this QSO, with ES5SE sending a shorthand 73 to K1JT.

  • Uncheck Freeze and hit F6 again. The waterfall shows a likely sync tone with deep libration fading at DF = -22 Hz, and the decoder shows EI4DQ sending K1JT the OOO signal report. Double-click on the sync tone in either window to lock him in, and hit F6 to open the next file. EI4DQ has received the OOO report from K1JT and is now sending RO.

  • Clear the Freeze box, check JT4 and JT65 | Normal Deep Search on the Decode menu, and hit F6 to open the next file. Two birdies are in the passband, but WSJT ignores them and finds a valid sync tone at DF = 221 Hz, decoding IK1UWL sending the OOO report to K1JT. Check AFC and hit the Decode button; you will notice that the first number near the end of the decoded line changes from 0 to 1, indicating that with AFC invoked, the Reed-Solomon decoder succeeds. (Otherwise, the Deep Search decoder is required to decode this file.)

  • Double-click on the sync tone (spike on the red curve) to lock in IK1UWL, and wait for the next transmission (i.e., hit F6 to read the next file). IK1UWL has copied the report RO from K1JT, so he is sending RRR. Note that this shorthand message is barely visible on the waterfall, but it is still decoded correctly. K1JT would now send 73 to signify that the QSO is complete.

  • Clear the Freeze and AFC boxes and hit F6 to find RU1AA calling CQ. RU1AA has a big EME signal; his tones in this file are easily audible. In the next several files K1JT works him quickly, despite two birdies that are drifting down through the JT65 signal passband. Notice that as a reminder, decoded shorthand messages are always flagged with a “?” mark unless you have turned Freeze on and set Tol to 100 Hz or less — things that you should always do, for best decoding results. RU1AA ends the QSO by sending the message “TNX JOE -14 73” to tell K1JT that his signal peaked at -14 dB. Since this message does not start with two callsigns (or CQ or QRZ plus one callsign) it is treated as a plain text message. Such messages can convey no more than 13 characters, so in this case the final “73” was truncated.

  • Clear the Freeze box and hit F6 to show another big Russian signal: RW1AY/1 is answering a CQ from K1JT. Double-click on the sync tone (on either window) to lock it in, and then hit F6 to see the messages RO, 73, and -19TNXQSO 73 in the next three transmissions.

  • Were you able to decode the second signal in the DL7UAE file? If so, congratulations! If not, clear Freeze and go back to File | Open and select the first file again. Left-click on the smaller red spike, check Freeze on, and reduce Tol to 10 Hz. Then hit Decode, and you should see SP6GWB calling K1JT with an excellent signal. The DL7UAE and SP6GWB signals are separated by only 22 Hz, so most of their tones overlap in the 355 Hz passband of JT65B. Nevertheless, the decoder copies perfectly with the help of its robust error-correcting code.

  • While you have the DL7UAE file in memory, Freeze on, Tol = 10 Hz, and Freeze DF set on the smaller red spike, hit F2 to open the Setup | Options screen and enter your own call (or some other call) in place of K1JT in the My Call box. Then dismiss the Options screen and try to decode the SP6GWB signal again. You will surely fail, because for this message successful copy was obtained as a result from the Deep Search decoder.

JT4
  • Switch to mode JT4F, go to subdirectory …Samples\JT4F, and open files VK7MO_130217_105000.wav and VK7MO_130217_105200.wav sequentially. These are recordings of the 10 GHz EME signal of VK7MO (77 cm dish, 40 W) made at G3WDG (3 m dish). Nothing is visible on the SpecJT waterfall, and neither recording decodes by itself. But WSJT recognizes and saves the potentially usable symbol spectra from each file, and produces a perfect decode from their average.

images/VK7MO_10GHz.png
  • Confirm for yourself that with My Call set to G3WDG and Normal Deep Search selected on the Decode | JT4 and JT65 menu, each of these files can be decoded properly on its own.

images/VK7MO_10GHz_2.png

6. Making QSOs

6.1. Transceiver Setup

Receiver Noise Level
  • Turn on your radio, select USB (or USB Data) mode, and tune to a clear frequency so that only background noise is sent to the sound card.

  • If necessary, click the Monitor button on the WSJT main window to start normal receive operation. The button should be highlighted in GREEN.

  • Open the operating system’s audio mixer and adjust its slider and/or your receiver gain control(s) to bring the signal level close to what WSJT considers “0 dB,” as indicated on the bar graph at lower right of the SpecJT screen. The signal level is also displayed as Rx noise on the status bar at bottom of the main window.

Transmitter Audio Level
  • Click Generate messages for test tones on the Setup menu.

  • Click the Tx5 button to be sure that T/R switching works and that a continuous 1000 Hz audio tone is sent from the computer to your radio.

  • Listen to the generated audio tone using your radio’s Monitor facility. The transmitted tone should be smooth and continuous, with no clicks or glitches.

  • Adjust the appropriate slider on the operating system’s audio mixer to get the proper audio signal level for your transmitter.

  • Click Tx Stop to end your test transmission.

WSJT should now be set up and ready to operate. If you are a new WSJT user, we strongly recommend that you work through the operating tutorial in the next section.

Caution Full amplitude transmissions lasting 30 seconds or longer put more stress on your final amplifier than SSB or CW operation. If this would cause the amplifier to overheat, reduce power or provide better cooling.
Minimal QSO Information

By longstanding tradition, a minimal valid QSO requires the exchange of callsigns, a signal report or some other information, and acknowledgments. WSJT is designed to facilitate making such minimal QSOs under difficult conditions, and the process can be made easier if you follow standard operating practices. The recommended procedure is as follows:

  1. If you have received less than both calls from the other station, send both calls.

  2. If you have received both calls, send both calls and a signal report.

  3. If you have received both calls and a report, send R plus your signal report.

  4. If you have received R plus signal report, send RRR.

  5. If you have received RRR — that is, a definite acknowledgment of all of your information — the QSO is complete. However, the other station may not know this, so it is conventional to send 73 (or some other conversational information) to signify that you are done.

Slightly different procedures may be used in different parts of the world, or in the different operating modes. Hitting the F5 key will cause WSJT to display a screen that reminds you of the recommended procedures.

images/WhatMessage.png
QSO Procedures

To prepare for making a QSO, enter the other station’s callsign in the To radio box and click Lookup and Gen Msgs to generate a sequence of the commonly used messages. If Lookup does not find the callsign in the database file CALL3.TXT, you may enter the grid locator manually. Decide whether you or the other station will transmit first, and check or uncheck Tx First appropriately. Select the message for your next transmission by clicking the small circle to the right of the message text. Toggle Auto ON to start an automatic sequence of transmission and reception intervals. You can switch messages while a transmission is in progress by clicking on one of the buttons Tx1 to Tx6, to the right of the circles.

Spectral information is displayed in real time on the SpecJT screen. Spectrograms normally scroll horizontally in the fast modes (FSK441, JTMS, ISCAT, and JT6M) and vertically in the slow modes (JT65 and JT4). You can choose different scrolling speeds at the top right of the SpecJT window.

At the end of each receiving period, WSJT enters a decode cycle and displays various properties of a received signal on the main screen. An example for JT6M mode is shown below. A green line in the main graphical area illustrates signal strength vs. time, and other lines or images display spectral information and synchronization results, depending on the mode.

images/jt6m.png

Decoded text appears in the large box below the graphical area and is also written to a cumulative output file, ALL.TXT. The program’s best estimate of DF, a detected signal’s frequency offset, is included on each text line. The accuracy of these estimates depends on the mode: approximately ±7 Hz for JTMS signals, ±25 Hz for FSK441, ±20 Hz for ISCAT and JT6M, and ±3 Hz for JT65. Within these tolerances (and subject to the stability of oscillators and the propagation path) you should see consistent numbers in the DF column during any QSO that produces usable signals.

Double-clicking on a callsign in either one of the decoded text windows will cause that callsign to be copied into the To radio box. The corresponding Grid locator will be looked up in the database and the callsign inserted in Tx message boxes #1 and #2. If the decoded text line includes CQ before the selected callsign, message #1 will be selected for your next transmission. Otherwise, #2 will be selected. If Double-click on callsign sets TxFirst was checked on the Setup menu, the status of Tx First is set according to the time-stamp on the decoded message.

6.2. Fast Modes

The JTMS, FSK441, ISCAT, and JT6M operating modes use 30-second periods (optionally, 15-second periods) for transmission and reception. When a reception interval is completed the program looks for signal enhancements produced by short-lived reflections from meteor trails, or signal peaks from other types of scatter propagation. Usable “pings” are audible when they occur, and you will see them as spikes on the green line and brighter colors in the scrolling spectrogram. One or more lines of decoded text may result from each ping. By clicking in the graphical area you can force a decoding attempt at a particular spot in a record. You can also make the program decode in real time, just after hearing a signal enhancement, by clicking on the appropriate spot in the SpecJT display.

WSJT attempts to compensate for relative mistuning between transmitting and receiving stations. By default the frequency search range is ±400 Hz. You can reduce the tolerance range by setting the value of Tol to a smaller value. Adjustments to the decoding parameters can be made at any time by right- or left-clicking on the parameter labels. The control labeled S or Sync sets the minimum level for acceptable signals.

In FSK441 mode, if DF lies outside the range ±100 Hz it will help to retune your receiver to compensate. Do this with your transceiver’s RIT control, or by using split Rx/Tx VFOs. In the JTMS, ISCAT, and JT6M modes you can accomplish the same effect by checking Freeze and using the keyboard right/left arrows to move Freeze DF (as displayed in the bottom-of-screen status bar) to the desired value. In general you should not change your transmitting frequency during a QSO, since your partner will be trying to tune you in at the same time.

In addition to the green line for overall signal strength, JT6M produces a yellow line showing the detected strength of a JT6M synchronizing tone (see illustration above). JT6M attempts to decode both individual enhancements and an average message based on the entire transmission (or selected portions thereof). An average message is flagged with an asterisk at the right end of the decoded text line. Clicking with the left mouse button decodes a 4 s block of data near the mouse pointer, while the right button decodes a 10 s segment. As in FSK441, with marginal signals you should experiment as necessary for best decoding. ISCAT and JT6M can work with signals many dB weaker than those required for JTMS and FSK441. You will sometimes find that clicking on a smooth green line, even where nothing was heard and nothing can be seen, causes callsigns or other information to pop up out of the noise.

Standard messages in the fast modes are generated with the aid of templates defined on the Setup | Options screen. Default templates are provided conforming to standard operating practices in North America and Europe, and you can edit the templates to suit your own requirements. Your edits will be saved on program termination and restored when you restart WSJT. Normal fast-mode messages can contain any arbitrary text up to 28 characters. The supported character set includes 0-9, A-Z, plus . , / # ? $ and <space>.

JTMS and FSK441 provide a special shorthand format to transmit four simple messages in a highly efficient way. The supported shorthands are R26, R27, RRR, and 73; FSK441 and JTMS send pure tones at 882, 1323, 1764, or 2205 Hz to convey these messages. If activity levels are high enough that there could be some doubt about who has transmitted a shorthand message, it is better to use normal messages tagged with callsigns or portions thereof. Check Rx ST and Tx ST enable single-tone messages.

A typical minimal QSO in one of the fast modes might look something like the sequence of transmissions below. You should step ahead to the next message in your sequence only when you have received your QSO partner’s information from his sequence.

  1.  CQ K1ABC
  2.                     K1ABC W9XYZ
  3.  W9XYZ K1ABC 27
  4.                     K1ABC W9XYZ R26
  5.  W9XYZ K1ABC RRR
  6.                     K1ABC W9XYZ 73

In North America, shorthand messages R26, RRR and 73 are often substituted for messages 4, 5, and 6, so the QSO would proceed like this:

  1.  CQ K1ABC
  2.                     K1ABC W9XYZ
  3.  W9XYZ K1ABC 27
  4.                     R26
  5.  RRR
  6.                     73

6.3. Slow Modes

JT65 and JT4, the slow modes in WSJT-X, aim to facilitate minimal QSOs by 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:

  1.  CQ K1ABC FN42
  2.                    K1ABC G0XYZ IO91
  3.  G0XYZ K1ABC -19
  4.                    K1ABC G0XYZ R-22
  5.  G0XYZ K1ABC RRR
  6.                    K1ABC G0XYZ 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. JT65 and JT4 compress and encode these standard messages in a highly efficient way, and strong error-control coding makes them very reliable. In uncompressed form they 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 #3 above, K1ABC is telling G0XYZ that his signal is 19 dB below the noise power in bandwidth 2500 Hz. In message #4, G0XYZ acknowledges receipt 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.

Shorthand messages are transmitted in JT65 as a sequence of alternating tones, repeating approximately every 3 seconds. Different tone spacings correspond to the shorthand messages RO, RRR, and 73; these messages can be easily recognized on the waterfall and also by ear. EME QSOs often use the shorthand messages, and in that case a typical QSO proceeds like this:

  1.  CQ K1ABC FN42
  2.                        K1ABC G0XYZ IO91
  3.  G0XYZ K1ABC FN42 OOO
  4.                        RO
  5.  RRR
  6.                        73

Free text messages are often used to convey some friendly chit-chat at the end of a QSO. Arbitrary messages such as “TNX ROBERT 73” or “5W VERT 73 GL” are supported, up to a maximum of 13 characters (including spaces). It should be obvious that the JT9 and JT65 protocols are not well suited for extensive conversations or rag-chewing.

Compound callsigns such as xxx/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:

images/prefixes.png

A single compound callsign involving one item from this list can be used instead of a third message word in a structured message. Thus, the following examples are all acceptable Type 1 messages involving 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 compound-callsign message:

  ZA/K1ABC G0XYZ -22        #These messages will be sent
  G0XYZ K1ABC/4 73          #without the third "word"

A QSO involving a station using a Type 1 compound callsign might look like this:

  1.  CQ ZA/K1ABC
  2.                      ZA/K1ABC G0XYZ
  3.  G0XYZ K1ABC -19
  4.                      K1ABC G0XYZ R-22
  5.  G0XYZ K1ABC RRR
  6.                      K1ABC G0XYZ 73

Notice that both operators send and receive the full compound callsign in their first transmission. After that, they omit the add-on prefix or suffix and use the standard structured messages and base callsigns.

Type 2 compound callsigns involve a prefix or suffix not found in the short displayable list. In that case the compound callsign must be the second word in a two- or three-word message, the first word of which must be CQ, DE, or QRZ. Prefixes can be 1 to 4 alphanumeric characters, suffixes 1 to 3 characters. A third word conveying a locator, signal 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 displayed above. Note that a second callsign is never permissible in messages involvinf Type 2 compound callsigns.

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

1.  CQ KP4/K1ABC FK68
2.                      K1ABC G0XYZ IO91
3.  G0XYZ K1ABC -19
4.                      K1ABC G0XYZ R-22
5.  G0XYZ K1ABC RRR
6.                      K1ABC G0XYZ 73
1.  CQ K1ABC FN42
2.                      DE G0XYZ/W4 FM18
3.  G0XYZ K1ABC -19
4.                      K1ABC G0XYZ R-22
5.  G0XYZ K1ABC RRR
6.                      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 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 expected result.
Tip During a transmission your transmitted message is always displayed in the first label on the Status Bar, highlighted in color, displayed exactly as another station will receive it. You can also experiment with compound callsigns using the utility programs jt65code and jt4code.

6.4. JT4 at Microwaves

To get the best out of JT4 on the upper microwave bands (in particular 10 and 24 GHz), it has been found advantageous to use single tones for simple messages such as RRR and 73, after callsigns have been exchanged. For this to work unambiguously, high frequency accuracy and stability are needed. This can be accomplished using GPS locking and automatic Doppler correction on the EME path, as described in http://www.physics.princeton.edu/pulsar/K1JT/small_station_eme.pdf. The recommended mode for 10 and 24 GHz is JT4F. The exchange of numerical signal reports in dB is also encouraged, to ensure that unknown information is exchanged.

You can transmit a pure tone at frequency XXXX by entering @XXXX in the active TX box. The resulting signal has all its energy at a single frequency, so much easier to see on the waterfall. With good calibration the frequency can be read directly from the waterfall. Once one aligns on the 1270 Hz TUNE tone and checks Freeze on the main window there will be two red ticks on the waterfall, marking the RRR and 73 messages. WSJT also provides a facility to integrate spectra over a full transmission, to gain a further sensitivity improvement. Check Plot average JT4 spectrum on the Setup menu.

Single tones and their meanings are as follows:

1270 Hz

Tuning tone

1000 Hz

please send messages

1500 Hz

RRR

1700 Hz

73

2000 Hz

QRT

You can insert these frequently used tones as templates on the Setup | Options window:

images/jt4_Templates.png

One small quirk is that if you double right click on the other station’s callsign to pick up the report this will return the format to the standard (non-single tone) arrangement. This is readily overcome by clicking on Gen Msgs when one is ready to TX single tones.

This procedure has also proved effective for terrestrial contacts using JT4F on tropo-scatter, ducting, and rain-scatter.

Setting MinW

The MinW parameter allows settings of A to F. The letters represent Doppler-spread widths corresponding to tone spacings of the JT4 submodes:

Table 1. Parameters of WSJT Fast Modes
Letter Width (Hz)

A

4.4

B

8.8

C

17.5

D

39.4

E

78.8

F

157.5

G

315

The JT4 decoder tests increasing bin-widths, starting from the letter set in MinW, to optimize decoding in relation to Doppler spread. It’s generally best to set MinW one or two steps below the predicted full spreading, which for EME is available in the Astronomical Data window. If the antenna beamwidth is smaller than the moon, actual spreading will be less.

False decodes are rare at microwave frequencies, where there is little man-made noise. You can safely set Sync to 0 to allow the program to synchronize on the weakest signals.

6.5. CW Mode

The WSJT CW mode is provided as a convenience for operators attempting EME contacts using timed transmissions of 1, 2, or 2.5 minutes duration. The program sends EME-style messages by keying an 800 Hz audio tone, and takes care of the timing and T/R switching. Receiving is left up to you, the operator. Set the desired CW speed under Miscellaneous on the Setup | Options window, and the T/R period by right- or left-clicking on the label at bottom center of the main window. Present conventions typically use 1 minute sequences on 50 MHz, either 1 or 2 minutes on 144 MHz, and 2.5 minutes on 432 MHz and above.

7. ISCAT Auto Sequencing and Auto Configure

Beginning with WSJT V10.0 r5639 auto sequencing and auto configure were added to ISCAT to support transient sporadic E openings on 6m. This entailed several improvements and modifications to ISCAT

Sequence Lengths

To take advantage of short Es openings shorter sequence lengths, 5s and 10s, are available for ISCAT. To change the sequence length:

Left click T/R Period:  Move to next higher sequence length
Right click T/R Period: Move to next lower sequence length
Alternate Messages

With the Auto Sequencer and the increase in ISCAT activity it is often desirable to differentiate the source of TX3 - TX5 messages. WSJT had an existing alternate message facility that added both calls to the TX3 - TX5 messages. This feature has been extended to ISCAT.

Cntl-G:         Sets alternate style messages (TX3 - TX5 include both calls)
Alt-G:          Sets standard style messages (TX3 - TX5 do not include calls)

Note the message style selection is sticky between sessions of WSJT.

Information Block

With the many options available, Alternate and Standard, Grid or Reports and several sequence lengths coordination between stations is an issue. ISCAT now includes an Information Block as part of the TX1 and TX6 messages. This block is used by the auto configuration feature discussed below but can also be used to manually set the various options

The structure of the information block is as follows:

First Character:                        ? differentiates the Information block from a grid
Second Character:                       S for Standard, A for Alternate style messages
Third Character:                        R for Reports, G for Grids
Forth & Fifth Characters:               Sequence Length in Seconds

The Information Block is represented in the message templates with the macro %I which is only filled in if the mode is ISCAT. The message templates can edited to remove %I if it is desired not to use the Information block.

Log QSO Reminder

The Auto Sequencer recognizes when the conditions of a complete QSO have been met and indicates this by flashing the Log QSO button as a reminder. This can be cleared with Alt-N, right clicking the Log QSO button or by logging the QSO by left clicking the Log QSO button.

Message Reporting

In previous releases of WSJT the ISCAT decoder made the decision of which single decode of many to pass up to the user and to report. This has been changed so the decoder passes all messages to the user and the auto sequencer. Because the decoder is capable of producing hundreds of decodes two new Setup options have been added two manage which messages you will see.

Decodes that were used by the auto sequencer to advance are marked with an a on the 31st column of the line, right after the * used to indicate messages with a strong sync value. These decodes are also written to all.txt.

Setup/Report All ISCAT Messages:
If checked this Setup option will show all decoded messages on the text screen and
place them in all.txt.  This can be hundreds of messages so use sparingly.  Note
the auto sequencer being active overrides this setting and only the messages used
by the auto sequencer are displayed.
Setup/Hide Empty ISCAT Messages:
When the ISCAT decoder does not decode anything it generates a blank message.  If
checked this Setup option prevents blank messages from being displayed.
Auto Configuration

With several variations of message type, reports and sequence lengths an auto configuration feature is active when in ISCAT mode. It will make a best attempt to configure WSJT based on a received messaged that is double clicked. As there are many variations of received messages this operation is quite complex. The following pseudo code shows the auto configuration systems reaction to various situations:

if First Field equals CQ then
       Second Field is copied to To Radio
       Third Field is copied to Grid
       if Click was on Forth Field and Forth Field equals valid Information block then
            Set Parameters
       Set TX First based on RX Time and T/R Period
else if First Field equals my call then
       Second Field  is copied to To Radio
       If To Radio in Call3.txt then
            Set Grid to value from call3.txt
       if double click was on Third Field and Third Field equals valid Information block then
            Set Parameters
       Set TX First based on RX Time and T/R Period
else if double click was on First Field
      First Field copied to To Radio
       If To Radio in Call3.txt then
            Set Grid to value from call3.txt
else if double click was on Second Field
       Second Field  is copied to To Radio
       If To Radio in Call3.txt then
            Set Grid to value from call3.txt
else if double click was on Third Field and Third Field equals valid Information block then
            Set Parameters
       Set TX First based on RX Time and T/R Period
Auto Sequence

With the advent of 5s and 10s sequences changes start happening fairly fast. ISCAT now has an auto sequencer to deal with this. Based on the currently transmitted sequence (TX1 through TX5) the auto sequencer inspects received messages and if appropriate advances the TX sequence.

The auto sequencer is active when the TX Auto box is checked and Auto is ON is active.

Note that the auto sequencer is highly situational dependent and requires exact decodes as well as messages matching the message type (standard or alternate) and report type (grid or report). If these conditions are not met the auto sequencer will not advance the TX sequence.

Each segment of each message must match exactly, your call must exactly match the call you have entered in WSJT, the other stations call must exactly match the call in To Radio. In the case of grids as reports the received grid must match the first 4 characters in the Grid field. In the case of reports the format must be correct and a reasonability test passed. In addition all white space must be correct.

In short the auto sequencer will not advance unless everything is exact. You can at any time override the auto sequencers decision by clicking on the appropriate TXx radio box (to send next TX sequence) or TX title box (to send now).

A problematic issue with auto sequencers is when to stop sending as there is a classic Catch 22. To keep stations from sending forever Setup/Options/Auto 73 Count has been added. The default value of 5 will limit the number of 73 messages sent to 5 if the other station is not being heard. In most instances this will lead to an elegant shut down of both stations.

The following pseudo code shows the decision process of the auto sequencer

if TX Auto is checked and Auto is On
        if Current TX Sequence equals TX1
                if Received Message equals valid TX1
                        Set Signal Report
                        Advance to TX2
                else if Received Message equals valid TX2
                        Set Signal Report
                        Advance to TX3
        else if Current TX Sequence equals TX2
                if Received Message equals valid TX2
                        Set Signal Report
                        Advance to TX3
                else if Received Message equals valid TX3
                        Advance to TX4
        else if Current TX Sequence equals TX3
                if Received Message equals valid TX3
                        Advance to TX4
                else if Received Message equals TX4
                        Set TXStopCount to Auto73Count
                        Advance to TX5
                        Set Log QSO to blink
        else if Current TX Sequence equals TX4
                if Received Message equals valid TX4
                        Set TXStopCount to Auto73Count
                        Advance to TX5
                        Set Log QSO to blink
                else if Received Message equals valid TX5
                        Set TXStopCount to Auto73Count
                        Advance to TX5
                        Set Log QSO to blink
        else if Current TX Sequence equals TX5
                if Received Message equals valid TX5
                        Set TXStopCount to 0
                        Set Auto is ON to Auto is OFF
                else if Received Message equals valid TX4
                        Set TXStopCount to Auto73Count
                else
                        Decrement TXStopCount
                        if TXStopCount equals 0
                                Set Auto is ON to Auto is OFF

8. Controls & Functions

8.1. Top Row

The following buttons appear just under the decoded text windows on the main screen. Note that some controls appear only in certain operating modes.

images/MainButtons.png
Log QSO

Click to add an entry for the callsign in To radio* to the *log file WSJT.LOG. Logged information includes date, time, *callsign, locator, band, mode and reported signal strength. This button is also used to indicate a completed auto sequence QSO by blinking red, this can be cleared by logging the contact, pressing Alt-N or right mouse clicking the button.

Stop

Click to terminate Monitor mode.

Monitor

Start a series of reception intervals, perhaps to monitor a calling frequency or to copy another station engaged in a QSO. The button is highlighted in GREEN when Monitor is active.

Decode

Analyze the most recently recorded or opened file, perhaps after one or more decoding parameters have been changed.

Erase

Clear all information in the main text boxes and graphical areas.

Clear Avg

Erase text in average message box, and clear the message accumulator.

Include

If signal level is greater than -33 dB, add most recent symbol sprectrum to the average message accumulator, even if Sync is less than stated threshold.

Exclude

Remove the most recent spectrum from the average message accumulator. Use this option when you are sure that the program has synchronized incorrectly (for example, because DF and/or DT differ substantially from expected values) and you wish to avoid contaminating the average with bad data.

Tx Stop

Terminate a transmission and set Auto Off.

8.2. Left

Controls related to the DX station and date and time are found at lower left of the main window:

To radio

The callsign of a station you wish to contact.

Grid

The Maidenhead locator of the DX station, either four or six characters.

Lookup

Search database CALL3.TXT for the entry in To radio. If callsign is found, retrieve the station’s Grid locator and use it to calculate distance, azimuth, and Doppler shift.

Add

Add the displayed callsign and grid locator to the database file CALL3.TXT. If an entry for this callsign already exists, you will be asked if you want to replace it.

Dsec

Adjust UTC clock reading in 0.5 s increments to manually synchronize with UTC or with your QSO partner’s computer. (In general, it is best to keep the computder clock set accurately and Dsec set to zero.)

8.3. Center

Near the center of the main window are controls frequencly used during a QSO. Some controls are available only in certain modes; the following images apply to modes JTMS (left) and JT4 (right):

S, Sync

Set minimum signal level for detection or synchronizing threshold.

Zap

Filter out birdies (narrowband signals of approximately constant amplitude) before attempting to decode.

Tol

Set decoder’s tolerance (in Hz) to frequency offsets.

AFC

Enable automatic frequency control to compensate for a drifting signal.

Rx ST

Enable decoding of shorthand (single-tone) messages.

Freeze

Search only frequencies Freeze DF ± Tol Hz. Adjust Freeze DF by using the F11 and F12 keys. In JT65 and JT4 mode, Freeze DF can also be set by clicking on the red spike or on the SpecJT waterfall display.

MinW

Set the minimum Doppler spread or tone width assumed for the JT4 decoding process. (Letter D corresponds to the tone spacing of the JT4D submode, etc.)

Tx First

Check this box to transmit during the first period of the timed T/R cycle. Uncheck it if your QSO partner is transmitting in the first period. “First” is defined as the first T/R interval of a UTC hour, and alternately thereafter.

Tx ST

Enable transmission of single-tone messages.

TX Auto

Along with Auto is On enable auto TX sequencing in ISCAT mode.

Rpt

Signal report to be inserted in generated messages.

Gen Msgs

Generate standard Tx messages for the active mode.

Auto

Toggle On or Off to start or stop automatic sequences of transmit and receive periods.

8.4. Right

Controls for tranmitted messages appear at the right of the main window. You can insert a desired message into any of the six entry fields. The Gen Msgs button does this auromatically, in the appropriate format for the mode in use. The message marked in one of the circles will be the one sent at the start of the next Tx sequence. You can start a message immediately by clicking one of the Tx1 through Tx6 buttons.

8.5. Menus

8.5.1. File menu

File Menu

8.5.2. Setup Menu

Setup Menu

8.5.3. View Menu

Setup Menu

8.5.4. Mode Menu

Setup Menu

8.5.5. Decode Menu

Setup Menu

8.5.6. Save Menu

Setup Menu

8.5.7. Band Menu

Setup Menu

8.5.8. Help Menu

Setup Menu

8.5.9. Keyboard Shortcuts

images/KeyboardShortcuts.png

8.5.10. Special Mouse Commands

images/MouseCommands.png

8.6. SpecJT

Setup Menu
BW

Toggle between options to display received bandwidth of 2 KHz or 4 kHz.

<

Move frequency scale left.

|

Return frequency scale to default position.

>

Move frequency scale right.

Speed

Set the waterfall scrolling speed. H1 and H2 set horizontal scrolling.

9. 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 Auto ON. WSJT will then cycle through the following loop every 6 seconds:

  1. Transmit a fixed tone for 2.0 s

  2. Wait about 0.5 s for start of return echo

  3. Record the received signal for 2.0 s

  4. Analyze, average, and display the results

  5. Repeat from step 1

The program compensates for Doppler shift automatically, so your return echo should always fall at the center of the plot area, as in the screen shot below. However, on bands higher than 144 MHz it is usually necessary to use split VFOs or RIT and to inform the program that you are doing so, to ensure that the echo falls within the limited receiver passband. For example, when this screen shot was made the predicted Doppler shift at 432 MHz was -802 Hz. Entry field RIT (Hz) on the Setup | Options window was set to a nearby round number, 800 Hz, and the transceiver’s RIT control was set at the same value.

A nonzero entry for Dither (Hz) instructs the program to offset the frequencies of successive echo pulses randomly, with a specified range around the nominal value 1500 Hz. The observed spectrum of each echo is shifted by the randomized dither amount before being accumulated into the average displayed in the red curve. This procedure is very effective in minimizing the impact of birdies in the receiver passband. In the average (red) spectrum, a fixed-frequency birdie will be smeared out over a frequency range equal to the Dither value. For comparison, the blue curve displays the echo data uncorrected for dithering. In the above screen shot the peaks in the blue curve correspond to seven individual 2-second transmissions, which were dithered over a 50 Hz range. Birdies will be spread slightly in the blue spectrum owing to gradual changes in Doppler shift, but they will not be affected by the dithering.

Information displayed in the main text box gives the number N of completed echo cycles, the average Level of receiver background noise in dB, the average echo strength Sig in dB, its measured frequency offset DF in Hz (after correction for predicted Doppler shift), the spectral Width of the echo in Hz, and a relative quality indicator Q on a 0-10 scale. Background noise level is given with respect to the nominal 0 dB level used for all WSJT modes. Signal strength is measured in dB relative to the noise power in a 2500 Hz passband. Low numbers for Q mean that an echo has not been detected, or is unreliable. When Q=0 the values of DF and Width are meaningless, and Sig may be considered an upper limit. Larger values of Q imply increasingly believable echo measurements. If you can hear your own lunar echoes, you will see reliable echo numbers within a few seconds after toggling Auto ON. If your echoes are 15 to 20 dB below the audible threshold you should get significant results within a minute or less. (Remember, though, that Faraday rotation can make the echo’s linear polarization angle different from that of the transmitting antenna.)

10. Measure Mode

Choose Measure from the mode menu and activate Monitor to perform measurements of relative noise power from your receiver. The system will record audio for one second, compute the level of noise power, and display the result in dB relative to WSJT’s standard level. This cycle is repeated every 2 seconds, with the results plotted as a green line and summary data displayed in the decoded text window. You can use this mode to measure sun noise, antenna temperature, ground noise, preamp gain, and a host of other useful quantities relative to a chosen reference level. Be sure to disable the receiver AGC if you intend to use the mode for quantitative measurements. It would also be wise to make some test measurements (for example, using a calibrated attenuator) to confirm that the reported dB readings are reliable in your system as configured.

11. Cooperating Programs

WSJT writes an output file that can be used by another program to control antenna positioners and other equipment. The file is updated once per second; it contains four lines, as in the following example:

18:33:35,353.8,-50.3,Moon
18:33:35,207.7, 31.4,Sun
18:33:35, 51.7, 51.4,Source
  144,   142.0,    0.90,     8.8,    1.33,Doppler, R

The first three lines list the current UTC in HH:MM:SS format, followed by azimuth and elevation in degrees for the Sun, Moon, and another astronomical source. (Specify right ascension and declination for the additional source on the Setup | Options window.) Numbers on the fourth line give the operating frequency in MHz, Doppler shift to the DX station in Hz, rate of change of Doppler shift in Hz/minute, self Doppler, its rate of change, and a single letter R or T to specify whether WSJT is presently receiving or transmitting.

12. Protocol Specifications

12.1. JTMS

JTMS uses Minimum Shift Keying (MSK) at 11025 / 8 = 1378.125 baud. Messages are free-form and have lengths 5,7,9,11,13,17,19,23 or 29 characters, padded when required with one or more trailing blanks. Characters are mapped to numerical values in the range 0 to 63 according to position in the first line below. (The second and third lines may be used to read off an index value: for example, B has the value 11 and ? is 38.)

  0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ./?-
            1         2         3         4
  01234567890123456789012345678901234567890

The 6-bit binary representation for each character value is augmented with an even parity bit. The resulting 7-bit sequences are sent using audio frequency 1155.47 Hz to represent 0 and 1855.53 Hz to represent 1. A message is transmitted repeatedly for a full transmission, maintaining phase continuity at all transitions between tones.

Four single-tone messages are defined in JTMS: R26, R27, RRR and 73. They are transmitted as pure tones of 882, 1323 and 1764, and 2205 Hz respectively. Pings from these transmissions are easily recognized by the human ear, easily seen on spectrum displays, and readily detected by appropriate software.

12.2. FSK441

FSK441 uses four-tone frequency shift keying at 441 baud. The frequencies of the audio tones are 882, 1323, 1764, and 2205 Hz. Each encoded character uses three tone intervals and therefore requires 3/441 seconds (approximately 2.3 ms) for transmission. FSK441 accommodates an alphabet of 43 characters, as listed in the table below:

       1      001          H   120
       2      002          I   121
       3      003          J   122
       4      010          K   123
       5      011          L   130
       6      012          M   131
       7      013          N   132
       8      020          O   133
       9      021          P   200
       .      022          Q   201
       ,      023          R   202
       ?      030          S   203
       /      031          T   210
       #      032          U   211
     <space>  033          V   212
       $      100          W   213
       A      101          X   220
       B      102          Y   221
       C      103          0   223
       D      110          E   230
       F      112          Z   231
       G      113

In the table the four tones are labeled 0-3, representing the tones 882, 1323, 1764, and 2205 Hz. For example, the letter T has the code 210 and is transmitted by sending sequentially the tones at 1764, 1323, and 882 Hz. Note that the character <space> is encoded as 033, and that tone sequences starting with the highest tone (number 3) are not used. It follows that if transmitted messages always include at least one space, a decoding algorithm can establish proper synchronization from the message content itself, with zero overhead. This encoding strategy is one of the secrets of the high efficiency of FSK441 for meteor scatter communications.

The four possible single-tone character codes, namely 000, 111, 222, and 333, are reserved for special use as shorthand messages. When sent repeatedly, these reserved characters generate pure single-frequency carriers. Their pings are easily recognized by the human ear and also by appropriate software. The shorthand messages are defined to mean R26, R27, RRR, and 73, respectively. These messages are frequently used in meteor scatter QSOs, after callsigns have been exchanged. They are not used in IARU Region 1, where activity levels are high enough that messages should always be accompanied by callsigns.

12.3. FSK315

FSK315 is a variant of FSK441 designed for use in North America on 10m. Baud rate is 315 baud and tones of 945, 1260, 1575 and 1890 Hz are used. FSK315 supports shorthand messages with R26, R27, RRR and 73 being assigned to 945, 1260, 1575 and 1890Hz respectively.

12.4. ISCAT

ISCAT messages are free-form, up to 28 characters in length. Modulation is 42-tone frequency-shift keying at 11025 / 512 = 21.533 baud (ISCAT-A), or 11025 / 256 = 43.066 baud (ISCAT-B). Tone frequencies are spaced by an amount equal to the baud rate. The available character set is

 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ /.?@-

Transmissions consist of sequences of 24 symbols: a “sync” pattern of four symbols at tone numbers 0, 1, 3, and 2, followed by two symbols with tone number corresponding to the message length, and finally 18 symbols conveying the user’s message, sent repeatedly character by character. The message always starts with @, the beginning-of-message symbol. The sync pattern and message-length indicator have a fixed repetition period, recurring every 24 symbols. Message information occurs periodically within the 18 symbol positions set aside for its use, repeating at its own natural length.

For example, consider the user message CQ WA9XYZ. Including the beginning-of-message symbol @, the message is 10 characters long. Using the character sequence displayed above to indicate tone numbers, the transmitted message will therefore start out as shown in the first line below:

 0132AA@CQ WA9XYZ@CQ WA9X0132AAYZ@CQ WA9XYZ@CQ W0132AAA9X ...
 sync##                  sync##                 sync##

Note that the first six symbols (four for sync, two for message length) repeat every 24 symbols. Within the 18 information-carrying symbols in each 24, the user message @CQ WA9XYZ repeats at its own natural length, 10 characters. The resulting sequence is extended as many times as will fit into a Tx sequence.

12.5. JT6M

JT6M uses 44-tone FSK with a synchronizing tone and 43 possible data tones — one for each character in the supported alphanumeric set, the same set used for FSK441. The sync tone is at frequency 100 x 11025 / 1024 = 1076.66 Hz, and the 43 other possible tones are spaced at intervals of 11025 / 512 = 21.53 HZ up to 2002.59 Hz. Transmitted symbols are keyed at a rate of 21.53 baud, so each one lasts for 1/21.53 = 0.04644 seconds. Every third symbol is the sync tone.The transmission rate of user data is therefore 21.53 x (2/3) = 14.4 characters per second.

12.6. JT65

A detailed description of the JT65 protocol 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). Special formats allow other information such as add-on callsign prefixes or numerical signal reports to be substituted for the grid locator. The aim of source encoding is to compress the common messages used for weak-signal QSOs into a minimum fixed number of bits. After compression, a Reed Solomon (63,12) error-correcting 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, and frequency changes 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 relative 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 x 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 Nm Hz, where N is the value (0 - 63) of the six-bit symbol, and m is 1, 2, or 4 for JT65 sub-modes A, B, or C. The signal report OOO is conveyed by reversing sync and data positions in the transmitted sequence. Shorthand messages dispense with the sync vector and use intervals of 1.486 s (16,384 samples) for the 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 nm Hz with n = 2, 3, 4 for the messages RO, RRR, and 73.

12.7. 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. The frequency spacing between tones and total bandwidth depends on the submode.

12.8. Summary

Table 2. Parameters of WSJT Fast Modes
Mode T/R (s) Mod FEC Nsps Baud df (Hz) BW (Hz) cps S/N (dB)

JTMS

15,30

MSK

parity

8

1378

689

2067

197

-1

FSK441

15,30

4-FSK

25

441

441

1764

147

-1

FSK315

15,30

4-FSK

35

315

315

945

105

ISCAT-A

15,30

42-FSK

512

21.5

21.5

905

16.5

-17

ISCAT-B

15,30

42-FSK

256

43.1

43.1

1809

32.3

-17

JT6M

15,30

44-FSK

512

21.5

21.5

947

14.4

-10

Table 3. Parameters of WSJT Slow Modes
Mode T/R (s) Mod FEC Nsps Baud df (Hz) BW (Hz) cps S/N (dB)

JT65A

60

65-FSK

RS(63,12)

4096

2.69

2.69

178

46.8

-25

JT65B

60

65-FSK

RS(63,12)

4096

2.69

5.38

355

46.8

-24

JT65C

60

65-FSK

RS(63,12)

4096

2.69

10.77

711

46.8

-23

JT65B2

30

65-FSK

RS(63,12)

4096

2.69

5.38

355

46.8

-22

JT65C2

30

65-FSK

RS(63,12)

4096

2.69

10.77

711

46.8

-21

JT4A

60

4-FSK

K=32,r=1/2

2520

4.375

4.375

17.5

47.1

-23

JT4B

60

4-FSK

K=32,r=1/2

2520

4.375

8.75

35

47.1

-22

JT4C

60

4-FSK

K=32,r=1/2

2520

4.375

17.5

70

47.1

-21

JT4D

60

4-FSK

K=32,r=1/2

2520

4.375

39.4

158

47.1

-20

JT4E

60

4-FSK

K=32,r=1/2

2520

4.375

78.8

315

47.1

-19

JT4F

60

4-FSK

K=32,r=1/2

2520

4.375

158

630

47.1

-18

JT4G

60

4-FSK

K=32,r=1/2

2520

4.375

315

1260

47.1

-17

13. Implementation Details

JT65 and JT4 offer a number of submodes with different spacings between tone frequencies. JT65A, with 2.69 Hz tone spacing, is generally used at 50 MHz and below. JT65B (5.38 Hz) is used on 144 and 432 MHz, and JT65C (10.77 Hz) on 1296 MHz. The B and C submodes are slightly less sensitive than mode A, but progressively more tolerant of frequency drifts and Doppler spread. In a similar way, JT4 submodes A through G offer tone spacings between 4.375 Hz and 315 Hz. See the Protocol Specifications section, especially Table 2, for details.

The JT65 and JT4 decoders use multi-layered procedures. If the fully general decoder fails, a deeper search can be made using a matched-filter or Deep Search approach. The Deep Search decoder constructs a list of hypothetical messages by pairing each entry in the callsign database with CQ and with the home callsign of the user. Each trial message is encoded as it would be done at the transmitter, including all of the forward error-control (FEC) symbols. The resulting patterns are then tested for good match with the received symbol spectra. Even a single-character mismatch will prevent a decoding from being achieved. You can define the list of likely callsigns in any way you choose. A default callsign database named CALL3.TXT is provided with WSJT, containing the calls of over 5000 stations known to have been active in weak-signal work on the VHF/UHF bands. If you use the Deep Search decoder, keep your callsign list up to date and adapt it to your own requirements.

In addition to DT and DF, the decoders in WSJT provide useful information on the relative strength of synchronization, the average signal-to-noise ratio in dB (relative to the noise power in 2500 Hz bandwidth), and W, the measured frequency width of the sync signal, in Hz. A symbol following W indicates that an adequate level of synchronization has been achieved: * will be displayed for a normal message, and # for a message including the OOO signal report. Two numbers appear at the end of each line. The first tells whether the generalized soft-decision decoder succeeded (1) or failed (0). The second gives a relative confidence level on a 0 to 10 scale for results produced by the Deep Search decoder. Shorthand messages do not produce these numbers.

If a JT65 or JT4 transmission synchronizes correctly, its spectral information is added into an accumulating array. Spectra from subsequent transmissions are added into this array and can make it possible to decode the average, even if individual transmissions were not decodable. Results of such decoding attempts appear in the Average Text window.

The Deep Search decoder necessarily has a gray area in which it finds a likely solution but may have only moderate confidence in it. In such cases the decoder appends a ? to the decoded text.

Tip As operator you must make always the final decision as to whether the decoding is believable. The mathematical message structure means that incorrect decodings will not differ from the correct one in only a few characters; more likely, they will contain wholly incorrect callsigns and grid locators. As you gain experience with the graphical and numerical indications of proper message synchronization (Sync, dB, DT, DF, W, and the green, red, and blue curves in the graphical area), as well as the effects of birdies and other interference, you will become adept at recognizing and rejecting the occasional false decodes.
Important If it appears that an unexpected (and perhaps exotic) station is calling you, treat it with suspicion until you decode the message again in a subsequent transmission. Random decoding errors will seldom repeat themselves.

Several options are available for adjusting the JT65 decoding procedure to your liking. If you check Decode | JT65 | Only EME calls, only a subset of callsigns in the database that include an “EME” flag will be used in the Deep Search procedure. Check No Shorthands if Tx 1 if you wish to suppress shorthand decodings when you are still transmitting the first Tx message. The Decode | JT65 sub-menu offers four options for the Deep Search decoder. The first, No Deep Search, disables this feature entirely. Normal Deep Search turns it on but suppresses output with confidence levels less than 3, while Aggressive Deep Search allows output down to level 1. The last option, Include Average in Aggressive Deep Search, applies the Deep Search procedure to the accumulating average as well as the most recently received data.

JT65 shorthand messages are powerful because they can be decoded at signal levels about 5 dB below those required for standard messages. They can also be decoded by ear, or by eye directly from the SpecJT waterfall display. If a message starts with RO, RRR, or 73 followed by a space, the shorthand format will be sent. If the message satisfies the requirements for a structured message, the specified callsigns, CQ, QRZ, locator, report and/or prefix/suffix will be encoded and sent. With any other entry, 13 characters of arbitrary text will be encoded and sent. The actual message being transmitted is always displayed in the bottom right corner of the main screen. Yellow highlighting indicates a standard message, blue a shorthand message, and red a plain text message.

14. Frequently Asked Questions

To be added …

15. Astronomical Data

In JT65 and JT4 modes a small blue-background text box entitled Moon presents data for tracking the moon, compensating for EME Doppler shift, and estimating EME path degradation. Select menu item View | Astronomical data to see more such data in a separate window, as shown below.

images/AstroData.png

Available information includes azimuth and elevation (Az and El) for the Moon, Sun, and another astronomical source of your choice. Right ascension (RA) and declination (DEC) for the additional astronomical source should be entered on the Setup | Options window in the decimal hours and degrees. Az and El of the Moon are given for the location of the DX station, as well as for the home station. Doppler shift (in Hz) and rate of change of Doppler shift, df/dt, in Hz/minute, are listed for two-way exchanges with the DX station, and for self-echoes from the home station. RA and DEC are given for the moon. All on-screen coordinates are in degrees except for RA, which is in hours and minutes. Tsky gives the approximate galactic background temperature in the direction of the moon, scaled to the operating frequency Freq; MNR is the maximum non-reciprocity of the EME path in dB, owing to spatial polarization; Dpol is the spatial polarization offset, in degrees; Dgrd is an estimate of the total signal degradation in dB, relative to the best possible time when the moon is at perigee and in a cold part of the sky; and SD is the moon’s semi-diameter in arc minutes.

You may find it useful to know something about the nature and accuracy of the astronomical calculations in WSJT. The state of the art for establishing three-dimensional locations of the sun, moon, and planets at a specified time is embodied in a numerical model of the solar system maintained at the Jet Propulsion Laboratory. The model has been numerically integrated to produce tabular data that can be interpolated with very high accuracy. For example, the celestial coordinates of the moon or a planet can be determined at a specified time to within about 0.0000003 degrees. Although the ephemeris tables and interpolation routines could easily be incorporated into WSJT, the accuracy provided would be overkill for our desired purposes. Instead, WSJT uses closed-form calculations based on a limited number of harmonic terms that have been fit to the high-accuracy data.

The precise algorithms used for solar and lunar positions were developed by Van Flandern and Pulkkinen (Astrophysical Journal Supplement Series, 44, 391-411, 1979). Series expansions from this paper yield accuracies of about 0.02 and 0.04 deg for the sun and moon positions, respectively, and they will remain almost this good for nearly a thousand years. At this level of accuracy the effects of nutation and aberration can be ignored, as can most of the smaller planetary perturbations. (Perturbations involving the Moon, Jupiter, Saturn, and Uranus are included, however.) Ephemeris Time and Universal Time are taken as equivalent, and the time steps associated with leap seconds are ignored. These and all other approximations employed are consistent with the specified accuracy level.

Coordinates displayed for the sun are geocentric. Since the moon is much closer its diurnal parallax is significant, and therefore topocentric coordinates are given for your specified location. For both sun and moon, the listed elevation is the apparent position of the center of the disk. To improve the accuracy of predicted Doppler shifts of EME signals, a larger number of terms was used in the series expansion for lunar distance. WSJT properly accounts for the oblateness of the Earth when establishing locations relative to the Earth’s center. Final accuracy of the Doppler shifts computed by WSJT is better than 1 Hz at 144 MHz, and this has been confirmed by direct comparison with a calculation based on the JPL ephemeris.

The sky background temperatures reported by WSJT are derived from the all-sky 408 MHz map of Haslam et al. (Astronomy and Astrophysics Supplement Series, 47, 1, 1982), scaled by frequency to the (-2.6) power. This map has angular resolution of about 1 degree, and of course most amateur EME antennas have much broader beamwidths than this. Your antenna will therefore smooth out the hot spots considerably, and the observed extremes of sky temperature will be less. Unless you understand your sidelobes and ground reflections extremely well, it is unlikely that more accurate sky temperatures would be of much practical use.

16. Directory Contents

16.1. Installed Files

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

CALL3.TXT

Callsign database

KVASD_g95.EXE

Executable for Koetter-Vardy decoder

RxWav

Directory for saved *.wav files, and Samples

TSKY.DAT

Sky temperatures at 408 MHz

jt4code.exe

Utility program illustrating JT4 encode/decode

jt65code.exe

Utility program illustrating JT65 encode/decode

kvasd.dat

dummy data file for KVASD

libsamplerate.dll

resample library

unins000.dat

Uninstall data file

unins000.exe

Executable for uninstalling WSJT

wsjt.ico

WSJT icon

wsjt10.exe

Executable for WSJT Version 10.0

wsjtrc.win

Font definitions

16.2. Runtime Files

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

ALL.TXT

Log of all received and transmitted messages

FFT_plans.txt

Information about computer FFTs

WSJT.INI

Saved configuration parameters

azel.dat

Current coordinates for Moon and Sun

decoded.ave

Decoded average messages

decoded.txt

Decoded messages

prefixes.txt

Prefixes and suffixes for Type 1 compound callsigns

17. Utility Programs

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

Channel-symbol values for JT4 run from 0 to 3, and the total number of symbols in a transmitted message is 206. To run jt4code, enter the program name followed by a message enclosed in quotes. In Windows the command and program output might look like this:

C:\WSJT10> jt4code "G0XYZ K1ABC FN42"

Message:   G0XYZ K1ABC FN42

Source-encoded message, 6-bit symbols:
 61 36 45 30  3 55  3  2 14  5 33 40

Source-encoded message, 72 bits:
111101100100101101011110000011110111000011000010001110000101100001101000

Encoded information before interleaving, 206 bits:
1110111110001101001010100111111000010111100100001110011111101000101110
0000011101101100110101010101101010100000010001010111001101111110101100
001001001001111001101001000011110111011101100100000010001111000000

Encoded information after interleaving, 206 bits:
1000110110011110100001001001001010101011010010010000000000111110101111
1010110011000010101101110010100000000101011110100011100110111011110111
100011110110010000101011011011010011000010110111110000111100011101

Sync vector, 206 bits:
0001100011011001010000000110000000000001011011010111110100010010011111
0001010001111011001000110101010101111101010110101011100101101111000011
011000111011101110010001101100100011111100110000110001011011110101

Channel symbols, 206 x 4-FSK symbols:
2001320231033221210002002112002020202023031031030111110100232230213333
2021230023111031203202330121210101111303032330301033300321323133220233
211022331231121110212023123122120033111120330222330001233211132303

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

18. Compiling WSJT

A Developer’s Guide for WSJT and its sister programs is in the works. The present draft contains full instructions for compiling WSJT-X in Linux, and an outline of steps required in Windows. The WSJT user interface is programmed in Python (rather than Qt), so the required tools are somewhat different. WSJT can be built and used successfully on Windows, Linux, OS X, FreeBSD. Instructions will be added here when time permits.

Acknowledgments

A number of WSJT users have put hundreds of hours into using and testing WSJT, finding bugs, and suggesting improvements. Particular thanks are due to G3WDG, G4DEZ, G4IGO, IK0BZY, IK0SMG, IW4ARD, K0AWU, KI7MT, N5SIX, OE5MPL, OZ1PIF, VK3SO, VK4JMC, VK7MO, W5WVO, W8WN, and WA5UFH.

Special thanks are also due to Ralf Koetter and Alexander Vardy, whose research paper “Soft-Decision Algebraic Decoding of Reed Solomon Codes,”( IEEE Transactions on Information Theory,'' vol. 49, pp. 2809-2825, 2003) introduced me to the powerful decoding algorithm now used in the JT65 modes. Through their company CodeVector technologies, Koetter and Vardy granted a license to use their algorithm, protected under United States patent 6,634,007, for noncommercial purposes in amateur radio, and to adapt their computer code to this end.

License

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