WSJT-X/doc/user_guide/en/protocols.adoc

248 lines
11 KiB
Plaintext
Raw Normal View History

[[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.
[[QRA64_PROTOCOL]]
=== QRA64
TBD
[[PROTOCOL_SUMMARY]]
=== Comparison of Slow Modes
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
QRA64A 1.736 111.1 -28?
QRA64B 3.472 222.2
QRA64C 6.944 444.4
QRA64D 13.889 888.9
QRA64E 27.228 1777.8
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.
=== ISCAT
ISCAT messages are free-form, up to 28 characters in length.
Modulation is 42-tone frequency-shift keying at 11025 / 512 = 21.533
baud (ISCAT-A), or 11025 / 256 = 43.066 baud (ISCAT-B). Tone
frequencies are spaced by an amount in Hz equal to the baud rate. The
available character set is
----
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ /.?@-
----
Transmissions consist of sequences of 24 symbols: a synchronizing
pattern of four symbols at tone numbers 0, 1, 3, and 2, followed by
two symbols with tone number corresponding to (message length) and
(message length + 5), and finally 18 symbols conveying the user's
message, sent repeatedly character by character. The message always
starts with +@+, the beginning-of-message symbol, which is not
displayed to the user. The sync pattern and message-length indicator
have a fixed repetition period, recurring every 24 symbols. Message
information occurs periodically within the 18 symbol positions set
aside for its use, repeating at its own natural length.
For example, consider the user message +CQ WA9XYZ+. Including the
beginning-of-message symbol +@+, the message is 10 characters long.
Using the character sequence displayed above to indicate tone numbers,
the transmitted message will therefore start out as shown in the first
line below:
----
0132AF@CQ WA9XYZ@CQ WA9X0132AFYZ@CQ WA9XYZ@CQ W0132AFA9X ...
sync## sync## sync##
----
Note that the first six symbols (four for sync, two for message
length) repeat every 24 symbols. Within the 18 information-carrying
symbols in each 24, the user message +@CQ WA9XYZ+ repeats at its own
natural length, 10 characters. The resulting sequence is extended as
many times as will fit into a Tx sequence.
=== MSK144
(this section needs work ...)
MSK144 is intended for meteor-scatter QSOs on the VHF bands. Standard
messages are structured in the same way as those in the slow modes,
with a 72 bits of user information. Forward error correction is
implemented by first augmenting the 72 message bits with an 8-bit CRC
calculated from the message bits. The CRC is used to detect and
eliminate most false decodes at the receiver. The resulting 80-bit
augmented message is then mapped to a 128-bit codeword using a
(128,80) binary low-density-parity-check (LDPC) code designed
specifically for this purpose. Two 8-bit synchronizing sequences are
added to make a message frame 144 bits long. Modulation is Offset
Quadrature Phase-Shift Keying (OQPSK) at 2000 baud. Even-numbered bits
are conveted over the in-phase channel, odd-numbered bits on the
quadrature channel. Individual symbols are shaped with half-sine
profiles, thereby ensuring a generated waveform with constant
envelope, equivelent to a Minimum Shift Keying (MSK) waveform. Frame
duration is 72 ms so the effective character transmission rate for
standard messages is as high as 250 cps.
MSK144 also supports short-form messages that can be used after QSO
partners have exchanged callsigns. These consist of 4 bits that
encode a signal report, R+report, RRR, or 73, together with a 12-bit
hash code based on the ordered pair of callsigns is use. A specially
designed LDPC (32,16) code provides error-correction, and an 8-bit
synchronizing vector is appended to make up a 40-bit frame.
Short-message duration is thus 20 ms, and short messages can be
conveyed by very short meteor "pings".
As in the other fast modes in WSJT-X, the 72 ms or 20 ms frames of
MSK144 messages are repeated without gaps for the full duration of a
transmission cycle. For most purposes, a cycle duration of 15s is
recommended for MSK144.
The modulated MSK144 signal occupies the full bandwidth of a SSB
transmitter, so transmissions are always centered on audio frequency
1500 Hz. For best results, transmitter and receiver filters should be
adjusted to provide the flattest possible response over the range
300Hz to 2700Hz. Further, the maximum permissible frequency offset
between you and your QSO partner should be ± 100 Hz.
Details:
Standard 72ms MSK frames contain 144 bits and consist of a standard
JT-mode 72-bit message augmented with 56 bits for error detection and
correction. The 72+56=128-bit codeword is combined with two 8-bit sync
words to form a 144-bit frame. The frame is constructed as
S8,D48,S8,D80, where S8 represents an 8-bit sync word and D48,D80
represent the first 48 bits and last 80 bits of the 128-bit codeword,
respectively. (At present, the 128-bit codeword is re-ordered to put
even/odd bits at the beginning/end of the codeword — this is a
holdover from JTMSK and is probably not necessary.) The 144-bit frame
is repeated for the duration of a transmission cycle.