mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-26 22:28:41 -05:00
158 lines
5.9 KiB
Plaintext
158 lines
5.9 KiB
Plaintext
// Status: edited
|
|
|
|
=== AP Decoding
|
|
|
|
The _WSJT-X_ decoders for FT4, FT8, JT65, QRA64, 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, JT65, and QRA64, but is always
|
|
enabled for FT4.
|
|
|
|
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]]
|
|
.FT4 and FT8 AP information types
|
|
[width="35%",cols="h10,<m20",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.
|
|
|
|
[[FT8_AP_DECODING_TYPES_TABLE]]
|
|
.FT4 and FT8 AP decoding types for each QSO state
|
|
[width="35%",cols="h10,<m20",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="h10,<m20",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="h10,<m20",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
|
|
|FT4 | ~ | | ?   aP
|
|
|FT8 | ~ | | ?   aP
|
|
|JT4 | $ | *, # | f, fN, dCN
|
|
|JT9 | @ | |
|
|
|JT65 | # | |
|
|
|JT65 VHF| # | *, # | f, fN, dCN
|
|
|QRA64 | : | * | R
|
|
|ISCAT | | * | M N C T
|
|
|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 [ISCAT and Deep Search; (0-9,*)] +
|
|
`d` - Deep Search algorithm +
|
|
`f` - Franke-Taylor or Fano algorithm +
|
|
`M` - Message length (characters) +
|
|
`N` - Number of Rx intervals or frames averaged +
|
|
`P` - Number indicating type of AP information (Table 1, above) +
|
|
`R` - Return code from QRA64 decoder +
|
|
`T` - Length of analyzed region (s)
|
|
|
|
Table 6 below shows the meaning of the return codes R in QRA64 mode.
|
|
|
|
[[QRA64_AP_INFO_TABLE]]
|
|
.QRA64 AP return codes
|
|
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
|
|===============================================
|
|
|rc | Message components
|
|
|0 | ?     ?     ?
|
|
|1 | CQ     ?     ?
|
|
|2 | CQ     ?
|
|
|3 | MyCall     ?     ?
|
|
|4 | MyCall     ?
|
|
|5 | MyCall DxCall     ?
|
|
|6 | ?     DxCall     ?
|
|
|7 | ?     DxCall
|
|
|8 | MyCall DxCall DxGrid
|
|
|9 | CQ DxCall     ?
|
|
|10 | CQ DxCall
|
|
|11 | CQ DxCall DxGrid
|
|
|===============================================
|