This is the WSJT Home Page by K1JT

You are at ../history.htm

Last update January 26. 2006

Go back to main page

Current full version: 5.9.2

History List of WSJT versions

Changes in WSJT 5.9.3: January 26, 2006
This is a minor maintenance release.

1. New Help screen provides a list of available suffixes and add-on DXCC prefixes.

2. The occasional error message about "images do not match" has been trapped and should no longer occur.

3. It is no longer necessary to enter one's own grid locator with the first two letters in upper case and the last two in lower case.

4. Initialization of the PTT line to the "OFF" state has been fixed.

Changes in WSJT 5.9.2: January 16, 2006


1. Thread priorities have been adjusted for smoother operation.

2. The JT65 decoder has been given improved immunity to garbage data
(birdies, QRM, etc). It exhibits better performance on strong
signals and provides more accurate estimates of their S/N.

3. The FSK441 decoder produces less on-screen gibberish when
processing mouse-picked decodes.

4. The JT6M decoder now makes better use of Freeze and Tol. You can
set the value of "Freeze DF" by using the Right/Left arrow keys.
(This feature is also useful in JT65 mode.)

5. On-screen font sizes can be set by using Windows Notepad to edit
the file If your screen has resolution greater than
1024 x 768, or if you have old eyes like mine, you may want to
increase the font sizes from 8 and 9 points (first three lines of
the file) to, say, 9 and 10 points.

6. A simulator mode is now built into WSJT for testing purposes. It
is presently most useful in JT65 mode. By entering, say, "#-22"
in the text box for Tx6, you signify that the program should
generate its Tx audio files with the signal embedded in white
gaussian noise, 22 dB below the noise power in a 2.5 kHz
bandwidth. You can direct this signal into a second computer
running WSJT, for example to test the decoder or to practice
operating in JT65 mode. You can even have the two computers "work
each other" in a simulated QSO, although changing messages of
course requires operator action.

7. Dividing lines are now provided on the waterfall display between
spectra corresponding to wave files read from disk.

8. The PTT line is explicitly set low on program startup.

9. The F10 key brings up the SpecJT screen (if it was hidden) and
toggles foreground and focus status between the WSJT and SpecJT

10. You can use the Alt-F and Alt-Z keyboard shortcuts to toggle
"Freeze" and "Zap" on and off.

11. "Accelerated decoding" has been removed from the Setup menu. In
effect, this option is now always ON.

12. Text windows are now cleared when switching between modes.

13. Linux and FreeBSD versions (see below) offer PTT control via
parallel port, as well as serial port. They offer sound support
via ALSA and OSS.

Bug Fixes:
1. The use of non-threadsafe code for FFTs could cause occasional and
unpredictable program crashes. Fixed.

2. A bug in the JT65 decoder could (rarely) cause large errors in the
reported level of strong signals. Fixed.

3. The program could be made to crash by trying to read a very short
wave file. Fixed.

4. "Save None" now works as it should.

Please note:
When entering your grid locator on the Setup->Options page, use upper
case for the first two letters and lower case for the last two. For
example, for K1JT the locator is FN20qi.

For Curious Users, and Especially for Programmers

WSJT is no longer a one-person effort, and the program no longer runs
only under Microsoft Windows. WSJT is now a full-fledged Open Source
project, with an active working group making contributions to future
development. Source code is now stored in a public repository under
control of a version control system called "Subversion," or SVN. You
can learn more at

The first significant result of the group effort has been to create
versions of WSJT that run under the Linux and FreeBSD operating
systems. Porting WSJT to the Macintosh platform should be
straightforward, but has not yet been done.

If you are interested in testing and using WSJT on your own Linux or
FreeBSD system, we'd like to hear from you. Please note that the
present Linux and FreeBSD versions are intended mainly for
programmers. You need to know your way around these operating
systems to be able to install them.

If you feel that you can usefully contribute to the future development
of WSJT on any platform, we would also like to hear from you! We
could use help with documentation and website maintenance, as well as
actual programming.

The present WSJT working group consists of:

Diane Bruce, VA3DB
James Courtier-Dutton
Bob McGwier, N4HY
Jonathan Naylor, ON/G4KLX
Stewart Nelson, KK7KA
Joe Taylor, K1JT
Kaj Wiik, OH6EH

Changes in WSJT 5.9

1. JT65 decoding has been made faster and significantly improved in other ways. Three new options appear on the Decode->JT65 menu: "Fast", "Normal", and "Exhaustive". The program is most sensitive if you choose "Exhaustive". Choosing "Normal" will make decoding slightly less sensitive, but the loss is not great, and decoding can be twice as fast. The "Fast" setting is faster still, but can be less sensitive by 2 dB or more in some cases. If you have a 1.5 GHz or faster computer, use "Exhaustive". With a slower computer you may want to experiment with the other settings.

2. In JT65 mode, double-clicking on the waterfall (SpecJT window) or on the red curve (main window) sets "Freeze DF" to the selected frequency, turns Freeze ON, sets Tol to 50 Hz, and invokes the decoder. Using this feature, you can quickly decode a transmission at several different values of DF. I find this feature to be *extremely* useful.

3. The range of DT values searched to establish synchronization has been doubled, now extending from -2 to +10 seconds. The reported values of DT are more accurate, as well. You should normally expect EME signals to have DT in the range 2 to 3 seconds, but the program will now synchronize properly even if DT is well outside this range.

4. WSJT now offers the ability to correct for errors in soundcard input and output sampling rates. Numbers displayed in the first panel of the status bar (at lower left of the main screen) give the ratio of actual sample rates for input and output to the correct value, 11025 Hz. The numbers should stabilize within about one minute after program startup. If they fall in a "safe" range between about 0.9990 and 1.0010, you have a good sound card (at least in respect to sampling frequency). You can then leave the entry fields "Rate In" and "Rate Out" on the "Setup -> Options" page at their default values, 1.0.

If your soundcard gives one or both numbers well outside the safe range, you should enter the displayed errant numbers as "Rate In" and/or "Rate Out" on the Setup->Options page. This needs to be done only once; subsequent changes in the last decimal place of the displayed values are not very significant, and can be safely ignored.

The result of this procedure is that your Tx signal will be "trimmed" so that your tone spacings in time and frequency are more nearly correct. In addition, your digitized Rx signals will be adjusted so that the software can properly interpret them.

This trimming is an important procedure. Some recent sound cards produce sampling error factors as low as 0.9932 or as high as 1.0068. If uncorrected, such results can degrade your S/N in WSJT modes by 2 dB or more.

If one of the measured sample rates differs from the corresponding value specified for "Rate In" or "Rate Out" by more than 0.1%, a red warning label will appear just below the graphical area on the main screen.

5. The graphical display of information obtained during JT65 decoding has been enhanced. As before, a red line illustrates the maximum correlation between the pseudo-random sync tone pattern and the received signal at each value of frequency offset, DF. A blue line shows the correlation at the best DF, plotted as a function of time offset, DT. If a shorthand message is detected, two new lines colored magenta and orange replace the red and blue lines. The new lines illustrate phase-resolved spectra measured in each of the two phases of the shorthand square-wave pattern. A properly detected shorthand message will show a peak in the magenta curve, followed at a specified distance by a peak in the orange curve. The correct
locations of the two peaks are marked by small yellow ticks. Unlike the alternating shorthand message tones, birdies will appear with approximately equal amplitudes in the magenta and orange curves.

6. For the convenience of temporary DXpeditions, a new JT65 feature permits use of add-on DXCC prefixes that are not in the published list of supported prefixes. Both stations in a QSO must enter the required prefix (for example, PJ8 or FS) in a box on the Setup->Options page. The effect will be to temporarily add the entry to the table of supported prefixes.

7. The Setup->Options page has new entry fields labeled "Source RA" and "Source DEC". You can enter the current right ascension and declination of a radio source to be used for system calibration, or perhaps a pulsar or a deep space probe that you wish to detect. The program will display (on the Astronomical Data screen) the current Azimuth and Elevation of the specified object at your station. The source Azimuth and Elevation are also written every second to the file azel.dat, in case you have automated tracking capabilities that depend on this information.

8. For contest-style operations, the Setup->Options menu has an item labeled "F4 sets Tx6". If this item is checked, when you hit F4 to clear the To Radio box the program will turn Freeze OFF and set the Tx message number to 6.

9. To facilitate the coming release of the full source code of WSJT under the GNU General Public License, the proprietary soft-decision Reed Solomon decoder has been removed from WSJT proper and made into a separate executable module, KVASD.EXE. This change is transparent to the user, and the full benefit of the soft-decision decoder is still available. An open source hard-decision decoder is also provided; it's what you get when you select the "Fast" JT65 decoding option.

10. In WSJT 5.8.6, if the value of "Freeze DF" (as displayed in the Status Bar) differs from the sync tone frequency by more than "Tol", shorthand decoding was suppressed even if Freeze was not checked. This is a bug, and it has been fixed.

11. Earlier versions of WSJT had a bug that could cause the "Zap" function to notch out a valid sync tone. Fixed.

12. The Help screens called up by F1 and Shift-F1 have been updated. Be sure to read these screens: they contain many operational conveniences that you may not have discovered!

13. At scrolling speed 5, the time labels and "minute separator" lines were displayed erratically and the CPU load was excessive. Fixed.

14. Signal strength measurements above -20 dB were formerly compressed and significantly underestimated. This has been fixed.

15. Decodings of the average of many properly synchronized transmissions would sometimes go from "good" to "bad" after approximately 8-12 transmissions. This was a bug, and it has been fixed.

16. Several bugs in the FSK441 decoder have been fixed. Both automatic decoding and mouse-picked decoding have been improved.

17. Changing WSJT modes now sets Auto to OFF, Tol to 400, and the Tx message number to 1.

18. The generated audio for CW ID in FSK441 and JT6M modes has been moved to 440 Hz, to avoid possible confusion with the other tones used in these modes.

19. Readout of "Rx noise" on the main screen is now highlighted in red if the level is outside the range -10 to +10 dB.

20. The Monitor button is no longer highlighted in green while you are transmitting.

21. No attempt is made to decode if the Rx level is very low -- for example, if your receiver is turned off.

22. If the Grid box does not contain a valid locator, readouts of azimuth and distance are suppressed.

23. Keying of the audio tone to produce Morse code has been softened to suppress key clicks.

24. Transmitted messages recorded in the file ALL.TXT are now identified as to mode, and shorthand transmissions are noted as such.

25. A number of other very minor bugs have been fixed.

Changes in WSJT 5.8.6

1. Audio input and output has been modified in a way that accommodates certain soundcards (e.g., SB Live!) that did not work correctly with WSJT 5.8.3.

2. New item on Setup->Options menu to select whether GenStdMsgs forces Tx message number to 1.

3. Status of all selectable items on Setup->Options menu is preserved on program restart.

4. If a CQ is transmitted in JT65 mode, the Sked box is automatically unckecked.

5. In v5.8.3, entering the same callsign and locator information in MyCall and ToRadio/Grid could cause the program to freeze.  Fixed.

6. If MyCall includes an extra prefix, as in 4X/ZL1RS, the standard JT65 messages should not include a grid locator.  Fixed.

7. The "ms" parameter has been removed from the Soundcard status readout at bottom left.  Separate sample-rate factors are now displayed for audio input and output, but only if "Enable diagnostics" is checked on the Setup menu.

8. The SpecJT screen may now be made invisible by clicking on "X" in the upper right corner.  To restore it to visible status, click on View->SpecJT on the main screen.

9. Decoded text lines in JT6M mode were sometimes too long, causing end-of-line wrap-around.  Fixed.

10. Some diagnostic messages printed to console window have been removed.

11. The values of S, Sync, Clip, Zap and NB are now preserved when th program is terminated and restarted.

12. Version 5.8.3 was unable to read back its own recorded wave files. Fixed.

