From ccef778b022e409bcee17cd58e8b264261811508 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 5 Jan 2016 17:36:15 +0000 Subject: [PATCH] Another incremental draft of the FTRSD paper. Expect more changes fairly soon! git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6350 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/ftrsd/ftrsd_paper/fig_wer.pdf | Bin 44221 -> 32859 bytes lib/ftrsd/ftrsd_paper/ftrsd.lyx | 4241 +++++++++++++++-------------- 2 files changed, 2214 insertions(+), 2027 deletions(-) diff --git a/lib/ftrsd/ftrsd_paper/fig_wer.pdf b/lib/ftrsd/ftrsd_paper/fig_wer.pdf index 06465168f43f301e429e92eafb552f45efa52c17..6533f007f041179b1f6bfed84a1a7086b48fa012 100644 GIT binary patch delta 9644 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 delta 22004 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 -\end_inset - -. - Correspondingly, the FT algorithm works best when the probability of erasing - a symbol is somewhat larger than the probability that the symbol is incorrect. - We found empirically that good decoding performance is obtained when the - symbol erasure probability is about 1.3 times the symbol error probability. -\end_layout - -\begin_layout Standard -The FT algorithm tries successively to decode the received word using independen -t -\begin_inset Quotes eld -\end_inset - -educated guesses -\begin_inset Quotes erd -\end_inset - - to select symbols for erasure. - For each iteration a stochastic erasure vector is generated based on the - symbol erasure probabilities. - The erasure vector is sent to the BM decoder along with the full set of - 63 hard-decision symbol values. - When the BM decoder finds a candidate codeword it is assigned a quality - metric -\begin_inset Formula $d_{s}$ -\end_inset - -, the soft distance between the received word and the codeword: -\begin_inset Formula -\begin{equation} -d_{s}=\sum_{j=1}^{n}\alpha_{j}\,(1+p_{1,j}).\label{eq:soft_distance} -\end{equation} - -\end_inset - -Here -\begin_inset Formula $\alpha_{j}=0$ -\end_inset - - if received symbol -\begin_inset Formula $j$ -\end_inset - - is the same as the corresponding symbol in the codeword, -\begin_inset Formula $\alpha_{j}=1$ -\end_inset - - if the received symbol and codeword symbol are different, and -\begin_inset Formula $p_{1,j}$ -\end_inset - - is the fractional power associated with received symbol -\begin_inset Formula $j$ -\end_inset - -. - Think of the soft distance as made up of 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 soft distance will be assigned to the one where - differences occur in symbols of lower estimated reliability. - -\end_layout - -\begin_layout Standard -In practice we find that -\begin_inset Formula $d_{s}$ -\end_inset - - can reliably indentify the correct codeword if the signal-to-noise ratio - for individual symbols is greater than about 4 in power units, or -\begin_inset Formula $E_{s}/N_{0}\apprge6$ -\end_inset - - dB. - We also find that weaker signals frequently can be decoded by using soft-symbol - information beyond that contained in -\begin_inset Formula $p_{1}$ -\end_inset - - and -\begin_inset Formula $p_{2}$ -\end_inset - -. - To this end we define an additional metric -\begin_inset Formula $u$ -\end_inset - -, the average signal-plus-noise power in all symbols, according to a candidate - codeword's symbol values: -\end_layout - -\begin_layout Standard -\begin_inset Formula -\[ -u=\frac{1}{n}\sum_{j=1}^{n}S(c_{j},\, j). -\] - -\end_inset - -Here the -\begin_inset Formula $c_{j}$ -\end_inset - -'s are the symbol values for the candidate codeword being tested. - -\end_layout - -\begin_layout Standard -The correct JT65 codeword produces a value for -\begin_inset Formula $u$ -\end_inset - - equal to average of -\begin_inset Formula $n=63$ -\end_inset - - bins containing both signal and noise power. - Incorrect codewords have at most -\begin_inset Formula $k-1=11$ -\end_inset - - such bins and at least -\begin_inset Formula $n-k+1=52$ -\end_inset - - bins containing noise only. - Thus, if the spectral array -\begin_inset Formula $S(i,\, j)$ -\end_inset - - has been normalized so that its median value (essentially the average noise - level) is unity, the correct codeword is expected to yield the metric value -\end_layout - -\begin_layout Standard -\begin_inset Formula -\[ -u=(1\pm n^{-\frac{1}{2}})(1+y)\approx(1.0\pm0.13)(1+y), -\] - -\end_inset - -where -\begin_inset Formula $y$ -\end_inset - - is the signal-to-noise ratio (in linear power units) and the quoted one-standar -d-deviation uncertainty range assumes Gaussian statistics. - Incorrect codewords will yield metric values no larger than -\end_layout - -\begin_layout Standard -\begin_inset Formula -\[ -u=\frac{n-k+1\pm\sqrt{n-k+1}}{n}+\frac{k-1\pm\sqrt{k-1}}{n}(1+y). -\] - -\end_inset - -For JT65 this expression evaluates to -\end_layout - -\begin_layout Standard -\begin_inset Formula -\[ -u\approx1\pm0.11+(0.17\pm0.05)\, y. -\] - -\end_inset - -As a specific example, consider signal strength -\begin_inset Formula $y=4$ -\end_inset - -, corresponding to -\begin_inset Formula $E_{s}/N_{0}=6$ -\end_inset - - dB. - For JT65, the corresponding SNR in 2500 Hz bandwidth is -\begin_inset Formula $-23.7$ -\end_inset - - dB. - The correct codeword is then expected to yield -\begin_inset Formula $u\approx5.0\pm$ -\end_inset - -0.6, while incorrect codewords will give -\begin_inset Formula $u\approx1.7\pm0.3$ -\end_inset - - or less. - We find that a threshold set at -\begin_inset Formula $u_{0}=4.4$ -\end_inset - - (about 8 standard deviations above the expected maximum for incorrect codewords -) reliably serves to distinguish correct codewords from all other candidates, - while ensuring a very small probability of false decodes. -\end_layout - -\begin_layout Standard -Technically the FT algorithm is a list decoder. - Among the list of candidate codewords found by the stochastic search algorithm, - only the one with the largest -\begin_inset Formula $u$ -\end_inset - - is retained. - As with all such algorithms, a stopping criterion is necessary. - FT accepts a codeword unconditionally if -\begin_inset Formula $u>u_{0}$ -\end_inset - -. - A timeout is used to limit the algorithm's execution time if no acceptable - codeword is found in a reasonable number of trials, -\begin_inset Formula $T$ -\end_inset - -. - Today's personal computers are fast enough that -\begin_inset Formula $T$ -\end_inset - - can be set as large as -\begin_inset Formula $10^{5},$ -\end_inset - - or even higher. -\end_layout - -\begin_layout Paragraph -Algorithm pseudo-code: -\end_layout - -\begin_layout Enumerate -For each received symbol, define the erasure probability as 1.3 times the - -\emph on -a priori -\emph default - symbol-error probability determined from soft-symbol information -\begin_inset Formula $\{p_{1}\textrm{-rank},\, p_{2}/p_{1}\}$ -\end_inset - -. - -\end_layout - -\begin_layout Enumerate -Make independent stochastic decisions about whether to erase each symbol - by using the symbol's erasure probability, allowing a maximum of 51 erasures. -\end_layout - -\begin_layout Enumerate -Attempt errors-and-erasures decoding by using the BM algorithm and the set - of erasures determined in step 2. - If the BM decoder produces a candidate codeword, go to step 5. -\begin_inset Foot -status open - -\begin_layout Plain Layout -Our implementation of the FT-algorithm is based on the excellent open-source - BM decoder written by Phil Karn, KA9Q. -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Enumerate -If BM decoding was not successful, go to step 2. -\end_layout - -\begin_layout Enumerate -Calculate the hard-decision Hamming distance between the candidate codeword - and the received symbols, the corresponding soft distance -\begin_inset Formula $d_{s}$ -\end_inset - -, and the quality metric -\begin_inset Formula $u$ -\end_inset - -. - If -\begin_inset Formula $u$ -\end_inset - - is the largest one encountered so far, set -\begin_inset Formula $u_{max}=u$ -\end_inset - -. -\end_layout - -\begin_layout Enumerate -If -\begin_inset Formula $u_{max}>u_{0}$ -\end_inset - -, go to step 8. - -\end_layout - -\begin_layout Enumerate -If the number of trials is less than the timeout limit -\begin_inset Formula $T,$ -\end_inset - - go to 2. - Otherwise, declare decoding failure and exit. -\end_layout - -\begin_layout Enumerate -An acceptable codeword with -\begin_inset Formula $u_{max}>u_{0}$ -\end_inset - - has been found. - Declare a successful decode and return this codeword. -\end_layout - -\begin_layout Standard -The inspiration for the FT decoding algorithm came from a number of sources, - particularly references -\begin_inset CommandInset citation -LatexCommand cite -key "key-2" - -\end_inset - - and -\begin_inset CommandInset citation -LatexCommand cite -key "key-3" - -\end_inset - - and the textbook by Lin and Costello -\begin_inset CommandInset citation -LatexCommand cite -key "key-1" - -\end_inset - -. - After developing this algorithm, we became aware that our approach is conceptua -lly similar to a -\begin_inset Quotes eld -\end_inset - -stochastic erasures-only list decoding algorithm -\begin_inset Quotes erd -\end_inset - -, described in reference -\begin_inset CommandInset citation -LatexCommand cite -key "key-4" - -\end_inset - -. - The algorithm in -\begin_inset CommandInset citation -LatexCommand cite -key "key-4" - -\end_inset - - is applied to higher-rate Reed-Solomon codes on a binary-input channel - over which BPSK-modulated symbols are transmitted. - Our 64-ary input channel with 64-FSK modulation required us to develop - our own unique methods for assigning erasure probabilities and for defining - an acceptance criteria to select the best codeword from the list of candidates. - -\end_layout - -\begin_layout Section -\begin_inset CommandInset label -LatexCommand label -name "sec:Hinted-Decoding" - -\end_inset - -Hinted Decoding -\end_layout - -\begin_layout Standard -To be written... -\end_layout - -\begin_layout Section -\begin_inset CommandInset label -LatexCommand label -name "sec:Implementation-in-WSJT-X" - -\end_inset - -Implementation in WSJT-X -\end_layout - -\begin_layout Standard -To be written... -\end_layout - -\begin_layout Section -\begin_inset CommandInset label -LatexCommand label -name "sec:Theory,-Simulation,-and" - -\end_inset - -Decoder Performance Evaluation -\end_layout - -\begin_layout Subsection -Simulated results on the AWGN channel -\end_layout - -\begin_layout Standard -Comparisons of decoding performance are usually presented in the professional - literature as plots of word error-rate versus -\begin_inset Formula $E_{b}/N_{0}$ -\end_inset - -, the ratio of the energy collected per information bit to the one-sided - noise power spectral density, -\begin_inset Formula $N_{0}$ -\end_inset - -. - In amateur radio circles performance is usually plotted as the probability - of successfully decoding a received word vs signal-to-noise ratio in a - 2.5 kHz reference bandwidth, -\begin_inset Formula $\mathrm{SNR}{}_{2.5\,\mathrm{kHz}}$ -\end_inset - -. - The relationship between -\begin_inset Formula $E_{b}/N_{o}$ -\end_inset - - and -\begin_inset Formula $\mathrm{SNR}{}_{2.5\,\mathrm{kHz}}$ -\end_inset - - is described in Appendix -\begin_inset CommandInset ref -LatexCommand ref -reference "sec:Appendix:SNR" - -\end_inset - -. - -\end_layout - -\begin_layout Standard -Results of simulations using the BM, FT, and KV decoding algorithms on the - JT65 (63,12) code are presented in terms of word error-rate vs -\begin_inset Formula $E_{b}/N_{o}$ -\end_inset - - in Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:bodide" - -\end_inset - -. - For these tests we generated at least 1000 signals at each signal-to-noise - ratio, assuming the additive white gaussian noise (AWGN) channel, and processed - the data using each algorithm. - For word error-rates less than 0.1 it was necessary to process 10,000 or - even 100,000 simulated signals in order to capture enough errors to make - the estimates of word-error-rate statistically meaningful. - As a test of the fidelity of our numerical simulations, Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:bodide" - -\end_inset - - also shows theoretical results (filled squares) for comparison with the - BM results. - The simulated BM results agree with theory to within about 0.1 dB. - This difference between simulated BM results and theory is caused by small - errors in the estimates of time- and frequency-offset of the received signal - in the simulated results. - Such -\begin_inset Quotes eld -\end_inset - -sync losses -\begin_inset Quotes erd -\end_inset - - are not accounted for in the idealized theoretical results. - -\end_layout - -\begin_layout Standard -As expected, the soft-decision algorithms, FT and KV, are about 2 dB better - than the hard-decision BM algorithm. - In addition, FT has a slight edge (about 0.2 dB) over KV. - On the other hand, the execution time for FT with -\begin_inset Formula $T=10^{5}$ -\end_inset - - is longer than the execution time for the KV algorithm. - Nevertheless, the execution time required for the FT algorithm with -\begin_inset Formula $T=10^{5}$ -\end_inset - - is small enough to be practical on most computers. - -\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_bodide.pdf - -\end_inset - - -\begin_inset Caption Standard - -\begin_layout Plain Layout -\begin_inset CommandInset label -LatexCommand label -name "fig:bodide" - -\end_inset - -Word error rates as a function of -\begin_inset Formula $E_{b}/N_{0},$ -\end_inset - - the signal-to-noise ratio per bit. - The single curve marked with filled squares shows a theoretical prediction - for the BM decoder. - Open squares illustrate simulation results for an AWGN channel with the - BM, FT ( -\begin_inset Formula $T=10^{5}$ -\end_inset - -) and KV ( -\begin_inset Formula $\lambda=15$ -\end_inset - -) decoders used in program -\emph on -WSJT-X -\emph default -. - The KV results are for decoding complexity coefficient -\begin_inset Formula $\lambda=15$ -\end_inset - -, the most aggressive setting that has historically been used in earlier - versions of the WSJT programs. - -\end_layout - -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Because of the importance of error-free transmission in commercial applications, - plots like that in Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:bodide" - -\end_inset - - often extend downward to much smaller error rates, say -\begin_inset Formula $10^{-6}$ -\end_inset - - or less. - The circumstances for minimal amateur-radio QSOs are very different, however. - Error rates of order 0.1 or higher may be acceptable. - In this case the essential information is better presented in a plot showing - the percentage of transmissions copied correctly as a function of signal-to-noi -se ratio. - Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:WER2" - -\end_inset - - shows the FT results for -\begin_inset Formula $T=10^{5}$ -\end_inset - - and the KV results that were shown in Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:bodide" - -\end_inset - - in this format along with additional FT results for -\begin_inset Formula $T=10^{4},10^{3},10^{2}$ -\end_inset - - and -\begin_inset Formula $10^{1}$ -\end_inset - -. - The KV results are plotted with open triangles. - It is apparent that the FT decoder produces more decodes than KV when -\begin_inset Formula $T=10^{4}$ -\end_inset - - or larger. - It also provides a very significant gain over the hard-decision BM decoder - even when limited to at most 10 trials. -\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_wer2.pdf - lyxscale 120 - -\end_inset - - -\end_layout - -\begin_layout Plain Layout -\begin_inset Caption Standard - -\begin_layout Plain Layout -\begin_inset CommandInset label -LatexCommand label -name "fig:WER2" - -\end_inset - -Percent of JT65 messages copied as a function of SNR in 2.5 kHz bandwidth. - Solid lines with filled round circles are results from the FT decoder with - -\begin_inset Formula $T=10^{5},10^{4},10^{3},10^{2}$ -\end_inset - - and -\begin_inset Formula $10$ -\end_inset - -, respectively, from left to right. - The dashed line with open triangles is the KV decoder with complexity coefficie -nt -\begin_inset Formula $\lambda=15$ -\end_inset - -. - Results from the BM algorithm are also shown with filled triangles. -\end_layout - -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -The timeout parameter -\begin_inset Formula $T$ -\end_inset - - employed in the FT algorithm is the maximum number of symbol-erasure trials - allowed for a particular attempt at decoding a received word. - Most successful decodes take only a small fraction of the maximum allowed - number of trials. - Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:N_vs_X" - -\end_inset - - shows the number of stochastic erasure trials required to find the correct - codeword versus the number of hard-decision errors in the received word - for a run with 1000 simulated transmissions at -\begin_inset Formula $\mathrm{SNR}=-24$ -\end_inset - - dB, just slightly above the decoding threshold. - The timeout parameter was -\begin_inset Formula $T=10^{5}$ -\end_inset - - for this run. - No points are shown for -\begin_inset Formula $X\le25$ -\end_inset - - because all such words were successfully decoded by the BM algorithm. - Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:N_vs_X" - -\end_inset - - shows that the FT algorithm decoded received words with as many as -\begin_inset Formula $X=43$ -\end_inset - - symbol errors. - The results also show that, on average, the number of trials increases - with the number of errors in the received word. - The variability of the decoding time also increases dramatically with the - number of errors in the received word. - These results also provide insight into the mean and variance of the execution - time for the FT algorithm, as execution time will be roughly proportional - to the number of required trials. -\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_ntrials_vs_nhard.pdf - lyxscale 120 - -\end_inset - - -\end_layout - -\begin_layout Plain Layout -\begin_inset Caption Standard - -\begin_layout Plain Layout -\begin_inset CommandInset label -LatexCommand label -name "fig:N_vs_X" - -\end_inset - -Number of trials needed to decode a received word versus Hamming distance - between the received word and the decoded codeword, for 1000 simulated - frames on an AWGN channel with no fading. - The SNR in 2500 Hz bandwidth is -24 dB ( -\begin_inset Formula $E_{b}/N_{o}=5.1$ -\end_inset - - dB). - -\end_layout - -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Simulated results for hinted decoding and Rayleigh fading -\end_layout - -\begin_layout Standard -Figure -\begin_inset CommandInset ref -LatexCommand ref -reference "fig:Psuccess" - -\end_inset - - presents the results of simulations for signal-to-noise ratios ranging - from -\begin_inset Formula $-18$ -\end_inset - - to -\begin_inset Formula $-30$ -\end_inset - - dB, again using 1000 simulated signals for each plotted point. - We include three curves for each decoding algorithm: one for the AWGN channel - and no fading, and two more for simulated Doppler spreads of 0.2 and 1.0 - Hz. - For reference, we 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 open - -\begin_layout Plain Layout -\align center -\begin_inset Graphics - filename fig_psuccess.pdf - lyxscale 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 Section -Summary -\end_layout - -\begin_layout Standard -... - Still to come ... -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "1" -key "key-1" - -\end_inset - -Error Control Coding, 2nd edition, Shu Lin and Daniel J. - Costello, Pearson-Prentice Hall, 2004. -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "2" -key "key-2" - -\end_inset - -"Stochastic Chase Decoding of Reed-Solomon Codes", Camille Leroux, Saied - Hemati, Shie Mannor, Warren J. - Gross, IEEE Communications Letters, Vol. - 14, No. - 9, September 2010. -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "3" -key "key-3" - -\end_inset - -"Soft-Decision Decoding of Reed-Solomon Codes Using Successive Error-and-Erasure - Decoding," Soo-Woong Lee and B. - V. - K. - Vijaya Kumar, IEEE -\begin_inset Quotes eld -\end_inset - -GLOBECOM -\begin_inset Quotes erd -\end_inset - - 2008 proceedings. -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "4" -key "key-4" - -\end_inset - - -\begin_inset Quotes erd -\end_inset - -Stochastic Erasure-Only List Decoding Algorithms for Reed-Solomon Codes, -\begin_inset Quotes erd -\end_inset - - Chang-Ming Lee and Yu T. - Su, IEEE Signal Processing Letters, Vol. - 16, No. - 8, August 2009. -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "5" -key "key-5" - -\end_inset - -“Algebraic soft-decision decoding of Reed-Solomon codes,” R. - Köetter and A. - Vardy, IEEE Trans. - Inform. - Theory, Vol. - 49, Nov. - 2003. -\end_layout - -\begin_layout Bibliography -\begin_inset CommandInset bibitem -LatexCommand bibitem -label "6" -key "key-6" - -\end_inset - -Berlekamp-Massey decoder written by Phil Karn, http://www.ka9q.net/code/fec/ -\end_layout - -\begin_layout Section -\start_of_appendix -\begin_inset CommandInset label -LatexCommand label -name "sec:Appendix:SNR" - -\end_inset - -Appendix: Signal to Noise Ratios -\end_layout - -\begin_layout Standard -The signal to noise ratio in a bandwidth, -\begin_inset Formula $B$ -\end_inset - -, that is at least as large as the bandwidth occupied by the signal is: -\begin_inset Formula -\begin{equation} -\mathrm{SNR}_{B}=\frac{P_{s}}{N_{o}B}\label{eq:SNR} -\end{equation} - -\end_inset - -where -\begin_inset Formula $P_{s}$ -\end_inset - - is the signal power (W), -\begin_inset Formula $N_{o}$ -\end_inset - - is one-sided noise power spectral density (W/Hz), and -\begin_inset Formula $B$ -\end_inset - - is the bandwidth in Hz. - In amateur radio applications, digital modes are often compared based on - the SNR defined in a 2.5 kHz reference bandwidth, -\begin_inset Formula $\mathrm{SNR}_{2.5\,\mathrm{kHz}}$ -\end_inset - -. - -\end_layout - -\begin_layout Standard -In the professional literature, decoder performance is characterized in - terms of -\begin_inset Formula $E_{b}/N_{o}$ -\end_inset - -, the ratio of the energy collected per information bit, -\begin_inset Formula $E_{b}$ -\end_inset - -, to the one-sided noise power spectral density, -\begin_inset Formula $N_{o}$ -\end_inset - -. - Denote the duration of a channel symbol by -\begin_inset Formula $\tau_{s}$ -\end_inset - - (for JT65, -\begin_inset Formula $\tau_{s}=0.3715\,\mathrm{s}$ -\end_inset - -). - Signal power is related to the energy per symbol by -\begin_inset Formula -\begin{equation} -P_{s}=E_{s}/\tau_{s}.\label{eq:signal_power} -\end{equation} - -\end_inset - -The total energy in a received JT65 message consisting of -\begin_inset Formula $n=63$ -\end_inset - - channel symbols is -\begin_inset Formula $63E_{s}$ -\end_inset - -. - The energy collected for each of the 72 bits of information conveyed by - the message is then -\begin_inset Formula -\begin{equation} -E_{b}=\frac{63E_{s}}{72}=0.875E_{s.}\label{eq:Eb_Es} -\end{equation} - -\end_inset - -Using equations ( -\begin_inset CommandInset ref -LatexCommand ref -reference "eq:SNR" - -\end_inset - -)-( -\begin_inset CommandInset ref -LatexCommand ref -reference "eq:Eb_Es" - -\end_inset - -), -\begin_inset Formula $\mathrm{SNR}_{2.5\,\mathrm{kHz}}$ -\end_inset - - can be written in terms of -\begin_inset Formula $E_{b}/N_{o}$ -\end_inset - -: -\begin_inset Formula -\[ -\mathrm{SNR}_{2.5\,\mathrm{kHz}}=1.23\times10^{-3}\frac{E_{b}}{N_{o}}. -\] - -\end_inset - -If all quantities are expressed in dB, then: -\end_layout - -\begin_layout Standard -\begin_inset Formula -\[ -SNR_{2.5\,\mathrm{kHz}}=(E_{b}/N_{o})_{\mathrm{dB}}-29.1\,\mathrm{dB}. -\] - -\end_inset - - -\end_layout - -\end_body -\end_document +#LyX 2.1 created this file. For more info see http://www.lyx.org/ +\lyxformat 474 +\begin_document +\begin_header +\textclass paper +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman default +\font_sans default +\font_typewriter default +\font_math auto +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\float_placement H +\paperfontsize 12 +\spacing onehalf +\use_hyperref false +\papersize default +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 1in +\topmargin 1in +\rightmargin 1in +\bottommargin 1in +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Title +Open Source Soft-Decision Decoder for the JT65 (63,12) Reed-Solomon code +\end_layout + +\begin_layout Author +Steven J. + Franke, K9AN and Joseph H. + Taylor, K1JT +\end_layout + +\begin_layout Standard +\begin_inset CommandInset toc +LatexCommand tableofcontents + +\end_inset + + +\end_layout + +\begin_layout Section +\begin_inset CommandInset label +LatexCommand label +name "sec:Introduction-and-Motivation" + +\end_inset + +Introduction and Motivation +\end_layout + +\begin_layout Standard +The JT65 protocol has revolutionized amateur-radio weak-signal communication + by enabling operators with small or compromise antennas and relatively + low-power transmitters to communicate over propagation paths not usable + with traditional technologies. + The protocol was developed in 2003 for Earth-Moon-Earth (EME, or +\begin_inset Quotes eld +\end_inset + +moonbounce +\begin_inset Quotes erd +\end_inset + +) communication, where the scattered return signals are always weak. + It was soon found that JT65 also facilitates worldwide communication on + the HF bands with low power, modest antennas, and efficient spectral usage. +\end_layout + +\begin_layout Standard +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. + Until now, nearly all programs implementing JT65 have used the patented + Koetter-Vardy (KV) algebraic soft-decision decoder +\begin_inset CommandInset citation +LatexCommand cite +key "kv2001" + +\end_inset + +, as licensed to K1JT and implemented in a closed-source program for use + only in amateur radio applications. + Since 2001 the KV decoder has been considered the best available soft-decision + decoder for Reed Solomon codes. +\end_layout + +\begin_layout Standard +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 in this application it performs even + better than the KV decoder. + The FT algorithm is implemented in the popular program +\emph on +WSJT-X +\emph default +, widely used for amateur weak-signal communication with JT65 and several + other specialized digital modes. + The program is freely available and licensed under the GNU General Public + License. +\end_layout + +\begin_layout Standard +The JT65 protocol specifies transmissions that normally start one second + into a UTC minute and last for 46.8 seconds. + Receiving software therefore has up to several seconds to decode a message, + before the operator sends a reply at the start of the next minute. + With today's personal computers, this relatively long time for decoding + a short message encourages experimentation with decoders of high computational + complexity. + As a result, on a typical fading channel the FT algorithm extends the decoding + threshold by many dB over the hard-decision Berlekamp-Massey decoder, and + by a meaningful amount over the KV decoder. + In addition to its excellent performance, the new algorithm has other desirable + properties---not the least of which is its conceptual simplicity. + Decoding performance and complexity scale in a convenient way, providing + steadily increasing soft-decision decoding gain as a tunable computational + complexity parameter is increased over more than 5 orders of magnitude. + This means that appreciable gain is available from our decoder even on + very simple (and relatively slow) computers. + On the other hand, because the algorithm benefits from a large number of + independent decoding trials, it should be possible to obtain further performanc +e gains through parallelization on high-performance computers. +\end_layout + +\begin_layout Section +\begin_inset CommandInset label +LatexCommand label +name "sec:JT65-messages-and" + +\end_inset + +JT65 messages and Reed Solomon Codes +\end_layout + +\begin_layout Standard +JT65 message frames consist of a short compressed message encoded for transmissi +on with a Reed-Solomon code. + Reed-Solomon codes are block codes characterized by +\begin_inset Formula $n$ +\end_inset + +, the length of their codewords, +\begin_inset Formula $k$ +\end_inset + +, the number of message symbols conveyed by the codeword, and the number + of possible values for each symbol in the codewords. + The codeword length and the number of message symbols are specified with + the notation +\begin_inset Formula $(n,k)$ +\end_inset + +. + JT65 uses a (63,12) Reed-Solomon code with 64 possible values for each + symbol. + Each of the 12 message symbols represents +\begin_inset Formula $\log_{2}64=6$ +\end_inset + + message bits. + The source-encoded messages conveyed by a 63-symbol JT65 frame thus consist + 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. + +\end_layout + +\begin_layout Standard +In coding theory the concept of Hamming distance is used as a measure of + +\begin_inset Quotes eld +\end_inset + +distance +\begin_inset Quotes erd +\end_inset + + between different codewords, or between a received word and a codeword. + Hamming distance is the number of code symbols that differ in two words + being compared. + Reed-Solomon codes have minimum Hamming distance +\begin_inset Formula $d$ +\end_inset + +, where +\begin_inset Formula +\begin{equation} +d=n-k+1.\label{eq:minimum_distance} +\end{equation} + +\end_inset + +The minimum Hamming distance of the JT65 code is +\begin_inset Formula $d=52$ +\end_inset + +, which means that any particular codeword differs from all other codewords + in at least 52 symbol positions. + +\end_layout + +\begin_layout Standard +Given a received word containing some incorrect symbols (errors), the received + word can be decoded into the correct codeword using a deterministic, algebraic + algorithm provided that no more than +\begin_inset Formula $t$ +\end_inset + + symbols were received incorrectly, where +\begin_inset Formula +\begin{equation} +t=\left\lfloor \frac{n-k}{2}\right\rfloor .\label{eq:t} +\end{equation} + +\end_inset + +For the JT65 code +\begin_inset Formula $t=25$ +\end_inset + +, so it is always possible to decode a received word having 25 or fewer + symbol errors. + Any one of several well-known algebraic algorithms, such as the widely + used Berlekamp-Massey (BM) algorithm, can carry out the decoding. + Two steps are necessarily involved in this process. + We must (1) determine which symbols were received incorrectly, and (2) + find the correct value of the incorrect symbols. + If we somehow know that certain symbols are incorrect, that information + can be used to reduce the work involved in step 1 and allow step 2 to correct + more than +\begin_inset Formula $t$ +\end_inset + + errors. + In the unlikely event that the location of every error is known and if + no correct symbols are accidentally labeled as errors, the BM algorithm + can correct up to +\begin_inset Formula $d-1=n-k$ +\end_inset + + errors. + +\end_layout + +\begin_layout Standard +The FT algorithm creates lists of symbols suspected of being incorrect and + sends them to the BM decoder. + Symbols flagged in this way are called +\begin_inset Quotes eld +\end_inset + +erasures, +\begin_inset Quotes erd +\end_inset + + while other incorrect symbols will be called +\begin_inset Quotes eld +\end_inset + +errors. +\begin_inset Quotes erd +\end_inset + + With perfect erasure information up to 51 incorrect symbols can be corrected + for the JT65 code. + Imperfect erasure information means that some erased symbols may be correct, + and some other symbols in error. + If +\begin_inset Formula $s$ +\end_inset + + symbols are erased and the remaining +\begin_inset Formula $n-s$ +\end_inset + + symbols contain +\begin_inset Formula $e$ +\end_inset + + errors, the BM algorithm can find the correct codeword as long as +\begin_inset Formula +\begin{equation} +s+2e\le d-1.\label{eq:erasures_and_errors} +\end{equation} + +\end_inset + +If +\begin_inset Formula $s=0$ +\end_inset + +, the decoder is said to be an +\begin_inset Quotes eld +\end_inset + +errors-only +\begin_inset Quotes erd +\end_inset + + decoder. + If +\begin_inset Formula $0X$ +\end_inset + +. + Correspondingly, the FT algorithm works best when the probability of erasing + a symbol is somewhat larger than the probability that the symbol is incorrect. + For the JT65 code we found empirically that good decoding performance is + obtained when the symbol erasure probability is about 1.3 times the symbol + error probability. +\end_layout + +\begin_layout Standard +The FT algorithm tries successively to decode the received word using independen +t educated guesses to select symbols for erasure. + For each iteration a stochastic erasure vector is generated based on the + symbol erasure probabilities. + The erasure vector is sent to the BM decoder along with the full set of + 63 hard-decision symbol values. + When the BM decoder finds a candidate codeword it is assigned a quality + metric +\begin_inset Formula $d_{s}$ +\end_inset + +, the soft distance between the received word and the codeword: +\begin_inset Formula +\begin{equation} +d_{s}=\sum_{j=1}^{n}\alpha_{j}\,(1+p_{1,\,j}).\label{eq:soft_distance} +\end{equation} + +\end_inset + +Here +\begin_inset Formula $\alpha_{j}=0$ +\end_inset + + if received symbol +\begin_inset Formula $j$ +\end_inset + + is the same as the corresponding symbol in the codeword, +\begin_inset Formula $\alpha_{j}=1$ +\end_inset + + if the received symbol and codeword symbol are different, and +\begin_inset Formula $p_{1\,j}$ +\end_inset + + is the fractional power associated with received symbol +\begin_inset Formula $j$ +\end_inset + +. + Think of the soft distance as made up of 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 soft distance will be assigned to the one where + differences occur in symbols of lower estimated reliability. + +\end_layout + +\begin_layout Standard +In practice we find that +\begin_inset Formula $d_{s}$ +\end_inset + + can reliably indentify the correct codeword if the signal-to-noise ratio + for individual symbols is greater than about 4 in linear power units, or + +\begin_inset Formula $E_{s}/N_{0}\apprge6$ +\end_inset + + dB (*** check these numbers ***). + We also find that significantly weaker signals can be decoded by using + soft-symbol information beyond that contained in +\begin_inset Formula $p_{1}$ +\end_inset + + and +\begin_inset Formula $p_{2}$ +\end_inset + +. + To this end we define an additional metric +\begin_inset Formula $u$ +\end_inset + +, the average signal-plus-noise power in all symbols according to a candidate + codeword's symbol values: +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{equation} +u=\frac{1}{n}\sum_{j=1}^{n}S(c_{j},\,j).\label{eq:u-metric} +\end{equation} + +\end_inset + +Here the +\begin_inset Formula $c_{j}$ +\end_inset + +'s are the symbol values for the candidate codeword being tested. + The correct JT65 codeword produces a value for +\begin_inset Formula $u$ +\end_inset + + equal to the average of +\begin_inset Formula $n=63$ +\end_inset + + bins containing both signal and noise power. + Incorrect codewords have at most +\begin_inset Formula $k-1=11$ +\end_inset + + such bins and at least +\begin_inset Formula $n-k+1=52$ +\end_inset + + bins containing noise only. + Thus, if the spectral array +\begin_inset Formula $S(i,\,j)$ +\end_inset + + has been normalized so that its median value (essentially the average noise + level) is unity, +\begin_inset Formula $u$ +\end_inset + + for the correct codeword has expectation value (average over many random + realizations) +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{equation} +\bar{u}_{1}=1+y,\label{eq:u1-exp} +\end{equation} + +\end_inset + +where +\begin_inset Formula $y$ +\end_inset + + is the signal-to-noise ratio in linear power units. + If we assume Gaussian statistics and a large number of trials, the standard + deviation of measured values of +\begin_inset Formula $u_{1}$ +\end_inset + + is +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{equation} +\sigma_{1}=\left(\frac{1+2y}{n}\right)^{1/2}.\label{eq:sigma1} +\end{equation} + +\end_inset + +In contrast, worst-case incorrect codewords will yield +\begin_inset Formula $u$ +\end_inset + +-metrics with expectation value and standard deviation given by +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{equation} +\bar{u}_{2}=1+\left(\frac{k-1}{n}\right)y,\label{eq:u2-exp} +\end{equation} + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{equation} +\sigma_{2}=\frac{1}{n}\left[n+2y(k-1)\right]^{1/2}.\label{eq:sigma2} +\end{equation} + +\end_inset + + +\end_layout + +\begin_layout Standard +If tests on a number of tested candidate codewords yield largest and second-larg +est metrics +\begin_inset Formula $u_{1}$ +\end_inset + + and +\begin_inset Formula $u_{2},$ +\end_inset + + respectively, we expect the ratio +\begin_inset Formula $r=u_{2}/u_{1}$ +\end_inset + + to be significantly smaller in cases where the candidate associated with + +\begin_inset Formula $u_{1}$ +\end_inset + + is in fact the correct codeword. + On the other hand, if none of the tested candidates is correct, +\begin_inset Formula $r$ +\end_inset + + will likely be close to 1. + We therefore apply a ratio threshold test, say +\begin_inset Formula $ru_{0}$ +\end_inset + + has been found. + Declare a successful decode and return this codeword. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Inspiration for the FT decoding algorithm came from a number of sources, + particularly references +\begin_inset CommandInset citation +LatexCommand cite +key "lhmg2010" + +\end_inset + + and +\begin_inset CommandInset citation +LatexCommand cite +key "lk2008" + +\end_inset + + and the textbook by Lin and Costello +\begin_inset CommandInset citation +LatexCommand cite +key "lc2004" + +\end_inset + +. + After developing this algorithm, we became aware that our approach is conceptua +lly similar to a +\begin_inset Quotes eld +\end_inset + +stochastic erasures-only list decoding algorithm +\begin_inset Quotes erd +\end_inset + +, described in reference +\begin_inset CommandInset citation +LatexCommand cite +key "ls2009" + +\end_inset + +. + The algorithm in +\begin_inset CommandInset citation +LatexCommand cite +key "ls2009" + +\end_inset + + is applied to higher-rate Reed-Solomon codes on a binary-input channel + with BPSK-modulated symbols. + Our 64-ary input channel with 64-FSK modulation required us to develop + unique methods for assigning erasure probabilities and for defining an + acceptance criteria to select the best codeword from the list of candidates. + +\end_layout + +\begin_layout Section +\begin_inset CommandInset label +LatexCommand label +name "sec:Hinted-Decoding" + +\end_inset + +Hinted Decoding +\end_layout + +\begin_layout Standard +The FT algorithm is completely general: it recovers with equal sensitivity + any one of the +\begin_inset Formula $2^{72}\approx4.7\times10^{21}$ +\end_inset + + different messages that can be transmitted using the JT65 protocol. + In many circumstances it's easy to imagine a much smaller list of messages + (say, a few thousand or less) that may be among the most likely ones to + be received. + For example, one such situation exists when making short ham-radio contacts + exchanging minimal amounts of information such as callsigns, signal reports, + perhaps a Maidenhead locator, and acknowledgments. + Similarly, on the EME path or on a VHF or UHF band with limited geographical + coverage, the most likely received messages will often originate from callsigns + that have been decoded before. + Saving a list of previously decoded callsigns 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 Setcion +\begin_inset CommandInset ref +LatexCommand ref +reference "sec:The-decoding-algorithm" + +\end_inset + +. + We call this approach +\begin_inset Quotes eld +\end_inset + +hinted decoding; +\begin_inset Quotes erd +\end_inset + + it is sometimes referred to as the +\begin_inset Quotes eld +\end_inset + +Deep Search +\begin_inset Quotes erd +\end_inset + + algorithm. + In certain limited situations it can provide enhanced sensitivity for the + principal task of any decoder, namely to determine what message was sent. +\end_layout + +\begin_layout Standard +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 +\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},$ +\end_inset + + for what is +\begin_inset Quotes eld +\end_inset + +small enough +\begin_inset Quotes erd +\end_inset + + for adequate confidence, while still 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 the ones +\begin_inset Formula $r_{0}$ +\end_inset + + and +\begin_inset Formula $r_{1}$ +\end_inset + + used in the FT algorithm. + For the limited subset of messages considered as likely, hinted decodes + can be obtained at lower signal levels than would be required for decodes + selected from the full universe of +\begin_inset Formula $2^{72}$ +\end_inset + +distinct messages. +\end_layout + +\begin_layout Section +\begin_inset CommandInset label +LatexCommand label +name "sec:Theory,-Simulation,-and" + +\end_inset + +Decoder Performance Evaluation +\end_layout + +\begin_layout Subsection +Simulated results on the AWGN channel +\end_layout + +\begin_layout Standard +Comparisons of decoding performance are usually presented in the professional + literature as plots of word error rate versus +\begin_inset Formula $E_{b}/N_{0}$ +\end_inset + +, the ratio of the energy collected per information bit to the one-sided + noise power spectral density, +\begin_inset Formula $N_{0}$ +\end_inset + +. + For weak-signal amateur radio work, performance is more conveniently presented + as the probability of successfully decoding a received word versus signal-to-no +ise ratio in a 2500 Hz reference bandwidth, +\begin_inset Formula $\mathrm{SNR}{}_{2500}$ +\end_inset + +. + The relationship between +\begin_inset Formula $E_{b}/N_{o}$ +\end_inset + + and +\begin_inset Formula $\mathrm{SNR}{}_{2500}$ +\end_inset + + is described in Appendix +\begin_inset CommandInset ref +LatexCommand ref +reference "sec:Appendix:SNR" + +\end_inset + +. + +\end_layout + +\begin_layout Standard +Results of simulations using the BM, FT, and KV decoding algorithms on the + JT65 (63,12) code are presented in terms of word error-rate vs +\begin_inset Formula $E_{b}/N_{o}$ +\end_inset + + in Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:bodide" + +\end_inset + +. + For these tests we generated at least 1000 signals at each signal-to-noise + ratio, assuming the additive white gaussian noise (AWGN) channel, and processed + the data using each algorithm. + For word error-rates less than 0.1 it was necessary to process 10,000 or + even 100,000 simulated signals in order to capture enough errors to make + the estimates of word-error-rate statistically meaningful. + As a test of the fidelity of our numerical simulations, Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:bodide" + +\end_inset + + also shows theoretical results (filled squares) for comparison with the + BM results. + The simulated BM results agree with theory to within about 0.1 dB. + This difference between simulated BM results and theory is caused by small + errors in the estimates of time- and frequency-offset of the received signal + in the simulated results. + Such +\begin_inset Quotes eld +\end_inset + +sync losses +\begin_inset Quotes erd +\end_inset + + are not accounted for in the idealized theoretical results. + +\end_layout + +\begin_layout Standard +As expected, the soft-decision algorithms, FT and KV, are about 2 dB better + than the hard-decision BM algorithm. + In addition, FT has a slight edge (about 0.2 dB) over KV. + On the other hand, the execution time for FT with +\begin_inset Formula $T=10^{5}$ +\end_inset + + is longer than the execution time for the KV algorithm. + Nevertheless, the execution time required for the FT algorithm with +\begin_inset Formula $T=10^{5}$ +\end_inset + + is small enough to be practical on most computers. + +\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_bodide.pdf + +\end_inset + + +\begin_inset Caption Standard + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "fig:bodide" + +\end_inset + +Word error rates as a function of +\begin_inset Formula $E_{b}/N_{0},$ +\end_inset + + the signal-to-noise ratio per bit. + The single curve marked with filled squares shows a theoretical prediction + for the BM decoder. + Open squares illustrate simulation results for an AWGN channel with the + BM, FT ( +\begin_inset Formula $T=10^{5}$ +\end_inset + +) and KV ( +\begin_inset Formula $\lambda=15$ +\end_inset + +) decoders used in program +\emph on +WSJT-X +\emph default +. + The KV results are for decoding complexity coefficient +\begin_inset Formula $\lambda=15$ +\end_inset + +, the most aggressive setting that has historically been used in earlier + versions of the WSJT programs. + +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Because of the importance of error-free transmission in commercial applications, + plots like that in Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:bodide" + +\end_inset + + often extend downward to much smaller error rates, say +\begin_inset Formula $10^{-6}$ +\end_inset + + or less. + The circumstances for minimal amateur-radio QSOs are very different, however. + Error rates of order 0.1 or higher may be acceptable. + In this case the essential information is better presented in a plot showing + the percentage of transmissions copied correctly as a function of signal-to-noi +se ratio. + Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:WER2" + +\end_inset + + shows the FT results for +\begin_inset Formula $T=10^{5}$ +\end_inset + + and the KV results that were shown in Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:bodide" + +\end_inset + + in this format along with additional FT results for +\begin_inset Formula $T=10^{4},10^{3},10^{2}$ +\end_inset + + and +\begin_inset Formula $10^{1}$ +\end_inset + +. + The KV results are plotted with open triangles. + It is apparent that the FT decoder produces more decodes than KV when +\begin_inset Formula $T=10^{4}$ +\end_inset + + or larger. + It also provides a very significant gain over the hard-decision BM decoder + even when limited to at most 10 trials. +\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_wer2.pdf + lyxscale 120 + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "fig:WER2" + +\end_inset + +Percent of JT65 messages copied as a function of SNR in 2.5 kHz bandwidth. + Solid lines with filled round circles are results from the FT decoder with + +\begin_inset Formula $T=10^{5},10^{4},10^{3},10^{2}$ +\end_inset + + and +\begin_inset Formula $10$ +\end_inset + +, respectively, from left to right. + The dashed line with open triangles is the KV decoder with complexity coefficie +nt +\begin_inset Formula $\lambda=15$ +\end_inset + +. + Results from the BM algorithm are also shown with filled triangles. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +The timeout parameter +\begin_inset Formula $T$ +\end_inset + + employed in the FT algorithm is the maximum number of symbol-erasure trials + allowed for a particular attempt at decoding a received word. + Most successful decodes take only a small fraction of the maximum allowed + number of trials. + Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:N_vs_X" + +\end_inset + + shows the number of stochastic erasure trials required to find the correct + codeword versus the number of hard-decision errors in the received word + for a run with 1000 simulated transmissions at +\begin_inset Formula $\mathrm{SNR}=-24$ +\end_inset + + dB, just slightly above the decoding threshold. + The timeout parameter was +\begin_inset Formula $T=10^{5}$ +\end_inset + + for this run. + No points are shown for +\begin_inset Formula $X\le25$ +\end_inset + + because all such words were successfully decoded by the BM algorithm. + Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:N_vs_X" + +\end_inset + + shows that the FT algorithm decoded received words with as many as +\begin_inset Formula $X=43$ +\end_inset + + symbol errors. + The results also show that, on average, the number of trials increases + with the number of errors in the received word. + The variability of the decoding time also increases dramatically with the + number of errors in the received word. + These results also provide insight into the mean and variance of the execution + time for the FT algorithm, as execution time will be roughly proportional + to the number of required trials. +\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_ntrials_vs_nhard.pdf + lyxscale 120 + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "fig:N_vs_X" + +\end_inset + +Number of trials needed to decode a received word versus Hamming distance + between the received word and the decoded codeword, for 1000 simulated + frames on an AWGN channel with no fading. + The SNR in 2500 Hz bandwidth is -24 dB ( +\begin_inset Formula $E_{b}/N_{o}=5.1$ +\end_inset + + dB). + +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Subsection +Simulated results for hinted decoding and Rayleigh fading +\end_layout + +\begin_layout Standard +Figure +\begin_inset CommandInset ref +LatexCommand ref +reference "fig:Psuccess" + +\end_inset + + presents the results of simulations for signal-to-noise ratios ranging + from +\begin_inset Formula $-18$ +\end_inset + + to +\begin_inset Formula $-30$ +\end_inset + + dB, again using 1000 simulated signals for each plotted point. + We include three curves for each decoding algorithm: one for the AWGN channel + and no fading, and two more for simulated Doppler spreads of 0.2 and 1.0 + Hz. + For reference, we 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 open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename fig_psuccess.pdf + lyxscale 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 Section +Summary +\end_layout + +\begin_layout Standard +... + Still to come ... +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "1" +key "kv2001" + +\end_inset + +“Algebraic soft-decision decoding of Reed-Solomon codes,” R. + Köetter and A. + Vardy, IEEE Trans. + Inform. + Theory, Vol. + 49, Nov. + 2003. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "2" +key "lhmg2010" + +\end_inset + +"Stochastic Chase Decoding of Reed-Solomon Codes", Camille Leroux, Saied + Hemati, Shie Mannor, Warren J. + Gross, IEEE Communications Letters, Vol. + 14, No. + 9, September 2010. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "3" +key "lk2008" + +\end_inset + +"Soft-Decision Decoding of Reed-Solomon Codes Using Successive Error-and-Erasure + Decoding," Soo-Woong Lee and B. + V. + K. + Vijaya Kumar, IEEE +\begin_inset Quotes eld +\end_inset + +GLOBECOM +\begin_inset Quotes erd +\end_inset + + 2008 proceedings. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "4" +key "lc2004" + +\end_inset + +Error Control Coding, 2nd edition, Shu Lin and Daniel J. + Costello, Pearson-Prentice Hall, 2004. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "5" +key "ls2009" + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +Stochastic Erasure-Only List Decoding Algorithms for Reed-Solomon Codes, +\begin_inset Quotes erd +\end_inset + + Chang-Ming Lee and Yu T. + Su, IEEE Signal Processing Letters, Vol. + 16, No. + 8, August 2009. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "6" +key "karn" + +\end_inset + +Berlekamp-Massey decoder written by Phil Karn, http://www.ka9q.net/code/fec/ +\end_layout + +\begin_layout Section +\start_of_appendix +\begin_inset CommandInset label +LatexCommand label +name "sec:Appendix:SNR" + +\end_inset + +Appendix: Signal to Noise Ratios +\end_layout + +\begin_layout Standard +The signal to noise ratio in a bandwidth, +\begin_inset Formula $B$ +\end_inset + +, that is at least as large as the bandwidth occupied by the signal is: +\begin_inset Formula +\begin{equation} +\mathrm{SNR}_{B}=\frac{P_{s}}{N_{o}B}\label{eq:SNR} +\end{equation} + +\end_inset + +where +\begin_inset Formula $P_{s}$ +\end_inset + + is the signal power (W), +\begin_inset Formula $N_{o}$ +\end_inset + + is one-sided noise power spectral density (W/Hz), and +\begin_inset Formula $B$ +\end_inset + + is the bandwidth in Hz. + In amateur radio applications, digital modes are often compared based on + the SNR defined in a 2.5 kHz reference bandwidth, +\begin_inset Formula $\mathrm{SNR}_{2500}$ +\end_inset + +. + +\end_layout + +\begin_layout Standard +In the professional literature, decoder performance is characterized in + terms of +\begin_inset Formula $E_{b}/N_{o}$ +\end_inset + +, the ratio of the energy collected per information bit, +\begin_inset Formula $E_{b}$ +\end_inset + +, to the one-sided noise power spectral density, +\begin_inset Formula $N_{o}$ +\end_inset + +. + Denote the duration of a channel symbol by +\begin_inset Formula $\tau_{s}$ +\end_inset + + (for JT65, +\begin_inset Formula $\tau_{s}=0.3715\,\mathrm{s}$ +\end_inset + +). + Signal power is related to the energy per symbol by +\begin_inset Formula +\begin{equation} +P_{s}=E_{s}/\tau_{s}.\label{eq:signal_power} +\end{equation} + +\end_inset + +The total energy in a received JT65 message consisting of +\begin_inset Formula $n=63$ +\end_inset + + channel symbols is +\begin_inset Formula $63E_{s}$ +\end_inset + +. + The energy collected for each of the 72 bits of information conveyed by + the message is then +\begin_inset Formula +\begin{equation} +E_{b}=\frac{63E_{s}}{72}=0.875E_{s.}\label{eq:Eb_Es} +\end{equation} + +\end_inset + +Using equations ( +\begin_inset CommandInset ref +LatexCommand ref +reference "eq:SNR" + +\end_inset + +)-( +\begin_inset CommandInset ref +LatexCommand ref +reference "eq:Eb_Es" + +\end_inset + +), +\begin_inset Formula $\mathrm{SNR}_{2500}$ +\end_inset + + can be written in terms of +\begin_inset Formula $E_{b}/N_{o}$ +\end_inset + +: +\begin_inset Formula +\[ +\mathrm{SNR}_{2500}=1.23\times10^{-3}\frac{E_{b}}{N_{o}}. +\] + +\end_inset + +If all quantities are expressed in dB, then: +\end_layout + +\begin_layout Standard +\begin_inset Formula +\[ +\mathrm{SNR}_{2500}=(E_{b}/N_{o})_{\mathrm{dB}}-29.1\,\mathrm{dB}. +\] + +\end_inset + + +\end_layout + +\end_body +\end_document