New versions of two figures, and some text additions. (More to come!)

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6301 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2015-12-21 19:48:08 +00:00
parent 4f8d3dffc7
commit ef49f6dbd6
8 changed files with 275 additions and 252 deletions

View File

@ -2,22 +2,24 @@
# run: gnuplot fig_psuccess.gnuplot
# then: pdflatex fig_psuccess.tex
#
set term epslatex standalone size 20cm,10cm
set term epslatex standalone size 6in,4in
set output "fig_psuccess.tex"
set xlabel "SNR in 2500 Hz BW (dB)"
set xlabel "SNR in 2500 Hz Bandwidth (dB)"
set ylabel "Percent copy"
set style func linespoints
set key on top outside nobox
set key off
set tics in
set mxtics 2
set mytics 2
set grid
plot "ftdata-10000.dat" using 1:2 every ::1 with linespoints pt 4 title 'FT-10K', \
"ftdata-100000.dat" using 1:2 every ::1 with linespoints pt 5 title 'FT-100K', \
"ftdata-1000-rf.dat" using 1:2 every ::1 with linespoints pt 7 title 'FT-1K-RF', \
"ftdata-100-rf.dat" using 1:2 every ::1 with linespoints pt 8 title 'FT-100-RF', \
"bmdata.dat" using 1:2 with linespoints pt 9 title 'BM', \
"bmdata-rf.dat" using 1:2 with linespoints pt 10 title 'BM-RF', \
"kvasd-7999-rf.dat" using 1:2 every ::1 with linespoints pt 12 title 'KV-8-RF', \
"kvasd-11999.dat" using 1:2 every ::1 with linespoints pt 13 title 'KV-12', \
"kvasd-11999-rf.dat" using 1:2 every ::1 with linespoints pt 14 title 'KV-12-RF'
plot [-30:-18] [0:105] "stats_0.0" using 1:($3)/10.0 with linespoints lt 4 pt 1 title 'Sync', \
"stats_0.0" using 1:($4)/10.0 with linespoints lt 2 lw 2 pt 2 title 'BB 0', \
"stats_0.0" using 1:($5)/10.0 with linespoints lt 1 lw 2 pt 3 title 'FT 0', \
"stats_0.0" using 1:($6)/10.0 with linespoints lt 3 lw 2 pt 4 title 'DS 0', \
"stats_0.2" using 1:($4)/10.0 with linespoints lt 2 pt 2 title 'BB 0.2', \
"stats_0.2" using 1:($5)/10.0 with linespoints lt 1 pt 3 title 'FT 0.2', \
"stats_0.2" using 1:($6)/10.0 with linespoints lt 3 pt 4 title 'DS 0.2', \
"stats_1.0" using 1:($4)/10.0 with linespoints lt 2 pt 2 title 'BB 1', \
"stats_1.0" using 1:($5)/10.0 with linespoints lt 1 pt 3 title 'FT 1', \
"stats_1.0" using 1:($6)/10.0 with linespoints lt 3 pt 4 title 'DS 1', \
"psuccess.lab" with labels

View File

@ -2,18 +2,18 @@
# run: gnuplot fig_wer.gnuplot
# then: pdflatex fig_wer.tex
#
set term epslatex standalone size 12cm,8cm
set term epslatex standalone size 6in,4in
set output "fig_wer.tex"
set xlabel "$E_s/N_o$ (dB)"
set ylabel "WER"
set xlabel "$E_b/N_0$ (dB)"
set ylabel "Word Error Rate"
set style func linespoints
set key on top outside nobox
set key off
set tics in
set mxtics 2
set mytics 10
set grid
set logscale y
plot "ftdata-10000.dat" using ($1+29.7):(1-$2) every ::1 with linespoints pt 5 title 'FT-10K', \
"ftdata-100000.dat" using ($1+29.7):(1-$2) every ::1 with linespoints pt 7 title 'FT-100K', \
"kvasd-11999.dat" using ($1+29.7):(1-$2) every ::1 with linespoints pt 8 title 'KV-11.999', \
"bmdata.dat" using ($1+29.7):(1-$2) with linespoints pt 7 title 'BM'
plot [3:9] "ftdata-100000.dat" using ($1+29.1):(1-$2) with linespoints pt 7 title 'FT-100K', \
"kvasd-11999.dat" using ($1+29.1):(1-$2) with linespoints pt 8 title 'KV-11.999', \
"bmdata.dat" using ($1+29.1):(1-$2) with linespoints pt 7 title 'BM', \
"wer.lab" with labels

