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
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 wsjtrc.win. 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.
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.
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 http://developer.berlios.de/projects/wsjt/.
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
The present WSJT working group consists of:
Diane Bruce, VA3DB
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
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
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
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
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
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
4. If a CQ is transmitted in JT65 mode, the Sked box is automatically
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.
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
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.
COMMENTS ON SOUND CARDS
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
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
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
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.
PRELIMINARY INSTRUCTIONS AND COMMENTS
1. I suggest installing WSJT6 to a new directory such as
Files\WSJT6. After installation you will probably want
your version of the callsign database, CALL3.TXT, into the
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
window"; it is mainly used for debugging messages. You
minimize it and generally ignore it. You should,
there for messages if the program crashes (see also items 9
11, below). The other two windows are a Spectran-like
and the more-or-less familiar WSJT window. It is no
necessary or desirable to run Spectran simultaneously with
3. FSK441, JT65, and JT6M are all present and functional. I have
many QSOs with FSK441 and JT65, so I know they are working
JT6M has been tested somewhat less, but I have seen no
yet. EME Echo mode and the CWID feature are not yet
4. To start the real-time spectral display, click Monitor.
you can leave Monitor on all the time.
5. There are two ways to set the Rx Audio gain. You can call
Windows mixer as before, using the "Rx Volume Control" item
Options menu. There is also a digital gain control near
bottom right of the waterfall screen. You should aim
for around 0
dB, as before -- but with 16-bit audio sampling it is no
very critical. Use the "S-meter" at the lower right of
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
spectral display at speed "H1" or "H2" (speed is selected at
top of the waterfall screen). (The "H" means horizontal
scrolling.) Scrolling speeds "5" and "H2" use a lot of
so you may want to avoid them unless your computer is pretty
I generally use speed "1" or "2" for JT65 and "H1" for FSK441
7. When running FSK441 in the horizontal scrolling mode, the
display shows current data in the top half and the previous
sequence in the bottom half. The most recently decoded
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
2-dimensional spectral displays, or the accompanying green
You can click on the top half, the bottom half, or in the
screen's graphical area.
9. If you have more than one sound card, you can select the
one. Look at the startup messages in the console
should see a list of the available Audio devices and
about which one has been selected. If you wish to
selection, enter the desired device numbers on the
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
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
repeatable, open a Windows Command-Prompt window; CD to your
installation directory, and start the program from there by
"WSJT6". With this startup procedure, any subsequent
will remain visible. Please report any such messages to
12. You may find decoding to be slightly slower than with v4.9.x.
have not yet spent any time optimizing the new code for
will get faster when I turn attention to that task. If
an older computer you may wish to check the menu item
"Setup->Accelerated decoding", which will suspend updating
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
They list some useful keyboard and mouse commands that you
14. Be sure to explore all the menus and on-screen controls, and try
out the commands listed on the help screens. Until I
time to write a new manual, this is the best way to learn
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
You can set the "Freeze DF" value by clicking on the main
red curve (as in WSJT 4.x) or by clicking on the waterfall
the shift key held down. If "Freeze" is checked,
ticks will mark the selected sync-tone frequency and the
corresponding frequency of the highest data tone. Red
denote the frequencies of the RO, RRR, and 73 shorthand
16. WSJT6 can read and process WAV files produced by earlier versions.
The converse is not true, however, because earlier versions
WSJT are not equipped to read the 16-bit data files produced
17. When you click "Log QSO," a line with date, time, HisCall,
HisGrid, frequency, and mode is added to the file WSJT.LOG in
18. Every second, a short file named "c:\azel.dat" is updated with
time, moon and sun coordinates, frequency, doppler, and
rate information. This file could be used by other
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
1.0000. This number is the ratio of the soundcard's
sampling frequency to the nominal value, 11025 Hz. The
value should stabilize after the program has been running for
minute or so. If you see values less than about 0.9990
than 1.0010, please let me know about it and tell me what
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
use; if it does not, you may find this one better than
It can be helpful when short, impulsive noise spikes are
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
increase Clip above 0 just as you would have increased QRN
23. The "B" and "C" submodes of FSK441 have not been implemented.
far as I could tell, they were little used.
Let me call your attention to the online WSJT Forums hosted by DK5YA at
www.vhfdx.de/cgi-bin/yabb/YaBB.pl. 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
K1JT VK7MO R-27
(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:
VK7MO K1JT RO
VK7MO K1JT RRR
VK7MO K1JT 73
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
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.
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
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
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
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
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].
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
Version 4.6.0 of WSJT supports four principal operating modes:
FSK441: for meteor
JT65: for EME and
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
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
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
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
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
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
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
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
1.9 "Garbage filter" provided so that questionable decodes
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,
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
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
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
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
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,
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
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
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
(and tell me how). Also let me know if you find anything that
work as intended. I believe the present code behaves well and
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
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
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
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,
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
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
minimal facility for doing this.
5. The display screen for the EME Calc utility has been cleaned and
6. A few other small niceties, all minor in scope.
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
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
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.
-- 73, Joe, K1JT
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.
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
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
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
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 firstname.lastname@example.org. Please note, however,
that I will be on vacation and not reading email from July 7 through 21.
-- 73, Joe, K1JT
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
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
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
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.
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.
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 http://www.vhfdx.de/wsjt
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
2. W8WN K1JT OOOOOOOOOOOO
6. CQ K1JT CQ K1JT K1JT
12. For non-EME uses of JT44 the following message formats are
recommended, and are presently the defaults:
1. W8WN K1JT FN20
2. W8WN K1JT FN20 RRRRRRR
6. CQ K1JT CQ K1JT K1JT
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
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
Please let me know of any problems you find with v1.9.4, and also
of your successes with it.
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
- 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
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
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
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
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
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
Please send email to email@example.com.
-- 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
*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
Please read all of the following before upgrading to WSJT v1.5.
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 JT43!
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
Enough advertising for now! Suffice it to say that I think JT43 could
be a very interesting mode.
Operational Details for the JT43
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 http://www.thinkman.com/dimension4
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
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 firstname.lastname@example.org.
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
http://pulsar.princeton.edu/~joe/K1JT/BETA150.ZIP, 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 |
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
-- 73, Joe, K1JT
If you would like to communicate with me about WSJT, please send email to
-- 73, Joe, K1JT