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:
Joe Taylor 2016-01-08 20:27:21 +00:00
parent 1268600497
commit ff54b5d595
1 changed files with 140 additions and 47 deletions

View File

@ -91,7 +91,7 @@ name "sec:Introduction-and-Motivation"
\end_inset
Introduction and Motivation
Background and Motivation
\end_layout
\begin_layout Standard
@ -139,14 +139,15 @@ WSJT-X
\emph default
, widely used for amateur weak-signal communication with JT65 and other
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
LatexCommand cite
key "wsjt"
\end_inset
and licensed under the GNU General Public License.
.
\end_layout
\begin_layout Standard
@ -991,7 +992,11 @@ Here the
\end_inset
'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$
\end_inset
@ -1051,16 +1056,12 @@ where
\end_inset
\end_layout
\begin_layout Standard
In contrast, the expected value and standard deviation of the
\begin_inset Formula $u$
\end_inset
-metric for a randomly selected incorrect codeword (selected from a population
of all
-metric for an incorrect codeword (randomly selected from a population of
all
\begin_inset Quotes eld
\end_inset
@ -1099,6 +1100,10 @@ i.e.
\end_inset
\end_layout
\begin_layout Standard
If
\begin_inset Formula $u$
\end_inset
@ -1138,11 +1143,12 @@ If
\end_layout
\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$
\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}$
\end_inset
@ -1308,23 +1314,31 @@ If
\end_inset
by setting
\begin_inset Formula $u_{2}=u_{1}$
\begin_inset Formula $u_{2}=u_{1}.$
\end_inset
and then set
\begin_inset Formula $u_{1}=u$
Then set
\begin_inset Formula $u_{1}=u,$
\end_inset
.
\begin_inset Formula $d_{1}=d_{s},$
\end_inset
and
\begin_inset Formula $X_{1}=X.$
\end_inset
\end_layout
\begin_layout Enumerate
If
\begin_inset Formula $X<X_{0}$
\begin_inset Formula $X_{1}<X_{0}$
\end_inset
and
\begin_inset Formula $d_{s}<d_{0}$
\begin_inset Formula $d_{s}<D_{0}$
\end_inset
, go to step 11.
@ -1345,11 +1359,11 @@ If the number of trials is less than the timeout limit
\begin_layout Enumerate
If
\begin_inset Formula $d_{s}<d_{1}$
\begin_inset Formula $d_{1}<D_{1}$
\end_inset
and
\begin_inset Formula $r<r_{1},$
\begin_inset Formula $r=u2/u1<r_{1},$
\end_inset
go to step 11.
@ -1447,18 +1461,18 @@ The FT algorithm is completely general: with equal sensitivity it recovers
much
\emph default
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
minimal information including callsigns, signal reports, perhaps Maidenhead
locators, and acknowledgments.
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.
Saving a list of previously decoded callsigns and associated locators makes
it easy to generate lists of hypothetical messages and their corresponding
codewords at very little computational expense.
The resulting candidate codewords can be tested in the same way as those
generated by the probabilistic method described in Section
The resulting candidate codewords can be tested in almost the same way
as those generated by the probabilistic method described in Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:The-decoding-algorithm"
@ -1492,45 +1506,124 @@ deep search
For hinted decoding we again invoke a ratio threshold test, but in this
case we use it to answer a more limited question.
Over the full list of messages considered likely, we want to know whether
\begin_inset Formula $r=u_{2}/u_{1}$
\end_inset
, 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
a suitable metric can distinguish with confidence between the one correct
codeword and all others in the generated list.
We again find that the most effective metric involves a comparison of
\begin_inset Formula $u_{1}$
\end_inset
is the one that was transmitted.
Once again we will set an empirical limit, say
\begin_inset Formula $r_{2},$
and
\begin_inset Formula $u_{2},$
\end_inset
that is small enough to establish adequate confidence, while still ensuring
that false decodes are rare.
the largest and second-largest values of total signal-plus-noise power
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
than a few thousand, rather than
\begin_inset Formula $2^{72},$
\end_inset
\begin_inset Formula $r_{2}$
\end_inset
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
the limit can can be more relaxed than that used in the FT algorithm.
THus, 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}$
\end_inset
possible messages.
\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_inset CommandInset label
LatexCommand label