13. A programming error in the JT65 shorthand message decoder has been fixed.  Under certain conditions, this error could cause false decodes of shorthand messages.

14. The logic of file saving commands Save Last, Save decoded, etc., has been corrected.

15. Wave files read from disk will now produce spectral plots on the waterfall display if Monitor is OFF.

16. The CW ID feature has been implemented.

17. The mapping of signal levels to pixel colors and its dependence on settings of Brightness and Contrast controls has been changed so as to improve sensitivity to very weak signals.

18. In v5.8.3, changing Dsec would create erroneous results for the displayed soundcard sample rate factor.  Fixed.

19. Running in JT65 mode with Dsec>0 caused transmission errors (including a gap in transmitted tones at t = 38-41 s), and the resulting transmission was unreadable.  Fixed.

20. Undesired resizing of main screen could occur when a long FSK441  message was transmitted.  Fixed.

21. The "yellow line" displayed in the graphical area in JT6M mode was computed incorrectly in version 5.8.3.  Fixed.

22. When running at speeds 1-5, the waterfall spectrum may optionally be "flattened" to remove rolloff at edges.  To enable this feature, check "Flatten spectra" on the SpecJT Options menu.


In general, "high end" sound cards offer no advantages when used with WSJT.  Motherboard AC-97 compliant sound systems are cheap and work well.  If you do need to buy a sound card for use with WSJT, my advice is to get a simple one.  You do NOT need 8-channel surround-sound, wavetable synthesis, special effects, etc.  Those features are for games and listening to music, and they will be wasted on WSJT.

Likewise, you do not need 24-bit A/D and D/A conversions. Specifications having to do with signal/noise ratio are quite
irrelevant to use with WSJT, as you should never be operating in a regime where A/D quantizing noise (or any other noise generated in the sound card) contributes significantly to the system S/N.