Binary file not shown.

View File

@ -86,21 +86,20 @@ Steven J.
\end_layout
\begin_layout Abstract
The JT65 mode has revolutionized amateur-radio weak-signal communication
The JT65 protocol has revolutionized amateur-radio weak-signal communication
by enabling amateur radio operators with small antennas and relatively
low-power transmitters to communicate over propagation paths not usable
with traditional technologies.
A major reason for the success and popularity of JT65 is its use of a strong
error-correction code: a short block-length, low-rate Reed-Solomon code
based on a 64-symbol alphabet.
Since 2004, most JT65 decoders have used the patented Koetter-Vardy (KV)
algebraic soft-decision decoder, licensed to K1JT and implemented in a
closed-source program for use in amateur radio applications.
Since 2004, most programs implementing JT65 have used the patented Koetter-Vard
y (KV) algebraic soft-decision decoder, licensed to K1JT and implemented
in a closed-source program for use in amateur radio applications.
We describe here a new open-source alternative called the Franke-Taylor
(FT, or K9AN-K1JT) algorithm.
It is conceptually simple, built around the well-known Berlekamp-Massey
errors-and-erasures algorithm, and performs at least as well as the KV
decoder.
errors-and-erasures algorithm, and performs even better than the KV decoder.
\end_layout
\begin_layout Section
@ -125,18 +124,6 @@ on with a Reed-Solomon code.
\begin_inset Formula $(n,k)$
\end_inset
, and the
\begin_inset Quotes eld
\end_inset
rate
\begin_inset Quotes erd
\end_inset
of the code is
\begin_inset Formula $k/n$
\end_inset
.
JT65 uses a (63,12) Reed-Solomon code with 64 possible values for each
symbol.
@ -146,7 +133,7 @@ rate
message bits.
The source-encoded messages conveyed by a 63-symbol JT65 frame thus consist
of 72 bits.
of 72 information bits.
The JT65 code is systematic, which means that the 12 message symbols are
embedded in the codeword without modification and another 51 parity symbols
derived from the message symbols are added to form a codeword of 63 symbols.
@ -439,7 +426,7 @@ nchoosek(
\begin_inset Quotes erd
\end_inset
in the interpreted language GNU Octave, as well as many free online calculators.
in the interpreted language GNU Octave, as well as many free online calculators
The hypergeometric probability mass function defined in Eq.
(
\begin_inset CommandInset ref
@ -702,9 +689,9 @@ Example 3 shows how reliable information about symbol quality should make
\begin_layout Standard
The FT algorithm uses two quality indices made available by a noncoherent
64-FSK demodulator.
The demodulator The demodulator computes the power spectrum for each symbol
and identifies the most likely symbol value based on the largest signal-plus-no
ise power in 64 frequency bins.
The demodulator computes the power spectrum for each symbol and identifies
the most likely symbol value based on the largest signal-plus-noise power
in 64 frequency bins.
The fractions of total power in the two bins containing the largest and
second-largest powers (denoted by
\begin_inset Formula $p_{1}$
@ -862,12 +849,8 @@ Technically the FT algorithm is a list decoder, potentially generating a
\end_inset
.
A timeout criterion
\begin_inset Formula $T$
\end_inset
is used to limit the algorithm's execution time if no codewords within
soft distance
A timeout is used to limit the algorithm's execution time if no codewords
within soft distance
\begin_inset Formula $d_{a}$
\end_inset
@ -930,11 +913,7 @@ If
\end_layout
\begin_layout Enumerate
If the number of trials is less than
\begin_inset Formula $T$
\end_inset
, the maximum allowed number, go to 2.
If the number of trials is less than the maximum allowed number, go to 2.
Otherwise, declare decoding failure and exit.
\end_layout
@ -952,206 +931,36 @@ best
\end_inset
has been found.
Declare a successful decode and return this codeword.
\end_layout
\begin_layout Paragraph
Experience-Based Lists of Candidate Codewords
\end_layout
\begin_layout Standard
JT65 was designed and developed to facilitate amateur communication via
the Moon as a passive reflector.
Signals propagating over the Earth-Moon-Earth (EME, or
\begin_inset Quotes eld
\end_inset
moonbounce
\begin_inset Quotes erd
\end_inset
) path suffer attenuation of order 240 dB or more, so received signals are
always weak.
To be EME-capable an amateur station must have a very sensitive receiver,
reasonably high power, and a reasonably large antenna on a VHF, UHF, or
microwave band.
At a given time the number of stations engaging in this specialized activity
is probably
\begin_inset Formula $M<1000$
\end_inset
, world-wide.
EME communications often consist of little more than an exchange of callsigns,
signal reports, and acknowledgments, so most messages being exchanged are
likely to appear in a list no more than a few times
\begin_inset Formula $M^{2}$
\end_inset
in length.
Such lists (and subsets thereof) offer potential alternatives to the stochastic
method described above for selecting candidate codewords.
A list of active callsigns can be built up cumulatively from previously
decoded messages.
Candidate codewords derived from the list can be injected into the FT algorithm
at step 5, where the soft distance between the set of received symbols
and the codeword is computed.
A decoder taking advantage of this experience-based approach will have
significant speed and performance advantages over a purely probabilistic
algorithm.
However, it must accept the limitation that these advantages apply only
to messages appearing in the candidate list.
In the open-source program
\shape italic
WSJT-X
\shape default
we generate candidate message lists of several different lengths.
List lengths range from a few times
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\strikeout off
\uuline off
\uwave off
\noun off
\color none
\begin_inset Formula $M$
\end_inset
up to about
\begin_inset Formula $M^{2}$
\end_inset
.
Declare a successful decode and return this codeword .
\end_layout
\begin_layout Section
Results and Comparisons
Comparison with Berlekamp-Massey and Koetter-Vardy
\end_layout
\begin_layout Standard
We measured performance of the Franke-Taylor soft-decision decoder using
simulations with many thousands of signal realizations at a range of calibrated
signal-to-noise ratios (SNRs).
Our first series of tests assumed an ideal additive white Gaussian noise
(AWGN) channel.
The dotted curve in Figure
Comparisons of decoding performance are usually presented in the professional
literature as plots of word error rate as a function of
\begin_inset Formula $E_{b}/N_{0}$
\end_inset
, the signal-to-noise ratio per information bit.
Results for the Berlekamp-Massey, Koetter-Vardy, and Franke-Taylor decoding
algorithms on the (63,12) code are shown in Figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Psuccess"
reference "fig:WER"
\end_inset
shows the fraction of raw symbols expected to be received incorrectly over
such a channel.
Filled circles and the short-dashed curve illustrate performance of the
hard-decision Berlekamp-Massey algorithm, while filled squares and a solid
curve give results for the FT algorithm with conservative settings for
the timeout parameter
\begin_inset Formula $T$
\end_inset
and maximum acceptable soft distance
\begin_inset Formula $d_{a}$
\end_inset
.
Note that sensitivity with soft-decision decoding is about 2 dB better
than with hard decisions.
For comparison, open squares and a long-dashed curve show somewhat looser
settings for timeout and soft distance parameters can gain roughly another
0.4 dB.
At this setting the rate of false decodes is no doubt slightly higher,
though in our simulations it was still found to be
\begin_inset Formula $<10^{-4}$
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename fig_psuccess.pdf
lyxscale 150
scale 150
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Psuccess"
\end_inset
Fraction of JT65 messages (
\begin_inset Quotes eld
\end_inset
words
\begin_inset Quotes erd
\end_inset
) successfully decoded as a function of SNR in 2.5 kHz bandwidth, for a non-fadin
g signal in additive white Gaussian noise (AWGN).
BM: hard-decision Berlekamp-Massey decoder; FT-1: soft-decision Franke-Taylor
decoder with
\begin_inset Formula $T=10^{4}$
\end_inset
,
\begin_inset Formula $d_{a}=72$
\end_inset
,
\begin_inset Formula $h_{max}=42$
\end_inset
; FT-2: soft-decision decoder with
\begin_inset Formula $T=10^{5}$
\end_inset
,
\begin_inset Formula $d_{a}=76$
\end_inset
,
\begin_inset Formula $h_{max}=44$
\end_inset
.
algorithms.
For these initial tests we generated 1000 signals at each signal-to-noise
ratio, assuming the additive white gaussian noise (AWGN) channel, and processed
the data using each algorithm.
It's easy to see that, as expected, the soft-decision algorithms FT and
KV are about 2 dB better than the hard-decision BM algorithm, and that
FT has a slight edge (about 0.2 dB) over KV.
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\end_layout
\end_inset
\end_layout
\begin_layout Standard
@ -1183,19 +992,11 @@ name "fig:WER"
\end_inset
Word error rate (WER) as a function of
\begin_inset Formula $E_{s}/N_{o}$
\begin_inset Formula $E_{b}/N_{0}$
\end_inset
for non-fading signals in AWGN.
This is the same data that is shown in Figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Psuccess"
\end_inset
, but plotted as the fraction of frames that were not decoded vs symbol
SNR.
\end_layout
\end_inset
@ -1208,11 +1009,116 @@ reference "fig:Psuccess"
\end_layout
\begin_layout Standard
In the professional literature plots like Figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:WER"
\end_inset
usually extend downward to even smaller error rates, say
\begin_inset Formula $10^{-6}$
\end_inset
or less, because of the importance of error-free transmission.
The circumstances for minimal amateur-radio QSOs are very different, however:
error rates on the order of 0.1, or ever higher, may be acceptable.
In this case the essential information is better presented in a plot like
Figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Psuccess"
\end_inset
, which shows the percentage of transmissions copied correctly as a function
of signal-to-noise ratio in a standard bandwidth.
\end_layout
\begin_layout Standard
In Figure
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Psuccess"
\end_inset
we have plotted the results of simulations for signal-to-noise ratios
\begin_inset Formula $-30\leq SNR\leq-18$
\end_inset
dB, again using 1000 simulated signals for each point.
For each decoding algorithm we include three curves: one for the AWGN channel
and no fading, and two more for Doppler spreads of 0.2 and 1.0 Hz.
(Note that the JT65 symbol rate is about 2.69 Hz; the simulated Doppler
spreads are comparable to those encountered on HF ionospheric paths and
for EME at VHF and lower UHF bands.)
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status collapsed
status open
\begin_layout Plain Layout
\align center
\begin_inset Graphics
filename fig_psuccess.pdf
lyxscale 90
scale 90
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Psuccess"
\end_inset
Percentage of JT65 messages successfully decoded as a function of SNR in
2500 Hz bandwidth.
Results are shown for the hard-decision Berlekamp-Massey (BM) and soft-decision
Franke-Taylor (FT) decoding algorithms.
Curves labeled DS correspond to the hinted-decode (
\begin_inset Quotes eld
\end_inset
Deep Search
\begin_inset Quotes erd
\end_inset
) matched-filter algorithm.
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\align center
@ -1297,6 +1203,40 @@ Word error rate (WER) as a function of
\end_layout
\begin_layout Standard
Possible figures:
\end_layout
\begin_layout Itemize
histogram of
\begin_inset Formula $s$
\end_inset
(number of erasures) for successful decodes with HF and EME data
\end_layout
\begin_layout Itemize
histogram of
\begin_inset Quotes eld
\end_inset
ntrials
\begin_inset Quotes erd
\end_inset
(or execution time)
\end_layout
\begin_layout Itemize
Number of decodes vs.
ntrials
\end_layout
\begin_layout Itemize
Probability of successful decode vs.
Es/No or S/N in 2500 Hz BW
\end_layout
\begin_layout Itemize
other...
?

View File

@ -0,0 +1,27 @@
SNR Files Sync BM FT Hint Total False BadSync
--------------------------------------------------------
-18.0 1000 1000 1000 1000 1000 1000 0 0
-18.5 1000 1000 1000 1000 1000 1000 0 0
-19.0 1000 1000 1000 1000 1000 1000 0 0
-19.5 1000 1000 1000 1000 1000 1000 0 0
-20.0 1000 1000 1000 1000 1000 1000 0 0
-20.5 1000 1000 1000 1000 1000 1000 0 0
-21.0 1000 1000 1000 1000 1000 1000 0 0
-21.5 1000 1000 991 1000 1000 1000 0 0
-22.0 1000 1000 918 1000 1000 1000 0 0
-22.5 1000 1000 631 1000 1000 1000 0 0
-23.0 1000 1000 261 1000 1000 1000 0 0
-23.5 1000 1000 57 990 1000 1000 0 0
-24.0 1000 1000 0 925 1000 1000 0 0
-24.5 1000 1000 0 737 999 999 1 0
-25.0 1000 999 0 445 989 989 10 1
-25.5 1000 996 0 191 988 988 8 4
-26.0 1000 980 0 68 975 975 7 20
-26.5 1000 953 0 18 945 945 7 47
-27.0 1000 904 0 3 890 890 8 96
-27.5 1000 816 0 2 771 771 8 184
-28.0 1000 722 0 0 625 625 4 278
-28.5 1000 590 0 0 432 432 8 410
-29.0 1000 451 0 0 268 268 8 549
-29.5 1000 355 0 0 146 146 8 645
-30.0 1000 277 0 0 86 86 6 723

View File

@ -0,0 +1,27 @@
SNR Files Sync BM FT Hint Total False BadSync
--------------------------------------------------------
-18.0 1000 998 973 998 998 998 0 2
-18.5 1000 1000 960 1000 1000 1000 0 0
-19.0 1000 1000 917 1000 1000 1000 0 0
-19.5 1000 1000 849 1000 1000 1000 0 0
-20.0 1000 1000 725 1000 1000 1000 0 0
-20.5 1000 1000 549 1000 1000 1000 0 0
-21.0 1000 1000 373 1000 1000 1000 0 0
-21.5 1000 1000 216 1000 1000 1000 0 0
-22.0 1000 1000 100 998 1000 1000 0 0
-22.5 1000 1000 32 998 1000 1000 0 0
-23.0 1000 1000 12 991 1000 1000 0 0
-23.5 1000 998 2 958 996 996 2 2
-24.0 1000 992 0 878 991 991 1 8
-24.5 1000 986 0 739 981 981 5 14
-25.0 1000 977 0 533 963 963 14 23
-25.5 1000 959 0 324 948 948 14 41
-26.0 1000 930 0 153 921 921 16 70
-26.5 1000 874 0 51 874 874 12 126
-27.0 1000 808 0 14 803 803 12 192
-27.5 1000 716 0 3 688 688 11 284
-28.0 1000 610 0 1 568 568 9 390
-28.5 1000 497 0 0 418 418 12 503
-29.0 1000 399 0 0 293 293 6 601
-29.5 1000 300 0 0 171 171 6 700
-30.0 1000 243 0 0 103 103 8 757

View File

@ -0,0 +1,27 @@
SNR Files Sync BM FT Hint Total False BadSync
--------------------------------------------------------
-18.0 1000 998 917 998 998 998 1 2
-18.5 1000 998 824 998 998 998 0 2
-19.0 1000 999 695 999 999 999 0 1
-19.5 1000 999 504 999 999 999 0 1
-20.0 1000 1000 300 1000 1000 1000 0 0
-20.5 1000 1000 148 1000 1000 1000 0 0
-21.0 1000 1000 56 1000 1000 1000 0 0
-21.5 1000 1000 10 1000 1000 1000 0 0
-22.0 1000 999 3 995 999 999 0 1
-22.5 1000 998 0 972 998 998 0 2
-23.0 1000 997 0 899 993 993 4 3
-23.5 1000 996 0 758 990 990 6 4
-24.0 1000 990 0 545 980 980 10 10
-24.5 1000 981 0 305 969 969 12 19
-25.0 1000 964 0 128 949 949 17 36
-25.5 1000 930 0 43 916 916 19 70
-26.0 1000 870 0 15 850 850 14 130
-26.5 1000 810 0 4 780 780 11 190
-27.0 1000 737 0 0 673 673 13 263
-27.5 1000 632 0 0 531 531 7 368
-28.0 1000 522 0 0 366 366 11 478
-28.5 1000 426 0 0 243 243 15 574
-29.0 1000 332 0 0 150 150 9 668
-29.5 1000 260 0 0 64 64 10 740
-30.0 1000 209 0 0 35 35 10 791