mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-21 11:38:34 -04:00
1. Fix a bug that could cause decoder to hang when presented with
bad data. 2. Fix a bug that could allow a Koetter-Vardy false decode instead of a valid Berlekamp-Massey decode, sometimes leading to program crash. 3. Many more edits in the User's Guide, *.adoc files. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3664 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
fbe4a52f2f
commit
784e246557
@ -1,6 +1,6 @@
|
||||
// Status=review
|
||||
|
||||
The Band Settings tab allows you to set the default frequency and a
|
||||
brief description of your antenna for each amateur band. The antenna
|
||||
information will be included with reception reports to {pskreporter},
|
||||
if they have been enabled.
|
||||
The Band Settings tab allows you to set the default frequency and
|
||||
enter a brief description of your antenna for each amateur band. The
|
||||
antenna information will be included with reception reports to
|
||||
{pskreporter}, if they have been enabled.
|
||||
|
@ -1,9 +1,9 @@
|
||||
// Status=review
|
||||
- Start _WSJT-X_ and Select Configuration from its Setup menu. Enter
|
||||
- Start _WSJT-X_ and select *Configuration* from its *Setup* menu. Enter
|
||||
the following information:
|
||||
|
||||
* *Call Sign*: <Your Call Sign>
|
||||
* *Grid*: <Your Maidenhead Locator>
|
||||
* *Grid*: <Your Maidenhead locator>
|
||||
* *PTT method*: choose from RTS, DTR, CAT, VOX, or None.
|
||||
* *PTT port*: if you will use RTS or DTR, choose a serial port.
|
||||
* *PSK Reporter*: check to enable sending reception reports to the
|
||||
@ -54,16 +54,7 @@ any interface equipment turned on and connected before starting
|
||||
_WSJT-X_, and to exit the program before turning your equipment off.
|
||||
|
||||
- Click the *Test CAT Control* and *Test PTT* buttons to see that you
|
||||
have established the desired control of station functions. _ Select
|
||||
the devices you will use for Audio input and output.
|
||||
have established the desired control of station functions.
|
||||
- Select the devices you will use for Audio input and output.
|
||||
- Click OK to dismiss the *Configuration* window.
|
||||
|
||||
- _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz.
|
||||
To ensure that this will be so when running under recent versions of
|
||||
Windows, open the system's sound control panel and select in turn the
|
||||
*Recording* and *Playback* options. Click on *Properties*, then
|
||||
*Advanced*, and select “16 bit, 48000 Hz (DVD Quality).”
|
||||
|
||||
CAUTION: If you are using a sound card that is also the default device
|
||||
for Windows sounds, be sure to turn off all such sounds so they are
|
||||
not transmitted over the air.
|
||||
|
@ -5,24 +5,24 @@ use when making QSOs:
|
||||
//.Misc Controls Center
|
||||
image::images/misc-controls-center.png[align="center",alt="Misc Controls Center"]
|
||||
|
||||
* Select *Tx even* to transmit in even-numbered UTC minutes. Uncheck
|
||||
* Check *Tx even* to transmit in even-numbered UTC minutes. Uncheck
|
||||
this box to transmit in the odd intervals. This selection is made
|
||||
automatically when you double-click on a decoded text line as
|
||||
described in the Basic Operating Tutorial.
|
||||
described in the <<X5,Basic Operating Tutorial>>.
|
||||
|
||||
* Your audio Tx and Rx frequencies can be adjusted with spinner
|
||||
controls. These settings are usually handled automatically by the
|
||||
double-click procedure.
|
||||
* The Tx and Rx audio frequencies can be adjusted with spinner
|
||||
controls. These settings are usually set automatically by
|
||||
double-clicking on decoded text or on thw waterfall.
|
||||
|
||||
* The on-the-air frequency of your lowest JT9 or JT65 tone is the sum
|
||||
of dial and audio frequencies. You can force Tx frequency to the
|
||||
current Rx frequency by clicking the *Tx=Rx* button, and vice-versa
|
||||
for *Rx=Tx*. Check the box *Lock Tx=Rx* to make the frequencies
|
||||
always track one another.
|
||||
of dial frequency and audio Tx frequency. You can force Tx frequency
|
||||
to the current Rx frequency by clicking the *Tx=Rx* button, and
|
||||
vice-versa for *Rx=Tx*. Check the box *Lock Tx=Rx* to make the
|
||||
frequencies always track one another.
|
||||
|
||||
* The *Report* control lets you change a signal report that has been
|
||||
inserted automatically. Most reports will fall in the range –26 to
|
||||
+10 dB. Remember that JT65 reports cannot be greater than -1 dB.
|
||||
+10 dB. Remember that JT65 reports must lie in the range -30 to -1 dB.
|
||||
|
||||
IMPORTANT: When signals are close to or above 0 dB, you and your QSO
|
||||
partner should probably reduce power. JT65 and JT9 are supposed to be
|
||||
|
@ -2,6 +2,63 @@
|
||||
The following keyboard shortcuts give quick access to some
|
||||
frequently used program functions.
|
||||
|
||||
[horizontal]
|
||||
F1::
|
||||
Display online User's Guide in browser
|
||||
Ctrl+F1::
|
||||
About WSJT-X
|
||||
F2::
|
||||
Open the Setup >> Configuration window
|
||||
F3::
|
||||
Display keyboard shortcuts
|
||||
F4::
|
||||
Clear Dx Call and Dx Grid entries
|
||||
Alt+F4::
|
||||
Exit program
|
||||
F5::
|
||||
Display special mouse commands
|
||||
F6::
|
||||
Open next file in directory
|
||||
Shift+F6::
|
||||
Decode all remaining files in directory
|
||||
F11::
|
||||
Move Rx frequency down 1 Hz
|
||||
Ctrl+F11::
|
||||
Move Rx and Tx frequencies down 1 Hz
|
||||
F12::
|
||||
Move Rx frequency up 1 Hz
|
||||
Ctrl+F12::
|
||||
Move Rx and Tx frequencies up 1 Hz
|
||||
Alt+1-6::
|
||||
Set next transmission to this number on Tab 1
|
||||
Alt+D::
|
||||
Decode again at Rx frequency
|
||||
Shift+D::
|
||||
Full decode (both windows)
|
||||
Alt+E::
|
||||
Erase
|
||||
Ctrl+F::
|
||||
Edit the free text message box
|
||||
Alt+G::
|
||||
Generate standard messages
|
||||
Alt+H::
|
||||
Halt Tx
|
||||
Ctrl+L::
|
||||
Lookup callsign in database, generate standard messages
|
||||
Alt M::
|
||||
Monitor
|
||||
Alt+N::
|
||||
Enable Tx
|
||||
Alt+Q::
|
||||
Log QSO
|
||||
Alt+S::
|
||||
Stop monitoring
|
||||
Alt+T::
|
||||
Tune
|
||||
Alt+V::
|
||||
Save the most recently completed `*.wav'' file
|
||||
|
||||
////
|
||||
//.Keyboard Shortcuts
|
||||
[width="70%",cols="2,30",options="header",align="center"]
|
||||
|=====
|
||||
@ -34,3 +91,4 @@ frequently used program functions.
|
||||
|Alt+T|Tune
|
||||
|Alt+V|Save the most recently completed `*.wav'' file
|
||||
|=====
|
||||
////
|
||||
|
@ -7,9 +7,11 @@ left of the main window:
|
||||
//.Misc Controls Left
|
||||
image::images/misc-main-ui.png[align="center",alt="Mist Menu Items"]
|
||||
|
||||
* The drop-down band selector at upper left lets you select the
|
||||
* The drop-down list of bands at upper left lets you select the
|
||||
operating band and sets dial frequency to a default value taken from
|
||||
the *Default Frequencies* tab on the *Setup | Configuration* screen.
|
||||
If CAT control is active the radio's dial frequency will be set
|
||||
accordingly; if not, you must tune the radio manually.
|
||||
|
||||
* If you are using CAT control, a small colored square appears in
|
||||
green if the CAT control is two-way between _WSJT-X_ and your radio, or
|
||||
|
@ -8,38 +8,40 @@ image::images/main-ui-controls.png[align="left",alt="Main UI Controls"]
|
||||
* *Log QSO* pops up a confirmation screen pre-filled with known
|
||||
information about a QSO you have nearly completed. You can edit or
|
||||
add to this information before clicking *OK* to log the QSO. If you
|
||||
check *Prompt me to log QSO* on the *Setup* menu, the program will pop
|
||||
up the confirmation screen automatically when you send a 73 or
|
||||
check *Prompt me to log QSO* on the *Setup* menu, the program will
|
||||
raise the confirmation screen automatically when you send a 73 or
|
||||
free-text message.
|
||||
|
||||
//.Log QSO Window
|
||||
image::images/log-qso.png[align="center",alt="Log QSO"]
|
||||
|
||||
* *Stop* will stop normal data acquisition in case you want to open
|
||||
and explore previously recorded audio files.
|
||||
* *Stop* will stop normal data acquisition in case you want to freeze
|
||||
the waterfall, or perhaps to open and explore a previously recorded
|
||||
audio file.
|
||||
|
||||
* *Monitor* restarts normal receive operation. This button is
|
||||
highlighted in green when the program is receiving.
|
||||
|
||||
* *Erase* clears the right (*Rx frequency*) window. Double-clicking
|
||||
*Erase* clears both text windows.
|
||||
* *Erase* clears the right (*Rx frequency*) text window. Double-clicking
|
||||
Erase* clears both text windows.
|
||||
|
||||
* *Decode* tells the program to repeat the decoding procedure at the
|
||||
Rx frequency (green marker on waterfall), using the most recently
|
||||
completed sequence of Rx data.
|
||||
|
||||
* *Enable Tx* puts the program into automatic Rx/Tx sequencing mode
|
||||
* *Enable Tx* puts the program into automatic T/R sequencing mode
|
||||
and highlights the button in red. A transmission will start at the
|
||||
beginning of the selected (odd or even) sequence, or immediately if
|
||||
appropriate. A transmission will not be started any later than 24 s
|
||||
into a UTC minute.
|
||||
|
||||
* *Halt Tx* terminates a transmission in progress and disables
|
||||
automatic Rx/Tx sequencing.
|
||||
automatic T/R sequencing.
|
||||
|
||||
* *Tune* may be used to switch into Tx mode and generate an
|
||||
unmodulated carrier at the specified Tx frequency (red marker on
|
||||
waterfall). This process may be useful for adjusting an antenna
|
||||
tuner. Toggle the button a second time to terminate the *Tune*
|
||||
tuner. The button is highlighted in [red]*RED* while *Tune* is
|
||||
active. Toggle the button a second time to terminate the *Tune*
|
||||
process.
|
||||
|
||||
|
@ -4,8 +4,8 @@ Two arrangements of controls are provided for generating and selecting
|
||||
Tx messages. Traditional controls carried over from program _WSJT_
|
||||
appear on *Tab 1* and provide six fields for message entry.
|
||||
Pre-formatted messages for the standard minimal QSO are generated when
|
||||
you click *Generate Std Msgs* or when you double-click on an
|
||||
appropriate line in one of the decoded text windows.
|
||||
you click *Generate Std Msgs* or double-click on an appropriate line
|
||||
in one of the decoded text windows.
|
||||
|
||||
//.Traditional Message Menu
|
||||
image::images/traditional-msg-box.png[align="center",alt="Traditional Message Menu"]
|
||||
@ -20,7 +20,7 @@ probably succeed if done in the first 10 s of a Tx period.
|
||||
|
||||
* Right-clicking on the entry field for message #5 pops up a list of
|
||||
free-text messages entered on the *Setup | Configuration | Tx Macros*
|
||||
tab. You can select any of these pre-stored messages by using the
|
||||
screen. You can select any of these pre-stored messages by using the
|
||||
left mouse button.
|
||||
|
||||
The second arrangement of controls for generating and selecting
|
||||
|
@ -6,7 +6,6 @@ information about operating conditions.
|
||||
//.Status Bar
|
||||
image::images/status-bar-a.png[align="left",alt="New Message Menu"]
|
||||
|
||||
Reading from left to right, these labels provide information about the
|
||||
current operating state (Receiving, Transmitting, Tune, or an opened
|
||||
file name), operating mode, and content of the most recent transmitted
|
||||
message.
|
||||
Labels on the Status Bar provide information about the current
|
||||
operating state (Receiving, Transmitting, Tune, or an open file name),
|
||||
operating mode, and content of your most recent transmitted message.
|
||||
|
@ -27,12 +27,13 @@ waterfall colors. Values around 0 for both parameters are usually
|
||||
about right, depending on the input signal level and your own
|
||||
preferences.
|
||||
|
||||
- *Palette* lets you select from a number of waterfall color palettes.
|
||||
- *Palette* lets you select from a wide range of waterfall color
|
||||
palettes.
|
||||
|
||||
- Check the *Flatten* box to have _WSJT-X_ compensate for uneven
|
||||
spectral response across the received passband.
|
||||
- Check *Flatten* if you want _WSJT-X_ to compensate for uneven
|
||||
response across the received passband.
|
||||
|
||||
- You can select *Current* or *Cumulative* for the spectrum displayed
|
||||
- Select *Current* or *Cumulative* for the spectrum displayed
|
||||
in the bottom one-third of the Wide Graph window. *Current* is the
|
||||
average spectrum over the most recent *N Avg* FFT calculations.
|
||||
*Cumulative* is the average spectrum since the start of the current
|
||||
|
@ -1,5 +0,0 @@
|
||||
// Status=review
|
||||
|
||||
This section describes the various menus, screens, controls, and
|
||||
functions for both the Main Window and Wide Graph. Small differences
|
||||
may exist between displayed images and that of the application.
|
@ -9,6 +9,7 @@ scale) of most labels on the user interface. The last two numbers
|
||||
control size and weight of text in the *Band Activity* and *Rx
|
||||
Frequency* windows.
|
||||
|
||||
- The default is ``8 50 10 50''. If you need larger fonts and bold
|
||||
text in the decode windows, try ``10 50 12 100'' (without the quotes).
|
||||
- The default is ``8 50 10 50''. If you need larger fonts in the user
|
||||
interface and bold text in the decode windows, try ``10 50 12 100''
|
||||
(without the quotes).
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
// Status=review
|
||||
|
||||
Separate compiled versions of _WSJT-X_ are available for OS X 10.6
|
||||
through 10.8, and OS X 10.9. The two versions are not interchangeable.
|
||||
Two different packages are available: one for OS X 10.6 through 10.8,
|
||||
and one for OS X 10.9. The two versions are _not_ interchangeable.
|
||||
|
||||
- Select the correct package for your OS X and download it to your desktop.
|
||||
|
||||
- Double-click on the file to see a new folder, +WSJT-X+. Drop down
|
||||
into that folder, where the +Readme+ file provides detailed instructions
|
||||
into that folder, where a +Readme+ file provides detailed instructions
|
||||
on how to configure your system for _WSJT-X_.
|
||||
|
||||
- Some additional information can be found {osx-instructions}.
|
||||
|
@ -14,3 +14,12 @@ _WSJT-X_ by removing the installation directory and its contents.
|
||||
not adequate. We recommend Meinberg NTP: see {ntpsetup} for
|
||||
downloading and installation instructions.
|
||||
|
||||
- _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz.
|
||||
To ensure that this will be so when running under recent versions of
|
||||
Windows, open the system's sound control panel and select in turn the
|
||||
*Recording* and *Playback* options. Click on *Properties*, then
|
||||
*Advanced*, and select ``16 bit, 48000 Hz (DVD Quality).''
|
||||
|
||||
CAUTION: If you are using a sound card that is also the default device
|
||||
for Windows sounds, be sure to turn off all such sounds so they are
|
||||
not transmitted over the air.
|
||||
|
@ -1,49 +1,47 @@
|
||||
// Status=review
|
||||
After installing _WSJT-X_ as described in <<X3, Installation>>, the
|
||||
following files will be present in the installation directory:
|
||||
|
||||
.Files Present After Installation
|
||||
[width="60%",cols="2,60",options="header",valign="middle"]
|
||||
|========
|
||||
|File Name|Description
|
||||
|afmhot.dat|Data for AFMHot palette
|
||||
|blue.dat|Data for Blue palette
|
||||
|CALL3.TXT|Callsign database
|
||||
|hamlib-alinco.dll|Hamlib, Alinco libraries
|
||||
|hamlib-amsat.dll|Hamlib, Asmat libraries
|
||||
|kamlib-dummy.dll|Hamlib, Dummy Kam libraries
|
||||
|hamlib-flexradio.dll|Hamlib, Flex Radio libraries
|
||||
|hamlib-icom.dll|Hamkib, Icom libraries
|
||||
|hamlib-jrc.dll|Hamlib, JRC libraries
|
||||
|hamlib-kachina.dll|Hamlib, Kachina libraries
|
||||
|hamlib-kenwood.dll|Hamlib, Kenwood libraries
|
||||
|hamlib-kit.dll|Hamlib, Kit libraries
|
||||
|hamlib-tapr.dll|Hamlib, Tapr libraries
|
||||
|hamlib-tentec.dll|Hamlib, TenTec libraries
|
||||
|hamlib-winradio.dll|Hamlib, WinRadio libraries
|
||||
|hamlib-yaesu.dll|Hamlib, Yaesu libraries
|
||||
|HRDInterface001.dll|Ham Radio Deluxe interface library
|
||||
|jt9.exe|Executable for JT9 decoder
|
||||
|jt9code.exe|Test program to illustrate JT9 encoding
|
||||
|kvasd.dat|Data for Koetter-Vardy decoder
|
||||
|kvasd.exe|Executable Koetter-Vardy decoder
|
||||
|libfftw3f-3.dll|Optimized FFT library
|
||||
|libgcc_s_dw2-1.dll|gcc runtime
|
||||
|libhamlib-2.dll|Hamlib, Base library
|
||||
|libstdc\+\+-6.dll|Standard C function library
|
||||
|libusb0.dll|USB interface functions
|
||||
|mingwm10.dll|MinGW library
|
||||
|mouse_commands.txt|Special mouse commands
|
||||
|palir-02.dll|Linrad functions
|
||||
|PSKReporter.dll|Library for PSK reporter
|
||||
|QtCore4.dll|QtCore libraries
|
||||
|QtGui4.dll|QtGui4 libraries
|
||||
|QtNetwork4.dll|QtNetwork4 libraries
|
||||
|save|Directory for saved .wav files
|
||||
|shortcuts.txt|Keyboard shortcuts
|
||||
|unins000.dat|Uninstall Data File
|
||||
|unins000.exe|Executable for uninstalling _WSJT-X_
|
||||
|wsjt.ico|WSJT icon
|
||||
|wsjtx.exe|Executable for _WSJT-X_
|
||||
|========
|
||||
After a clean install of _WSJT-X_ the following files should be
|
||||
present in the installation directory:
|
||||
|
||||
[horizontal]
|
||||
+CALL3.TXT+:: Callsign database
|
||||
+HRDInterface001.dll+:: Ham Radio Deluxe interface library
|
||||
+Palettes+:: directory for waterfall palettes
|
||||
+Qt5Core.dll+:: Qt5 library
|
||||
+Qt5Gui.dll+:: Qt5 library
|
||||
+Qt5Multimedia.dll+:: Qt5 library
|
||||
+Qt5Network.dll+:: Qt5 library
|
||||
+Qt5Widgets.dll+:: Qt5 library
|
||||
+cty.dat+:: DXCC countries list
|
||||
+hamlib-alinco.dll+:: Hamlib, Alinco library
|
||||
+hamlib-amsat.dll+:: Hamlib, Amsat library
|
||||
+hamlib-dummy.dll+:: Hamlib library
|
||||
+hamlib-flexradio.dll+:: Hamlib Flex radio library
|
||||
+hamlib-icom.dll+:: Hamlib Icom library
|
||||
+hamlib-jrc.dll+:: Hamlib JRC library
|
||||
+hamlib-kachina.dll+:: Hamlib Kachina library
|
||||
+hamlib-kenwood.dll+:: Hamlib Kenwood library
|
||||
+hamlib-kit.dll+:: Hamlib Kit library
|
||||
+hamlib-tapr.dll+:: Hamlib TAPR library
|
||||
+hamlib-tentec.dll+:: Hamlib TenTec library
|
||||
+hamlib-winradio.dll+:: Hamlib WinRadio library
|
||||
+hamlib-yaesu.dll+:: Hamlib Yaesu library
|
||||
+icudt51.dll+:: ICU library
|
||||
+icuin51.dll+:: ICU library
|
||||
+icuuc51.dll+:: ICU library
|
||||
+jt9.exe+:: Executable for JT9 and JT65 decoder
|
||||
+kvasd.exe+:: Executable for Koetter-Vardy decoder
|
||||
+libgcc_s_dw2-1.dll+:: gcc runtime library
|
||||
+libhamlib-2.dll+:: Hamlib base library
|
||||
+libstdc++-6.dll+:: Standard C function library
|
||||
+libwinpthread-1.dll+:: Windows pthreads library
|
||||
+mouse_commands.txt+:: Special mouse commands
|
||||
+platforms+:: Directory for platform-specific libraries
|
||||
+prefixes.txt+:: Add-on prefixes and suffixes (*Type 1*)
|
||||
+qt.conf+:: Qt configuration file
|
||||
+save+:: Directory for saved *.wav files
|
||||
+shortcuts.txt+:: Keyboard shortcuts
|
||||
+unins000.dat+:: Uninstall data file
|
||||
+unins000.exe+:: Executable for uninstalling _WSJT-X_
|
||||
+wsjt.ico+:: _WSJT_ icon
|
||||
+wsjtx.exe+:: Executable for _WSJT-X_
|
||||
|
@ -9,7 +9,7 @@ _WSJT-X_ offers two protocols or “modes,” JT65 and JT9. Both are
|
||||
designed for making reliable, confirmed QSOs under extreme weak-signal
|
||||
conditions. They use nearly identical message structure and source
|
||||
encoding. JT65 was designed for EME (“moon-bounce”) on the VHF/UHF
|
||||
bands and has also proved very effective for worldwide QRP
|
||||
bands, and has also proved very effective for worldwide QRP
|
||||
communication at HF. JT9 is optimized for the LF, MF, and HF bands.
|
||||
It is about 2 dB more sensitive than JT65 while using less than 10% of
|
||||
the bandwidth. Both modes use one-minute timed sequences of
|
||||
@ -22,12 +22,12 @@ _WSJT-X_ can display a bandpass as large as 5 kHz and transparently
|
||||
provides dual-mode reception of both JT65 and JT9 signals. If your
|
||||
receiver can be configured with at least 4 kHz bandwidth in USB mode,
|
||||
you can set the dial frequency to one of the standard JT65 frequencies
|
||||
— for example, 14.076 MHz for the 20-meter band — and have the full
|
||||
JT65 and JT9 sub-bands displayed simultaneously on the waterfall. You
|
||||
can then make QSOs in both modes using nothing more than mouse clicks.
|
||||
— for example, 14.076 MHz for the 20-meter band — and display the full
|
||||
JT65 and JT9 sub-bands simultaneously on the waterfall. You can then
|
||||
make QSOs in both modes using nothing more than mouse clicks.
|
||||
|
||||
Plans for future program development call for _WSJT-X_ and _WSJT_ to
|
||||
merge together: _WSJT-X_ will gradually acquire the additional modes
|
||||
merge together. _WSJT-X_ will gradually acquire the additional modes
|
||||
JT4, FSK441, and ISCAT that are now supported in _WSJT_. The entire
|
||||
WSJT-related effort is an open-source project. If you have
|
||||
programming or documentation skills or would like to contribute to the
|
||||
|
@ -10,29 +10,35 @@ bits to carry message information. At the user level the two modes
|
||||
support nearly identical message structures.
|
||||
|
||||
JT65 signal reports are constrained to the range –1 to –30 dB. This
|
||||
range is more than adequate for EME purposes, but not enough for
|
||||
optimum use at HF and below. S/N values displayed by the JT65 decoder
|
||||
are clamped at an upper limit –1 dB. Moreover, the S/N scale in
|
||||
present JT65 decoders is nonlinear above –10 dB.
|
||||
range is more than adequate for EME purposes, but not really enough
|
||||
for optimum use at HF and below. S/N values displayed by the JT65
|
||||
decoder are clamped at an upper limit –1 dB. Moreover, the S/N scale
|
||||
in present JT65 decoders is nonlinear above –10 dB.
|
||||
|
||||
By comparison, JT9 allows for signal reports in the range –50 to +49
|
||||
dB. It manages this by taking over a small portion of ``message
|
||||
space'' that would otherwise be used for grid locators within 1 degree
|
||||
of the south pole. The S/N scale of the present JT9 decoder is
|
||||
reasonably linear (although it’s not intended to be a precision
|
||||
measurement tool). With clean signals and a clean nose background,
|
||||
JT65 achieves nearly 100% probability of correct decoding down to
|
||||
S/N = –22 dB and about 50% at –24 dB. JT9 is about 2 dB better,
|
||||
achieving 50% decoding at about –26 dB. Both modes produce extremely
|
||||
low false-decode rates.
|
||||
measurement tool).
|
||||
|
||||
With clean signals and a clean nose background, JT65 achieves nearly
|
||||
100% decoding down to S/N = –22 dB and about 50% at –24 dB. JT9 is
|
||||
about 2 dB better, achieving 50% decoding at about –26 dB. Both modes
|
||||
produce extremely low false-decode rates.
|
||||
|
||||
Early experience suggests that under most HF propagation conditions
|
||||
the two modes have comparable reliability. The tone spacing of JT9 is
|
||||
about two-thirds that of JT65, so in some disturbed ionospheric
|
||||
conditions in the higher portion of the HF spectrum, JT65 may do
|
||||
better. JT9 is an order of magnitude better in spectral efficiency.
|
||||
On a busy HF band, we often find the 2-kHz-wide JT65 sub-band filled
|
||||
wall-to-wall with signals. Ten times as many JT9 signals can fit
|
||||
into the same frequency range, without overlap.
|
||||
better.
|
||||
|
||||
JT9 is an order of magnitude better in spectral efficiency. On a busy
|
||||
HF band, we often find the 2-kHz-wide JT65 sub-band filled
|
||||
wall-to-wall with signals. Ten times as many JT9 signals can fit into
|
||||
the same frequency range, without overlap.
|
||||
|
||||
JT65 signals often decode correctly even when they overlap. Such
|
||||
behavior is much less likely with JT9 signals, which fill their occupied
|
||||
bandwisth more densely. JT65 may also be more forgiving of small
|
||||
frequency drifts.
|
||||
|
46
doc/source/jt65-protocol.adoc
Normal file
46
doc/source/jt65-protocol.adoc
Normal file
@ -0,0 +1,46 @@
|
||||
// Status=review
|
||||
|
||||
JT65 was designed for making minimal QSOs via EME (``moon-bounce'') on
|
||||
the VHF and UHF bands. A detailed description of the protocol and its
|
||||
implementation in program _WSJT_ was published in {jt65protocol} for
|
||||
September-October, 2005. Briefly stated, JT65 uses 60 s T/R sequences
|
||||
and carefully structured messages. Standard messages are compressed
|
||||
so that two callsigns and a grid locator can be transmitted with just
|
||||
71 bits. A 72^nd^ bit serves as a flag to indicate that the message
|
||||
consists of arbitrary text (up to 13 characters) instead of callsigns
|
||||
and a grid locator. Special formats allow other information such as
|
||||
add-on callsign prefixes (e.g., ZA/K1ABC) or numerical signal reports
|
||||
(in dB) to be substituted for the grid locator. The aim of source
|
||||
encoding is to compress the common messages used for minimal QSOs into
|
||||
a minimum fixed number of bits. After compression, a Reed Solomon
|
||||
(63,12) error-correcting code converts 72-bit user messages into
|
||||
sequences of 63 six-bit channel symbols.
|
||||
|
||||
JT65 requires tight synchronization of time and frequency between
|
||||
transmitter and receiver. Each transmission is divided into 126
|
||||
contiguous time intervals or symbols, each of length 4096/11025 =
|
||||
0.372 s. Within each interval the waveform is a constant-amplitude
|
||||
sinusoid at one of 65 pre-defined frequencies. Frequency steps
|
||||
between intervals are accomplished in a phase-continuous manner. Half
|
||||
of the channel symbols are devoted to a pseudo-random synchronizing
|
||||
vector interleaved with the encoded information symbols. The sync
|
||||
vector allows calibration of time and frequency offsets between
|
||||
transmitter and receiver. A transmission nominally begins at t = 1 s
|
||||
after the start of a UTC minute and finishes at t = 47.8 s. The
|
||||
synchronizing tone is at 11025*472/4096 = 1270.5 Hz, and is normally
|
||||
sent in each interval having a “1” in the following pseudo-random
|
||||
sequence:
|
||||
|
||||
100110001111110101000101100100011100111101101111000110101011001
|
||||
101010100100000011000000011010010110101010011001001000011111111
|
||||
|
||||
Encoded user information is transmitted during the 63 intervals not
|
||||
used for the sync tone. Each channel symbol generates a tone at
|
||||
frequency 1275.8 + 2.6917 Nm Hz, where N is the value of the six-bit
|
||||
symbol, 0 ≤ N ≤ 63, and m is 1, 2, or 4 for JT65 sub-modes A, B, or C.
|
||||
The signal report “OOO” is conveyed by reversing sync and data
|
||||
positions in the transmitted sequence. Shorthand messages dispense
|
||||
with the sync vector and use intervals of 1.486 s (16,384 samples) for
|
||||
the alternating tones. The lower frequency is always 1270.5 Hz, the
|
||||
same as that of the sync tone, and the frequency separation is 26.92
|
||||
nm Hz with n = 2, 3, 4 for the messages RO, RRR, and 73.
|
@ -1,94 +1,24 @@
|
||||
// Status=review
|
||||
//Needs work!
|
||||
|
||||
JT9 is a mode designed for making minimal QSOs at LF, MF, and HF. It
|
||||
uses 72-bit structured messages nearly identical (at the user level)
|
||||
to those in JT65. Error control coding (ECC) uses a strong
|
||||
convolutional code with constraint length K=32, rate r=1/2, and a zero
|
||||
tail, leading to an encoded message length of (72+31) × 2 = 206
|
||||
information-carrying bits. Modulation is 9-FSK: eight tones are used
|
||||
for data, one for synchronization. Thus, three data bits or one
|
||||
synchronization bit are conveyed by each transmitted symbol. Sixteen
|
||||
symbol intervals are devoted to synchronization, so a transmission
|
||||
requires a total of 206 / 3 + 16 = 85 (rounded up) channel
|
||||
symbols. The sync symbols are those numbered 1, 2, 5, 10, 16, 23, 33,
|
||||
35, 51, 52, 55, 60, 66, 73, 83, and 85 in the transmitted sequence.
|
||||
JT9 is designed for making minimal QSOs at LF, MF, and HF. It uses
|
||||
72-bit structured messages nearly identical (at the user level) to
|
||||
those in JT65. Error control coding (ECC) uses a strong convolutional
|
||||
code with constraint length K=32, rate r=1/2, and a zero tail, leading
|
||||
to an encoded message length of (72+31) × 2 = 206 information-carrying
|
||||
bits. Modulation is nine-tone frequency-shift keying, or 9-FSK.
|
||||
Eight tones are used for data, one for synchronization. Eight data
|
||||
tones means that three data bits are conveyed by each transmitted
|
||||
information symbol. Sixteen symbol intervals are devoted to
|
||||
synchronization, so a transmission therefore requires a total of 206 / 3
|
||||
+ 16 = 85 (rounded up) channel symbols. The sync symbols are those
|
||||
numbered 1, 2, 5, 10, 16, 23, 33, 35, 51, 52, 55, 60, 66, 73, 83, and
|
||||
85 in the transmitted sequence.
|
||||
|
||||
Each symbol lasts for 6912 sample intervals at 12000 samples per
|
||||
second, or about 0.576 s. Tone spacing of the 9-FSK modulation is
|
||||
12000/6912 = 1.736 Hz, the inverse of the symbol duration. The total
|
||||
occupied bandwidth is 9 × 1.736 = 15.6 Hz. A generated JT9 signal has
|
||||
continuous phase and constant amplitude. There are no key clicks, and
|
||||
the transmitter's power amplifier need not be highly linear.
|
||||
continuous phase and constant amplitude, and there are no key clicks.
|
||||
The transmitter's power amplifier need not be highly linear.
|
||||
|
||||
.Transmitting
|
||||
|
||||
Immediately before the start of a transmission WSJT-X encodes a
|
||||
user’s message and computes the sequence of tones to be sent. The
|
||||
transmitted audio waveform is computed on-the-fly, using 16-bit
|
||||
integer samples at a 48000 Hz rate. The digital samples are converted
|
||||
to an analog waveform in the sound card or equivalent D/A interface.
|
||||
|
||||
.Receiving and Decoding
|
||||
|
||||
WSJT-X acquires 16-bit integer samples from the sound card at a 48000
|
||||
Hz rate, and immediately downsamples the stream to 12000 Hz. Spectra
|
||||
from overlapping segments are computed for the waterfall display and
|
||||
saved at intervals of 0.188 s, half the JT9 symbol length. As shown
|
||||
in screen shots earlier in this guide, a JT9 signal appears in the
|
||||
*Cumulative* spectrum as a nearly rectangular shape about 16 Hz wide.
|
||||
Although there is no clearly visible “sync tone” like the one at the
|
||||
low-frequency edge of a JT65 signal, by convention the nominal
|
||||
frequency of a JT9 signal is taken to be that of the lowest tone, at
|
||||
the left edge of the spectrum.
|
||||
|
||||
At the end of a reception sequence, about 50 seconds into the UTC
|
||||
minute, received data samples are forwarded to the decoder. For
|
||||
operator convenience the decoder goes through its full procedure
|
||||
twice: first at the selected Rx frequency, and then in the full
|
||||
displayed frequency range (or in JT9+JT65 mode, the displayed range
|
||||
above the blue *JT65 nnnn JT9* marker). Decoding of clean JT9 signals
|
||||
in a white-noise background starts to fail below signal-to-noise
|
||||
ratio –25 dB and reaches 50% copy at -26 dB.
|
||||
|
||||
Each decoding pass can be described as a sequence of discrete blocks.
|
||||
The blocks are labeled here with the names of functional procedures in
|
||||
the code.
|
||||
|
||||
sync9: Use sync symbols to find candidate JT9 signals
|
||||
in the specified frequency range
|
||||
|
||||
Then, at the frequency of each plausible candidate:
|
||||
|
||||
downsam9: Mix, filter and downsample to 16 complex
|
||||
samples/symbol
|
||||
|
||||
peakdt9: Using sync symbols, time-align to start of JT9 symbol
|
||||
sequence
|
||||
|
||||
afc9: Measure frequency offset and any possible drift
|
||||
|
||||
twkfreq: Remove frequency offset and drift
|
||||
|
||||
symspec2: Compute 8-bin spectra for 69 information-carrying
|
||||
symbols, using the time- and frequency-aligned data;
|
||||
transform to yield 206 single-bit soft symbols
|
||||
|
||||
interleave9: Remove single-bit symbol interleaving imposed at the
|
||||
transmitter
|
||||
|
||||
decode9: Retrieve a 72-bit user message using the sequential
|
||||
Fano algorithm for convolutional codes
|
||||
|
||||
|
||||
unpackmsg: Unpack a human-readable message from the 72-bit
|
||||
compressed format
|
||||
|
||||
With marginal or unrecognizable signals the sequential Fano algorithm
|
||||
can take exponentially long times. If the +sync9+ step in the above
|
||||
sequence finds many seemingly worthy candidate signals, and if many of
|
||||
them turn out to be undecodable, the decoding loop can take a very
|
||||
long time. For this reason the step labeled +decode9+ is programmed
|
||||
to “time out” and report failure if it is taking too long. The
|
||||
choices *Fast | Normal | Deepest* on the Decode menu provide a
|
||||
three-step adjustment of this timeout limit.
|
||||
|
@ -20,58 +20,93 @@ recommended basic QSO goes something like this:
|
||||
|
||||
*Standard messages* consist of two callsigns (or CQ, QRZ, or DE and
|
||||
one callsign) followed by the transmitting station’s grid locator, a
|
||||
signal report, acknowledgement R plus a signal report, or the final
|
||||
acknowledgements RRR or 73. Messages are compressed and encoded
|
||||
in a highly efficient and reliable way.
|
||||
signal report, R plus a signal report, or the final acknowledgements
|
||||
RRR or 73. These messages are compressed and encoded in a highly
|
||||
efficient and reliable way, and may contain up to 18 characters in
|
||||
uncompressed form.
|
||||
|
||||
*Signal reports* are specified as signal-to-noise ratio (S/N) in dB,
|
||||
using a standard reference noise bandwidth 2500 Hz. JT65 reports must
|
||||
lie in the range –30 to –1 dB, while JT9 supports the extended range
|
||||
–50 to +49 dB. Thus, in example message #0003, K1ABC is telling G0XYZ
|
||||
that his signal is 19 dB below the noise power in bandwidth 2500 Hz.
|
||||
In message #0004, G0XYZ acknowledges receipt of that report and
|
||||
responds with a –22 dB signal report.
|
||||
using a standard reference noise bandwidth of 2500 Hz. Thus, in
|
||||
example message #0003, K1ABC is telling G0XYZ that his signal is 19 dB
|
||||
below the noise power in bandwidth 2500 Hz. In message #0004, G0XYZ
|
||||
acknowledges receipt of that report and responds with a –22 dB signal
|
||||
report. JT65 reports are constrained to lie in the range –30 to –1
|
||||
dB, while JT9 supports the extended range –50 to +49 dB.
|
||||
|
||||
TIP: Signals become visible on the waterfall around S/N = –26 dB and
|
||||
audible around –15 dB. Thresholds for signal decodability are
|
||||
approximately –24 dB for JT65, –26 dB for JT9.
|
||||
audible (to those with very good hearing) around –15 dB. Thresholds
|
||||
for signal decodability are approximately –24 dB for JT65, –26 dB for
|
||||
JT9.
|
||||
|
||||
*Free Text Messages*: Users often add some friendly chit-chat as a
|
||||
final transmission, in place of the formatted 73 message. Free-format
|
||||
messages such as TNX JOE 73 GL or 5W VERT 73 GL are supported, up to a
|
||||
maximum of 13 characters (including spaces). It should be obvious
|
||||
that JT9 and JT65 are not suitable for extensive conversations or
|
||||
rag-chewing.
|
||||
*Free Text Messages*: Users often add some friendly chit-chat at the
|
||||
end of a QSO. Free-format messages such as ``TNX JOE 73'' or ``5W
|
||||
VERT 73 GL'' are supported, up to a maximum of 13 characters
|
||||
(including spaces). It should be obvious that the JT9 and JT65
|
||||
protocols are not suitable for extensive conversations or rag-chewing.
|
||||
|
||||
=== Compound Callsigns
|
||||
//This section needs work!! Must describe and give examples for both
|
||||
//JT65v1 and JT65v2 formats.
|
||||
Compound call-signs such as PJ4/K1ABC or G0XYZ/P are handled in a slightly
|
||||
different way. The following formats are all valid:
|
||||
|
||||
.Valid Messages with Compound Callsigns
|
||||
Compound callsigns such as xx/K1ABC or K1ABC/x are handled in one of
|
||||
two possible ways.
|
||||
|
||||
[width="40%",cols="2,2,2",options="header"]
|
||||
|=====================
|
||||
|Action|Callsign|Grid
|
||||
|CQ|pfx/callsign|grid
|
||||
|QRZ|pfx/callsign|grid
|
||||
|DE|pfx/callsign|grid
|
||||
|CQ|callsign/sfx|grid
|
||||
|QRZ|callsign/sfx|grid
|
||||
|DE|callsign/sfx|grid
|
||||
|=====================
|
||||
.Type 1 Compound-Callsign Messages
|
||||
|
||||
- ``pfx'' is a 1-4 character prefix
|
||||
- ``callsign'' is a standard callsign
|
||||
- ``sfx'' is a 1-3 character suffix
|
||||
- ``grid'' is a 4-character Maidenhead locator
|
||||
A list of about 350 of the most common prefixes and suffixes can be
|
||||
displayed from the *Help* menu. A single compound callsign involving
|
||||
one item from this list can be used in a message in place of the third
|
||||
``word'' (normally a locator, signal report, RRR, or 73). Thus, the
|
||||
following examples are all properly formatted *Type 1* messages:
|
||||
|
||||
- A signal report of the form “±nn” or “R±nn”, or the acknowledgment
|
||||
or sign-off messages “RRR” or “73”. _WSJT-X_ generates messages in
|
||||
these forms automatically, as required.
|
||||
CQ ZA/K1ABC
|
||||
CQ K1ABC/4
|
||||
ZA/K1ABC G0XYZ
|
||||
G0XYZ K1ABC/4
|
||||
|
||||
- A QSO between two stations using compound call-signs might look like this:
|
||||
However, the following messages are _not_ valid because a third
|
||||
word is not permitted in a *Type 1* compound callsign message:
|
||||
|
||||
ZA/K1ABC G0XYZ -22 #These messages will be sent
|
||||
G0XYZ K1ABC/4 73 #without the third word
|
||||
|
||||
A QSO between two stations using *Type 1* compound-callsign messages
|
||||
might look like this:
|
||||
|
||||
CQ ZA/K1ABC
|
||||
ZA/K1ABC G0XYZ
|
||||
G0XYZ K1ABC –19
|
||||
K1ABC G0XYZ R–22
|
||||
G0XYZ K1ABC RRR
|
||||
K1ABC G0XYZ 73
|
||||
|
||||
Notice that both operators have sent and received the full compound
|
||||
callsign in the first two transmissions; after that, they omit the
|
||||
add-on prefix or suffix.
|
||||
|
||||
.Type 2 Compound-Callsign Messages
|
||||
|
||||
Prefixes and suffixes _not_ found in the short displayable list can be
|
||||
handled in a *Type 2* message. The compound callsign must be the
|
||||
second word in a two- or three-word message, and the first word must
|
||||
be CQ, DE, or QRZ. Prefixes can be up 1-4 characters, suffixes 1-3
|
||||
characters. A third word conveying a locator, report, RRR, or 73 is
|
||||
optional. The following are valid *Type 2* messages with compound
|
||||
callsigns:
|
||||
|
||||
CQ W4/G0XYZ FM07 #OK because W4 is not in short-list
|
||||
DE W4/G0XYZ -22
|
||||
QRZ K1ABC/VE6 DO33 #OK because VE6 is not in short-list
|
||||
|
||||
In each case, the message is treated as *Type 2* because the add-on
|
||||
prefix or suffix is not one of those in the displayable liet. Note
|
||||
that a second callsign is never permissible in these messages, but a
|
||||
locator, report, RRR, or 73 is allowed.
|
||||
|
||||
TIP: Remember that your transmitted message is always displayed in the
|
||||
first panel of the *Status Bar*, highlighted in yellow, exactly as another
|
||||
station will receive it.
|
||||
|
||||
A QSO between two stations using *Type 2* compound-callsign messages
|
||||
might look like this:
|
||||
|
||||
CQ KP4/K1ABC FK68
|
||||
DE G0XYZ/P IO91
|
||||
@ -80,19 +115,6 @@ these forms automatically, as required.
|
||||
G0XYZ K1ABC RRR
|
||||
DE G0XYZ/P 73
|
||||
|
||||
////
|
||||
.Compound Exch Example
|
||||
[width="40%",cols="2,2,2",options="header"]
|
||||
|=====================
|
||||
|Action|Callsign|Grid
|
||||
|CQ|KP4/K1ABC|FK68
|
||||
|DE|G0XYZ/P|IO91
|
||||
|G0XYZ|K1ABC|–19
|
||||
|K1ABC|G0XYZ|R–22
|
||||
|G0XYZ|K1ABC|RRR
|
||||
|DE|G0XYZ/P|73
|
||||
|=====================
|
||||
////
|
||||
=== Pre-QSO Checklist
|
||||
|
||||
Before attempting your first QSO with JT9 or JT65, be sure to go
|
||||
|
@ -19,9 +19,9 @@ specific rig models, e.g. Icom 756 Pro-III, Kenwood TS-2000, Yaesu
|
||||
FT-1000MP, Flex-5000, etc. This is a work-in-progress, and some rigs
|
||||
may never be covered.
|
||||
|
||||
NOTE: If you have configuration data for a rig that is not listed, or comments
|
||||
about a particular rig configuration, please use the {rig_template} and send it
|
||||
to {devmail}.
|
||||
TIP: If you have configuration data for a rig that is not listed, or
|
||||
comments about a particular rig configuration, please use the
|
||||
{rig_template} and send it to {devmail}.
|
||||
|
||||
.Select Manufacturer
|
||||
[align="center",valign="middle",halign="center"]
|
||||
|
@ -4,14 +4,11 @@ You might be curious about additional files that appear in the WSJTX
|
||||
installation directory after using the program. These include the
|
||||
following:
|
||||
|
||||
[horizontal]
|
||||
.Files created when running WSJT-X
|
||||
[width="60%",cols="2,60",options="header",valign="middle"]
|
||||
|========
|
||||
|File Name|Description
|
||||
|ALL.TXT|Log of all received and transmitted messages
|
||||
|decoded.txt|Decoded text from the most recent Rx interval
|
||||
|timer.out|Diagnostic information for decoder optimization
|
||||
|wsjtx.ini|Saved configuration parameters
|
||||
|wsjtx_log.adi|ADIF log
|
||||
|wsjtx_status.txt|Information sent to companion program JT-Alert
|
||||
|========
|
||||
+ALL.TXT+:: Log of all received and transmitted messages
|
||||
+decoded.txt+:: Decoded text from the most recent Rx interval
|
||||
+timer.out+:: Diagnostic information for decoder optimization
|
||||
+wsjtx.ini+:: Saved configuration parameters
|
||||
+wsjtx_log.adi+:: ADIF log
|
||||
+wsjtx_status.txt+:: Information sent to companion program JT-Alert
|
||||
|
@ -4,7 +4,7 @@
|
||||
- 1.5 GHz or faster CPU and 100 MB of available memory
|
||||
- Monitor with at least 1024 x 780 resolution (more is better)
|
||||
- Computer-to-radio interface using a serial port for T/R switching, or CAT
|
||||
control, or VOX.
|
||||
control, or VOX
|
||||
- Audio input and output devices supported by your operating system
|
||||
- Audio or equivalent USB connections between transceiver and computer
|
||||
- A means for synchronizing your computer clock to UTC within ±1 s.
|
||||
- A means for synchronizing your computer clock to UTC within ±1 s
|
||||
|
@ -18,12 +18,13 @@ Taking full advantage of the wide-band, dual-mode capability of
|
||||
_WSJT-X_ requires a receiver bandwidth of at least 4 kHz. Many SSB
|
||||
transceivers have a fixed-width Tx filter that will not pass audio
|
||||
frequencies higher than about 2700 Hz. _WSJT-X_ takes care of this by
|
||||
using Split mode, receiving with *VFO A* and transmitting with *VFO
|
||||
B*. Under CAT control _WSJT-X_ offsets the Tx dial frequency (*VFO
|
||||
B*) in 500 Hz steps, adjusting the generated audio frequency so that
|
||||
it always falls in the range 1500 – 2000 Hz. With *CAT* and *Split Tx*
|
||||
enabled on the configuration screen and your transceiver set to *Tx
|
||||
Split* mode, this frequency control will be handled automatically.
|
||||
using *Split Tx* mode, receiving with *VFO A* and transmitting with
|
||||
*VFO B*. Under CAT control _WSJT-X_ offsets the Tx dial frequency
|
||||
(*VFO B*) in 500 Hz steps, adjusting the generated audio frequency so
|
||||
that it always falls in the range 1500 – 2000 Hz. With *CAT* and
|
||||
*Split Tx* enabled on the configuration screen and your transceiver
|
||||
set to *Split* mode, this frequency control will be handled
|
||||
automatically.
|
||||
|
||||
If your transceiver has only a standard SSB filter you won’t be able
|
||||
to use more than about 2.7 kHz bandwidth. You can still have all of
|
||||
@ -37,3 +38,7 @@ concentrate on one mode at a time, setting your dial frequency to
|
||||
the nominal JT9 dial frequency 2 kHz higher than the JT65 dial
|
||||
frequency, and the checkbox labeled *+2 kHz*, just below the *Band*
|
||||
selector, makes the appropriate settings easy.
|
||||
|
||||
IMPORTANT: When finished with this Tutorial, don’t forget to re-enter
|
||||
your own call-sign as *My Call*.
|
||||
|
||||
|
@ -43,27 +43,27 @@ spectral display. You should be able to confirm the following
|
||||
behavior:
|
||||
|
||||
- Double-click on either of the decoded lines highlighted in
|
||||
green. This action should produce the following:
|
||||
green. This action produces the following results:
|
||||
|
||||
** Callsign and locator of a station calling CQ are copied to the *DX
|
||||
Call* and *DX Grid* entry fields.
|
||||
|
||||
** Messages for a minimal QSO are generated.
|
||||
** Messages are generated for a minimal QSO.
|
||||
|
||||
** The *Tx even* box is checked or cleared appropriately, so that you
|
||||
will transmit in the proper (odd or even) minutes.
|
||||
|
||||
** The Rx and Tx frequency markers are moved to the CQ station’s
|
||||
frequency.
|
||||
** The Rx and Tx frequency markers are moved to the frequency of the
|
||||
CQing station.
|
||||
|
||||
** The *Gen Msg* (“generated message”) radio button at bottom right
|
||||
** The *Gen Msg* (``generated message'') radio button at bottom right
|
||||
of the main window is selected.
|
||||
|
||||
** If you have checked *Double-click on call sets Tx Enable* on the
|
||||
*Setup* menu, *Enable Tx* is activated and a transmission starts
|
||||
automatically at the appropriate time.
|
||||
|
||||
- Double-click on the decoded line with the message “K1JT N5KDV EM41”,
|
||||
- Double-click on the decoded message ``K1JT N5KDV EM41'',
|
||||
highlighted in [red]*RED*. Results will be similar to those in the
|
||||
previous step, except the Tx frequency ([red]*RED* marker) is not
|
||||
moved. Such messages are usually in response to your own CQ, or from
|
||||
@ -74,11 +74,12 @@ was.
|
||||
you can cause both Tx and Rx frequencies to be moved. This behavior
|
||||
can also be forced by checking Lock Tx=Rx.
|
||||
|
||||
- Double-click on the message from KF4RWA in either window. He is
|
||||
sending “73” to K1JT, signifying that the QSO is over. Most likely you
|
||||
want to send 73 to him, so the message “KF4RWA K1JT 73” is automatically
|
||||
generated and selected for your next transmission. (Alternatively, you might
|
||||
choose to send a free text message or to call CQ again.)
|
||||
- Double-click on the message from KF4RWA in either window. He is
|
||||
sending ``73'' to K1JT, signifying that the QSO is over. Most likely
|
||||
you want to send 73 to him, so the message ``KF4RWA K1JT 73'' is
|
||||
automatically generated and selected for your next transmission.
|
||||
(Alternatively, you might choose to send a free text message or to
|
||||
call CQ again.)
|
||||
|
||||
- Click on the waterfall to set Rx frequency ([green]*GREEN* marker).
|
||||
|
||||
|
@ -14,7 +14,7 @@ frequencies to 1718 Hz.
|
||||
.Open a Wave File:
|
||||
|
||||
- Select *File | Open* and navigate to +...\save\samples\130610_2343.wav+.
|
||||
The waterfall should look like the following figure:
|
||||
The waterfall should look like this:
|
||||
|
||||
//.130610_2343.wav Decode
|
||||
[[X14]]
|
||||
@ -22,19 +22,23 @@ image::images/130610_2343-wav-80.png[align="left",alt="Wide Graph Decode 130610_
|
||||
|
||||
This sample file contains 17 decodable signals — nine in JT65 mode
|
||||
(flagged with the character # in the decoded text windows), and eight
|
||||
in JT9 mode (flagged with @). Since the Tx mode was set to *Tx JT65*,
|
||||
in JT9 mode (flagged with @).
|
||||
|
||||
... Figure here showing text windows ...
|
||||
|
||||
Since the Tx mode was set to *Tx JT65*,
|
||||
signals in that mode were decoded first. If you had selected *Tx JT9*,
|
||||
JT9 signals would have been decoded first.
|
||||
|
||||
TIP: Notice the [blue]*BLUE* marker on the waterfall scale, by
|
||||
default set at 2500 Hz. Its position is set by the spinner control
|
||||
*JT65 nnnn JT9*, where nnnn is a frequency in Hz. In *JT9+JT65* mode the
|
||||
program will decode JT65 signals below this frequency and JT9 signals
|
||||
above it.
|
||||
TIP: Notice the [blue]*BLUE* marker on the waterfall scale, by default
|
||||
set at 2500 Hz. Its position is set by the spinner control *JT65 nnnn
|
||||
JT9*, where nnnn is a frequency in Hz. In *JT9+JT65* mode the program
|
||||
will automatically decode JT65 signals below this frequency and JT9
|
||||
signals above it.
|
||||
|
||||
- Confirm that mouse-click behavior is similar to that described
|
||||
<<X13,above>>. The program automatically determines the mode of each
|
||||
JT9 or JT65 signal.
|
||||
<<X13,above>>, in Example 1. The program automatically determines the
|
||||
mode of each JT9 or JT65 signal.
|
||||
|
||||
- Double-click on the waterfall near 815 Hz: a JT65 message
|
||||
originating from W7VP will be decoded and appear in the *Rx Frequency*
|
||||
@ -61,7 +65,7 @@ frequency markers on the waterfall scale resize themselves
|
||||
accordingly.
|
||||
|
||||
- Scroll back in the *Band Activity* window and double-click on the
|
||||
message CQ DL7ACA JO40. The program will set Tx mode to JT65 and Tx
|
||||
message CQ DL7ACA JO40. The program will set *Tx mode* to JT65 and Tx
|
||||
and Rx frequencies to that of DL7ACA, 975 Hz. If you had checked
|
||||
*Double-click on call sets Tx Enable* on the *Setup* menu, the program
|
||||
would configure itself to start a QSO with DL7ACA.
|
||||
@ -70,8 +74,6 @@ would configure itself to start a QSO with DL7ACA.
|
||||
will set Tx mode to JT9 and the Rx and Tx frequencies to 3567 Hz. The
|
||||
program is now configured properly for a JT9 QSO with TA4A.
|
||||
|
||||
IMPORTANT: Don’t forget to re-enter your own call-sign as *My Call*.
|
||||
|
||||
.Reopen the First Sample File:
|
||||
- Select *File | Open* and navigate to +...\save\samples\130418_1742.wav+.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Status=review
|
||||
- Click the *Stop* button on the main window to halt any data acquisition.
|
||||
- Select JT9 from the *Mode* menu and *Deepest* from the *Decode* menu.
|
||||
- Select *JT9* from the *Mode* menu and *Deepest* from the *Decode* menu.
|
||||
- Set the audio Tx and Rx frequencies to 1224 Hz.
|
||||
//Maybe show small screen shots here?
|
||||
|
@ -26,7 +26,7 @@
|
||||
:osx-108: http://physics.princeton.edu/pulsar/K1JT/wsjtx_3nov13.tar.gz[ OS X 10.6, 10.7, and 10.8 ]
|
||||
:osx-109: http://physics.princeton.edu/pulsar/K1JT/wsjtx_10.9_29nov13.tar.gz[OS X 10.9]
|
||||
:pskreporter: http://pskreporter.info/pskmap.html[PSK Reporter]
|
||||
:jt65protocol: http://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX article]
|
||||
:jt65protocol: http://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX]
|
||||
|
||||
// These [[X?]] numbers are HTML anchors, and can be used to
|
||||
// navigate though the document easily: <<[X1],See Introduction]>> will
|
||||
@ -46,9 +46,8 @@ include::system-requirments.adoc[]
|
||||
[[X3]]
|
||||
== Installation
|
||||
|
||||
- Download _WSJT-X_ from the {homepage}.
|
||||
- Click on _WSJT-X_ at the left margin and then on the appropriate
|
||||
link(s) for your operating system.
|
||||
- Download _WSJT-X_ from the {homepage}. Click on _WSJT-X_ at the left
|
||||
margin and then on the appropriate link(s) for your operating system.
|
||||
|
||||
=== Windows
|
||||
include::install-windows.adoc[]
|
||||
@ -122,7 +121,6 @@ include::make-qso.adoc[]
|
||||
|
||||
[[X7]]
|
||||
== Controls & Functions
|
||||
include::controls-functions.adoc[]
|
||||
|
||||
[[X71]]
|
||||
=== Wide Graph Controls
|
||||
@ -161,32 +159,40 @@ include::controls-functions-kb-shortcuts.adoc[]
|
||||
include::controls-functions-special-mouse-cmds.adoc[]
|
||||
|
||||
[[X8]]
|
||||
== JT65 Protocol
|
||||
include::jt65-protocol.adoc[]
|
||||
|
||||
[[X9]]
|
||||
== JT9 Protocol
|
||||
include::jt9-protocol.adoc[]
|
||||
|
||||
[[XA]]
|
||||
== JT65 & JT9 Differences
|
||||
include::jt65-jt9-differences.adoc[]
|
||||
|
||||
[[X9]]
|
||||
== The JT9 Protocol
|
||||
include::jt9-protocol.adoc[]
|
||||
[[XB]]
|
||||
== Transmitting and Receiving in _WSJT-X_
|
||||
include::tx-rx.adoc[]
|
||||
|
||||
[[XA10]]
|
||||
[[XAPPA]]
|
||||
== Appendix A
|
||||
|
||||
// Note to Dev-Team, this list of files needs to be updated.
|
||||
[[XA11]]
|
||||
[[XAPPA1]]
|
||||
=== Installed Files
|
||||
include::installed-files.adoc[]
|
||||
|
||||
[[XA12]]
|
||||
[[XAPPA2]]
|
||||
=== Runtime Files
|
||||
include::runtime-files.adoc[]
|
||||
|
||||
[[XB10]]
|
||||
[[XAPPB]]
|
||||
== Appendix B
|
||||
[[XB11]]
|
||||
[[XAPPB1]]
|
||||
=== Rig Configuration
|
||||
include::rig-config-main.adoc[]
|
||||
|
||||
[[XACK10]]
|
||||
[[XACK]]
|
||||
== Acknowledgments
|
||||
include::acknowledgements.adoc[]
|
||||
|
||||
|
@ -51,7 +51,7 @@ OBJS1 = pctile.o graycode.o sort.o ssort.o \
|
||||
extract.o fchisq65.o demod64a.o chkhist.o interleave63.o ccf2.o \
|
||||
move.o indexx.o graycode65.o twkfreq65.o smo121.o \
|
||||
wrapkarn.o init_rs.o encode_rs.o decode_rs.o gen65.o fil4.o \
|
||||
flat3.o polfit.o determ.o badmsg.o
|
||||
flat3.o polfit.o determ.o baddata.o
|
||||
|
||||
libjt9.a: $(OBJS1)
|
||||
ar cr libjt9.a $(OBJS1)
|
||||
|
@ -42,7 +42,7 @@ OBJS1 = pctile.o graycode.o sort.o ssort.o \
|
||||
extract.o fchisq65.o demod64a.o chkhist.o interleave63.o ccf2.o \
|
||||
move.o indexx.o graycode65.o twkfreq65.o smo121.o \
|
||||
wrapkarn.o init_rs.o encode_rs.o decode_rs.o gen65.o fil4.o \
|
||||
flat3.o polfit.o determ.o badmsg.o
|
||||
flat3.o polfit.o determ.o baddata.o
|
||||
|
||||
libjt9.a: $(OBJS1)
|
||||
ar cr libjt9.a $(OBJS1)
|
||||
|
27
lib/baddata.f90
Normal file
27
lib/baddata.f90
Normal file
@ -0,0 +1,27 @@
|
||||
logical function baddata(id2,nz)
|
||||
|
||||
integer*2 id2(nz)
|
||||
|
||||
nadd=1200
|
||||
j=0
|
||||
smin=1.e30
|
||||
smax=-smin
|
||||
iz=49*12000/nadd
|
||||
do i=1,iz
|
||||
sq=0.
|
||||
do n=1,nadd
|
||||
j=j+1
|
||||
x=id2(j)
|
||||
sq=sq + x*x
|
||||
enddo
|
||||
rms=sqrt(sq/nadd)
|
||||
smin=min(smin,rms)
|
||||
smax=max(smax,rms)
|
||||
enddo
|
||||
|
||||
sratio=smax/(smin+1.e-30)
|
||||
baddata=.false.
|
||||
if(sratio.gt.1.e30) baddata=.true.
|
||||
|
||||
return
|
||||
end function baddata
|
@ -1,18 +0,0 @@
|
||||
logical function badmsg(msg)
|
||||
character*22 msg
|
||||
character*42 c
|
||||
data c/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ +-./?'/
|
||||
|
||||
do i=1,22
|
||||
do j=1,42
|
||||
if(msg(i:i).eq.c(j:j)) go to 10
|
||||
enddo
|
||||
badmsg=.true.
|
||||
return
|
||||
10 continue
|
||||
enddo
|
||||
badmsg=.false.
|
||||
|
||||
return
|
||||
end function badmsg
|
||||
|
@ -10,7 +10,7 @@ subroutine decoder(ss,id2)
|
||||
real*4 red2(NSMAX)
|
||||
logical ccfok(NSMAX)
|
||||
logical done(NSMAX)
|
||||
logical done65
|
||||
logical done65,baddata
|
||||
integer*2 id2(NTMAX*12000)
|
||||
real*4 dd(NTMAX*12000)
|
||||
integer*1 i1SoftSymbols(207)
|
||||
@ -29,6 +29,12 @@ subroutine decoder(ss,id2)
|
||||
open(22,file='kvasd.dat',access='direct',recl=1024,status='unknown')
|
||||
|
||||
npts65=52*12000
|
||||
if(baddata(id2,npts65)) then
|
||||
nsynced=0
|
||||
ndecoded=0
|
||||
go to 800
|
||||
endif
|
||||
|
||||
ntol65=20
|
||||
done65=.false.
|
||||
if(nmode.ge.65 .and. ntxmode.eq.65) then
|
||||
|
@ -4,7 +4,7 @@ subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv)
|
||||
character decoded*22
|
||||
integer era(51),dat4(12),indx(64)
|
||||
integer mrsym(63),mr2sym(63),mrprob(63),mr2prob(63)
|
||||
logical nokv,ltext,badmsg
|
||||
logical nokv,ltext
|
||||
data nokv/.false./,nsec1/0/
|
||||
save
|
||||
|
||||
@ -93,7 +93,7 @@ subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv)
|
||||
ltext=.false.
|
||||
if(ncount.ge.0) then
|
||||
call unpackmsg(dat4,decoded) !Unpack the user message
|
||||
if(badmsg(decoded)) then
|
||||
if(index(decoded,'...... ').gt.0) then
|
||||
ncount=-1
|
||||
go to 900
|
||||
endif
|
||||
|
@ -5,6 +5,7 @@ subroutine unpackcall(ncall,word,iv2,psfx)
|
||||
|
||||
data c/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ '/
|
||||
|
||||
word='......'
|
||||
n=ncall
|
||||
iv2=0
|
||||
if(n.ge.262177560) go to 20
|
||||
|
@ -1,4 +1,4 @@
|
||||
//------------------------------------------------------------- MainWindow
|
||||
//------------------------------------------------------------ MainWindow
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
@ -31,6 +31,7 @@ wchar_t buffer[256];
|
||||
|
||||
Rig* rig = NULL;
|
||||
QTextEdit* pShortcuts;
|
||||
QTextEdit* pPrefixes;
|
||||
QTcpSocket* commanderSocket = new QTcpSocket(0);
|
||||
|
||||
QString rev="$Rev$";
|
||||
@ -3053,3 +3054,29 @@ void MainWindow::on_outAttenuation_valueChanged (int a)
|
||||
ui->outAttenuation->setToolTip (tr ("Transmit digital gain ") + (a ? QString::number (-dBAttn, 'f', 1) : "0") + "dB");
|
||||
Q_EMIT outAttenuationChanged (dBAttn);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionShort_list_of_add_on_prefixes_and_suffixes_triggered()
|
||||
{
|
||||
pPrefixes = new QTextEdit(0);
|
||||
pPrefixes->setReadOnly(true);
|
||||
pPrefixes->setFontPointSize(10);
|
||||
pPrefixes->setWindowTitle("Prefixes");
|
||||
pPrefixes->setGeometry(QRect(45,50,565,450));
|
||||
Qt::WindowFlags flags = Qt::WindowCloseButtonHint |
|
||||
Qt::WindowMinimizeButtonHint;
|
||||
pPrefixes->setWindowFlags(flags);
|
||||
QString prefixes = m_appDir + "/prefixes.txt";
|
||||
QFile f(prefixes);
|
||||
if(!f.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
msgBox("Cannot open " + prefixes);
|
||||
return;
|
||||
}
|
||||
QTextStream s(&f);
|
||||
QString t;
|
||||
for(int i=0; i<100; i++) {
|
||||
t=s.readLine();
|
||||
pPrefixes->append(t);
|
||||
if(s.atEnd()) break;
|
||||
}
|
||||
pPrefixes->show();
|
||||
}
|
||||
|
@ -180,7 +180,9 @@ private slots:
|
||||
void on_cbPlus2kHz_toggled(bool checked);
|
||||
void on_outAttenuation_valueChanged (int);
|
||||
|
||||
private:
|
||||
void on_actionShort_list_of_add_on_prefixes_and_suffixes_triggered();
|
||||
|
||||
private:
|
||||
Q_SIGNAL void startAudioOutputStream (QAudioDeviceInfo, unsigned channels, unsigned msBuffered);
|
||||
Q_SIGNAL void stopAudioOutputStream ();
|
||||
|
||||
|
@ -2279,7 +2279,7 @@ p, li { white-space: pre-wrap; }
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>780</width>
|
||||
<height>20</height>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
@ -2357,6 +2357,7 @@ p, li { white-space: pre-wrap; }
|
||||
<addaction name="actionKeyboard_shortcuts"/>
|
||||
<addaction name="actionSpecial_mouse_commands"/>
|
||||
<addaction name="actionAbout"/>
|
||||
<addaction name="actionShort_list_of_add_on_prefixes_and_suffixes"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuMode">
|
||||
<property name="title">
|
||||
@ -2674,6 +2675,11 @@ p, li { white-space: pre-wrap; }
|
||||
<string>Show DXCC entity and worked B4 status</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionShort_list_of_add_on_prefixes_and_suffixes">
|
||||
<property name="text">
|
||||
<string>Short list of add-on prefixes and suffixes</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
|
Loading…
Reference in New Issue
Block a user