If you have a choice, get a card that offers a *native* sampling rate of 44100 or 11025 Hz, or both.  (Unfortunately, it is often very difficult to tell from the manufacturer's literature whether this capability is present or not.)  If native sampling at 11025 Hz is available -- or if the manufacturer has at least provided a well-designed resampling capability -- the soundcard sample-rate factors (displayed by WSJT in the bottom left corner, if "Setup->Enable diagnostics" is checked) should both be very close to 1.0000.

Changes in Version 5.8.3

I am aware that some users -- maybe 5 or 10 percent? -- have been unable to use version 5.8.1 because of erratic audio input levels.  I do not know whether this problem has been solved in 5.8.3, because I have been unable to reproduce the problem on any computer that I have access to. It appears to be a problem peculiar to certain sound cards or Windows configurations.

If you are among those who have experienced the Rx audio problem, please be sure to read the section headed "KNOWN PROBLEMS", a few screens down in the above link.

If you experienced the problem but found a solution, please post the solution to this reflector!

As always, I will be happy to receive your comments on the new release.

Note that I will probably not answer email until some time next week -- after I have recovered from the ARRL VHF QSO Party, this weekend.

With best wishes,
            -- 73, Joe, K1JT

Changes in Version 5.8.1

Beta release 5.8.1 is the first open release of an entirely new version of WSJT.  After a period of beta testing, the program will become known as WSJT 6.0.  I will refer to it here as WSJT6.

Many features of WSJT6 will be familiar to present users of WSJT4.x. However, the user interface and other real-time portions of the program have been entirely re-written, so you may find a few things that look different or work differently than before.

WSJT6 is a multi-threaded program.  This architecture permits much better timing control and much better sharing of the CPU among the program's many tasks.  A real-time waterfall is provided, optimized for each of the WSJT modes.  You can measure and set the Rx gain in real time.  You can decode FSK441 pings immediately after hearing them. 

The decoders for JT65 and JT6M are essentially the same as those in recent versions of the program.  (I have many plans for enhancements to the decoders, but these must wait for future updates.)  The FSK441 decoder has intentionally reverted back to approximately version 3.8.1, because it has been shown that recent versions did not perform quite as well.

WSJT 5.8 is a stable release.  Extensive tests by a small group of early beta testers have already shown that it works well.  However, it contains many thousands of lines of new code, and most likely that code has some bugs.  Nevertheless, I think you will find many operational advantages to using it.  Over the past 2.5 months, all of my own MS and EME QSOs have been made with the new version.

If you decide to participate in the beta testing period, please accept the responsibility of reporting any bugs that you find, as well as telling me of features you would still like to see.  I would appreciate hearing about new features that you like, as well.


1.  I suggest installing WSJT6 to a new directory such as C:\Program
    Files\WSJT6.  After installation you will probably want to copy
    your version of the callsign database, CALL3.TXT, into the new
    WSJT6 directory, replacing the one that is supplied.

2.  When you start the program you should get three windows on your
    screen. One has a black background and I will call it the "console
    window"; it is mainly used for debugging messages.  You can
    minimize it and generally ignore it.  You should, however, look
    there for messages if the program crashes (see also items 9 and
    11, below).  The other two windows are a Spectran-like waterfall
    and the more-or-less familiar WSJT window.  It is no longer
    necessary or desirable to run Spectran simultaneously with WSJT.

3.  FSK441, JT65, and JT6M are all present and functional. I have made
    many QSOs with FSK441 and JT65, so I know they are working well.
    JT6M has been tested somewhat less, but I have seen no problems as
    yet.  EME Echo mode and the CWID feature are not yet implemented.

4.  To start the real-time spectral display, click Monitor.  Normally
    you can leave Monitor on all the time.

5.  There are two ways to set the Rx Audio gain.  You can call up the
    Windows mixer as before, using the "Rx Volume Control" item on the
    Options menu.  There is also a digital gain control near the
    bottom right of the waterfall screen.  You should aim for around 0
    dB, as before -- but with 16-bit audio sampling it is no longer
    very critical.  Use the "S-meter" at the lower right of the
    waterfall display, or the familiar box labeled "Rx noise" at
    bottom center of the main screen.

6.  You should be able to make FSK441, JT65, and JT6M QSOs more or
    less as usual.  In FSK441 and JT6M you will want to run the
    spectral display at speed "H1" or "H2" (speed is selected at the
    top of the waterfall screen).  (The "H" means horizontal
    scrolling.)  Scrolling speeds "5" and "H2" use a lot of CPU time,
    so you may want to avoid them unless your computer is pretty fast.
    I generally use speed "1" or "2" for JT65 and "H1" for FSK441 and

7.  When running FSK441 in the horizontal scrolling mode, the spectral
    display shows current data in the top half and the previous Rx
    sequence in the bottom half.  The most recently decoded sequence
    is shown also on the main screen, as in version 4.x.

8.  You can decode FSK441 pings right away by clicking on any of the
    2-dimensional spectral displays, or the accompanying green lines.
    You can click on the top half, the bottom half, or in the main
    screen's graphical area.

9.  If you have more than one sound card, you can select the desired
    one.  Look at the startup messages in the console window. You
    should see a list of the available Audio devices and information
    about which one has been selected.  If you wish to change the
    selection, enter the desired device numbers on the Setup->Options
    screen, then terminate and restart the program.

10. If your display has resolution 1024 x 768 or less, you may prefer
    to resize the waterfall window so that only its top portion
    remains visible.  The two main WSJT windows may then be kept
    visible without overlapping.

11. Some program crashes can kill the console window so that you can't
    read the error messages.  If this happens, and if the crash is
    repeatable, open a Windows Command-Prompt window; CD to your WSJT6
    installation directory, and start the program from there by typing
    "WSJT6".  With this startup procedure, any subsequent post-mortems
    will remain visible.  Please report any such messages to me!

12. You may find decoding to be slightly slower than with v4.9.x.  I
    have not yet spent any time optimizing the new code for speed; it
    will get faster when I turn attention to that task.  If you have
    an older computer you may wish to check the menu item
    "Setup->Accelerated decoding", which will suspend updating the
    waterfall during the decoding process.

13. Be sure to look at the screens called up by function keys F1 and
    Shift-F1.  These screens are also available from the Help menu.
    They list some useful keyboard and mouse commands that you might
    otherwise overlook.

14. Be sure to explore all the menus and on-screen controls, and try
    out the commands listed on the help screens.  Until I can find
    time to write a new manual, this is the best way to learn about
    some of the new features.

15. In JT65 mode, a horizontal green line on the frequency scale shows
    the range of frequencies that will be searched for a sync tone.
    You can set the "Freeze DF" value by clicking on the main screen's
    red curve (as in WSJT 4.x) or by clicking on the waterfall with
    the shift key held down.  If "Freeze" is checked, vertical green
    ticks will mark the selected sync-tone frequency and the
    corresponding frequency of the highest data tone.  Red tick marks
    denote the frequencies of the RO, RRR, and 73 shorthand messages.

16. WSJT6 can read and process WAV files produced by earlier versions.
    The converse is not true, however, because earlier versions of
    WSJT are not equipped to read the 16-bit data files produced by

17. When you click "Log QSO," a line with date, time, HisCall,
    HisGrid, frequency, and mode is added to the file WSJT.LOG in the
    installation directory.

18. Every second, a short file named "c:\azel.dat" is updated with
    time, moon and sun coordinates, frequency, doppler, and doppler
    rate information.  This file could be used by other software to
    make your antenna track or your radio follow doppler changes.

19. In the lower left corner of the main screen you will see a message
    of the form "Soundcard: x.xxxx", where x.xxxx is a number close to
    1.0000.  This number is the ratio of the soundcard's measured
    sampling frequency to the nominal value, 11025 Hz.  The displayed
    value should stabilize after the program has been running for a
    minute or so.  If you see values less than about 0.9990 or greater
    than 1.0010, please let me know about it and tell me what kind of
    computer and sound card you are using. 

20. Callsigns for Swaziland (prefix 3DA0) can now be used in standard
    JT65 messages, and they will provide the full "deep search"

21. The box labeled "NB" enables a software noise blanker.  If your
    receiver already has a good noise blanker, this may be of little
    use; if it does not, you may find this one better than nothing.
    It can be helpful when short, impulsive noise spikes are present.

22. The "QRN" parameter of older WSJT versions has been combined with
    the "Clip" parameter.  In FSK441 mode, Clip=0 corresponds to the
    old QRN=5.  If you want more FSK441 immunity to summertime QRN,
    increase Clip above 0 just as you would have increased QRN above

23. The "B" and "C" submodes of FSK441 have not been implemented.  As
    far as I could tell, they were little used.

Let me call your attention to the online WSJT Forums hosted by DK5YA at  If you provide information and post questions about WSJT 5.8 there, it will help others as well as yourself -- and may help to reduce the load on my email inbox. 

I do, of course, want to hear from you directly if you have found a problem with the new program version or suggestions for its improvement.

With best wishes,

                -- 73, Joe, K1JT

The latest update is WSJT Version 4.9.7. Like Version 4.7.0, it is able to run simultaneously with the latest version of Spectran (by I2PHD and IK2CZL), which is included with the 4.7.0 distribution. This combination of programs provides an excellent real-time spectral display in addition to all the features of WSJT.

[March 12. 2005] Version 4.9.6 released 

Changes in Version 4.9.6

1. WSJT 4.9.5 fails to decode some files that have relatively high S/N and good Sync level. This is a bug, and has been fixed. For this reason alone, you should definitely upgrade to Version 4.9.6.

2. New optional message formats are provided for conveying and responding to signal reports. It has been permissible for some time to send, for example,
VK7MO K1JT -24
(The number after the minus sign must have two digits and must be in the range -01 to -30.)

I plan to implement a quick way of copying the measured strength of a decoded transmission into TX message #2, when desired. This is not yet done in v4.9.6, however. You must edit the TX messages by hand if you use these formats.

Enhancements in version 4.9.6 now allow you to send messages like the ones listed below. Both stations will need to be running v4.9.6 in order for these to work:

3. Decoding by the deep search algorithm has been extended so as to include messages of the types discussed in item 2.

[March 09. 2005] Version 4.9.5 released 

Changes in Version 4.9.5

1. Full support for long callsigns like ZA/PA2CHR and G4ABC/P is now provided. When using such a callsign prefix or suffix, do not include a grid locator in your transmitted message.

2. If you double-click on a callsign in the decoded text window, and if the word preceding the callsign is "CQ", then TX message #1 will be selected after the messages are updated. Otherwise, TX message #2 will be selected.

3. So that you will be aware of what is happening, the background color in the TX message box turns red whenever a message you have entered is "non-standard" and will be sent as 13 characters of plain text.

4. Items related to decoding have been removed from the Setup |Options screen and replaced by a new menu labeled Decoding. Here you may now select "No shorthands" for FSK441 and several options for JT65 decoding.

5. In case you are upgrading directly from WSJT v4.7.0 to v4.9.5, a callsign database file has been included as CALL3A.TXT. If you do not already have a file CALL3.TXT, you should rename the supplied file to CALL3.TXT. Otherwise, you will probably want to ignore the supplied file, since you will have made additions to your own copy.

6. The frequency of program crashes (for example, after a long period of monitoring) is much reduced, possibly to zero.

Please, if you encounter a received wave file that reproducibly cause WSJT to crash, send it to me.

[January 27. 2005] Version 4.9.2 released 

Changes in Version 4.9.2

1. In CW mode you can now set the desired T/R period by using the text box provided. This feature did not work properly in v4.9.1.

2. Under some conditions using the "Add" button to edit information in the file CALL3.TXT would cause a program crash with the message "Run-time Error #53". Fixed.

3. Using the double-mouse-click on a callsign in the decoded text window will now set the active Tx Message to Tx2. I believe this will be most commonly what is desired, and will be an added convenience for random JT65 operation.

4. The "Sked" box remained visible on the EME Echo screen, covering part of the RIT box. Fixed.

5. Two numbers are now made available if you have checked the"Aggressive decoding" option. These numbers appeared without explanation at the end of each decoded text line produced by version 4.9.1, and you may have wondered what they were. The first number is 0 or 1 according to whether the soft-decision Reed Solomon decoder has failed or succeeded. The second number represents a confidence level on a 0-10 scale for messages decoded using the "deep search" algorithm. Anything under 3 is questionable; messages rated 6 and above are unlikely to be wrong, unless you are processing "garbage" data containing strong birdies, QRN, etc. In that case, you are on your own.

6. A bug was introduced when implementing the "Aggressive decoding" check box. This bug caused a stray "OOO" flag to be sometimes displayed even when no signal was present and synchronization had not been achieved. Fixed.

[January 26. 2005] Version 4.9.1 released 

Changes in Version 4.9.1

1. A programming error in version 4.9.0 prevented the "deep search" portion of the JT65 decoder from detecting some messages that include the "OOO" signal report. The bug has been fixed, and consequently the extra 4 dB of sensitivity will become available for those messages.

2. The callsign database, a file named CALL2.TXT in version 4.9.0, has been converted to a comma-delimited format and is now named CALL3.TXT. As has been true in the past, you should maintain your own copy of this file according to your own needs. New calls may be added to the file using the "Add" button of WSJT, and you can edit the file directly with the Windows NotePad program. I apologize for the fact that if you have already edited CALL2.TXT extensively, you will need to do so again. The good news is that the programs WSJT, MoonSked (by GM4JJJ) and Tracker (by W7GJ) will now use the same database file, CALL3.TXT.

3. Two new JT65 check boxes have been made available to the user: one labeled "Sked", located on the main screen, and one labeled Agressive decoding" on the Setup | Options screen. Check "Sked" to signify that you are trying to work a known station; the deep search decoder will then look only for your own call and the one displayed in the "To Radio" box. Check "Agressive search" if you want to see all messages found by the deep-search decoder, even if the confidence level is moderately low. Leave this box unchecked if you prefer to see only decoded messages that have been assigned a relatively high confidence.

4. The duration of T/R sequences in CW mode defaults to 60 s if the Band is 50 MHz, 150 s if 432 MHz, and 120 s otherwise. However, an on-screen box now allows you to override the defaults and set any

[January 18. 2005] Version 4.9 released 

This version of the program has two major features that will be of particular interest to EME users:

1. A CW mode that handles T/R switching and 15 WPM transmission for EME CW QSOs.
2. A new decoder for JT65 modes that is about 4 dB more sensitive than any previous version. Some new features also serve to make JT65 more "random friendly" in operation.
With the new JT65 decoder, full decodes of standard EME messages (two callsigns, a grid locator, and an optional "OOO" signal report) are now accomplished more than half of the time at a signal level of -28 dB relative to the noise power in 2500 Hz bandwidth.
In case you were wondering: No, this is not the proposed "JT1" mode that I described in a paper given at the 11th International EME Conference. JT1 has been has been tested on the air and found unsatisfactory. It requires a degree of phase coherence that I find too difficult to maintain with the typical amateur equipment that we use today, and under the propagation conditions that we want to be
able to use.
However, with the benefit of the new decoder, JT65 is in some ways even better than JT1 would have been. The sensitivity is almost the same as the best that had been estimated for JT1. The message structure is unchanged, and indeed the transmitted messages are entirely unchanged. The improvements are all in the decoder.
You will need to know something about how the new decoder works in order to make the best use of it, please read

[May 12. 2004]
Version 4.7 released

In addition to several minor bug fixes, the new version offers the ability to run WSJT simultaneously with Spectran, by I2PHD and IK2CZL.
If you have already installed WSJT, you can upgrade to the current version by downloading and executing UPD470.EXE. Versions 4.0 and later will not overwrite an installed version of WSJT 3.x. You may, for example, have versions 3.8.1 and 4.6.1 installed at the same time, which will give you access to JT44 as well as the newer JT6M, JT65, and FSK441 modes.

SimJT is a new program (April 2004) that allows you to generate JT65 and CW wave files with specified message content, S/N, and other relevant parameters. It is useful for testing relative sensitivities of these modes under carefully controlled conditions. Click here for the SimJT User's Guide.
The latest version of Spectran (Version 2, build 213) is included with the new WSJT installation files
To learn more on this version read [update.htm].

WSJT 4.6.1
Changes in Version 4.6.1

1. Bug fix: I mistakenly shifted the RX data by 2 seconds, rather than the intended 1 s, when changing the range of acceptable DTs.  Therefore in v4.6.0 the actual DT range is not -1 to +5 s as stated, but rather 0 to +6 s; moreover, the displayed values of DT are too small by 1.0 s. This has been fixed.

2. New feature: thanks to Akira, JM1SZY, I learned that occasionally a file (or an average of several files) will decode better with the AFC feature turned off.  Consequently I have added a checkbox that must be ticked to activate AFC in the JT65 modes.  If you can trust the frequency stability of the signal you are receiving, and especially if you are trying to receive a signal at -27 dB or weaker, leaving this box unchecked may yield a slight improvement in decoding.  In most cases, especially at 144 MHz and above, I recommend leaving the AFC turned ON.

3. Thanks to Chris, GW4DGU, for pointing out that the Gx series of prefixes is no longer legal for reciprocal license operating in the countries of the United Kingdom.  The valid prefix series for such operation is now the M-series, i.e., M MD MI MJ MM MU MW.  I have changed the prefix table accordingly.

4. The WSJT 4.6 User's Guide has been updated to be consistent with these changes.

WSJT 4.6.0

Version 4.6.0 of WSJT supports four principal operating modes:

  • FSK441: for meteor scatter

  • JT65: for EME and extreme troposcatter

  • JT6M: for meteor scatter (optimized for 50 MHz)

  • EME Echo: for measuring your own echoes from the Moon

This is the first full release of WSJT since version 3.0.
New users can install Version 4.6 directly, without upgrading from a previous installation.  Of course, you can also upgrade from an earlier version in the usual way. 
The new release includes an entirely new "WSJT 4.6 User's Guide." This document is about one third the length of the former "User's Guide and Reference Manual," but contains nearly everything you need to know to use the program.  A copy of the new Guide is included in the version 4.6 distribution files.  Even if you are an experienced WSJT user, you should definitely print and read this document.

New features in WSJT Version 4.6 include the following:

1. Improved automatic frequency control in JT65 modes.  If you have lost JT65 QSOs because of unstable oscillators, this is for you.

2. The acceptable range for DT in JT65 mode is now -1 to +5 s. This range is a better fit for EME communication than the former -2 to +4 s.  It will allow for somewhat greater clock errors before inter-station synchronization fails on an EME path.

Note to experienced users: this means that the plotting scale for the "blue curve" now runs from -1 to +5 s.  EME signals should normally produce a blue peak near the center of the plot area.

3. When the blue window displaying moon coordinates has been toggled to display coordinates for the DX station as well as the home station, it now displays MaxNR in place of SD.  MaxNR is the maximum path non-reciprocity in dB.  This effect arises from the combination of spatial polarization shift plus Faraday rotation; it is what causes "one way propagation" between stations that use fixed linear polarization.

4. A facility for generating the file ID.WAV for station identification is now built into WSJT.

5. The "Save Decoded" menu item now saves files with decoded shorthand messages as well as normal messages.

6. JT65 has a new shorthand message "ATT" (for "Attention!").  It is intended as an aid to help two stations find each other by determining the correct DF.

7. Visual aids for evaluating JT65 shorthand messages "by eye" are provided if you click on the sync-tone frequency in the Big Spectrum display.

8. For DXpeditions: a country prefix preceded by "/" may be substituted for the grid locator in a type 1 JT65 message.

9. Alternatively, a signal report of the form "-NN" or "R-NN" may be substituted for the grid locator in a type 1 JT65 message. For example, -24 might indicate that signals were being received at -24 dB.  The minus sign is required, and NN must lie between 01 and 30.

10. The receiver noise level reported by Measure mode (the level of the "green line") has been increased by 2 dB to be consistent with levels reported by the other operating modes.

As always, I will appreciate user feedback of any kind.

Special request: any volunteers for translating the new manual into other languages than English?

Changes in Version 4.5.1

Bug fixes:

1. JT6M did not transmit properly in version 4.5.0 because the program failed to switch its wavefile generator into JT6M mode. Fixed.

2. WSJT consumed a large fraction of CPU time in JT65 mode, even when the program was supposedly doing nothing. Fixed.

3. Monitoring for long periods in JT65 mode would occasionally produce a Fortran "output conversion error". Fixed.

4. Clicking the "Add" button with nothing in the Grid box would cause a program crash. Fixed.


1. In the FSK441 modes, messages longer than 3 nonblank characters and starting with R26, R27, RRR, or 73 are no longer transmitted as shorthand messages.

2. Onscreen labels now indicate active status of the "Save Decoded", "Save All", and "Save text in File DECODED.CUM" features.

3. Small improvements have been made in the decoding of shorthand messages in modes FSK441B and C.

4. Alphabetic characters in message templates (on the Setup | Options screen) are now case-insensitive.

4.5.0 [March 2004]
In version 4.0 and later, extremely weak signal communication is supported by the JT65 mode. JT65 differs from JT44 in a number of ways, but most importantly by offering forward error correcting (FEC) capabilities. JT65 now boasts a state-of-the-art "soft-decision" decoder for its Reed-Solomon code. In addition, the program now offers submodes called FSK441B and FSK441C that provide FEC capabilities for meteor-scatter communication. [More]


Beta Release 4.3.4 of WSJT is now available for free download.  The principal change from version 4.2.1 is to offer three JT65 submodes.  The submodes differ in tone spacing and total bandwidth as follows:

   Mode   Spacing  Total BW
  JT65A    2.7 Hz  177.6 Hz
  JT65B    5.4     355.3
  JT65C   10.8     710.6

Note that JT65A is identical to the original JT65.  If you want to work people who have not yet upgraded to v4.3.3, be sure to select mode JT65A.  Otherwise, be sure to use the same mode that your QSO partner is using.  Cross-mode contacts will not work.

JT65B should be nearly as sensitive as JT65A, and it will be twice as forgiving of frequency instabilities.  On balance, with existing "stock" radios, JT65B will probably be better than JT65A.  JT65C is less sensitive by a small amount, perhaps 1 dB, but will be even more lenient on stability issues.  By all means experiment with the different submodes, and be sure to let me know your conclusions about them!

I am presently inclined to recommend that JT65B should become the
"standard" JT65 mode.  If this tentative conclusion holds up, future versions of the program may no longer support the A and C modes.

Other changes from version 4.2.1 include the following:

1. Further improvements have been made to the JT65 decoding algorithm. These improvements apply to all three submodes.  Some wave files that would not decode with v4.2.1 now decode properly, especially in averages over several minutes.

2. The frequency width W of the sync tone (the "red spike") is now measured and displayed in Hz after DF in the main text box. In any of the three JT65 modes, W should be no more than 2-4 Hz under good conditions.  Uncorrected frequency drifts, excessive oscillator phase noise, and certain propagation effects can make the width larger. Anything over about about 4 Hz will impair copy in JT65A.  Similarly, widths greater than about 7 and 15 Hz will begin to impair copy in JT65B and C, respectively.

3. The utility program CWID.EXE now accepts lower case letters on the command line.  It also permits you to specify the audio frequency of the tone in the wave file.  You may wish to place the tone at 600 Hz or lower so that it lies well below the tones generated by any of the WSJT operating modes.

4. The "Clip" function has been improved in several ways.  The yellow and magenta curves in the Big Spectrum display no longer disappear when Clip > 0.  Setting Clip = 3 does hard clipping, as before, but it also blanks out any data regions with average power well above the "baseline" of the green curve. Experimenting with different values of Clip may help you to recover good copy from noisy data.

5. I believe that the text window displays in Monitor mode, and when you are using the Include/Exclude buttons, nor function correctly.

6. Minor bug fixes: the program no longer crashes in EME Echo mode if you select "EME Calc | Load | Cancel".  The correct "S" value is listed on the status bar in JT6M mode.

7. The program's "Fit and finish" is improved in several not very
important ways.

As usual, I will appreciate receiving email with comments, suggestions, etc., about this new release of WSJT.

               -- 73, Joe, K1JT

December 02., 2003

WSJT Version 4.2.1

Version 4.2.1 contains a number of enhancements and bug fixes, mostly related to the new JT65 mode. Changes from version 4.1.1 include the following:

1.1 Message averaging now works correctly
1.2 Many small improvements to the decoding algorithm
1.3 Decoding speed improved by 50%
1.4 JT65 monitor mode is properly implemented
1.5 TX message can be changed up to t=59 s of preceding RX period
1.6 Switch to a shorthand TX message at any time
1.7 Freeze works properly for shorthand messages
1.8 Decodes with failed FEC (forward error correction) are
optionally displayable
1.9 "Garbage filter" provided so that questionable decodes appear
only if they contain some recognizable text
1.10 Automatic station ID, as in FSK441 and JT6M modes
1.11 Companion program to generate a CW ID.WAV file is included
1.12 The birdie zapper now works in JT65 mode
1.13 "Clip" function has been reactivated
1.14 F5 help screen updated to reflect JT65 practices
1.15 "OOO" message handled more transparently
1.16 Optional display of Moon Az/El at DX station, replacing Sun
1.17 Right/Left audio out now works properly
1.18 DT displayed as blank rather than 0.0 for shorthand
1.19 No program crash if ToRadio or Grid left empty
1.20 No program crash if attempting to decode 60 s file in JT6M
1.21 All other reported problems causing crash have been fixed

Date:    November 18, 2003
From:    Joe Taylor, K1JT

Quick Start Guide to Using WSJT version 4 and the JT65 Mode

Version 4 of WSJT marks a significant departure in the program's evolution.  The list of features is no longer a full superset of those available in all previous versions.  In particular, the JT44 mode is gone; it is replaced by a new mode called JT65 that I hope will be a significant improvement for making QSOs via EME and extremely weak tropospheric paths.

The procedure for upgrading to version 4 is identical to previous upgrades, with one exception: the setup procedure will install a new program in your existing WSJT directory, but will keep the old version alive as well.  The two versions of the program can coexist peacefully.  During a testing period you will probably want the older version and JT44 to be available as well. 

What is different about JT65, compared to JT44?  Here's a short list:

1. T/R period 60 s; actual TX audio duration 46.8 s.  (Yes, this will put somewhat more stress on your PA.  If its cooling is
marginal, take appropriate action.)

2. Modulation uses 64 data tones plus a sync tone.

3. Tones are spaced by 2.7 Hz in frequency and 0.372 s in time.  The total occupied bandwidth of a JT65 signal is about 180 Hz.

4. Transmissions consist of 63 data tones or "symbols," each carrying 6 bits of information.  In addition there are 63 sync
symbols for establishing time and frequency synchronization.

5. Software AFC (automatic frequency control) can follow drift rates up to about +/-10 Hz/minute.

6. User messages are tightly "source coded" into 72 bits.

7. Strong FEC (forward error correction) coding is used to mitigate transmission errors.

8. User-level mesage formats are designed to permit maximum possible efficiency in EME or similar QSOs.  A valid message must be be one of three possible types:

     1. "Call1 Call2 Grid"   or   "Call1 Call2 Grid OOO"

     2. "RO", "RRR", or "73"      (so-called shorthand messages)

     3. "any text you want"       (up to 13 characters selected from a 42-character alphabet)

Instead of a callsign, the first field of a message type 1 may contain "CQ" or "QRZ".  Other such "special tokens" may be added later.  The available alphabet of characters for message type 3

9. Instead of JT44's very effective intra-message averaging of the even, odd, and "last N" characters of a message, JT65 offers even more powerful special shorthand messages for RO, RRR, and 73.  These have much higher sensitivity than the other message types.  They work reliably down to -30 dB and below.  If you succeed in exchanging callsigns and "OOO" by means of type 1 messages, you should certainly be able to complete the QSO.

10. Message averaging over subsequent transmissions is intended to work as it did in JT44, with one exception.  The "OOO" signal report typically used for EME can be appended to message #1 and the message will continue averaging without any need to start over.  The presence or absence of "OOO" will be detected if sync is achieved, whether or not full decoding has been successful. [Note: message averaging is only partially functional in the first beta release of the JT65 mode.  I will need some experience with the mode in order to optimize the code here.]

11. Receiving FEC-decoded transmissions takes some getting used to.  You will find *much* less gibberish on your screen in JT65 than in JT44.  The FEC algorithm has a good idea whether it has succeeded or not, and the program will suppress output unless it is "pretty sure" that it has got the message right.  You will discover that when the FEC procedure fails and the program has not realized it, text is occasionally produced looks like plausible (but quite wrong) callsigns or grid locators.  You must mentally reject such garbage messages, when they occur.  In the small amount of on-the-air testing that JT65 has enjoyed so far, my experience is that that only a few percent of decoded messages are displayed incorrectly.  Most of the time, received text is either "letter perfect" or is left blank.

12. The program makes use of what it calls the "expected message".  By default this message is "MyCall HisCall HisGrid"
where MyCall is your own callsign, HisCall is the one entered in the onscreen "To Radio" box, and HisGrid is the first four
characters of the grid locator in the "Grid" box.  The AFC algorithm, in particular, can work more effectively when the
actual message received matches the expected message.

13. Several design choices used in defining the JT65 algorithm are still subject to change.  If the 2.7 Hz tone spacing turns
out to be problematic because of propagation anomalies or inadequate oscillator stabilities, the spacing could be
increased.  About 1 dB of additional S/N could be obtained by omitting the "Grid" field of the standard message format.  This would also reduce the maximum "plain text" message length from 13 characters to 10. 

Needless to say, I will be very interested to see how well JT65 works in practice.  It has been thoroughly tested in my software simulator, with impressive results.  In those tests, JT65 beats JT44 by about 3 dB for the latter's most efficient (i.e., "foldable") two-callsign messages.  For callsigns that cannot be folded the margin is more like 5 dB.  The synchronizing limit (and therefore the ultimate message-averaging limit) is lower in JT65 by a full 3 dB.  The shorthand messages of JT65 have no real analog in JT44, but they appear to be extremely effective and work down to below -30 dB.  Most noticeably, JT65 produces very little "giberish" output.  The decoded text area of your screen will remain mostly blank until the correctly decoded message appears.

Special request to users of the beta-release version

Please let me know of your experiences with JT65, good or bad.  I know that its averaging of subsequent transmissions is not yet fully up to par.  That will be worked on soon, as I gain a library of good test files to play with.  Like JT44, the JT65
mode does not synchronize well when brief pings are received during a transmission.  I hope to address this problem soon, too.

Special thanks are due to Jack Carlson, N3FZ, for his extremely valuable help with initial on-the-air tests of JT65.

          -- 73, Joe, K1JT

Beta Release 3.8.1
This release contains the following new features:

1. An optional large spectral display.  Its axes are reversed with respect to those of the FSK441 and JT6M waterfall displays; in the new plot, frequency runs from left to right and time from top to bottom.

2. A new birdie zapper that is especially effective in the FSK441 and JT6M modes.  You can watch what it is doing by observing the waterfall  displays before and after the "Zap" box is checked.  Click "Decode" to refresh the displays after checking or uncheking "Zap".

3. Message decoding in FSK441 mode has been improved in several ways. DF is more accurately determined.  Better synchronization is achieved with the precise timing of 25-sample tone bursts comprising each message symbol.  Folding of messages is no longer attempted.  (It seems that whenever a ping is long enough to make folding effective, it's also strong enough to make folding unnecessary.)  As in previous versions, the left mouse button allows decoding of single-tone
messages while the right button suppresses them.

4. It is now permissible to click "Gen Std Msgs" while transmitting in FSK441 or JT6M mode.  When this button is clicked, the Tx message number will reset to #1 if and only if the callsign in "To Radio" has changed.

5. Message formatting templates for FSK441 and JT6M may now include the special codes %G and %L to insert your 4-digit grid or full 6-digit locator, respectively, in the message.

6. "Reset Defaults" now resets the QRN level to 5, as it should.

7. The decoding parameters in use are no longer listed in the Status Bar at lower right.  This listing had become redundant.

8. In Monitor mode, the name assigned to the Rx wave file begins with "Mon_" instead of the "To Radio" callsign.

9. In FSK441 mode, all messages with more than 3 non-blank characters are transmitted in multi-tone mode.

For those who have asked recently: some enhancements to the JT44 mode are in progress, but not yet ready for release.

                    -- 73, Joe, K1JT


WSJT Beta Version 3.6.4
The previous version had the threshold set very low for all mouse-picked decoding attempts in JT6M mode.  This was useful to me for testing, but produced excessive gibberish.  Version 3.6.4 has a reasonable threshold and produces much cleaner output.  In addition, the message averaging algorithm has been improved.  I find that I seldom need to use either "Freeze" or "FixAve" now.  These buttons are still present in version 3.6.4, but unless I hear that people are finding them useful I may remove them soon.

An option has been added to the Setup menu so that you can determine whether you want the "Tx Stop" button to kick you out of Auto Mode, or not.  The default is not to do so.


If you can make WSJT v3.6.4 crash in normal operation, please let me know
(and tell me how).  Also let me know if you find anything that does not
work as intended.  I believe the present code behaves well and is nearly
ready to be upgraded from "Beta" status to a full release. 

WSJT Beta Version 3.6.3
Version 3.6.2 corrects a problem that on a few machines caused a fatal error that could only be corrected by deleting the initialization file, WSJT361.INI.

WSJT Beta Version 3.6.1
Version 3.6.1 corrects a problem that caused an immediate termination on program startup on some users' machines (typically older ones).  If you need this upgrade, you need it bad!

It also fixes a minor bug that could cause a divide-by-zero error if you clicked on the plot area when no data was available to analyze.

WSJT Beta Version 3.6.0

The JT6M mode is only a week old, but many hundreds of QSOs have been made with it all over the world.  Thie mode is expressly designed for meteor scatter on 6 meters, but it may be useful with some other propagation modes as well.  It has characteristics that place it about midway between FSK441 and JT44 in both speed and sensitivity.

Comparison of Versions 3.6.0 and 3.5.1

1. Version 3.6.0 has a better and faster decoder for JT6M.  Further improvements in this area are still to come.

2. Several bugs that could cause crashes in V3.5.1 have been fixed. Version 3.6.0 appears to be quite stable (at least on my own computers).

3. Some buttons have been moved from their familiar positions.

4. Gadgets that Microsoft calls "Up-Down Controls" have replaced the +/- buttons used for various decoding parameters.

5. You can now drag the mouse pointer across any portion of the large plot area to cause decoding of that portion of a recorded file.  This works in both FSK441 and JT6M mode.  The area you selected is marked when the plot is refreshed.

6. A yellow curve now appears above the green curve in JT6M mode.  The yellow line represents measured power received at the sync-tone frequency and in the sync-tone intervals.

I haven't yet written up any detailed instructions for the JT6M mode. However, if you are an experienced WSJT user you probably won't need any.  Here are a few things it will be helpful to know about JT6M.

1. Like JT44, JT6M uses 44-tone FSK with a "sync tone" and 43 possible data tones -- one for each character in the supported alphanumeric set. The sync tone is at 1076.66 Hz, and the 43 other possible tones are spaced at 21.53 HZ intervals up to 2002.59 Hz.  The tones are keyed at a rate of 21.53 baud, so each one lasts for 1/21.53 = 0.04644
seconds. The sync tone is ON during every 3rd transmission interval; tones representing two data characters follow each sync tone.  The transmission rate of user data is therefore (2/3)*21.53 = 14.4 characters per second.  The transmitted signal sounds a bit like piccolo music.

2. Basic operation is very similar to FSK441.  Just select JT6M from the WSJT "Mode" menu (or use "Shift-F7") and then proceed as usual.

3. The green line and waterfall display have their usual meanings.

4. The program attempts to decode both single pings and an "average message".  The average is the last line displayed during each decoding attempt, and is flagged with an asterisk as in FSK441.  The number to the right of the asterisk is the inferred message length (for example, the number should be 10 for the message "W8WN K1JT ").  If the program finds the wrong length, the average will be garbled or meaningless. All message lengths should be even numbers, because odd-length messages are padded with an extra space at transmission time in order to make them even.

5. Clicking with the left mouse button decodes a 4-second block of data near the mouse pointer.  The right button uses a longer segment of 10 seconds.  Drag the mouse with the button down to select any desired region.  Experiment for best decoding as necessary.

6. As soon as you see some properly decoded text, set the DF box to the measured DF and check the "Freeze" box.  Alternatively, you can set the Tolerance to a low value (say 25 Hz) after the desired signal has been identified.  Use RIT, if necessary, to bring subsequently measured DF's down to a small value.

7. Default settings for the decoder are S > -12 dB, Tol=400 Hz, DF=0Hz.

8. JT6M can work with signals that are up to 13 dB weaker than those required for FSK441.  In the brief on-the-air tests I've made with W8WN, we have both found that mouse-clicking on the smooth green line, even where nothing was heard and nothing can be seen, sometimes causes both callsigns to pop up out of the noise!

Please email me with your experience in using the new mode.  No doubt I have forgotten something important somewhere, or perhaps you can make the program crash.  All suggestions for improvements are very welcome!

            -- 73, Joe, K1JT

What's new in Version 3.0?

1. The "User's Guide and Reference Manual" has grown to 51 well illustrated pages. The new manual includes four major new sections which together cover:

a) the EME Echo mode, including the "Measure" sub-mode and the "EME Calc" utility for estimating the strength of your echoes from the moon;
b) the nature of the various astronomical calculations done within WSJT, and a summary of their accuracies;
c) several pages describing availability of Fortran source code for the DSP algorithms in WSJT, as well as a suite of test programs for generating simulated data and testing the FSK441 and JT44 encoding and decoding algorithms;
d) a short essay on possible future developments for WSJT.

