mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-28 23:28:49 -05:00
149 lines
5.3 KiB
Plaintext
149 lines
5.3 KiB
Plaintext
// Status: edited
|
|
|
|
=== AP Decoding
|
|
|
|
The _WSJT-X_ decoders for FST4, FT4, FT8, JT65, and Q65 include
|
|
procedures that use naturally accumulating information during a
|
|
minimal QSO. This _a priori_ (AP) information increases sensitivity
|
|
of the decoder by up to 4 dB, at the cost of a slightly higher rate of
|
|
false decodes. AP is optional in FT8 and JT65, but is always enabled
|
|
for Q65 and for FT4 and FST4 when decode depth is Normal or Deep.
|
|
|
|
For example: when you decide to answer a CQ, you already know your own
|
|
callsign and that of your potential QSO partner. The software
|
|
therefore "`knows`" what might be expected for at least 57 message
|
|
bits (28 for each of two callsigns, one or more for message type) in the
|
|
next received message. The decoder's task is thus reduced to
|
|
determining the remaining 15 bits of the message and ensuring that the
|
|
resulting solution is reliable.
|
|
|
|
AP decoding starts by setting AP bits to the hypothesized values, as
|
|
if they had been received correctly. We then determine whether the
|
|
remaining message and parity bits are consistent with the hypothesized
|
|
AP bits, with a specified level of confidence. Successful AP decodes
|
|
are labeled with an end-of-line indicator of the form `aP`, where `P`
|
|
is one of the single-digit AP decoding types listed in Table 1. For
|
|
example, `a2` indicates that the successful decode used MyCall as
|
|
hypothetically known information.
|
|
|
|
[[FT8_AP_INFO_TABLE]]
|
|
.FST4, FT4, and FT8 AP information types
|
|
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|
|
|===
|
|
|aP|Message components
|
|
|a1|CQ     ?     ?
|
|
|a2|MyCall     ?     ?
|
|
|a3|MyCall DxCall     ?
|
|
|a4|MyCall DxCall RRR
|
|
|a5|MyCall DxCall 73
|
|
|a6|MyCall DxCall RR73
|
|
|===
|
|
|
|
If a codeword is found that is judged to have high (but not
|
|
overwhelmingly high) probability of being correct, a `?` character is
|
|
appended when the decoded message is displayed. To avoid misleading
|
|
spots of occasional false decodes, messages so marked are not
|
|
forwarded to {pskreporter}.
|
|
|
|
Table 2 lists the six possible QSO states that are tracked by the
|
|
_WSJT-X_ auto-sequencer, along with the type of AP decoding that would
|
|
be attempted in each state in FT4 or FT8. The FST4 table (not shown)
|
|
is the same except that it omits the decoding attempts for AP types
|
|
4 and 5 to save time.
|
|
|
|
[[FT8_AP_DECODING_TYPES_TABLE]]
|
|
.FT4 and FT8 AP decoding types for each QSO state
|
|
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|
|
|===
|
|
|State |AP type
|
|
|CALLING STN | 2, 3
|
|
|REPORT | 2, 3
|
|
|ROGER_REPORT | 3, 4, 5, 6
|
|
|ROGERS | 3, 4, 5, 6
|
|
|SIGNOFF | 3, 1, 2
|
|
|CALLING CQ | 1, 2
|
|
|===
|
|
|
|
Decoding with _a priori_ information behaves slightly differently
|
|
in JT65. Some details are provided in Tables 3 and 4.
|
|
|
|
[[JT65_AP_INFO_TABLE]]
|
|
.JT65 AP information types
|
|
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|
|
|===
|
|
|aP | Message components
|
|
|a1 | CQ     ?     ?
|
|
|a2 | MyCall     ?     ?
|
|
|a3 | MyCall DxCall     ?
|
|
|a4 | MyCall DxCall RRR
|
|
|a5 | MyCall DxCall 73
|
|
|a6 | MyCall DxCall DxGrid
|
|
|a7 | CQ DxCall DxGrid
|
|
|===
|
|
|
|
[[JT65_AP_DECODING_TYPES_TABLE]]
|
|
.JT65 AP decoding types for each QSO state
|
|
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|
|
|===
|
|
|State |AP type
|
|
|CALLING STN |2, 3, 6, 7
|
|
|REPORT |2, 3
|
|
|ROGER_REPORT |3, 4, 5
|
|
|ROGERS |3, 4, 5
|
|
|SIGNOFF |2, 3, 4, 5
|
|
|CALLING CQ |1, 2, 6
|
|
|===
|
|
|
|
|
|
=== Decoded Lines
|
|
|
|
Displayed information accompanying decoded messages generally includes UTC,
|
|
signal-to-noise ratio in dB, time offset DT in seconds, and
|
|
audio frequency in Hz. Some modes include additional information such
|
|
as frequency offset from nominal (DF), frequency drift (Drift or F1),
|
|
or distance (km or mi).
|
|
|
|
There may also be some cryptic characters with special meanings
|
|
summarized in the following Table:
|
|
|
|
[[DECODED_LINES_TABLE]]
|
|
.Notations used on decoded text lines
|
|
[width="50%",cols="h,3*^",frame=topbot,options="header"]
|
|
|===
|
|
|Mode |Mode character|Sync character|End of line information
|
|
|FST4 | ` | | ?   aP
|
|
|FT4 | + | | ?   aP
|
|
|FT8 | ~ | | ?   aP
|
|
|JT4 | $ | *, # | f, fN, dCN
|
|
|JT9 | @ | |
|
|
|JT65 | # | |
|
|
|JT65 VHF| # | *, # | f, fN, dCN
|
|
|Q65 | : | | qP
|
|
|MSK144 | & | |
|
|
|===
|
|
Sync character::
|
|
`*` - Normal sync +
|
|
`#` - Alternate sync
|
|
|
|
End of line information::
|
|
`?` - Decoded with lower confidence +
|
|
`a` - Decoded with aid of some _a priori_ (AP) information +
|
|
`C` - Confidence indicator [Deep Search; (0-9,*)] +
|
|
`d` - Deep Search algorithm +
|
|
`f` - Franke-Taylor or Fano algorithm +
|
|
`N` - Number of Rx intervals or frames averaged +
|
|
`P` - Number indicating type of AP information (Table 1 or Table 6) +
|
|
|
|
[[Q65_AP_INFO_TABLE]]
|
|
.Q65 end-of-line codes
|
|
[width="50%",cols="1h,<10m",frame=topbot,options="header"]
|
|
|===
|
|
|qP|Message components
|
|
|q0|?     ?     ?
|
|
|q1|CQ     ?     ?
|
|
|q2|MyCall     ?     ?
|
|
|q3|MyCall DxCall     ?
|
|
|q4|MyCall DxCall     [<blank> \| RRR \| RR73 \| 73]
|
|
|q5|MyCall DxCall     ?         (*Max Drift* = 50)
|
|
|===
|