%\overleaftrue % When enabled, this option allows the document to be compiled
% on overleaf:
% - common.tex is sourced from a different directory
% - TikZ Externalization is disabled
% - Figures are included from pre-build PDFs
%
% Figures
%
\ifoverleaf
\input{common.tex}
\else
@@ -53,31 +37,15 @@
\input{lib/latex-common/common.tex}
\fi
\pgfplotsset{colorscheme/cel}
% TODO
\pgfplotsset{fancy marks/.style={}}
\newcommand{\figwidth}{\columnwidth}
\newcommand{\figheight}{0.75\columnwidth}
\pgfplotsset{
FERPlot/.style={
line width=1pt,
densely dashed,
},
BERPlot/.style={
line width=1pt,
},
DFRPlot/.style={
only marks,
},
}
%
% Bibliography
%
\addbibresource{letter.bib}
\AtBeginBibliography{\footnotesize}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -89,16 +57,19 @@
\begin{document}
\title{List-based Optimization of Proximal Decoding for Linear Block Codes}
\title{A Note on Improving Proximal Decoding for Linear Block Codes}
\author{Andreas Tsouchlos, Holger Jäkel, and Laurent Schmalen
\thanks{The authors are with the Communications Engineering Lab (CEL), Karlsruhe Institute of Technology (KIT), corresponding author: \texttt{holger.jaekel@kit.edu}}}
\author{Andreas Tsouchlos, Holger Jäkel, and Laurent Schmalen\\
Communications Engineering Lab (CEL), Karlsruhe Institute of Technology (KIT)\\
\caption{Probability that a component of the estimated codeword
$\hat{\boldsymbol{c}}\in\mathbb{F}_2^n$ is erroneous for a (3,6) regular
$\hat{\boldsymbol{c}}\in\mathbb{F}_2^n$ is wrong for a (3,6) regular
LDPC code with $n=204, k=102$\cite[\text{204.33.484}]{mackay}.
The indices $i'$ are ordered such that the amplitude of oscillation of
$\left(\nabla h\right)_{i'}$ increases with $i'$.
Parameters used for the simulation: $\gamma=0.05, \omega=0.05,
Parameters used for simulation: $\gamma=0.05, \omega=0.05,
\eta=1.5, E_b/N_0=\SI{4}{dB}$.
Simulated with $\SI{100000000}{}$ iterations using the all-zeros codeword.}
Simulated with $\SI{100000000}{}$ iterations.}
\label{fig:p_error}
\end{figure}
The complete improved algorithm is given in Algorithm \ref{alg:improved}.
The complete improved algorithm is depicted in algorithm \ref{alg:improved}.
First, the proximal decoding algorithm is applied.
If a valid codeword has been reached, i.e., if the algorithm has converged,
we return this solution.
If a valid codeword has been reached, i.e., if the algorithm has converged, this
is the solution returned.
Otherwise, $N \in\mathbb{N}$ components are selected based on the criterion
presented above.
Beginning with the recent estimate $\hat{\boldsymbol{c}}\in\mathbb{F}_2^n$,
@@ -700,37 +668,32 @@ generated and an ``ML-in-the-list'' step is performed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Simulation Results \& Discussion}
Fig.\ref{fig:results} shows the FER and BER resulting from applying
Figure\ref{fig:results} shows the FER and BER resulting from applying
proximal decoding as presented in \cite{proximal_paper} and the improved
algorithm presented here when applied to a $\left(3,6\right)$-regular LDPC
code with $n=204$ and $k=102$\cite[204.33.484]{mackay}.
The parameters chosen for the simulation are
$\gamma=0.05, \omega=0.05, \eta=1.5, K=200$.
Again, these parameters were chosen,
as a preliminary examination
showed that they provide the best results for proximal decoding as well as
the improved algorithm.
All points were generated by simulating at least 100 frame errors.
The number $N$ of possibly wrong components selected was selected as $8$,
since this provides reasonable gain without requiring an unreasonable amount
of memory and computational resources.
Again, these parameters were chosen,%
%
\begin{figure}
\begin{figure}[ht]
\centering
\ifoverleaf
\includegraphics{figs/letter-figure5.pdf}
\else
\newcommand{\lineintext}[1]{%
\begin{tikzpicture}
\draw[#1] (0,0) -- (1.5em,0);
% Dummy node taking up the space of a letter to fix spacing
\node[outer sep=0, inner sep=0] () at (0.75em,0) {\phantom{a}};
\end{tikzpicture}%
\pgfplotsset{
ProxPlot/.style={
line width=1pt,
mark=*,
fancy marks,
},
ImprPlot/.style={
line width=1pt,
mark=triangle,
densely dashed,
fancy marks,
},
}
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={$E_\text{b}/ N_0$ (dB)},
@@ -739,38 +702,41 @@ of memory and computational resources.
ymax=1, ymin=1e-6,
width=\figwidth,
height=\figheight,
legend pos=north east,
ylabel={BER (\lineintext{}) / FER (\lineintext{dashed})},
legend columns=2,
legend style={draw=white!15!black,
legend cell align=left,
at={(0.5,-0.44)},anchor=south}
]
\addplot+[FERPlot, mark=o, mark options={solid}, scol1, forget plot]
\addplot+[ProxPlot, scol1]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{9}]
{res/proximal_ber_fer_dfr_20433484.csv};
\addlegendentry{FER, prox. dec.};
\addplot+[BERPlot, mark=*, scol1]
\addplot+[ProxPlot, scol2]
table [x=SNR, y=BER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{7.5}]
{res/proximal_ber_fer_dfr_20433484.csv};
\addlegendentry{Prox. dec.};
\addlegendentry{BER, prox. dec.};
\addplot+[FERPlot, mark=triangle, mark options={solid}, scol2, forget plot]
\addplot+[ImprPlot, scol1]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{7.5}]
{res/improved_ber_fer_dfr_20433484.csv};
\addlegendentry{FER, improved};
\addplot+[BERPlot, mark=triangle*, scol2]
\addplot+[ImprPlot, scol2]
table [x=SNR, y=BER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{6.5}]
{res/improved_ber_fer_dfr_20433484.csv};
\addlegendentry{Improved};
\addlegendentry{BER, improved};
\end{axis}
\end{tikzpicture}
\fi
\caption{FER and BER of proximal decoding \cite{proximal_paper} and the
improved algorithm for a $\left(3, 6\right)$-regular LDPC code with
@@ -782,13 +748,20 @@ of memory and computational resources.
\label{fig:results}
\end{figure}%
%
\noindent as a preliminary examination
showed that they provide the best results for proximal decoding as well as
the improved algorithm.
All points were generated by simulating at least 100 frame errors.
The number $N$ of possibly wrong components selected was selected as $8$,
since this provides reasonable gain without requiring an unreasonable amount
of memory and computational resources.
A noticeable improvement can be observed both in the FER as well as the BER.
The gain varies significantly
with the SNR (which is to be expected, since with higher SNR values the number
of bit errors decreases, making the correction of those errors in the
``ML-in-the-list'' step more likely).
For an FER of $10^{-6}$, the gain is approximately $\SI{1}{dB}$.
For an FER of $10^{-6}$ the gain is approximately $\SI{1}{dB}$.
Similar behavior can be observed with various other codes.
No immediate relationship between the code length and the gain was observed
during our examinations.
@@ -803,7 +776,7 @@ from only a few components of the estimate being wrong.
These few erroneous components can mostly be corrected by appending an
additional step to the original algorithm that is only executed if the
algorithm has not converged.
A gain of up to $\SI{1}{dB}$ can be observed, depending on the code,
A gain of up to $\sim\SI{1}{dB}$ can be observed, depending on the code,
the parameters considered, and the SNR.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -823,7 +796,41 @@ Ministry of Education and Research (BMBF) within the project Open6GHub
%
\printbibliography
\begin{thebibliography}{1}
\bibliographystyle{IEEEtran}
\bibitem{ADMM}
S. Barman, X. Liu, S. C. Draper and B. Recht, ``Decomposition Methods for Large Scale LP Decoding,'' in IEEE Transactions on Information Theory, vol. 59, no. 12, pp. 7870-7886, Dec. 2013, doi: 10.1109/TIT.2013.2281372.
\bibitem{feldman_paper}
J. Feldman, M. J. Wainwright and D. R. Karger, ``Using linear programming to Decode Binary linear codes,'' in IEEE Transactions on Information Theory, vol. 51, no. 3, pp. 954-972, March 2005, doi: 10.1109/TIT.2004.842696.
\bibitem{ml_in_the_list}
M. Geiselhart, A. Elkelesh, M. Ebada, S. Cammerer and S. t. Brink, ``Automorphism Ensemble Decoding of Reed–Muller Codes,'' in IEEE Transactions on Communications, vol. 69, no. 10, pp. 6424-6438, Oct. 2021, doi: 10.1109/TCOMM.2021.3098798.
\bibitem{mackay99}
D. J. C. MacKay, ``Good error-correcting codes based on very sparse matrices,'' in IEEE Transactions on Information Theory, vol. 45, no. 2, pp. 399-431, March 1999, doi: 10.1109/18.748992.
\bibitem{mackay}
D.J.C. MacKay, ``Encyclopedia of sparse graph codes [online],''
N. Parikh and S. Boyd,``Proximal algorithms,'' Found. Trends Optim., vol. 1, no. 3, pp. 127–239, Jan. 2014.
\bibitem{channel_codes_book}
W. Ryan and S. Lin, Channel Codes: Classical and Modern, Cambridge, Cambridge University Press, 2009, pp. 651-670.
\bibitem{adaptive_lp_decoding}
M. H. Taghavi and P. H. Siegel, ``Adaptive Linear Programming Decoding,'' 2006 IEEE International Symposium on Information Theory, Seattle, WA, USA, 2006, pp. 1374-1378, doi: 10.1109/ISIT.2006.262071.
\bibitem{interior_point_decoding}
P. O. Vontobel, ``Interior-point algorithms for linear-programming decoding,'' 2008 Information Theory and Applications Workshop, San Diego, CA, USA, 2008, pp. 433-437, doi: 10.1109/ITA.2008.4601085.
\bibitem{proximal_paper}
T. Wadayama and S. Takabe, ``Proximal decoding for ldpc codes'' IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol. advpub, 2022TAP0002, 2022.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.