mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-09-28 16:16:48 -04:00
More massaging of draft paper on the FT dedoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6205 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
546da13f9e
commit
b8f772d0b9
@ -89,23 +89,14 @@ The JT65 mode has revolutionized amateur-radio weak-signal communication
|
|||||||
by enabling amateur radio operators with small antennas and relatively
|
by enabling amateur radio operators with small antennas and relatively
|
||||||
low-power transmitters to communicate over propagation paths not usable
|
low-power transmitters to communicate over propagation paths not usable
|
||||||
with traditional technologies.
|
with traditional technologies.
|
||||||
One reason for the success and popularity of JT65 is its use of strong
|
A major reason for the success and popularity of JT65 is its use of strong
|
||||||
error-correction coding.
|
error-correction coding: a short block-length, low-rate, Reed-Solomon code
|
||||||
The JT65 code is a short block-length, low-rate, Reed-Solomon code based
|
based on a 64-symbol alphabet.
|
||||||
on a 64-symbol alphabet.
|
Since 2004, most JT65 decoders have used the patented Koetter-Vardy (KV)
|
||||||
Since 2004, most JT65 decoders have used the patented
|
algebraic soft-decision decoder.
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
Koetter-Vardy
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
(KV) algebraic soft-decision decoder.
|
|
||||||
The KV decoder is implemented in a closed-source program licensed to K1JT
|
The KV decoder is implemented in a closed-source program licensed to K1JT
|
||||||
for use in amateur radio applications.
|
for use in amateur radio applications.
|
||||||
We describe here a new open-source alternative called the FTRSD (or FT)
|
We describe here a new open-source alternative called the FT algotithm.
|
||||||
algotithm.
|
|
||||||
It is conceptually simple, is built around the well-known Berlekamp-Massey
|
It is conceptually simple, is built around the well-known Berlekamp-Massey
|
||||||
errors-and-erasures algorithm, and perform at least as well as the KV decoder.
|
errors-and-erasures algorithm, and perform at least as well as the KV decoder.
|
||||||
\end_layout
|
\end_layout
|
||||||
@ -116,7 +107,7 @@ Introduction
|
|||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
JT65 message frames consist of a short, compressed message encoded for transmiss
|
JT65 message frames consist of a short, compressed message encoded for transmiss
|
||||||
ion using a Reed-Solomon code.
|
ion with a Reed-Solomon code.
|
||||||
Reed-Solomon codes are block codes; as such they are characterized by the
|
Reed-Solomon codes are block codes; as such they are characterized by the
|
||||||
length of their codewords,
|
length of their codewords,
|
||||||
\begin_inset Formula $n$
|
\begin_inset Formula $n$
|
||||||
@ -134,7 +125,8 @@ ion using a Reed-Solomon code.
|
|||||||
|
|
||||||
.
|
.
|
||||||
JT65 uses a (63,12) Reed-Solomon code with 64 possible values for each
|
JT65 uses a (63,12) Reed-Solomon code with 64 possible values for each
|
||||||
symbol, so each symbol represents
|
symbol.
|
||||||
|
Each symbol represents
|
||||||
\begin_inset Formula $\log_{2}64=6$
|
\begin_inset Formula $\log_{2}64=6$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -181,9 +173,9 @@ The minimum Hamming distance of the JT65 code is
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
Given only a received word containing some incorrect symbols (errors), the
|
Given a received word containing some incorrect symbols (errors), the received
|
||||||
received word can be decoded into the correct codeword using a deterministic,
|
word can be decoded into the correct codeword using a deterministic, algebraic
|
||||||
algebraic algorithm provided that no more than
|
algorithm provided that no more than
|
||||||
\begin_inset Formula $t$
|
\begin_inset Formula $t$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -199,11 +191,11 @@ For the JT65 code,
|
|||||||
\begin_inset Formula $t=25$
|
\begin_inset Formula $t=25$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, which means that it is always possible to efficiently decode a received
|
: it is always possible to efficiently decode a received word having no
|
||||||
word having no more than 25 symbol errors.
|
more than 25 symbol errors.
|
||||||
Any one of several well-known algebraic algorithms, such as the widely
|
Any one of several well-known algebraic algorithms, such as the widely
|
||||||
used Berlekamp-Massey (BM) algorithm, can carry out the decoding.
|
used Berlekamp-Massey (BM) algorithm, can carry out the decoding.
|
||||||
Two steps are ncessarily involved, namely
|
Two steps are ncessarily involved in this process, namely
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Enumerate
|
\begin_layout Enumerate
|
||||||
@ -215,16 +207,16 @@ determine the correct value of the incorrect symbols
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
If it is somehow known that certain symbols are incorrect, this information
|
If we somehow know that certain symbols are incorrect, this information
|
||||||
can be used to reduce the amount of work in step 1 and to allow step 2
|
can be used to reduce the work in step 1 and allow step 2 to correct more
|
||||||
to correct more than
|
than
|
||||||
\begin_inset Formula $t$
|
\begin_inset Formula $t$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
errors.
|
errors.
|
||||||
In the unlikely event that the location of every error can be provided
|
In the unlikely event that the location of every error is known, and if
|
||||||
to the BM decoder, and if no correct symbols are accidentally labeled as
|
no correct symbols are accidentally labeled as errors, the BM algorithm
|
||||||
errors, the BM algorithm can correct up to
|
can correct up to
|
||||||
\begin_inset Formula $d$
|
\begin_inset Formula $d$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -233,34 +225,33 @@ If it is somehow known that certain symbols are incorrect, this information
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The FT algorithm creates a list of symbols suspected of being incorrect
|
The FT algorithm creates lists of symbols suspected of being incorrect and
|
||||||
and sends it to the BM decoder.
|
sends them to the BM decoder.
|
||||||
Symbols flagged in this way are called
|
Symbols flagged in this way are called
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
erasures
|
erasures,
|
||||||
\begin_inset Quotes erd
|
\begin_inset Quotes erd
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, while other incorrect symbols will be called
|
while other incorrect symbols will be called
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
errors
|
errors.
|
||||||
\begin_inset Quotes erd
|
\begin_inset Quotes erd
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
|
||||||
As already noted, with perfect erasure information up to 51 errors can
|
As already noted, with perfect erasure information up to 51 errors can
|
||||||
be corrected.
|
be corrected.
|
||||||
When the erasure information is imperfect, some of the erased symbols may
|
Imperfect erasure information means that some erased symbols may be correct,
|
||||||
be correct and some other symbols in error.
|
and some other symbols in error.
|
||||||
If
|
If
|
||||||
\begin_inset Formula $s$
|
\begin_inset Formula $s$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
symbols are erased and the remaining unerased symbols contain
|
symbols are erased and the remaining (unerased) symbols contain
|
||||||
\begin_inset Formula $e$
|
\begin_inset Formula $e$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -301,7 +292,7 @@ errors-only
|
|||||||
\begin_inset Formula $d-1=51$
|
\begin_inset Formula $d-1=51$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
for JT65), the decoder is said to be an
|
for JT65), the decoder is called an
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -310,8 +301,8 @@ errors-and-erasures
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
decoder.
|
decoder.
|
||||||
The errors-and-erasures capability of Reed-Solomon codes lies at the core
|
The possibility of doing errors-and-erasures decoding lies at the heart
|
||||||
of the FTRSD algorithm.
|
of the FT algorithm.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
@ -326,17 +317,17 @@ Do I feel lucky?
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The FTRSD algorithm uses a statistical argument based on the quality of
|
The FT algorithm uses the estimated quality of received symbols to generate
|
||||||
received symbols to generate lists of symbols likely to be in error, thereby
|
lists of symbols considered likely to be in error, thereby enabling reliable
|
||||||
enabling reliable decoding of received codewords with more than 25 errors.
|
decoding of received words with more than 25 errors.
|
||||||
As a specific example, consider a received JT65 codeword with 23 correct
|
As a specific example, consider a received JT65 signal producing 23 correct
|
||||||
symbols and 40 errors.
|
symbols and 40 errors.
|
||||||
We do not know which symbols are in error.
|
We do not know which symbols are in error.
|
||||||
Suppose that the decoder randomly chooses
|
Suppose that the decoder randomly selects
|
||||||
\begin_inset Formula $s=40$
|
\begin_inset Formula $s=40$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
symbols to erase, leaving 23 unerased symbols.
|
symbols for erasure, leaving 23 unerased symbols.
|
||||||
According to Eq.
|
According to Eq.
|
||||||
(
|
(
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
@ -381,15 +372,11 @@ tric probability distribution.
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
will be random variables.
|
will be random variables.
|
||||||
Let
|
The conditional probability mass function for
|
||||||
\begin_inset Formula $P(x|N,X,s)$
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
denote the conditional probability mass function for
|
|
||||||
\begin_inset Formula $x$
|
\begin_inset Formula $x$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, the number of erased incorrect symbols, given the stated values of
|
given stated values of
|
||||||
\begin_inset Formula $N$
|
\begin_inset Formula $N$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -401,8 +388,7 @@ tric probability distribution.
|
|||||||
\begin_inset Formula $s$
|
\begin_inset Formula $s$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
may be written as
|
||||||
Then
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
@ -418,7 +404,7 @@ where
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is the binomial coefficient.
|
is the binomial coefficient.
|
||||||
[The binomial coefficient can be calculated using the
|
The binomial coefficient can be calculated using the function
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -430,7 +416,7 @@ nchoosek(
|
|||||||
\begin_inset Quotes erd
|
\begin_inset Quotes erd
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
function in Gnu Octave.
|
in the interpreted language GNU Octave.
|
||||||
The hypergeometric probability mass function defined in Eq.
|
The hypergeometric probability mass function defined in Eq.
|
||||||
(
|
(
|
||||||
\begin_inset CommandInset ref
|
\begin_inset CommandInset ref
|
||||||
@ -439,7 +425,7 @@ reference "eq:hypergeometric_pdf"
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
) is available in Gnu Octave as function
|
) is available in GNU Octave as function
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -451,15 +437,15 @@ hygepdf(
|
|||||||
\begin_inset Quotes erd
|
\begin_inset Quotes erd
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.]
|
.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Paragraph
|
\begin_layout Paragraph
|
||||||
Example 1:
|
Example 1:
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Case
|
\begin_layout Standard
|
||||||
A codeword contains
|
Suppose a codeword contains
|
||||||
\begin_inset Formula $X=40$
|
\begin_inset Formula $X=40$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -477,7 +463,7 @@ A codeword contains
|
|||||||
\begin_inset Formula $x=35$
|
\begin_inset Formula $x=35$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
of the erased symbols are incorrect is then
|
of the erased symbols are actually incorrect is then
|
||||||
\begin_inset Formula
|
\begin_inset Formula
|
||||||
\[
|
\[
|
||||||
P(x=35)=\frac{\binom{40}{35}\binom{63-40}{40-35}}{\binom{63}{40}}=2.356\times10^{-7}.
|
P(x=35)=\frac{\binom{40}{35}\binom{63-40}{40-35}}{\binom{63}{40}}=2.356\times10^{-7}.
|
||||||
@ -513,10 +499,10 @@ ty of erasing 35 errors, we may safely conclude that the probability of
|
|||||||
Example 2:
|
Example 2:
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Case
|
\begin_layout Standard
|
||||||
How might we best choose the number of symbols to be chosen for erasure,
|
How might we best choose the number of symbols to erase, in order to maximize
|
||||||
so as to maximize the probability of successful decoding? By exhaustive
|
the probability of successful decoding? By exhaustive search over all possible
|
||||||
search over all possible values up to
|
values up to
|
||||||
\begin_inset Formula $s=51$
|
\begin_inset Formula $s=51$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -551,8 +537,9 @@ P(x\ge37)\simeq2\times10^{-6}.
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
This probability is about 8 times higher than the probability of success
|
This probability is about 8 times higher than the probability of success
|
||||||
when only 40 symbols were erased, but the odds of successfully decoding
|
when only 40 symbols were erased.
|
||||||
on the first try are still only about 1 in 500,000.
|
Nevertheless, the odds of successfully decoding on the first try are still
|
||||||
|
only about 1 in 500,000.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
@ -560,19 +547,19 @@ This probability is about 8 times higher than the probability of success
|
|||||||
Example 3:
|
Example 3:
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Case
|
\begin_layout Standard
|
||||||
Examples 1 and 2 show that a strategy of randomly selecting symbols to erase
|
Examples 1 and 2 show that a random strategy for selecting symbols to erase
|
||||||
is unlikely to be successful unless we are prepared to wait a long time
|
is unlikely to be successful unless we are prepared to wait a long time
|
||||||
for an answer.
|
for an answer.
|
||||||
So let's modify the strategy to tip the odds in our favor.
|
So let's modify the strategy to tip the odds in our favor.
|
||||||
Let the received symbol set contain
|
Let the received word contain
|
||||||
\begin_inset Formula $X=40$
|
\begin_inset Formula $X=40$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
incorrect symbols, as before, but suppose it is known that 10 symbols are
|
incorrect symbols, as before, but suppose we know that 10 symbols are significa
|
||||||
much more reliable than the other 53.
|
ntly more reliable than the other 53.
|
||||||
The 10 most reliable symbols are therefore protected from erasure, and
|
We might therefore protect the 10 most reliable symbols from erasure, and
|
||||||
erasures chosen from the smaller set of
|
choose erasures from the smaller set of
|
||||||
\begin_inset Formula $N=53$
|
\begin_inset Formula $N=53$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -581,11 +568,9 @@ Examples 1 and 2 show that a strategy of randomly selecting symbols to erase
|
|||||||
\begin_inset Formula $s=45$
|
\begin_inset Formula $s=45$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
symbols are now chosen randomly from the set of 53 least reliable symbols,
|
symbols are chosen randomly in this way, it is still necessary for the
|
||||||
it is still necessary for the erased symbols to include at least 37 errors,
|
erased symbols to include at least 37 errors, as in Example 2.
|
||||||
as in Example 2.
|
However, the probabilities are now much more favorable: with
|
||||||
However, the probabilities are now much more favorable.
|
|
||||||
With
|
|
||||||
\begin_inset Formula $N=53$
|
\begin_inset Formula $N=53$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -593,7 +578,7 @@ Examples 1 and 2 show that a strategy of randomly selecting symbols to erase
|
|||||||
\begin_inset Formula $X=40$
|
\begin_inset Formula $X=40$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
,
|
, and
|
||||||
\begin_inset Formula $s=45$
|
\begin_inset Formula $s=45$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -610,7 +595,7 @@ reference "eq:hypergeometric_pdf"
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
.
|
||||||
Even better odds are obtained with
|
Even better odds are obtained by choosing
|
||||||
\begin_inset Formula $s=47$
|
\begin_inset Formula $s=47$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -636,8 +621,9 @@ reference "eq:hypergeometric_pdf"
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
.
|
||||||
These odds are the best so far, about 1 in 38.
|
The odds for successful decoding on the first try are now about 1 in 38.
|
||||||
|
A few hundred independently randomized tries would be enough to all-but-guarant
|
||||||
|
ee production of a valid codeword from the BM decoder.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Section
|
\begin_layout Section
|
||||||
@ -647,23 +633,21 @@ name "sec:The-decoding-algorithm"
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
The FTRSD decoding algorithm
|
The FT decoding algorithm
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
Example 3 shows how reliable information about symbol quality might lead
|
Example 3 shows how reliable information about symbol quality should make
|
||||||
to an algorithm capable of decoding received frames with a large number
|
it possible to decode received frames having a large number of errors.
|
||||||
of errors.
|
In practice the number of errors in the received word is unknown, so we
|
||||||
In practice the number of errors in the received word is unknown, so it
|
use a stochastic algorithm to assign a high erasure probability to low-quality
|
||||||
is better use a stochastic algorithm to assign a high probability of erasure
|
symbols and a relatively low probability to high-quality symbols.
|
||||||
to low-quality symbols and a relatively low probability to high-quality
|
As illustrated by Example 3, a good choice of these probabilities can increase
|
||||||
symbols.
|
the chance of a successful decode by many orders of magnitude.
|
||||||
As illustrated by Example 3, a good choice of erasure probabilities can
|
|
||||||
increase the chance of a successful decode by many orders of magnitude.
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The FTRSD algorithm uses two quality indices made available by a noncoherent
|
The FT algorithm uses two quality indices made available by a noncoherent
|
||||||
64-FSK demodulator.
|
64-FSK demodulator.
|
||||||
The demodulator identifies the most likely value for each symbol based
|
The demodulator identifies the most likely value for each symbol based
|
||||||
on which of 64 frequency bins contains the the largest signal-plus-noise
|
on which of 64 frequency bins contains the the largest signal-plus-noise
|
||||||
@ -710,9 +694,8 @@ soft-symbol
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
values.
|
values.
|
||||||
High ranking symbols have larger signal-to-noise ratio than lower ranked
|
High ranking symbols have larger signal-to-noise ratio than those with
|
||||||
symbols.
|
lower rank.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Itemize
|
\begin_layout Itemize
|
||||||
@ -728,8 +711,8 @@ soft-symbol
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The FTRSD decoder uses a table of symbol error probabilities derived from
|
The FT decoder uses a table of symbol error probabilities derived from a
|
||||||
a large dataset of received words that have been successfully decoded.
|
large dataset of received words that have been successfully decoded.
|
||||||
The table provides an estimate of the
|
The table provides an estimate of the
|
||||||
\emph on
|
\emph on
|
||||||
a-priori
|
a-priori
|
||||||
@ -743,50 +726,40 @@ a-priori
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
metrics.
|
metrics.
|
||||||
These probabilities will be close to 1 for low-quality symbols and close
|
These probabilities are close to 1 for low-quality symbols and close to
|
||||||
to 0 for high-quality symbols.
|
0 for high-quality symbols.
|
||||||
Recall from Examples 2 and 3 that the best performance was obtained when
|
Recall from Examples 2 and 3 that best performance was obtained with
|
||||||
|
|
||||||
\begin_inset Formula $s>X$
|
\begin_inset Formula $s>X$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
.
|
.
|
||||||
Correspondingly, the FTRSD algorithm works best when the probability of
|
Correspondingly, the FT algorithm works best when the probability of erasing
|
||||||
erasing a symbol is somewhat larger than the probability that the symbol
|
a symbol is somewhat larger than the probability that the symbol is incorrect.
|
||||||
is incorrect.
|
|
||||||
Empirically, we found good decoding performance when the symbol erasure
|
Empirically, we found good decoding performance when the symbol erasure
|
||||||
probability is about 1.3 times the symbol error probability.
|
probability is about 1.3 times the symbol error probability.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
The FTRSD algorithm tries successively to decode the received word using
|
The FT algorithm tries successively to decode the received word using independen
|
||||||
educated guesses to select symbols for erasure.
|
t educated guesses to select symbols for erasure.
|
||||||
For each iteration an independent stochastic erasure vector is generated
|
For each iteration an stochastic erasure vector is generated based on the
|
||||||
based on the symbol erasure probabilities.
|
symbol erasure probabilities.
|
||||||
The erasure vector is provided to the BM decoder along with the full set
|
The erasure vector is sent to the BM decoder along with the full set of
|
||||||
of 63 received symbols.
|
63 received symbols.
|
||||||
If the BM decoder finds a candidate codeword it is assigned a quality metric,
|
When the BM decoder finds a candidate codeword it is assigned a quality
|
||||||
defined as the soft distance,
|
metric
|
||||||
\begin_inset Formula $d_{s}$
|
\begin_inset Formula $d_{s}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, between the received word and the codeword:
|
defined as the soft distance between the received word and the codeword:
|
||||||
\begin_inset Formula
|
\begin_inset Formula
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
d_{s}=\sum_{i=1}^{n}(1+p_{1,i})\alpha_{i}.\label{eq:soft_distance}
|
d_{s}=\sum_{i=1}^{n}\alpha_{i}\,(1+p_{1,i}).\label{eq:soft_distance}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
Here
|
Here
|
||||||
\begin_inset Formula $p_{1,i}$
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
is the fractional power associated with received symbol
|
|
||||||
\begin_inset Formula $i$
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
;
|
|
||||||
\begin_inset Formula $\alpha_{i}=0$
|
\begin_inset Formula $\alpha_{i}=0$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
@ -794,28 +767,36 @@ Here
|
|||||||
\begin_inset Formula $i$
|
\begin_inset Formula $i$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is the same as the corresponding symbol in the codeword, and
|
is the same as the corresponding symbol in the codeword,
|
||||||
\begin_inset Formula $\alpha_{i}=1$
|
\begin_inset Formula $\alpha_{i}=1$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
if the received symbol and codeword symbol are different.
|
if the received symbol and codeword symbol are different, and
|
||||||
This soft distance can be written as two terms, the first of which is just
|
\begin_inset Formula $p_{1,i}$
|
||||||
the Hamming distance between the received word and the codeword.
|
\end_inset
|
||||||
The second term ensures that if two candidate codewords have the same Hamming
|
|
||||||
distance from the received word, a smaller distance will be assigned to
|
is the fractional power associated with received symbol
|
||||||
the one where the different symbols occurred in lower quality symbols.
|
\begin_inset Formula $i$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
.
|
||||||
|
Think of the soft distance as two terms: the first is the Hamming distance
|
||||||
|
between the received word and the codeword, and the second ensures that
|
||||||
|
if two candidate codewords have the same Hamming distance from the received
|
||||||
|
word, a smaller distance will be assigned to the one where differences
|
||||||
|
occur in symbols of lower quality.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
Technically the FT algorithm is a list-decoder, potentially generating a
|
Technically the FT algorithm is a list decoder, potentially generating a
|
||||||
list of candidate codewords.
|
list of candidate codewords.
|
||||||
Among the list of candidate codewords found by this stochastic search algorithm
|
Among the list of candidate codewords found by this stochastic search algorithm
|
||||||
, only the one with the smallest soft-distance from the received word is
|
, only the one with the smallest soft-distance from the received word is
|
||||||
retained.
|
retained.
|
||||||
As with all such algorithms, a stopping criterion is necessary.
|
As with all such algorithms, a stopping criterion is necessary.
|
||||||
FTRSD accepts a codeword unconditionally if its soft distance is smaller
|
FT accepts a codeword unconditionally if its soft distance is smaller than
|
||||||
than an empirically determined acceptance threshold,
|
an empirically determined acceptance threshold,
|
||||||
\begin_inset Formula $d_{a}$
|
\begin_inset Formula $d_{a}$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
@ -2348,8 +2348,8 @@ void MainWindow::guiUpdate()
|
|||||||
m_ntx=7;
|
m_ntx=7;
|
||||||
ui->rbGenMsg->setChecked(true);
|
ui->rbGenMsg->setChecked(true);
|
||||||
} else {
|
} else {
|
||||||
m_ntx=6;
|
//JHT 11/29/2015 m_ntx=6;
|
||||||
ui->txrb6->setChecked(true);
|
// ui->txrb6->setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user