2. The astronomical calculations in WSJT have been overhauled and thoroughly checked. In practice the differences from V2.9 will seem minor, but as described in the new manual's Appendix B, the accuracies of
computed positions for the sun and moon, and for the EME Doppler shift, are now well documented. Computed positions are accurate to within about 0.04 degrees, and Doppler is better than 1 Hz at 144
MHz. Exactly what is meant by the displayed data is now described in the manual, as well.

3. A new feature has been added on the Help menu. It pops up a screen summarizing the standard message exchanges used for minimal QSOs using FSK441 and JT44. No more excuses for not being sure about which message you should send next!

4. The Measure mode can now be left running indefinitely, with its output written to a file. A few individuals have been wanting to use the program for radio astronomy purposes, and the new version provides a
minimal facility for doing this.

5. The display screen for the EME Calc utility has been cleaned and tightened up.

6. A few other small niceties, all minor in scope.

Version 2.9.0

1. EME Echo mode now works on certain computers (generally older, slower ones) that previously refused to run Echo mode properly. The new version runs fine under Windows 95 on my ancient 100 MHz Pentium with 32 MB of RAM.

2. A new feature known as "Measure" can be selected from the main screen in EME Echo mode. Click the Measure button and your system will record the received audio for one second, compute the level of the noise and display the result in units of dB relative to the nominal WSJT "0 dB" level. The program will repeat this measurement cycle every 2 seconds and plot the results as a green line in the graphical screen area. 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.

