diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 0629d12cc..7320deb9a 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -15,18 +15,16 @@ set (UG_SRCS user_guide/controls-functions-messages.adoc user_guide/controls-functions-status-bar.adoc user_guide/controls-functions-wide-graph.adoc - user_guide/coop-prgrms.adoc user_guide/cooperating-programs.adoc user_guide/faq.adoc user_guide/font-sizes.adoc + user_guide/implementation.adoc user_guide/install-from-source.adoc user_guide/install-linux.adoc user_guide/install-mac.adoc user_guide/install-windows.adoc user_guide/introduction.adoc - user_guide/jt65-jt9-differences.adoc - user_guide/jt65-protocol.adoc - user_guide/jt9-protocol.adoc + user_guide/protocols.adoc user_guide/logging.adoc user_guide/make-qso.adoc user_guide/new_features.adoc @@ -45,7 +43,6 @@ set (UG_SRCS user_guide/tutorial-example2.adoc user_guide/tutorial-main-window.adoc user_guide/tutorial-wide-graph-settings.adoc - user_guide/tx-rx.adoc user_guide/utilities.adoc user_guide/vhf-features.adoc user_guide/wsjtx-main.adoc diff --git a/doc/common/license.adoc b/doc/common/license.adoc index b540dfbf5..6d7f63653 100755 --- a/doc/common/license.adoc +++ b/doc/common/license.adoc @@ -12,4 +12,4 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this documentation. If not, see {gnu_gpl}. -Copyright (C) 2001-2015 Joseph H Taylor, Jr, {joe_taylor}. +Copyright (C) 2001-2015 Joseph H Taylor, Jr., K1JT. diff --git a/doc/common/links.adoc b/doc/common/links.adoc index d247a5856..7fc6f2a99 100644 --- a/doc/common/links.adoc +++ b/doc/common/links.adoc @@ -33,6 +33,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. // General URL's //:launchpadac6sl: https://launchpad.net/~jnogatch/+archive/wsjtx[WSJT-X Linux Packages] +:alarmejt: http://f5jmh.free.fr/index.php?page=english[AlarmeJT] :asciidoc_cheatsheet: http://powerman.name/doc/asciidoc[AsciiDoc Cheatsheet] :asciidoc_help: http://www.methods.co.nz/asciidoc/userguide.html[AsciiDoc User Guide] :asciidoc_questions: http://www.methods.co.nz/asciidoc/faq.html[AsciiDoc FAQ] @@ -46,7 +47,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :dev_guide: http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide] :devsvn1: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] :devsvn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[SourceForge] -:dimension4: http://www.thinkman.com/dimension4/[Dimension4] +:dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software] :download: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[Download Page] :dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.] :dxlcommander: http://www.dxlabsuite.com/commander/[Commander] @@ -60,9 +61,9 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :gnu_gpl: http://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License] :homepage: http://physics.princeton.edu/pulsar/K1JT/[WSJT Home Page] :hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe] -:jt4eme: http://physics.princeton.edu/pulsar/K1JT/WSJT-X_for_JT4_v6.pdf[here] +:jt4eme: http://physics.princeton.edu/pulsar/K1JT/WSJT-X_1.6.0_for_JT4_v7.pdf[here] :jt65protocol: http://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX] -:jtalert: http://hamapps.com[JT-ALERT-X] +:jtalert: http://hamapps.hamspots.net[JT-ALERT-X] :kvasd-installer: http://physics.princeton.edu/pulsar/K1JT/kv-installer.txt[here] :launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's] :log4om: http://www.log4om.com[Log4OM] diff --git a/doc/user_guide/controls-functions-center.adoc b/doc/user_guide/controls-functions-center.adoc index c1a4e0e6f..59f463f14 100644 --- a/doc/user_guide/controls-functions-center.adoc +++ b/doc/user_guide/controls-functions-center.adoc @@ -16,14 +16,14 @@ double-clicking on decoded text or a signal in the waterfall. They can also be adjusted with spinner controls. * You can force Tx frequency to the current Rx frequency by clicking -the *Tx> for details. * Click on the pull-down arrow for message #5 to select one of the diff --git a/doc/user_guide/controls-functions-wide-graph.adoc b/doc/user_guide/controls-functions-wide-graph.adoc index 5de0e4d61..a86240432 100644 --- a/doc/user_guide/controls-functions-wide-graph.adoc +++ b/doc/user_guide/controls-functions-wide-graph.adoc @@ -24,11 +24,6 @@ updating the spectral display. Values around 5 are suitable for normal JT9 and JT65 operation. Adjust *N Avg* to make the waterfall move faster or slower, as desired. -- *Zero* and *Gain* control the reference level and scaling for -waterfall colors. Values around 0 for both parameters are usually -about right, depending on the input signal level, the chosen palette, -and your own preferences. - - A dropdown list below the *Palette* label lets you select from a wide range of waterfall color palettes. @@ -37,13 +32,25 @@ user-defined palette. - Check *Flatten* if you want _WSJT-X_ to compensate for a sloping or uneven response across the received passband. For this feature to -work properly, remember to restrict the range of displayed frequencies +work properly, you should restrict the range of displayed frequencies so that only the active part of the spectrum is shown. - Select *Current* or *Cumulative* for the spectrum displayed in the bottom one-third of the Wide Graph window. *Current* is the average spectrum over the most recent *N Avg* FFT calculations. *Cumulative* is the average spectrum since the start of the present UTC minute. -(*Linear Avg* is not useful for JT9 or JT65; it is intended for use +*Linear Avg* is useful in JT4 mode, especially when short-form +messages are used. + +for JT9 or JT65; it is intended for use with the yet-to-be implemented JT4 mode.) +- Four sliders control reference levels and scaling for waterfall +colors and the spectrum plot. Values around midscale are usually +about right, depending on the input signal level, the chosen palette, +and your own preferences. + +- *Smoothing* is active only when *Linear Average* has been selected. +Smoothing the displayed spectrum over more than one bin can enhance +your ability to detect weak EME signals with Doppler spread more than +a few Hz. diff --git a/doc/user_guide/coop-prgrms.adoc b/doc/user_guide/coop-prgrms.adoc deleted file mode 100644 index b76a9897f..000000000 --- a/doc/user_guide/coop-prgrms.adoc +++ /dev/null @@ -1,5 +0,0 @@ -There is one program and one service that compliment _WSJT-X_ greatly. They are as follows: - -- {pskreporter} - -- {jtalert} \ No newline at end of file diff --git a/doc/user_guide/cooperating-programs.adoc b/doc/user_guide/cooperating-programs.adoc index 91796dfa9..f8db27941 100644 --- a/doc/user_guide/cooperating-programs.adoc +++ b/doc/user_guide/cooperating-programs.adoc @@ -21,3 +21,8 @@ optional alert conditions (decoding of a new DXCC, new state, etc.), and convenient direct access to web services such as callsign lookup. image::images/jtalert.png[align="left",alt="JTAlert-X image"] + +* {alarmejt}, by F5JMH, is available only for Linux. The program keeps +its own logbook. It fetches contact information from _WSJT_X and +provides visual alerts for new DXCC entities and grid squares on the +current band, as well as other options. diff --git a/doc/user_guide/images/misc-controls-center.png b/doc/user_guide/images/misc-controls-center.png index 6d952f140..72c4bcf01 100644 Binary files a/doc/user_guide/images/misc-controls-center.png and b/doc/user_guide/images/misc-controls-center.png differ diff --git a/doc/user_guide/images/wide-graph-controls.png b/doc/user_guide/images/wide-graph-controls.png index bad2a7c2a..650519123 100644 Binary files a/doc/user_guide/images/wide-graph-controls.png and b/doc/user_guide/images/wide-graph-controls.png differ diff --git a/doc/user_guide/tx-rx.adoc b/doc/user_guide/implementation.adoc similarity index 75% rename from doc/user_guide/tx-rx.adoc rename to doc/user_guide/implementation.adoc index eb48209b6..4f4ca6619 100644 --- a/doc/user_guide/tx-rx.adoc +++ b/doc/user_guide/implementation.adoc @@ -4,10 +4,9 @@ Immediately before the start of a transmission _WSJT-X_ encodes a user's message and computes the sequence of tones to be sent. The audio waveform is computed on-the-fly, with 16-bit integer samples -sent to the audio output device at a 48000 Hz rate. Generated JT65 -and JT9 signals have continuous phase and constant amplitude, and -there are no key clicks. The transmitter's power amplifier need not -be highly linear. +sent to the audio output device at a 48000 Hz rate. Generated signals +have continuous phase and constant amplitude, and there are no key +clicks. The transmitter's power amplifier need not be highly linear. .Receiving @@ -20,14 +19,14 @@ s, half the JT9 symbol length. .Decoding At the end of a reception sequence, about 50 seconds into the UTC -minute, received data samples are forwarded to the decoder. For -operator convenience the decoder goes through its full procedure -twice: first at the selected Rx frequency, and then over the full -displayed frequency range. Each decoding pass can be described as a -sequence of discrete blocks. The functional blocks are different for -the JT65 and JT9 modes. In dual-mode JT9+JT65 operation on computers -with more than one CPU, decoding computations for the two modes are -done in parallel. +minute, received data samples are forwarded to the decoder. In JT9 +and JT65 modes the decoder goes through its full procedure twice: +first at the selected Rx frequency, and then over the full displayed +frequency range. Each decoding pass can be described as a sequence of +discrete blocks. Details of the functional blocks are different for +each mode. In dual-mode JT9+JT65 operation on computers with more +than one CPU, decoding computations for the two modes are done in +parallel. The basic decoding algorithm for JT65 mode is described in the 2005 {jt65protocol} paper. The following list summarizes the corresponding diff --git a/doc/user_guide/install-mac.adoc b/doc/user_guide/install-mac.adoc index 7c8a0dd40..f4225ade3 100644 --- a/doc/user_guide/install-mac.adoc +++ b/doc/user_guide/install-mac.adoc @@ -6,7 +6,7 @@ installation notes. If you have already installed a previous version, you can retain it by changing its name in the *Applications* folder (say, from _WSJT-X_ to -_WSJT-X_previous_). You can then proceed to the installation phase. +_WSJT-X_1.5_). You can then proceed to the installation phase. Take note also of the following: diff --git a/doc/user_guide/install-windows.adoc b/doc/user_guide/install-windows.adoc index 99b51f229..2502d202b 100644 --- a/doc/user_guide/install-windows.adoc +++ b/doc/user_guide/install-windows.adoc @@ -18,8 +18,9 @@ directory is ``invisible''. It's there, however, and accessible. An alternative (shortcut) directory name is %LOCALAPPDATA%\WSJT-X\. - The built-in Windows facility for time synchronization is usually -not adequate. We recommend the program _Meinberg NTP_: see {ntpsetup} -for downloading and installation instructions. +not adequate. We recommend the program _Meinberg NTP_ (see {ntpsetup} +for downloading and installation instructions) or _Dimension 4_ from +{dimension4}. - _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 diff --git a/doc/user_guide/introduction.adoc b/doc/user_guide/introduction.adoc index 687f80e48..229e21c75 100644 --- a/doc/user_guide/introduction.adoc +++ b/doc/user_guide/introduction.adoc @@ -39,7 +39,7 @@ even if they are far below the audible threshold. _WSJT-X_ provides spectral displays for passbands up to 5 kHz, flexible rig control for nearly all modern radios used by amateurs, -and a wide variety of special aids such as automatic Doppler control +and a wide variety of special aids such as automatic Doppler tracking for EME QSOs and Echo testing. The program runs equally well on Windows, Macintosh, and Linux systems, and installation packages are available for all three platforms. diff --git a/doc/user_guide/jt65-jt9-differences.adoc b/doc/user_guide/jt65-jt9-differences.adoc deleted file mode 100644 index 32e3c49ff..000000000 --- a/doc/user_guide/jt65-jt9-differences.adoc +++ /dev/null @@ -1,41 +0,0 @@ -// Status=review - -The most striking difference between JT65 and JT9 is the much smaller -occupied bandwidth of JT9: 15.6 Hz, compared with 177.6 Hz for JT65A. -Transmissions in the two modes are essentially the same length, and -both modes use exactly 72 bits to carry message information. At the -user level the two modes support nearly identical message structures. - -JT65 signal reports are constrained to the range –1 to –30 dB. This -range is more than adequate for EME purposes, but not really enough -for optimum use at HF and below. S/N values displayed by the JT65 -decoder are clamped at an upper limit –1 dB, and in present JT65 -decoders the S/N scale 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 noise background, JT65 achieves nearly -100% decoding down to S/N = –22 dB and about 50% success at –24 -dB. JT9 is about 2 dB better, achieving 50% decoding at –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 perform -better. - -JT9 is an order of magnitude better in spectral efficiency. On a busy -HF band, the conventional 2-kHz-wide JT65 sub-band is often filled -with overlapping signals. Ten times as many JT9 signals can fit into -the same frequency range, without collisions. - -JT65 signals often decode correctly even when they overlap. Such -behavior is much less likely with JT9 signals, which fill their occupied -bandwidth more densely. JT65 may also be more forgiving of small -frequency drifts. diff --git a/doc/user_guide/jt65-protocol.adoc b/doc/user_guide/jt65-protocol.adoc deleted file mode 100644 index 2b7a15184..000000000 --- a/doc/user_guide/jt65-protocol.adoc +++ /dev/null @@ -1,51 +0,0 @@ -// 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 in just 71 -information bits. A 72^nd^ bit serves as a flag to indicate that a -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 basic aim -is to compress the most common messages used for minimally valid QSOs -into a minimum fixed number of bits. After compression, a Reed Solomon -(63,12) error-control code converts 72-bit user messages into -sequences of 63 six-bit channel symbols. - -JT65 requires tight synchronization of time and frequency between -transmitting and receiving stations. Each transmission is divided into -126 contiguous time intervals or symbols 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 seconds. The -synchronizing tone is at 11025 × 472/4096 = 1270.46 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 11025 × 472/4096 + 11025/4096 × (N+2) × m, 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. Sub-mode JT65A is always used at HF. - -For EME (but, conventionally, not on the HF bands) the signal report -OOO is sometimes used instead of numerical signal reports. It is -conveyed by reversing sync and data positions in the transmitted -sequence. Shorthand messages for RO, RRR, and 73 dispense with the -sync vector entirely and use time intervals of 16384/11025 = 1.486 s -for pairs of alternating tones. The lower frequency is always 1270.46 -Hz, the same as that of the sync tone, and the frequency separation is -110250/4096 = 26.92 Hz multiplied by n × m, with n = 2, 3, 4 for the -messages RO, RRR, and 73. diff --git a/doc/user_guide/jt9-protocol.adoc b/doc/user_guide/jt9-protocol.adoc deleted file mode 100644 index f8a3cc0f9..000000000 --- a/doc/user_guide/jt9-protocol.adoc +++ /dev/null @@ -1,20 +0,0 @@ -// Status=review -//Needs work! - -JT9 is designed for making minimally valid QSOs at LF, MF, and HF. It -uses 72-bit structured messages nearly identical (at the user level) -to those in JT65. Error control coding (ECC) uses a strong -convolutional code with constraint length K=32, rate r=1/2, and a zero -tail, leading to an encoded message length of (72+31) × 2 = 206 -information-carrying bits. Modulation is nine-tone frequency-shift -keying, 9-FSK. Eight tones are used for data, one for -synchronization. Eight data tones means that three data bits are -conveyed by each transmitted information symbol. Sixteen symbol -intervals are devoted to synchronization, so a transmission requires a -total of 206 / 3 + 16 = 85 (rounded up) channel symbols. The sync -symbols are those numbered 1, 2, 5, 10, 16, 23, 33, 35, 51, 52, 55, -60, 66, 73, 83, and 85 in the transmitted sequence. Each symbol lasts -for 6912 sample intervals at 12000 samples per second, or about 0.576 -seconds. 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. diff --git a/doc/user_guide/logging.adoc b/doc/user_guide/logging.adoc index ef1a69242..7b57866c0 100644 --- a/doc/user_guide/logging.adoc +++ b/doc/user_guide/logging.adoc @@ -22,10 +22,10 @@ before'' status for this callsign (according to log file background color, as follows: [horizontal] -!:: (default color bright purple) -- New DXCC entity -~:: (light pink) -- You have already worked this DXCC entity but not +!:: default color bright purple: -- New DXCC entity +~:: light pink: -- You have already worked this DXCC entity but not this station - :: (green) -- You have previously worked the calling station + :: green: -- You have previously worked the calling station In this respect the program does not distinguish between modes, but it does differentiate between bands. diff --git a/doc/user_guide/make-qso.adoc b/doc/user_guide/make-qso.adoc index 0d06a6282..c3a88367a 100644 --- a/doc/user_guide/make-qso.adoc +++ b/doc/user_guide/make-qso.adoc @@ -7,16 +7,12 @@ minimal QSOs using short, structured messages. The process works best if you use these formats and follow standard operating practices. The recommended basic QSO goes something like this: -[width="90%",cols="3,7,12",options="header"] -|======================================= -|UTC|Transmitted Message|Comment -|0001|CQ K1ABC FN42|K1ABC calls CQ -|0002|K1ABC G0XYZ IO91|G0XYZ answers -|0003|G0XYZ K1ABC –19|K1ABC sends report -|0004|K1ABC G0XYZ R–22|G0XYZ sends acknowledgment and report -|0005|G0XYZ K1ABC RRR|K1ABC sends acknowledgment -|0006|K1ABC G0XYZ 73|G0XYZ sends 73 -|======================================= + CQ K1ABC FN42 #K1ABC calls CQ + K1ABC G0XYZ IO91 #G0XYZ answers + G0XYZ K1ABC –19 #K1ABC sends report + K1ABC G0XYZ R–22 #G0XYZ sends R+report + G0XYZ K1ABC RRR #K1ABC sends RRR + K1ABC G0XYZ 73 #G0XYZ sends 73 *Standard messages* consist of two callsigns (or CQ, QRZ, or DE and one callsign) followed by the transmitting station’s grid locator, a @@ -35,9 +31,10 @@ lie in the range –30 to –1 dB, and values are significantly compressed above about -10 dB. JT9 supports the extended range –50 to +49 dB and assigns more reliable numbers to relatively strong signals. -IMPORTANT: Signals become visible on the waterfall around S/N = –26 dB and -audible (to someone with very good hearing) around –15 dB. Thresholds -for decodability are around –24 dB for JT65, –26 dB for JT9. +IMPORTANT: Signals become visible on the waterfall around S/N = –26 dB +and audible (to someone with very good hearing) around –15 +dB. Thresholds for decodability are around -23 dB for JT4, –24 dB for +JT65, –26 dB for JT9. === Free Text Messages @@ -46,7 +43,7 @@ Free-format messages such as ``TNX ROBERT 73'' or ``5W VERT 73 GL'' are supported, up to a maximum of 13 characters, including spaces. In general you should avoid the character / in free-text messages, as the program may then try to interpret your construction as part of a -compound callsign. It should be obvious that the JT9 and JT65 +compound callsign. It should be obvious that the JT4, JT9, and JT65 protocols are not designed or well suited for extensive conversations or rag-chewing. @@ -73,8 +70,8 @@ compound callsigns: The following messages are _not_ valid, because a third word is not permitted in any message containing a *Type 1* compound callsign: - ZA/K1ABC G0XYZ -22 #These messages will be sent - G0XYZ K1ABC/4 73 #without the third "word" + ZA/K1ABC G0XYZ -22 #These messages are invalid; each would + G0XYZ K1ABC/4 73 # be sent without its third "word" A QSO between two stations using *Type 1* compound-callsign messages might look like this: @@ -108,8 +105,8 @@ messages containing *Type 2* compound callsigns: DE W4/G0XYZ RRR DE W4/G0XYZ 73 -In each case, the message is treated as *Type 2* because the add-on -prefix or suffix is _not_ one of those in the fixed list. Note +In each case, the compound callsign is treated as *Type 2* because the +add-on prefix or suffix is _not_ one of those in the fixed list. Note that a second callsign is never permissible in these messages. IMPORTANT: Remember that during a transmission your transmitted message is @@ -162,5 +159,6 @@ as the following checklist: - Radio filters centered and set to widest available passband (up to 5 kHz). -IMPORTANT: Remember that JT9 and J65 generally do not require high -power. Under most HF propagation conditions, QRP is the norm. +IMPORTANT: Remember that JT4, JT9, J65, and WSPR generally do not +require high power. Under most HF propagation conditions, QRP is the +norm. diff --git a/doc/user_guide/new_features.adoc b/doc/user_guide/new_features.adoc index bb8743b7c..b071c4dee 100644 --- a/doc/user_guide/new_features.adoc +++ b/doc/user_guide/new_features.adoc @@ -19,25 +19,26 @@ be always on-frequency to within about 1 Hz. - Mode-specific standard working frequencies accessible from the drop-down band selector. -- A number of corrections have been made to the Hamlib library, thereby -fixing balky rig-control features. A few unreliable features peculiar -to particular radios have been removed. - +- A number of corrections to the Hamlib library, fixing balky +rig-control features. A few unreliable features peculiar to +particular radios have been removed. + === Future releases Much work has already been done on Version 1.7 of _WSJT-X_. (Up to -now it has been called v1.6.1.) More than 100 people have been -building this version for themselves, as development progresses, and -reporting on their experiences. The next release will likely have the -following features not present in Version 1.6.0, and perhaps others as -well: +now this branch has been called v1.6.1.) More than 100 people have +been building this version for themselves, as development progresses, +and reporting on their experiences. The next release will likely have +the following features not present in Version 1.6.0, and perhaps +others as well: - *JTMSK* mode, intended for meteor scatter, ionospheric scatter, aircraft scatter, and the like. Unlike the FSK441, ISCAT, and JTMS -modes present in the older program _WSJT_, *JTMSK* uses strong forward -error correction and structured messages identical to those in JT4, -JT9, and JT65. +modes present in the older program _WSJT_, *JTMSK* uses forward error +correction and structured messages identical to those in JT4, JT9, and +JT65. - A significantly improved decoder for JT65, especially advantageous when used in crowded HF bands. Starting with Version 1.7, _WSJT-X_ -will longer use the patented, closed-source Koetter-Vardy algorithm. +will no longer use the patented, closed-source Koetter-Vardy +algorithm. diff --git a/doc/user_guide/protocols.adoc b/doc/user_guide/protocols.adoc new file mode 100644 index 000000000..a8c4faa4f --- /dev/null +++ b/doc/user_guide/protocols.adoc @@ -0,0 +1,137 @@ +[[JT65PRO]] +=== JT65 + +JT65 was designed for making minimal QSOs via EME (``moon-bounce'') on +the VHF and UHF bands. A detailed description of the protocol and its +implementation in program _WSJT_ was published in {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 in just 71 +information bits. A 72^nd^ bit serves as a flag to indicate that a +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 basic aim +is to compress the most common messages used for minimally valid QSOs +into a minimum fixed number of bits. After compression, a Reed Solomon +(63,12) error-control code converts 72-bit user messages into +sequences of 63 six-bit channel symbols. + +JT65 requires tight synchronization of time and frequency between +transmitting and receiving stations. Each transmission is divided into +126 contiguous tone intervals or ``symbols'' 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 seconds. The +synchronizing tone is at 11025 × 472/4096 = 1270.46 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 11025 × 472/4096 + 11025/4096 × (N+2) × m, 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. Sub-mode JT65A is always used at HF. + +For EME (but, conventionally, not on the HF bands) the signal report +OOO is sometimes used instead of numerical signal reports. It is +conveyed by reversing sync and data positions in the transmitted +sequence. Shorthand messages for RO, RRR, and 73 dispense with the +sync vector entirely and use time intervals of 16384/11025 = 1.486 s +for pairs of alternating tones. The lower frequency is always 1270.46 +Hz, the same as that of the sync tone, and the frequency separation is +110250/4096 = 26.92 Hz multiplied by n × m, with n = 2, 3, 4 for the +messages RO, RRR, and 73. + +[[JT4PRO]] +=== JT4 + +JT4 uses 72-bit structured messages nearly identical to those in +JT65. Error control coding (ECC) uses a strong convolutional code with +constraint length K=32, rate r=1/2, and a zero tail, leading to an +encoded message length of (72+31) x 2 = 206 information-carrying +bits. Modulation is 4-tone frequency-shift keying at 11025 / 2520 = +4.375 baud. Each symbol carries one information bit (the most +significant bit) and ony synchronizing bit (the least signicifant +bit). The pseudo-random sync vector is the following sequence: + + 000011000110110010100000001100000000000010110110101111101000 + 100100111110001010001111011001000110101010101111101010110101 + 011100101101111000011011000111011101110010001101100100011111 + 10011000011000101101111010 + +[[JT9PRO]] +=== JT9 + +JT9 is designed for making minimally valid QSOs at LF, MF, and HF. It +uses 72-bit structured messages nearly identical (at the user level) +to those in JT65. Error control coding (ECC) uses a strong +convolutional code with constraint length K=32, rate r=1/2, and a zero +tail, leading to an encoded message length of (72+31) × 2 = 206 +information-carrying bits. Modulation is nine-tone frequency-shift +keying, 9-FSK. Eight tones are used for data, one for +synchronization. Eight data tones means that three data bits are +conveyed by each transmitted information symbol. Sixteen symbol +intervals are devoted to synchronization, so a transmission requires a +total of 206 / 3 + 16 = 85 (rounded up) channel symbols. The sync +symbols are those numbered 1, 2, 5, 10, 16, 23, 33, 35, 51, 52, 55, +60, 66, 73, 83, and 85 in the transmitted sequence. Each symbol lasts +for 6912 sample intervals at 12000 samples per second, or about 0.576 +seconds. 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. + +[[PROTOCOL_SUMMARY]] +=== Summary + +Frequency spacing between tones, total occupied bandwidth, and +approximate decoding thresholds are given for the various submodes of +JT4, JT9, and JT65 in the following table: + + Submode Spacing BW S/N + (Hz) (Hz) dB + ---------------------------- + JT4A 4.375 17.5 -23 + JT4B 8.75 35.0 -22 + JT4C 17.5 70.0 -21 + JT4D 39.375 157.5 -20 + JT4E 78.75 315.0 -19 + JT4F 157.5 630.0 -18 + JT4G 315.0 1260.0 -17 + + JT9 1.7361 15.625 -27 + + JT65A 2.6917 177.6 -25 + JT65B 5.3833 355.3 -24 + JT65C 10.767 710.6 -23 + + +Transmissions in all three modes are essentially the same length, and +all use 72 bits to carry message information. At user level the modes +support nearly identical message structures. + +JT4 and 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. S/N values displayed by the JT4 and JT65 +decoders are clamped at an upper limit –1 dB, and the S/N scale 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). + +JT9 is an order of magnitude better than JT65 in spectral +efficiency. On a busy HF band, the conventional 2-kHz-wide JT65 +sub-band is often filled with overlapping signals. Ten times as many +JT9 signals can fit into the same frequency range, without collisions. diff --git a/doc/user_guide/settings-audio.adoc b/doc/user_guide/settings-audio.adoc index 47ffc6cdf..406b4450c 100644 --- a/doc/user_guide/settings-audio.adoc +++ b/doc/user_guide/settings-audio.adoc @@ -11,8 +11,8 @@ IMPORTANT: If you select the audio output device that is also your computer's default audio device, be sure to turn off all system sounds to prevent transmitting them over the air. -IMPORTANT: If necessary, be sure that your audio device in configured to -sample at 48000 Hz, 16 bits. +IMPORTANT: Be sure that your audio device in configured to sample at +48000 Hz, 16 bits. - _Save Directory_: _WSJT-X_ can save its received audio sequences as +.wav+ files. A default directory for these files is provided; you diff --git a/doc/user_guide/settings-frequencies.adoc b/doc/user_guide/settings-frequencies.adoc index 66c6b5ed5..9dfca17bb 100644 --- a/doc/user_guide/settings-frequencies.adoc +++ b/doc/user_guide/settings-frequencies.adoc @@ -3,7 +3,7 @@ [[FIG_BAND_SETTINGS]] image::images/settings-frequencies.png[align="center",alt="Frequency Screen"] -_Working Frequencies_: By default the *Working Frequency* table +_Working Frequencies_: By default the *Working Frequencies* table contains a list of currently recommended dial frequencies for each mode. You can modify the frequency table as desired. @@ -23,22 +23,22 @@ configuration. _Frequency Calibration_: If you have calibrated your radio using WWV or other reliable frequency references, or perhaps with the technique -described {fmt_wspr}, enter the measured values for Intercept A and -Slope B in the equation +described {fmt_wspr}, enter the measured values for _Intercept_ A and +_Slope_ B in the equation - Dial error = A * B*f + Dial error = A + B*f where ``Dial error'' and A are in Hz, f is frequency in MHz, and B is -parts per million (ppm). +in parts per million (ppm). Frequency values sent to the radio and received from it will then be adjusted accordingly so that frequencies displayed by _WSJT-X_ -are correct. +are accurate. _Station Information_: You can save *Band*, *Offset* and *Antenna Description* information for your station. The antenna information will be included in reception reports sent to {pskreporter}. By -default the frequency *Offset* for each band is zero. Nonzero offsets +default the frequency offset for each band is zero. Nonzero offsets may be added if (for example) a transverter is in use. - For a simple setup approach you might want to delete any unwanted @@ -47,7 +47,7 @@ on a *Frequency* entry and type *Ctrl+A* to ``select all,'' and drag-and-drop the entries onto the _Station Information_ table. You can then add any transverter offsets and antenna details. -- To avoid typing the same information multiple times, you can +- To avoid typing the same information many times, you can drag-and-drop entries between the lines of the _Station Information_ table. diff --git a/doc/user_guide/settings-radio.adoc b/doc/user_guide/settings-radio.adoc index b21699a3d..592603119 100644 --- a/doc/user_guide/settings-radio.adoc +++ b/doc/user_guide/settings-radio.adoc @@ -38,7 +38,8 @@ for the proper parameter values. * _Force Control Lines_: A few station setups require the CAT serial port’s *RTS* and/or *DTR* control lines to be forced high or -low. Check these boxes only if you are sure they are needed. +low. Check these boxes only if you are sure they are needed (for +example, to power the radio serial interface). - _PTT Method_: select *VOX*, *CAT*, *DTR*, or *RTS* as the desired method for T/R switching. If your choice is *DTR* or *RTS*, select diff --git a/doc/user_guide/settings-txmacros.adoc b/doc/user_guide/settings-txmacros.adoc index 3014c4395..dae9c6bd8 100644 --- a/doc/user_guide/settings-txmacros.adoc +++ b/doc/user_guide/settings-txmacros.adoc @@ -4,7 +4,7 @@ image::images/tx-macros.png[align="center",alt="Tx Macros Screen"] *Tx Macros* are an aid for sending brief, frequently used free-text - messages. +messages such as the examples shown above. - To add a new message to the list, enter the desired text (up to 13 characters) in the entry field at top, then click *Add*. diff --git a/doc/user_guide/support.adoc b/doc/user_guide/support.adoc index c521d0a6d..09bc98709 100644 --- a/doc/user_guide/support.adoc +++ b/doc/user_guide/support.adoc @@ -1,4 +1,4 @@ -=== Setup Help +=== Help with Setup The best source of help in setting up your station or configuring _WSJT-X_ is the {wsjt_yahoo_group} at email address diff --git a/doc/user_guide/transceiver-setup.adoc b/doc/user_guide/transceiver-setup.adoc index 513fe0137..15dec16e2 100644 --- a/doc/user_guide/transceiver-setup.adoc +++ b/doc/user_guide/transceiver-setup.adoc @@ -21,9 +21,9 @@ mode, you should normally choose the widest one possible, up to about 5 kHz. This choice has the desirable effect of allowing the *Wide Graph* (waterfall and 2D spectrum) to display the conventional JT65 and JT9 sub-bands simultaneously on most HF bands. Further details -are provided in the <> section. A wider displayed -bandwidth may also be helpful at VHF and above, where usage of JT65 -and JT4 is found over a much wider range of frequencies. +are provided in the <>. A wider +displayed bandwidth may also be helpful at VHF and above, where JT4 +and JT65 signals are found over much wider ranges of frequencies. - If you have only a standard SSB filter you won’t be able to display more than about 2.7 kHz bandwidth. Depending on the exact dial @@ -58,6 +58,6 @@ digital slider labeled *Pwr* at the right edge of the main window. IMPORTANT: Windows Vista and later incorrectly configure audio devices using the Texas Instruments PCM2900 series CODEC for microphone input rather line input. (This chip is used in many radios with built-in -USB CODECs, as well as various other audio interfaces.) If using such -a device, be sure to set the mic level in the Recording Device -Properties to 0 dB. +USB CODECs, as well as various other audio interfaces.) If you are +using such a device, be sure to set the mic level in the Recording +Device Properties to 0 dB. diff --git a/doc/user_guide/tutorial-example1.adoc b/doc/user_guide/tutorial-example1.adoc index b76d69794..66127e300 100644 --- a/doc/user_guide/tutorial-example1.adoc +++ b/doc/user_guide/tutorial-example1.adoc @@ -16,13 +16,14 @@ image::images/main-ui-1.6.png[align="center",alt="Main UI and Wide Graph"] .Decoding Overview -Decoding takes place at the end of a receive sequence and is proceeds -in two steps. The first decode takes place at the selected Rx -frequency, indicated by the U-shaped green marker on the waterfall -scale. Results appear in both the left (*Band Activity*) and right -(*Rx Frequency*) text windows on the main screen. The program then -finds and decodes all signals in the selected mode over the displayed -frequency range. The red marker indicates your Tx frequency. +Decoding takes place at the end of a receive sequence and proceeds in +two steps. The first decode is done at the selected Rx frequency, +indicated by the U-shaped green marker on the waterfall scale. +Results appear in both the left (*Band Activity*) and right (*Rx +Frequency*) text windows on the main screen. The program then finds +and decodes all signals in the selected mode over the displayed +frequency range. The red marker on the waterfall scale indicates your +Tx frequency. Seven JT9 signals are present in the example file, all decodable. When this file was recorded KF4RWA was finishing a QSO with K1JT. @@ -80,7 +81,8 @@ automatically generated and selected for your next transmission. (Alternatively, you might choose to send a free text message or to call CQ again.) -- Click somewhere on the waterfall to set Rx frequency (green marker). +- Click somewhere on the waterfall to set Rx frequency (green marker +on waterfall scale). - Ctrl-click on the waterfall to set both Rx and Tx frequencies. diff --git a/doc/user_guide/tutorial-example2.adoc b/doc/user_guide/tutorial-example2.adoc index 11d038b70..33aba6a6e 100644 --- a/doc/user_guide/tutorial-example2.adoc +++ b/doc/user_guide/tutorial-example2.adoc @@ -38,8 +38,8 @@ for JT9 and JT65 modes run simultaneously, so their results will be interspersed. The *Band Activity* window contains all decodes (you might need to scroll back in the window to see some of them). A signal at the frequency specified by the green marker is given -decoding priority, and its message is displayed in the *Rx Frequency* -window. +decoding priority, and its message is displayed also in the *Rx +Frequency* window. [[FigDecodes]] image::images/decodes.png[align="center"] @@ -102,16 +102,16 @@ The signals in this file are all JT9 signals. To decode them automatically in *JT9+JT65* mode you’ll need to move the *JT65 nnnn JT9* delimiter down to 1000 Hz or less. -.Start, Zero, and Gain +.Waterfall Controls -Now is a good time to experiment with the *Start*, *Zero*, and *Gain* -parameters. *Start* determines the frequency displayed at the left -side of the waterfall scale. *Zero* sets the baseline level for -colors, and *Gain* sets the sensitivity for color changes. For the -receiver setup of this file good values are close to *Zero*=0, -*Gain*=0. You may want to uncheck *Flatten* when adjusting the *Zero* -and *Gain* controls. Re-open the wave file after each change, to see -the new results. +Now is a good time to experiment with the *Start* control and the +sliders controlling gain and zero-point of the waterfall and spectrum +plots. *Start* determines the frequency displayed at the left side of +the waterfall scale. Sliders set the baseline level and gain for the +waterfall and the several types of spectra. Good starting values +should be close to mid-scale. You might want to uncheck *Flatten* +when adjusting the sliders. Re-open the wave file after each change, +to see the new results. IMPORTANT: When finished with this Tutorial, don’t forget to re-enter your own callsign as *My Call* on the *Settings | General* tab. diff --git a/doc/user_guide/tutorial-main-window.adoc b/doc/user_guide/tutorial-main-window.adoc index 25e593a44..cb46299e2 100644 --- a/doc/user_guide/tutorial-main-window.adoc +++ b/doc/user_guide/tutorial-main-window.adoc @@ -4,13 +4,13 @@ - Select *JT9* from the *Mode* menu and *Deep* from the *Decode* menu. -- Set the audio frequencies to *Tx 1224 Hz* and *Rx 1224 Hz*. You -can type numbers directly into these controls, as well as using their -up/down arrows. +- Set the audio frequencies to *Tx 1224 Hz* and *Rx 1224 Hz*. + +IMPORTANT: Sliders and spinner controls respond to *Arrow* key presses +and *Page Up/Down* key presses, with the *Page* keys moving the +controls in larger steps. You can also type numbers directly into +the spinner controls. - Select *Tab 2* (below the *Decode* button) to choose the alternative set of controls for generating and selecting Tx messages. -IMPORTANT: Sliders and spin-box controls respond to arrow key presses -and Page Up/Down key presses, with the Page keys moving the controls -in larger steps. diff --git a/doc/user_guide/vhf-features.adoc b/doc/user_guide/vhf-features.adoc index a8369ef4a..fc742b12a 100644 --- a/doc/user_guide/vhf-features.adoc +++ b/doc/user_guide/vhf-features.adoc @@ -57,8 +57,7 @@ one-way shift is +3096.5 Hz. Therefore, the receive frequency is set to 10,360.103097 Hz. When a transmission is started, the frequency is reset to 3096.5 Hz below the nominal frequency. - -- Spinner controls at top right of the Astronomical Data window let you +- Spinner controls at top right of the *Astronomical Data* window let you set a working frequency above the nominal band edge. The frequency above band edge is the sum of the numbers in these two controls (kHz + Hz). @@ -74,7 +73,7 @@ the 10 GHz band. - If using a transverter, set the appropriate offset on the *Settings | Frequencies* tab. Offset is defined as (desired transceiver dial reading) minus (desired on-the-air frequency). For example, when -using a 144 MHz radio at 10368 MHz, offset = (144 - 10368) = +using a 144 MHz radio at 10368 MHz, _Offset (MHz)_ = (144 - 10368) = -10224.000. If the band is already in the table, you can edit the offset by double clicking on the offset field itself. Otherwise a new band can be added by right clicking in the table and selecting _Insert_. @@ -83,10 +82,11 @@ image::images/Add_station_info.png[align="center",alt="Station information"] - The JT4 decoder in _WSJT-X_ includes optional facilities for averaging over successive transmissions and also correlation decoding, -sometimes known as ``Deep Search''. The *Decode* menu appears to -provide options to set different decoding behavior. However, in JT4 mode -this program version always behaves as if you have selected _Include -correlation_. +sometimes known as ``Deep Search''. + +IMPORTANT: The *Decode* menu appears to provide options to set +different decoding behavior. However, in JT4 mode _WSJT-X_ Version +1.6 always behaves as if you have selected _Include correlation_. image::images/decoding_depth.png[align="center",alt="Decoding Depth"] @@ -94,9 +94,8 @@ image::images/decoding_depth.png[align="center",alt="Decoding Depth"] activate automatic generation of these messages, check the box labeled _Sh_ on the main window. -IMPORTANT: Many additional hints for using JT4 and Echo mode on the -EME path are available {jt4eme}. (Thanks to G3WDG for preparing this -useful document.) +IMPORTANT: Thanks to G3WDG, many additional hints for using JT4 and +Echo mode on the EME path are available {jt4eme}. === Echo Mode diff --git a/doc/user_guide/wsjtx-main.adoc b/doc/user_guide/wsjtx-main.adoc index 9bce6a65d..4fb12acbd 100644 --- a/doc/user_guide/wsjtx-main.adoc +++ b/doc/user_guide/wsjtx-main.adoc @@ -102,11 +102,14 @@ include::transceiver-setup.adoc[] [[TUTORIAL]] == Basic Operating Tutorial -Sections <> through <> cover basic +<> through <> cover basic operation for making two-way QSOs with modes JT9 and JT65 on the HF -bands. Section <> covers WSPR mode. If you are a new user -of _WSJT-X_ we suggest that you go through the full tutorial. It should -take no more than 20 minutes. +bands. <> covers WSPR mode, and +<> covers VHF+ features. If you are a new +user of _WSJT-X_ we suggest that you go through the full HF-oriented +tutorial while at your radio. It should take no more than 20 minutes. +If your main interests are WSPR of VHF+, you may then proceed to +Sections 7 and 8. [[TUT_MAIN]] === Main Window Settings @@ -187,18 +190,8 @@ include::faq.adoc[] [[PROTOCOLS]] == Protocol Specifications +include::protocols.adoc[] -[[JT65PRO]] -=== JT65 -include::jt65-protocol.adoc[] - -[[JT9PRO]] -=== JT9 -include::jt9-protocol.adoc[] - -[[JT65_JT9]] -=== JT65 & JT9 Differences -include::jt65-jt9-differences.adoc[] [[TXRX]] == Implementation Details