mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-09-27 07:36:38 -04:00
Fix the FT algorithm description. Add hinted algorithm, and a few edits.
Still needed: Updated Figure 4, and text for Section 7. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6363 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
1268600497
commit
ff54b5d595
@ -91,7 +91,7 @@ name "sec:Introduction-and-Motivation"
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
Introduction and Motivation
|
Background and Motivation
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
@ -139,14 +139,15 @@ WSJT-X
|
|||||||
\emph default
|
\emph default
|
||||||
, widely used for amateur weak-signal communication with JT65 and other
|
, widely used for amateur weak-signal communication with JT65 and other
|
||||||
specialized digital modes.
|
specialized digital modes.
|
||||||
The program is freely available
|
The program is freely available and licensed under the GNU General Public
|
||||||
|
License
|
||||||
\begin_inset CommandInset citation
|
\begin_inset CommandInset citation
|
||||||
LatexCommand cite
|
LatexCommand cite
|
||||||
key "wsjt"
|
key "wsjt"
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
and licensed under the GNU General Public License.
|
.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
@ -991,7 +992,11 @@ Here the
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
's are the symbol values for the candidate codeword being tested.
|
's are the symbol values for the candidate codeword being tested.
|
||||||
The correct JT65 codeword produces a value for
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The correct JT65 codeword produces a value for
|
||||||
\begin_inset Formula $u$
|
\begin_inset Formula $u$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -1051,16 +1056,12 @@ where
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
In contrast, the expected value and standard deviation of the
|
In contrast, the expected value and standard deviation of the
|
||||||
\begin_inset Formula $u$
|
\begin_inset Formula $u$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
-metric for a randomly selected incorrect codeword (selected from a population
|
-metric for an incorrect codeword (randomly selected from a population of
|
||||||
of all
|
all
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -1099,6 +1100,10 @@ i.e.
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
If
|
If
|
||||||
\begin_inset Formula $u$
|
\begin_inset Formula $u$
|
||||||
\end_inset
|
\end_inset
|
||||||
@ -1138,11 +1143,12 @@ If
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
If no tested codeword is correct or the signal-to-noise ratio
|
If the signal-to-noise ratio
|
||||||
\begin_inset Formula $y$
|
\begin_inset Formula $y$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is too small for decoding to be possible, the ratio
|
is too small for decoding to be possible, or for some other reason the
|
||||||
|
correct codeword is never presented as a candidate, the ratio
|
||||||
\begin_inset Formula $r=u_{2}/u_{1}$
|
\begin_inset Formula $r=u_{2}/u_{1}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -1308,23 +1314,31 @@ If
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
by setting
|
by setting
|
||||||
\begin_inset Formula $u_{2}=u_{1}$
|
\begin_inset Formula $u_{2}=u_{1}.$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
and then set
|
Then set
|
||||||
\begin_inset Formula $u_{1}=u$
|
\begin_inset Formula $u_{1}=u,$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
|
||||||
|
\begin_inset Formula $d_{1}=d_{s},$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
and
|
||||||
|
\begin_inset Formula $X_{1}=X.$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Enumerate
|
\begin_layout Enumerate
|
||||||
If
|
If
|
||||||
\begin_inset Formula $X<X_{0}$
|
\begin_inset Formula $X_{1}<X_{0}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
and
|
and
|
||||||
\begin_inset Formula $d_{s}<d_{0}$
|
\begin_inset Formula $d_{s}<D_{0}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, go to step 11.
|
, go to step 11.
|
||||||
@ -1345,11 +1359,11 @@ If the number of trials is less than the timeout limit
|
|||||||
|
|
||||||
\begin_layout Enumerate
|
\begin_layout Enumerate
|
||||||
If
|
If
|
||||||
\begin_inset Formula $d_{s}<d_{1}$
|
\begin_inset Formula $d_{1}<D_{1}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
and
|
and
|
||||||
\begin_inset Formula $r<r_{1},$
|
\begin_inset Formula $r=u2/u1<r_{1},$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
go to step 11.
|
go to step 11.
|
||||||
@ -1447,18 +1461,18 @@ The FT algorithm is completely general: with equal sensitivity it recovers
|
|||||||
much
|
much
|
||||||
\emph default
|
\emph default
|
||||||
smaller list of messages (say, a few thousand messages or less) that we
|
smaller list of messages (say, a few thousand messages or less) that we
|
||||||
can guess might be among the most likely ones to be received.
|
might suppose would be among the most likely ones to be received.
|
||||||
One such situation exists when making short ham-radio contacts that exchange
|
One such situation exists when making short ham-radio contacts that exchange
|
||||||
minimal information including callsigns, signal reports, perhaps Maidenhead
|
minimal information including callsigns, signal reports, perhaps Maidenhead
|
||||||
locators, and acknowledgments.
|
locators, and acknowledgments.
|
||||||
On the EME path or a VHF or UHF band with limited geographical coverage,
|
On the EME path or a VHF or UHF band with limited geographical coverage,
|
||||||
the most likely received messages often originate from callsigns that have
|
the most common received messages often originate from callsigns that have
|
||||||
been decoded before.
|
been decoded before.
|
||||||
Saving a list of previously decoded callsigns and associated locators makes
|
Saving a list of previously decoded callsigns and associated locators makes
|
||||||
it easy to generate lists of hypothetical messages and their corresponding
|
it easy to generate lists of hypothetical messages and their corresponding
|
||||||
codewords at very little computational expense.
|
codewords at very little computational expense.
|
||||||
The resulting candidate codewords can be tested in the same way as those
|
The resulting candidate codewords can be tested in almost the same way
|
||||||
generated by the probabilistic method described in Section
|
as those generated by the probabilistic method described in Section
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
LatexCommand ref
|
LatexCommand ref
|
||||||
reference "sec:The-decoding-algorithm"
|
reference "sec:The-decoding-algorithm"
|
||||||
@ -1492,45 +1506,124 @@ deep search
|
|||||||
For hinted decoding we again invoke a ratio threshold test, but in this
|
For hinted decoding we again invoke a ratio threshold test, but in this
|
||||||
case we use it to answer a more limited question.
|
case we use it to answer a more limited question.
|
||||||
Over the full list of messages considered likely, we want to know whether
|
Over the full list of messages considered likely, we want to know whether
|
||||||
|
a suitable metric can distinguish with confidence between the one correct
|
||||||
\begin_inset Formula $r=u_{2}/u_{1}$
|
codeword and all others in the generated list.
|
||||||
\end_inset
|
We again find that the most effective metric involves a comparison of
|
||||||
|
|
||||||
, the ratio of second-largest to largest
|
|
||||||
\begin_inset Formula $u$
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
-metric, is small enough for us to be confident the codeword associated
|
|
||||||
with
|
|
||||||
\begin_inset Formula $u_{1}$
|
\begin_inset Formula $u_{1}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is the one that was transmitted.
|
and
|
||||||
Once again we will set an empirical limit, say
|
\begin_inset Formula $u_{2},$
|
||||||
\begin_inset Formula $r_{2},$
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
that is small enough to establish adequate confidence, while still ensuring
|
the largest and second-largest values of total signal-plus-noise power
|
||||||
that false decodes are rare.
|
among all the tested codewords.
|
||||||
|
Once again the criterion for comparison is chosen empirically to maximize
|
||||||
|
the number of correct decodes while ensuring that false decodes are rare.
|
||||||
Because tested candidate codewords are drawn from a list typically no longer
|
Because tested candidate codewords are drawn from a list typically no longer
|
||||||
than a few thousand, rather than
|
than a few thousand, rather than
|
||||||
\begin_inset Formula $2^{72},$
|
\begin_inset Formula $2^{72},$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
the limit can can be more relaxed than that used in the FT algorithm.
|
||||||
\begin_inset Formula $r_{2}$
|
THus, for the limited subset of messages suggested by operator experience
|
||||||
\end_inset
|
to be likely, hinted decodes can be obtained at lower signal levels than
|
||||||
|
required for the full universe of
|
||||||
can be a more relaxed limit than that used in the FT algorithm.
|
|
||||||
For the limited subset of messages suggested by operator experience to
|
|
||||||
be likely, hinted decodes can be obtained at lower signal levels than required
|
|
||||||
for the full universe of
|
|
||||||
\begin_inset Formula $2^{72}$
|
\begin_inset Formula $2^{72}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
possible messages.
|
possible messages.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
\begin_inset Float algorithm
|
||||||
|
wide false
|
||||||
|
sideways false
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset Caption Standard
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
Pseudo-code for hinted decoding
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
Generate a list of
|
||||||
|
\begin_inset Formula $L$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
codewords considered likely to be received.
|
||||||
|
Set a pointer to the start of this list.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
Fetch the next candidate codeword and calculate its metric
|
||||||
|
\begin_inset Formula $u.$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
If
|
||||||
|
\begin_inset Formula $u$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
is the largest found so far, presevre any previous value of
|
||||||
|
\begin_inset Formula $u_{1}$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
by setting
|
||||||
|
\begin_inset Formula $u_{2}=u_{1},$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
then set
|
||||||
|
\begin_inset Formula $u_{1}=u.$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
If the number of tested codewords is less than
|
||||||
|
\begin_inset Formula $L,$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
go to step 2.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
If
|
||||||
|
\begin_inset Formula $r=u2/u1<r_{2},$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
go to step 7.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
Otherwise, declare hinted-decoding failure and exit.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Enumerate
|
||||||
|
An acceptable hinted decode has been found.
|
||||||
|
Declare a successful result and return this codeword.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Section
|
\begin_layout Section
|
||||||
\begin_inset CommandInset label
|
\begin_inset CommandInset label
|
||||||
LatexCommand label
|
LatexCommand label
|
||||||
|
Loading…
Reference in New Issue
Block a user