3. A pop-up utility labeled "EME Calc" can be selected from the EME Echo screen. It provides an easy way to predict whether you should be able to detect your own echoes from the moon, as well as your ability to work another station by EME. Boxes are provided to enter your TX power, TX feedline loss, RX noise figure, RX feedline loss, antenna gain, ground gain, ground noise, and sky temperature. Similar quantities can be entered for a second station, and you must also specify the operating frequency. When you click "Compute," the program will calculate the maximum expected echo strengths for the "Home Station" and the "DX Station" individually, as well as the maximum expected signal strength of each station at the other location. The program also estimates the averaging time that would be required to detect echoes at the predicted signal level.
Signal strengths are quoted relative to the WSJT standard, the noise power in a 2500 Hz bandwidth. If the computed result for your echo exceeds about -38 dB, you have a chance of being able to detect your echoes using WSJT. In comparison, echoes are detectable by the human ear only if they exceed about -14 dB on the same scale, or equivalently +3 dB in a 50 Hz bandwidth. Note that the estimated signal strengths are supposed to be the maximum values expected for the specified conditions. There are many reasons (Faraday rotation, ionospheric scintillation, libration fading, ...) why the actual signal strength may be different, and deviations are much more likely to be downward than upward. The predicted echo strength for my present 144 MHz station at a reasonably good time of the month is around -25 dB. My experience has been that the predictions are fairly good if enough time is spent to be sure of catching a Faraday rotation peak.

A number of smaller enhancements have been made in the EME Echo mode of WSJT. These include the following:

4. The program is much better behaved when operating at higher frequencies, in particular 1296 MHz and above. If you fail to enter an RIT setting or specify one that would make the return echo fall outside the audio frequency range 900 - 2100 Hz, the program will suggest a better RIT value for you to use.

5. The amount of programmed frequency spread of your transmitted signal (the "Dither" magnitude) can be set to any value in the range 0 to 500 Hz. It defaults to 50 Hz.

6. Instead of accumulating average echo parameters indefinitely, you can set a parameter "Tavg" that specifies a time constant for averaging. The default value is 5 minutes; at this setting the average echo spectrum will build up as before for the first 5 minutes, but thereafter it will track the signal characteristics over the most recent 5 minutes. In other words, the average gradually "forgets" the signals received more than Tavg minutes ago. Setting Tavg to a large number, say 999 minutes, will closely approximate the program's previous behavior. If you can detect your EME echoes easily and want to see how they vary with time, you might set Tavg to 1 minute, start a "Measure" sequence, and take down the signal level readings at one minute intervals.

7. Information sent to the main text window every 6 seconds now accumulates, with the text window scrolling as necessary. The output is also (optionally) written to file DECODED.CUM so that you can study the data later.
Other miscellaneous improvements and bug fixes include the following:

8. In JT44 mode, if the "Grid" box is left empty then no EME Doppler shift will be displayed.

9. The minimum "Dsec" increment has been reduced from 1 second to 0.5 second. This will permit more precise on-the-fly correction of the Windows clock for use by WSJT, should that be necessary.

10. JT44 messages are always exactly 22 characters in length, and any additional characters are ignored. To make this behavior more obvious, any excess characters are now visibly removed from the screen when transmission of a message begins.

11. In Version 2.3.0, hitting the F4 key while in echo mode would cause the program to crash. Fixed.

12. Switching between modes could cause the Auto Period button to be stuck in the disabled or "grayed out" state. Fixed.

13. The last character in a manually edited FSK441 message was not sent if the default trailing blank and "<" character were erased. Fixed.

-- 73, Joe, K1JT

Version 2.3.0

This release of WSJT is the first to include the EME Echo mode. This mode allows you to detect and measure your own lunar echoes, even if they are far too weak to hear. The mode can be highly useful for evaluating your station performance, even if you prefer to use CW rather than JT44 for your EME QSOs.

Version 2.2.2

This is a minor maintenance release.  In addition to a short update file, UPD222.EXE, a full distribution of
WSJT Version 2.2.2 is available as WSJT222.EXE.

I had thought that Version 2.2.1 had already fixed a sometimes baffling bug appearing in earlier versions: if WSJT was terminated when in its "minimized" state, it could get "stuck" on your Windows taskbar and refuse to return to a full size display.

It's not always easy for me to test program revisions on all available versions of Windows, and it seems that the V2.2.1 fix did not solve the problem on at least some versions of Windows 98.  This time, with
V2.2.2, I believe it's *really* fixed!

If WSJT is stuck in the minimized state you should fix it as follows, and then upgrade to Version 2.2.2:

  A) Start WSJT.  It should appear in minimized form on the taskbar at
  the bottom of your screen.

  B) Right-click on the WSJT taskbar label and select "Move".

  C) Press the "left arrow" and/or "up arrow" keys a few times and
  then move the mouse.  You should start to see a "dotted frame"
  indicating the location of the WSJT screen.

  D) Click the left mouse button, and you should be back in business.

Then you should download and install UPD222.EXE and upgrade your system to Version 2.2.2.

Version 2.2.1

This is a minor maintenance release. In addition to the short update file, a new full distribution of WSJT Version 2.2.1 is available, as well as a new version of the manual addressing the new program features.

Version 2.2.1 fixes the following minor bugs in Version 2.2.0:

1. When first started without a valid INI file, the v2.2.0 would fail to "Generate Std Messages" when asked to do so. Once you have switched modes, say from FSK441 to JT44, the program worked correctly.

2. Local hour angles greater than 180 degrees are now displayed as negative angles.

3. If you did not check the menu item "File | Save text in File DECODED.CUM", the v2.2.0 would create an unwanted file named "fort.21" and write all decoded JT44 text there.

4. If WSJT was terminated when in the "minimized" state, it could get "stuck" on your Windows taskbar. If you are stuck in this mode you should fix it as follows, and then upgrade to Version 2.2.1:

A) Start WSJT. It should appear in minimized form on the  taskbar at the bottom of your screen.

B) Right-click on the WSJT taskbar label and select "Move".

C) Press the "left arrow" and/or "up arrow" keys a few times and  then move the mouse. You should start to see a "dotted frame" indicating the location of the WSJT screen.

D) Click the left mouse button, and you should be back in business.

As always, I will be pleased to receive comments and suggestions at email address Please note, however, that I will be on vacation and not reading email from July 7 through 21.

-- 73, Joe, K1JT

Version 2.2.0


WSJT Version 2.2.0 provides several significant enhancements, a number of smaller improvements, and four minor bug fixes.

To upgrade to v2.2.0 you should download the self-extracting zip file UPD220.EXE and execute it to extract its contents, directing the resulting files to your WSJT installation folder.

The new version includes the following changes:

1. The JT44 mode now has an adjustable parameter called "Clip." It can be controlled with +/- buttons just below analogous ones for the "Sync" parameter. The value of Clip defaults to 0, where it has no effect. By increasing Clip to 1, 2, or 3 you can introduce "soft," "moderate," or "hard" clipping of any sudden increases in signal strength that might ruin the decoding of an otherwise usable signal. I have found that setting Clip to 2 or 3 permits me to use JT44 in the presence of summertime QRN that renders v2.0.1 useless. Clipping also helps to accommodate occasional meteor pings in a JT44 QSO, recovering the program's ability to synchronize on a weak residual signal. You can leave the clipping turned on; note, however, that using hard clipping on a signal that does not require it can cost you about 1 dB in message S/N. I recommend generally leaving Clip set to 0 and increasing it only when necessary.

2. JT44 mode has a new checkbox labeled "Zap Birdies." It does just what you would hope such a command would do -- and it can turn a totally spoiled signal into good copy! (In the upgrade file I've included an example wave file recorded via EME from W7FG, in the presence of a strong birdie at my station. To become a believer, try decoding this file both with and without "Zap Birdies" checked. He was sending me the message "K1JT W7FG EM26 ".)

The Zap algorithm works best with birdies that are steady in both amplitude and frequency. A sure indicator that you have a birdie problem is a persistent extra spike (or spikes) in the red-line plot, in addition to the one corresponding to the JT44 sync tone. If the birdie is higher in frequency than the sync tone by 20 to 465 Hz, you will probably see a number of identical garbage characters in the line of decoded text. If this happens, check the "Zap Birdies" box and hit "Decode Again", and your copy should improve.

Do not expect miracles! Keeping birdies out of your receiver or QSYing to avoid them will always work better trying to deal with them in software. Nevertheless, this birdie-killer can make the difference between a successful QSO and one that fails miserably.

3. The JT44 mode has a second new checkbox labeled "Fold Msg." For messages having identical content in the first and second half, this feature can yield a signal-to-noise improvement of 1.5 dB. The JT44 default message formats have been modified slightly to maximize the opportunities for useful message folding. For example, if K1AA is working G2ZZ, the first EME-style message will now be generated as "G2ZZ K1AA G2ZZ K1AA ". (Notice the two spaces in the middle of the message and at the end.) If the "Fold Msg" box is checked, the message will be decoded simply as "G2ZZ K1AA ". Try decoding a marginal signal both with and without the "Fold Msg" box checked. QSB conditions might make one or the other preferable at a particular time.

4. In WSJT versions 2.0.0 and 2.0.1 the JT44 decode algorithm produces a single-character average of the last four character positions in a message. In Version 2.2.0 the averaging limit has been changed to equal the number of "O" characters (for EME messages) or "R" characters (for non-EME messages) at the trailing end of default TX message #2. For example, if clicking "Generate Std Texts" produces "G2ZZ K1AA OOOOOOOOOOOO" for message #2, the program will produce a single-character average based on the last 12 received character positions. This choice gives you the best possible chance of properly
decoding an "O" or "R" report in message #2, and it also gives you a good chance at snagging the "RRRRRRRRRRRRRRRRRRRRRR" message under very marginal conditions. For steady signals the procedure can yield a 5.4 dB S/N advantage over single characters and a 2.4 dB advantage over the four-character average.

5. WSJT now remembers whether you were using FSK441 or JT44 mode when you last exited the program. On startup it restores the most recently used mode, including values of W, S, and Sync, as appropriate.

6. All decoded text in JT44 mode is now written to the cumulative file DECODED.CUM. In previous versions of WSJT, text was saved only in FSK441 mode.

7. The default Sync setting in JT44 mode is now 1 rather than 2. I believe nearly everybody runs with Sync = 1.

8. WSJT v2.2.0 is more complete and more consistent about saving information about the starting directory and the form size of the "File | Open" dialog box.

9. The displayed azimuths for "Hot A" and "Hot B" (direction headings to use for optimal sporadic meteor reflections) now wrap correctly at 0 and 360 degrees. You will no longer see, for example, values like
368 or -8 degrees if you are working someone to your north.

10. In JT44 mode the program now displays the local hour angle of the Moon, in degrees. You will appreciate this if you have a polar mounted EME array.

11. The UTC Offset may now be specified as a floating-point number -- that is, with significant digits after a decimal point.

12. The count of available records displayed in the average message window behaved illogically when "Decode Again" and "Include" were used. This has been fixed.

13. There was a bug in the JT44 display routine that caused error messages to appear when the moon's right ascension was very close to 00:00. The error could appear at most once a month, and it would persist for an hour or so. The bug has been fixed.

14. There was an apparent logical inconsistency in program behavior if "Exclude" was clicked after "Clear Avg" had been executed. This has been fixed.

15. In V2.0.1 if you hit F8 more than once and then hit F7, the "Width" parameter in FSK441 mode would be set to 200 ms. This has been fixed.

Version 2.0.1
This is a minor maintenance release.  Principal changes from Version
2.0 include the following:

1. The installation scripts for both the full installation and the
   upgrade to v2.0.1 are more robust and much easier to use.
2. The decoding parameters for FSK441 mode are saved correctly after
   you have used JT44 mode.
3. The controls for "Decode Again", "Include", and "Exclude" are now
   fully available during the Tx period.
4. Certain colors (e.g., the backgrounds of a few labels) now display
   better on older machines. 
5. The background colors behind certain Tx messages in JT44 mode
   have been corrected.
6. The manual has been updated to conform with the new installation
   scripts, and a number of other small changes (mostly correcting
   typos) have been made.
7. The Tab key now moves the focus between various on-screen controls
   and text boxes in a rational way.

Version 2.0
A major new release of WSJT, Version 2.0 is now available for free
download.  Instructions for upgrading and for new installations can be
found at

What's new in Version 2.0?
The JT44 mode for extreme weak signal work was first introduced in
beta release 1.8.0.  This mode has now matured, the program is stable,
and tons of EME QSOs (among others) are being made with it.  New
features and fixes in Version 2.0 include the following:

1. Full monitor mode with separate averaging of 1st and 2nd sequences.
2. Mouse-selected value of DF for decoding when "Freeze" is checked.
3. Program is much faster at certain critical points, and now runs
   reliably on a 75 MHz Pentium with 24 MB of RAM.
4. The dreaded "always starts minimized" bug has been fixed.
5. Certain dates (such as "2002 VIII 21" now display properly in
   machines configured for European format.
7. A number of other small niceties.

What's new in WSJT v1.9.4:

1. Fixed a bug that caused short TX sequences.
2. Fixed a bug that caused program crashes after program runs for an hour or so.
3. Fixed a "Run Time 6 Overflow" that sometimes occurred on JT44 startup if the lookup grid field is left blank.
4. Disabled any editing of the active TX message box.
5. Fixed a potential loss of program state if the FSK441/JT44 mode is switched while running.
6. Made it impossible to run one version of WSJT.EXE together with a different revision of WSJT1.DLL. (In the past this has caused a few people grief until they figured out what they were doing wrong.)
7. Fixed a bug that could cause a program crash if DT was found to be < - 1.5 s or > +3.7 s.
8. Fixed the "Lookup" command so that it works even if you have only a 4-digit grid entry in the CALLSIGN.TXT file.
9. Added a box labeled "Freq" on the "Setup | Options" page. This sets the active frequency band so that lunar Doppler and sky background temperatures can be calculated.
10. Implemented a long-awaited feature that permits directing the TX audio to the Left, Right, or Both channels of sound card output. This will please W8WN, N0UK, and WB5APD's dog, I believe.
11. Created a new EME message format for JT44 mode, based on the conventions used for other EME work. The messages read as follows for K1JT calling W8WN:

1. W8WN K1JT
5. 7373737373737373737373
12. For non-EME uses of JT44 the following message formats are recommended, and are presently the defaults:
1. W8WN K1JT FN20
4. 7373737373737373737373
5 (blank)
13. To take full advantage of the new formats, several kinds of message averaging are now provided. The first two were already available in v1.9.2. A single character at the right edge of the decoded line represents the average of the last four character positions of the 22-character message. The full-text average from multiple RX sequences appears in the smaller text window. Averages are also now provided of all of the odd-numbered character positions and all of the even-numbered character positions in the message. These will be very effective in decoding the "RORO...", "RRRR...", and "7373..." sequences. The resulting pair of characters appears just to the left of the "last-4-positions" character. If the WSJT system succeeds in syncing up on the other station, and he's sending you JT44 standard messages #3, 4, or 5, you will most likely see the message decoded correctly in these averages. The S/N advantage of the "odd" and "even" characters is on average about 5 dB better than for single characters in an arbitrary message.
14. Buttons labeled "Include" and "Exclude" have been added. The first will force the most recently decoded RX file to be included in the accumulating average, even if it did not exceed the specified "sync" limit, if the signal strength was greater than -32 dB. The Exclude button forces removal of the present RX file from the average, even if it has satisfied the Sync and strength limits.
15. A pop-up "Tool Tip" has been added so that if you hold the mouse pointer over the "To Radio" box, the full entry for that station in the CALLSIGN.TXT file will be displayed. (More precisely, this works for the callsign most recently looked up in the database.) Use this feature to look up the other station's name, state, email address, power output on each band, etc. Other Tool Tips have been added, too. Try holding the mouse pointer over most controls to see what they do.
16. When WSJT has properly synchronized to one of the other station's transmissions -- i.e., it has decoded a recognizable portion of the transmitted message -- you may check the box labeled "Freeze" to tell the program it need not search the whole +/- 600 Hz range of DF in subsequent transmissions. The actual range may be set with the "Tol" parameter, similarly to its use in FSK441 mode. Among other advantages, this can help to combat birdies. Further enhancements of these features are planned.
17. New Shortcut Keys have been added for a number of menu items.
18. Solar and lunar coordinates have been checked and are believed to be accurate to within about 0.03 degrees. For the astronomically inclined, these are "topocentric" coordinates, including lunar perturbations. They do not include atmospheric refraction.
19. Values of Tsky come from a well-calibrated map of the full sky at 408 MHz with 1-degree resolution. The values are scaled to your specified frequency according to a frequency^(-2.6) power law. They are highly localized sky temperatures, and do not include the effect of an antenna's "averaging" over its full beamwidth and sidelobes.
20. The figure labeled "dB" is the additional path loss caused by increased distance when the Moon is more distant than at perigee.
21. "Dgrd" is an estimate of total S/N degradation caused by increased path loss and by Tsky being larger than a nominal minimum for the specified frequency. A default receiver noise temperature of 80 K has been assumed. The actual degradation will be different for every station, depending on many details of the antenna, RX feedline, and preamplifier.
22. The displayed Doppler shift is the two-way EME Doppler for your own echo. The correct value of shift for the other station, received at your station, will be slightly different. I am not yet sure about the accuracy of the Doppler shift as calculated, but will look into it further.
Please let me know of any problems you find with v1.9.4, and also of your successes with it.
-- 73,
Joe, K1JT

March 12, 2002
If you downloaded an early edition of BETA192.ZIP -- before about 1800 UTC on March 12, 2002 -- you will need to rename the file  TSKY.BIN to TSKY.DAT. This has now been fixed and only the correct file TSKY.DAT is distributed. 

Beta Release 1.9.2
Version 1.9.2 replaces versions 1.9.0 and 1.9.1. It has all of the new features described below for those versions, corrects several known bugs, and appears to be stable and efficient. What more could you want? To upgrade from any older version you need to do the following. Download

Unzip it into a convenient directory and replace your existing files WSJT.EXE and WSJT1.DLL by the new ones extracted from the ZIP file. In addition, copy the file TSKY.DAT into the directory where WSJT.EXE resides. It is no longer necessary to delete your old "INI" file. Be aware that the lunar Doppler calculation has not yet been implemented. I believe that the solar and lunar coordinates and the sky temperature at 144 MHz should be accurate when the Moon is above the horizon. When the Moon is not visible Tsky is set to 0. Please let me know of any problems you find with v1.9.2, and also of your success with it. -- 73, Joe, K1JT

Beta Release 1.9.1
Notice added late on March 10: several of us have found some problems # # with the JT44 mode in version 1.9.1 of WSJT. If you're not into # # messing with none-too-stable software, you may want to wait for a few # # bug fixes. Hope it won't take very long. -- K1JT #
Version 1.9 is very close to being a full-blown Version 2 of the WSJT software package. This will be a major new open release. For now, let's consider v1.9.1 to be still beta-release software. I will be very grateful for your comments and suggestions on the new features. Here's a summary of what's new: 1. Many menu items and on-screen controls now have shortcut keys. 2. The directory accessed by "File | Open" should be properly remembered under all circumstances. 3. New features in FSK441 mode: - The buttons for adjusting the "Expected DF" have been removed. As far as I could tell, no one found them useful. - Instead, there is now an adjustable parameter for QRN reduction (see below). - The state of the "Alternate graphical pointer" flag is now preserved when the program is restarted. - The "Tol" (frequency tolerance) parameter now changes in incremenmts of +/- 50 Hz. - The right mouse button now decodes multi-tone signals only. - Bug fix: you should no longer see the occasional decoding of phantom invisible pings of width 1000 ms and strength 6 dB. - Bug fix: the time, width, and signal strength of pings selected by the mouse are now reported as for any other decoded signal. 4. New features in JT44 mode - Time synchronization now accommodates clock offsets DT ranging from -2 to +4 s. - Message averaging has been implemented and seems to work well. - There is now an adjustable limit for the minimum acceptable "Sync" level. Signals below this limit will not contribute to the average message that is accumulating. - Solar and Lunar coordinates and the sky background temperature (at 144 MHz) in the direction of the Moon are now displayed on screen. NB: the listed Doppler shift is currently a place-holder only. - The program can now be run on machines with slower CPUs. You won't like it as well as a snappy 1.5 GHz screamer, but an old 100 MHz Pentium will work. - Bug fix: signal strengths are no longer occasionally displayed as -99 dB.
To upgrade to version 1.9.1 you must download the file
Unzip it into a convenient directory and replace your existing files WSJT.EXE and WSJT1.DLL by the new ones extracted from the ZIP file. In addition, copy the file TSKY.DAT into the directory where WSJT.EXE resides. It is no longer necessary to delete your old "INI" file. QRN Parameter: The new adjustable parameter for QRN reduction in FSK441 mode defaults to a value of 5. Larger values will provide more discrimination against ping-like signals that may not be real pings; smaller values are more tolerant. A value of zero will accept nearly any spike and try to decode it. Previous versions had this parametere hard-wired to a value of about 7, which turns out to have been too high -- at least for wintertime conditions -- and caused many perfectly good pings to go undecoded unless you clicked on them with the mouse. Message averaging can get you another 6 or 7 dB in signal-to-noise ratio in 20 minutes of averaging. Received signals that produce "Sync" values greater than a specified limit will be included in the average. The default limit is 2, and this value can be achieved even if the signal strength is around -27 dB. Note: A few people downloaded v1.9.0, which had a problem opening the "sky background temperature" file TSKY.DAT. That problem should be fixed in v1.9.1.

Beta Release 1.8.1
This is a minor bug-fix release. It includes the following: 1. Fixed several problems that could make upgrading between versions frustrating. 2. Fixed the "RunTime Error 53, File not found" error. 3. Fixed a bug that cometimes caused the T/R period to be reset to 0. 4. You no longer need to remove the old INI file when upgrading between versions. In addition, for purposes of testing the JT44 mode I've allowed it to print a text line for each 30-second RX interval, whether or not "sync" has been achieved and anything has been detected. My advice is to ditch v1.8.0 and upgrade to v1.8.1. You'll be glad you did.
Download the file
and follow the general instructions below for upgrading. It is no longer necessary to delete the old INI file when you upgrade. Message averaging for JT44 is next on the To Do list.

Beta Release 1.8.0
This is a major upgrade from beta release 1.5.4 (also known as 1.54). There are no significant changes to the FSK441 meteor scatter mode; JT43 has been replaced by an entirely new mode called JT44, which has similar goals but much better performance. You can download v1.8.0 from
and install it in the usual way for all WSJT updates. Save your old copies of WSJT.EXE and WSJT1.DLL, in case you need to go back to them. Then copy the files extracted from the ZIP file into the locatiions where WSJT.EXE and WSJT1.DLL had been. Upon initial startup, be sure to enter your station parameters in "Setup | Options" and be sure that a valid period (usually 30 seconds) is entered in the T/R Period box. Unlike JT43, the new JT44 mode is *not* compatible with PUA43. JT44 transmits 22-character messages and uses 30-second TR sequences. Slightly more than half of the transmission time is devoted to sending a sync tone at a fixed frequency of 1270.5 Hz. This tone is keyed on and off in a pseudo-random pattern designed to permit accurate time and frequency synchronization. In practice, the program seems to lock easily onto signals as weak as -20 dB relative to the receiver noise in a 2500 Hz bandwidth. A fixed-length 22-character message is sent in the remaining 50% of each transmission interval. This means that 1.5 dB of theoretical sensitivity has been sacrificed to the goal of having robust time and frequency synchronization, which seems to be a good trade-off. Characters may be selected from the same 43-character "alphabet" of as that used in FSK441, PUA43, and the now-obsolete JT43 . Each of the 43 characters has its own specific tone. The tones are spaced from each other by about 10.77 Hz, and together with the 44th tone (the "sync" tone) they run from 1270.5 up to 1755.0 Hz. This narrow spread means that even if TX and RX are offset by up to 600 Hz in either direction, the full range of tones can still be included in your radio's SSB passband. Each tone interval lasts for exactly 2048/11025 seconds, and the entire 22-character message is repeated three times in a single transmission. Transmitted tones start about 1 second into the 30-second TX interval, and they finish about 25.1 sec later. One of the big improvements of JT44 over JT43 should be its ease of synchronizing two stations properly in time and frequency. The program searches for time sync over the range -1 to +4 seconds. A new parameter called DT measures the time offset between computer clocks. The allowed range for DT is asymmetric about zero so that the extra EME delay of up to +2.7 s can be accomodated without problems. In like manner, the program searches for frequency offset over the range -600 to +600 Hz. This range should be enough to accommodate most of today's radios, at least up through the 144 MHz band. There should be no need to use RIT or to "tune the other guy in" to achieve a small DF. As long as you're within +/- 600 Hz, the program should handle everything automatically. The mouse doesn't do anything in JT44 mode. In fact, this is pretty much a "hands off" mode, as presently implemented. There is no message averaging at present, except that an average of the last four characters of the 22-character message is presented at the right edge of each line of decoded text. This simple averaging facilitates getting the necessary RRRs to complete a difficult QSO. Since the time and frequency synchronizing seems to work well, I will soon put real message averaging back into the code. With the code as presently distributed, messages seem to decode reliably down to signal strengths of -15 to -18 dB. I probably made the "gibberish filter" too hard too please; if the signal is too weak, you'll get no line of decoded text. I will probably put in a user-selectable print limit soon. In the graphical display area, the green line is the same as in FSK441 mode: a plot of signal strength versus time over the 30-second RX interval. The red line summarizes the attempted synchronization with respect to frequency offset. The horizontal scale runs from -600 to +600 Hz, with yellow tick marks at the top indicating 200-Hz increments. The blue line is the corresponding information for time synchronization. For this purpose the scale runs from -1 to +5 seconds, with the yellow tick marks denoting 1-second intervals. The blue line does not go all the way to the right-hand edge because the maximum positive time offset is only about 4 seconds. NB: properly synchronized data will show a narrow spike in the red curve and a somewhat broader spike in the blue curve. A spike in the red curve only probably means you have a birdie in the passband. All suggestions for more or better operational features will be very welcome! Please send email to -- 73, Joe, K1JT

Beta Version 1.5.4
Can be downloaded from
Its improvements over v1.52 (see below) are in the COM port handling. Entering zero for the COM port number now disables all T/R switching through the COM port.

Beta Version 1.5.2
Version 1.52 introduces some improvements in the JT43 mode. They are minor in a sense, but they do seem to make a big difference in getting the program to find the corect DF and "lock up" on a received signal. A number of additional improvements are sketched out in my notebook but I have not yet had time to implement them. Owing to screams of protest after its removal, the "Save Last" button has been restored on the main screen. The JT43 test file WD4KPD_011028_2150.WAV is no longer bundled into the ZIP file; instead, you can download it separately from the URL
Version 1.52 looks only for standard message #1 when doing its frequency search. More precisely, it looks for your callsign at the beginning of the message and the ......... filler at the end. Once you have found the other guy by seeing some recognizable decoded text on a line in the upper window, you should note the DF, hit the "Clear Ave" and "Decode Again" buttons to set the average message equal to the correctly (or partially correct) decoded line. You can continue averaging the message from there. It usually helps to freeze the DF, once you have it right, by clicking on the blue peak. But you may need to click again every few minutes in order to follow a slow frequency drift. I am working on ways to improve this. My on-the-air experinces that best exemplify the capabilities of this mode have been with W8PAT on 2 meters. John is 400 miles from me, and our respective signals are too weak to be able to work ordinarily on tropo. We work very easily in JT43 mode, however, and we can reduce power quite a bit (I think we went down to 15 Watts or so, but I can't find my notes) and still work easily. Beyone 600 miles or so, it is generally easier to work by using underdense meteor pings and the FSK441 mode. *Please*, if you have gained some experience using the JT43 mode, send me email summarizing how it has worked for you. What version(s) have you used? What distances have you worked successfully and tried unsuccessfully? What seems to work best for you in determining the other guy's DF, and keeping the program properly locked? Have you made good QSOs when you could not hear (or could barely hear) the other guy's signal, so that a CW QSO would have been impossible? This is new territory, so the more feedback I get, the more I should be able to improve the program! I append below the full text of the first JT43 announcement. -- 73, Joe, K1JT

Beta Version 1.50
Important! ---------- Please read all of the following before upgrading to WSJT v1.5. Preliminary Background ---------------------- This note is to bring to your attention some major new capabilities being incorporated into the WSJT software package. As you know, FSK441 -- the mode that brought WSJT its wide initial popularity -- is designed for high speed meteor scatter work. Such communications rely on the peaks of very brief signal enhancements. For good performance you need the highest possible throughput of information in pings that last only a fraction of a second. In the present context, these pings can be classified as "strong" signals -- by which I mean that you can hear them above the receiver noise in a 2500 Hz passband. For some time I have hinted at future implementation in WSJT of a weak-signal mode based on PUA43. This mode attacks the opposite end of the spectrum of signal strengths and degree of variability. Bob Larkin, W7PUA, designed the PUA43 mode to take advantage of a moderately slow transmission rate, 0.5 characters per second, together with coherent and incoherent integration techniques. PUA43 can yield excellent copy on signals 20 dB or more below the level of receiver noise. The mode works well with signals that are more or less steady in amplitude, at least for periods of some minutes. Appropriate propagation modes would include troposcatter, ionoscatter and EME. I have not yet decided exactly what the weak-signal slow mode in WSJT should be called. For the present I am tentatively naming it JT43, a name that has the advantage of plainly recognizing PUA43 as an original source of ideas, while also making clear that the mode implemented in WSJT is not the same in all respects. JT43 is closely modeled on Bob Larkin's sub-mode called PUA43-C28. It uses frequency-shift keying with 43 tones spaced at intervals of 37.5 Hz. All messages are 28 characters long, and they are transmitted at 0.5 characters per second during the first 56 seconds of a UTC minute. Each encodable character translates to one of the 43 possible tones, but the encoding algorithm includes a pseudo-random frequency shift that changes with each minute of the UTC day. This strategy is an important and highly effective method of combatting low-level birdies and other narrow-band interference. In some other respects JT43 differs significantly from PUA43. Some enhancements were necessary because the run-of-the-mill radios used by most VHF operators do not have the degree of frequency accuracy and frequency stability available with the home-made DSP-10 transceiver and its specialized hardware (see Bob Larkin's articles in QST for September, October, and November 1999). In its initial implementation, JT43 accommodates frequency offsets between transmitter and receiver up to +/- 300 Hz. Instabilities at the level of 5-10 Hz or drifts of a few Hz per minute should be acceptable as well, with some loss of sensitivity. These relaxed specifications should help to make the JT43 mode usable with most existing equipment. I hope and intend that it will be possible for a station using JT43 to work a station using PUA43-C28, so in that sense the modes will be compatible. Right now I have no way of testing that capability, as I do not have access to a DSP-10. Changes in the FSK441 Features of WSJT
1. The meteor-scatter features and capabilities of WSJT have not been changed significantly. Nearly all features of the user interface and program operation will be completely familiar to existing users.
2. The "Save Last" button has been removed. I don't think anyone used it very much; all too often, the file you might have wanted to save had already been erased, a few seconds earlier, when the next recording interval began.
3. The "Save All" function has been changed from an on-screen checkbox to a item on a new "Save" menu. I will probably add a second selection on that menu called "Save Decoded" that will save only those files producing some decoded text. Introduction to the JT43 Mode
To copy a CW signal you need to be able to hear it in real time, and this means that the signal needs to be at least several dB above the noise level. The human ear/brain combination can narrow the effective passband to something like 200 Hz, permitting a good operator to copy CW at something like 6-8 dB below the noise in an SSB transceiver's 2500 Hz passband. JT43 uses coherent integration techniques to achieve bandwidths in the 1-10 Hz range, thereby gaining another 13 to 23 dB in sensitivity beyond CW. JT43 is a "slow" mode, but not "ultra-slow": it achieves a respectable throughput of 28 characters per minute by encoding every transmitted character as a distinct tone sent for exactly 2 seconds. Each detectable signal element becomes a full character, rather than a "dit" or "dah" in a Morse code sequence. JT43 also provides for incoherent integration to increase sensitivity even further. For every doubling of integration time, theoretical sensitivity is increased by another 1.5 dB. In other words, if you are able to copy a signal 20 dB below the noise in one minute, theory says you should be able to reach -21.5 dB in two successive one-minute transmissions of the same message, and -23 dB in four minutes. What will these things mean in practical circumstances that include imperfect frequency calibration, frequency drifts, weak birdies and occasional QRN? What gains in sensitivity will actually be achieved? I very much look forward to learning the answers to these and other questions about
Right now what is needed is more on-the-air experience. You will be interested, however, that my early tests have been extremely encouraging. For example, ten days ago I recorded a number of one-minute transmissions from WD4KPD over a 360 mile path on 2 meters. David was running 40 W and we both have single yagis, his at 25 feet and mine at 45 feet. His signal was barely audible on QSB peaks, and at best would have required many repeats to be copyable on CW. In many of the one-minute transmissions I heard nothing at all from him. Nevertheless, with JT43 the copy was very close to 100% over 40 full minutes of testing. If you can usually work another 2 meter station at 350 miles on CW, you should be able to work a similar one at 500 miles with JT43. There should be no need to wait for tropo enhancements, aurora, or whatever. Beyond that distance, of course, WSJT with the FSK441 mode will get you out to 1100-plus miles by using meteor scatter. With a combination of the two modes, you should be able to work half the continent with a modest station -- that's around 500 grid squares, if you are not on the coast! Similat arguments apply to the other VHF bands. Enough advertising for now! Suffice it to say that I think JT43 could be a very interesting mode. Operational Details for the JT43 Mode
 1. Meteor-scatter contacts need to be synchronized so that one station is listening when the other one is transmitting. A second or two of clock error is not devastating, however. With JT43 the requirements are much more stringent. Your computer clock needs to be synchronized with UTC to within half a second, and preferably a tenth of a second or better. If you have web access, one of the best ways to achieve accurate timing is to download a free utility program called "Dimension 4" from
and run the program before starting any sked. If you are fortunate enough to have continuous web access, just leave Dimension 4 running all the time, and your computer clock will remain accurate to about 0.05 seconds.
2. JT43 needs to be very tightly scheduled in its internal operations, as well. As a consequence the only way to transmit is to toggle "Auto Period On", leaving all T/R switching to the computer. Transmission and reception periods always start at 00 seconds of a UTC minute, and the T/R period is always 60 seconds. For sequence ordering I strongly suggest that the same convention be used as with meteor scatter, so that (in North America) the westermost station transmits "first," taking the even minutes (00, 02, ...) of each hour.
3. At 56 seconds into a reception period, WSJT does a computation that defines the audio file for the following minute's transmission. T/R sequencing begins at 58 seconds into the minute. All switching transients should have died out by 00 seconds, when the next transmission or reception interval begins.
4. To enter into the JT43 mode, select menu item "Mode | JT43". You should then see several changes in the familiar WSJT screen. The large box for decoded text will divide itself into two parts, and the default standard messages change to a format better suited to JT43 communication. In addition, the status of several controls changes from enabled to disabled ("grayed out"), or vice-versa. The purposes of a few other buttons become different, as well.
5. A word about the default message formats for JT43 will be useful here. Neither the message formats used in meteor-scatter QSOs nor the logical "flowchart" used to determine when to step to the next message is well suited to a slow integrating mode like JT43. The signal-to-noise ratio of a JT43 conversation builds up during successive receiving periods, so it does not make much sense to send an ordinary signal report or to delay sending part of the essential information (other than "Rogers") until sometime in the middle of the QSO. I have therefore defined standard messages that contain both callsigns and the transmitting station's 4-digit grid locator, followed by "filler characters" to pad the message to 28 characters. Message #1 in a QSO sequence uses period (.) as the filler character. Message #2, to be sent when you have copied message #1 from the other station, uses "R" as the filler. Message #2 still contains both calls and your grid, because even though you have copied his information, he may not yet have copied yours. When you received "RRRR..." from the other station you proceed to message #3, which contains both calls followed by "73 73 73 73 73". These standard message formats help to give JT43 its very important capability of acommodating an unknown frequency offset between transmitter and receiver, even when the offset is much larger than the 37.5 Hz separation between tones. The WSJT program knows that in a minimal QSO the first part of a standard message sent to you should contain your callsign, and the last part should contain either ".........", "RRRRRRRRR", or "73 73 73 73 73". A full search is made over +/- 300 Hz of frequency offset for messages of one of these forms, and a "combined spectrum" of the transmitted message is computed relative to each expected message. At the end of each reception period the combined spectrum is plotted as a blue line in the large plot area, just above the green line that is familiar to WSJT users. Yellow tick marks at the top indicate 100 Hz intervals from -300 to +300 Hz, left to right. 6. When you receive a properly decoded standard message, the blue-line spectrum will show a narrow peak that looks something like a ping on the green line. Its location relative to the center of the plot area indicates the frequency offset DF. For example, if DF = 100 Hz, you should see a peak in the blue line under the first yellow tick to the right of center. If the received text is recognizable you may click on the blue spectral feature, effectively "freezing" DF to a value corresponding to the location of the pointer.
The frozen DF value will appear in the last status bar panel, at the lower right of the screen. Subsequent received files will no longer need to be searched to find the correct frequency offset. To re-enable offset searching, you can set DF back to zero by clicking the "DF 0" or "Reset Defaults". 7. Decoded text appears in the usual scrolling window and also in the smaller window below the first one. The second window displays the "average" message, and it will typically increase in accuracy as a message is repeated in subsequent minutes. Pressing "Erase" clears the main text area, as in the FSK441 mode. Pressing "Clear Ave" clears second text box and the averaging buffer, so that averaging can start over. 8. Some information provided on the decoded text lines has slightly different meaning than in FSK441 mode. Since receiving intervals always start on an even UTC minute, the time is given in HHMM format.
The parameter denoted as "T" gives the total integration time for the decoded message; this number is always 1 in the upper window. "Width" gives the width of the selected spectral feature in the blue-line display. Typically it should be 10 Hz or less, and in general smaller is better. (Very rapid QSB, doppler shifts, oscillator drifts, and other effects can cause the width to increase.) The next column gives relative signal strength in dB -- supposedly relative to the total receiver noise, but I haven't calibrated the numbers yet.
DF is the relative offset between transmitter and receiver, exactly the same meaning as in FSK441 mode. It says nothing about which oscillator is "off" in calibration, but it should give the measured difference to an accuracy about equal to width/2. The decoded text comes next, with a full 28-character message. Finally, at the right-hand side under the label "Freq" for the smaller plot area, a single character is listed indicating which one of the standard filler characters has been detected. Messages #1 and #2 are shown as "." and "R", while message #3 is shown as "7". A fourth filler character is also allowed based on the last part of the message being left blank. The blank filler is indicated by the "_" (underscore) character. 9. The decoding parameters W, ST, and Tol used for meteor scatter are de-activated in JT43 mode. Parameter S is interpreted to mean "smoothing" in JT43. All computed spectra are smoothed with a running average of S frequency bins, with one bin nearly equal to 1 Hz. In general you should leave S set at a low value, say 3 or 5, for maximum sensitivity (it is always an odd number).
If you see messages decoded with W larger than about 5 Hz, you may get improved copy by increasing S to slightly larger values. 9. As presently implemented there is one glaring deficiency in JT43 that will slow down QSOs. Suppose station A transmits first. Station B may copy the transmission perfectly, but will not know that the copy is good until his own first transmission has already started. You can't change a TX message once the transmission is started, so station B needs to wait a full 2 minutes -- his transmission, followed by station A's transmission -- before he can send message #2. I will improve this situation by the next release. Request to Beta Testers ----------------------- The JT43 mode in WSJT v1.5 is early beta-release software. The new mode has had very little on-the-air testing. Your comments, criticisms, and suggestions will be greatly appreciated! As usual, please send them to And Finally ... --------------- Here's what to do if you want to take part in beta-testing the JT43 mode of WSJT v1.5 1. Download the file BETA150.ZIP. You will need to point your browser explicitly to, and note that it is case sensitive. The file is "invisible" and has no evident link on the WSJT download page. 2. Unzip the downloaded file in a convenient directory such as C:\TEMP. 3. Make backup copies of your installed files WSJT.EXE, WSJT1.DLL, and WSJT.INI, or move them to another directory. 4. Delete your present file WSJT.INI 5. Copy the new versions of WSJT.EXE and WSJT1.DLL into the directories where the previous versions were. 6. Start WSJT and re-enter your station information on the "Setup | Options" page. 7. You should now be operational with WSJT version 1.5. 8. I suggest that you use File | Open to read in the test file included with the beta distribution, WD4KPD_011028_2150.WAV, while you are still in FSK441 mode. (You will first have to rename the file to the name just given; the zip utility probably mangled it to something else.) You will see that it is an ordinary looking recording of receiver noise; you'll hear nothing but noise if you play it back, and the waterfall spectrogram shows no signal either. Then switch to JT43 mode and press "Decode Again". David's signal gives 100% copy (at DF=45 Hz), some 12 dB below the receiver noise. -- 73, Joe, K1JT

If you would like to communicate with me about WSJT, please send email to
 -- 73, Joe, K1JT