Implement Jäkel feedback

This commit is contained in:
Andreas Tsouchlos 2024-06-21 00:05:12 +02:00
parent 250f88ec6e
commit 4fb52669c9
4 changed files with 92 additions and 181 deletions

View File

@ -12,6 +12,7 @@
\usepackage{listings} \usepackage{listings}
\usepackage{subcaption} \usepackage{subcaption}
\usepackage{bbm}
% %

View File

@ -51,7 +51,7 @@
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
\citereference{Mac23, 96.33.965}} \citereference{Mac24, 96.33.965}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -90,7 +90,7 @@
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.33.484}} \citereference{Mac24, 204.33.484}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -121,7 +121,7 @@
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
\citereference{Mac23, 408.33.844}} \citereference{Mac24, 408.33.844}}
\end{subfigure}% \end{subfigure}%
\vspace*{-2mm} \vspace*{-2mm}
@ -190,7 +190,7 @@
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.55.187}} \citereference{Mac24, 204.55.187}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -221,7 +221,7 @@
\vspace*{-2mm} \vspace*{-2mm}
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
\citereference{Mac23, PEGReg252x504}} \citereference{Mac24, PEGReg252x504}}
\end{subfigure}% \end{subfigure}%
\end{figure} \end{figure}
\end{minipage}% \end{minipage}%
@ -256,8 +256,8 @@
\vspace*{-1mm} \vspace*{-1mm}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -345,7 +345,7 @@ return $\hat{\boldsymbol{c}}$
\begin{itemize} \begin{itemize}
\item Codes: BCH $\left( 31, 11 \right)$; BCH $\left( 31, 26 \right)$; \item Codes: BCH $\left( 31, 11 \right)$; BCH $\left( 31, 26 \right)$;
\citereference{Mac23, 96.3.965; 204.33.484; 204.55.187; 408.33.844; PEGReg252x504} \citereference{Mac24, 96.3.965; 204.33.484; 204.55.187; 408.33.844; PEGReg252x504}
\item Measured performance: $\sim\SI{10000}{}$ frames/s \item Measured performance: $\sim\SI{10000}{}$ frames/s
on Intel Core i7-7700HQ @ 2.80GHz; $n=204$ on Intel Core i7-7700HQ @ 2.80GHz; $n=204$
\item Both algorithms are $\mathcal{O}\left( n \right)$ on average \item Both algorithms are $\mathcal{O}\left( n \right)$ on average
@ -389,8 +389,8 @@ return $\hat{\boldsymbol{c}}$
\smallskip \smallskip
\smallskip \smallskip
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -401,7 +401,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-6mm} \vspace*{-6mm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item Minimum number of iterations independent of SNR \item Minimum number of iterations independent of SNR
\end{itemize} \end{itemize}
@ -496,8 +496,8 @@ return $\hat{\boldsymbol{c}}$
\end{subfigure}% \end{subfigure}%
\end{figure} \end{figure}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -551,7 +551,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
\citereference{Mac23, 96.3.965}} \citereference{Mac24, 96.3.965}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -589,7 +589,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.33.484}} \citereference{Mac24, 204.33.484}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -627,7 +627,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
\citereference{Mac23, 408.33.844}} \citereference{Mac24, 408.33.844}}
\end{subfigure}% \end{subfigure}%
\vspace*{-2mm} \vspace*{-2mm}
@ -705,7 +705,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.55.187}} \citereference{Mac24, 204.55.187}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -743,7 +743,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
\citereference{Mac23, PEGReg252x504}} \citereference{Mac24, PEGReg252x504}}
\end{subfigure}% \end{subfigure}%
\end{figure} \end{figure}
\end{minipage}% \end{minipage}%
@ -774,8 +774,8 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-1mm} \vspace*{-1mm}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -786,7 +786,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-5mm} \vspace*{-5mm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item No clear optimum value \item No clear optimum value
\end{itemize} \end{itemize}
@ -871,8 +871,8 @@ return $\hat{\boldsymbol{c}}$
\bigskip \bigskip
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -918,7 +918,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
\citereference{Mac23, 96.3.965}} \citereference{Mac24, 96.3.965}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -949,7 +949,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.33.484}} \citereference{Mac24, 204.33.484}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -980,7 +980,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
\citereference{Mac23, 408.33.844}} \citereference{Mac24, 408.33.844}}
\end{subfigure}% \end{subfigure}%
\vspace*{-2mm} \vspace*{-2mm}
@ -1044,7 +1044,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.55.187}} \citereference{Mac24, 204.55.187}}
\end{subfigure}% \end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth} \begin{subfigure}[t]{0.33\textwidth}
\centering \centering
@ -1075,7 +1075,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-2mm} \vspace*{-2mm}
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
\citereference{Mac23, PEGReg252x504}} \citereference{Mac24, PEGReg252x504}}
\end{subfigure}% \end{subfigure}%
\end{figure} \end{figure}
\end{minipage}% \end{minipage}%
@ -1107,7 +1107,7 @@ return $\hat{\boldsymbol{c}}$
\vspace*{-1mm} \vspace*{-1mm}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}

View File

@ -783,10 +783,7 @@
\vspace*{-6mm} \vspace*{-6mm}
\begin{itemize} \begin{itemize}
\item ``Margulis'' LDPC code with $n = 2640$, $k = 1320$ \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\citereference{Mac23, Margulis2640.1320.3}
\item Comparison of simulation with results from Barman et al.
\citereference{$\text{Bar}^+\text{13}$}
\end{itemize} \end{itemize}
\bigskip \bigskip
@ -805,124 +802,37 @@
legend pos=outer north east, legend pos=outer north east,
legend cell align={left}, legend cell align={left},
] ]
\addplot[scol0, line width=1pt]
table [col sep=comma, x=SNR, y=FER,] \addplot[scol1, line width=1pt]
{res/admm/ber_margulis264013203.csv}; table [x=SNR, y=FER, col sep=comma,
\addlegendentry{ADMM} discard if not={mu}{3.0},
\addplot[scol1, line width=1pt] discard if gt={SNR}{5.5}]
table [col sep=comma, x=SNR, y=FER, discard if gt={SNR}{2.2},] {res/admm/ber_2d_20433484.csv};
{res/generic/fer_bp_mackay_margulis.csv}; \addlegendentry{ADMM}
\addlegendentry{BP \citereference{$\text{Bar}^+\text{13}$}} \addplot [KITorange, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if gt={SNR}{5.5}]
{res/generic/bp_20433484.csv};
\addlegendentry{BP}
\addplot[black, line width=1pt]
table [col sep=comma, x=SNR, y=FER,
discard if gt={SNR}{5.5}]
{res/generic/fer_ml_20433484.csv};
\addlegendentry{ML \citereference{HEL+19}}
\end{axis} \end{axis}
\end{tikzpicture} \end{tikzpicture}
\end{figure}% \end{figure}%
\smallskip \bigskip
\bigskip
\addreferences \addreferences
{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. {Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
{$\text{Bar}^+\text{13}$}{Siddharth Barman et al.: {Hel+19}{Michael Helmling, Stefan Scholl, Florian Gensheimer, Tobias Dietz, Kira Kraft,
\emph{Decomposition Methods for Large Scale LP Decoding}. Stefan Ruzika, and Norbert Wehn. \emph{Database of Channel Codes and
IEEE Transactions on Information Theory 59.12 (2013), pp. 78707886.} ML Simulation Results}. June 2024. URL: \url{www.rptu.de/channel-codes}}
\stopreferences \stopreferences
\end{frame} \end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t]
% \frametitle{LP Decoding using ADMM: Choice of Penalty\\
% Parameters}
%
% \vspace*{-5mm}
%
% \begin{itemize}
% \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
% \item For lower decoding time, choose low $\mu$ and high $\rho$
% \end{itemize}
%
% \bigskip
%
% \begin{figure}[H]
% \centering
%
% \begin{subfigure}[c]{0.48\textwidth}
% \centering
%
% \begin{tikzpicture}
% \begin{axis}[
% grid=both,
% xlabel={$\mu$}, ylabel={Average \# of iterations},
% width=0.8\textwidth,
% height=0.6\textwidth,
% ]
% \addplot[ForestGreen, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=mu, y=k_avg,
% discard if not={SNR}{2.0},]
% {res/admm/mu_kavg_20433484.csv};
% \addplot[NavyBlue, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=mu, y=k_avg,
% discard if not={SNR}{3.0},]
% {res/admm/mu_kavg_20433484.csv};
% \addplot[RedOrange, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=mu, y=k_avg,
% discard if not={SNR}{4.0},]
% {res/admm/mu_kavg_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \end{subfigure}%
% \begin{subfigure}[c]{0.48\textwidth}
% \centering
%
% \begin{tikzpicture}
% \begin{axis}[
% grid=both,
% xlabel={$\rho$}, ylabel={Average \# of iterations},
% width=0.8\textwidth,
% height=0.6\textwidth,
% ]
% \addplot[ForestGreen, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=rho, y=k_avg,
% discard if not={SNR}{2.0},]
% {res/admm/rho_kavg_20433484.csv};
% \addplot[NavyBlue, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=rho, y=k_avg,
% discard if not={SNR}{3.0},]
% {res/admm/rho_kavg_20433484.csv};
% \addplot[RedOrange, line width=1pt, densely dashed, mark=*]
% table [col sep=comma, x=rho, y=k_avg,
% discard if not={SNR}{4.0},]
% {res/admm/rho_kavg_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \end{subfigure}%
%
% \begin{subfigure}[t]{\textwidth}
% \centering
%
% \begin{tikzpicture}
% \begin{axis}[hide axis,
% xmin=10, xmax=50,
% ymin=0, ymax=0.4,
% legend columns=3,
% legend style={draw=white!15!black,legend cell align=left}]
%
% \addlegendimage{ForestGreen, line width=1pt, densely dashed, mark=*}
% \addlegendentry{$E_b / N_0 = \SI{2}{dB}$}
% \addlegendimage{RedOrange, line width=1pt, densely dashed, mark=*}
% \addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
% \addlegendimage{NavyBlue, line width=1pt, densely dashed, mark=*}
% \addlegendentry{$E_b / N_0 = \SI{4}{dB}$}
% \end{axis}
% \end{tikzpicture}
% \end{subfigure}
% \end{figure}%
%
% \smallskip
% \smallskip
% \smallskip
%
% \addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
% Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
%\end{frame}
%

View File

@ -126,7 +126,7 @@ $\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do for $K$ iterations do
$\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
$\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $ $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
$\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $ $\boldsymbol{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \boldsymbol{s} \le 0 \right\}}$
if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do
return $\boldsymbol{\hat{c}}$ return $\boldsymbol{\hat{c}}$
end if end if
@ -146,7 +146,7 @@ return $\boldsymbol{\hat{c}}$
\vspace*{-7mm} \vspace*{-7mm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item Comparison of simulation with results of Wadayama et al. \citereference{WT22} \item Comparison of simulation with results of Wadayama et al. \citereference{WT22}
\end{itemize} \end{itemize}
@ -156,7 +156,7 @@ return $\boldsymbol{\hat{c}}$
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[ \begin{axis}[
grid=both, grid style={line width=.1pt}, grid=both, grid style={line width=.1pt},
xlabel={$E_b / N_0$ (dB)}, ylabel={BER}, xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
ymode=log, ymode=log,
legend pos=outer north east, legend pos=outer north east,
width=0.45\textwidth, width=0.45\textwidth,
@ -202,8 +202,8 @@ return $\boldsymbol{\hat{c}}$
\addreference{WT22}{Tadashi Wadayama; Satoshi Takabe: \emph{Proximal Decoding for LDPC \addreference{WT22}{Tadashi Wadayama; Satoshi Takabe: \emph{Proximal Decoding for LDPC
Codes}. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Codes}. IEICE Transactions on Fundamentals of Electronics, Communications and Computer
Sciences advpub (2022), 2022TAP0002.} Sciences advpub (2022), 2022TAP0002.}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}}
\end{frame} \end{frame}
@ -431,7 +431,7 @@ return $\boldsymbol{\hat{c}}$
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204$,\\ \item (3,6) regular LDPC code with $n=204$,\\
$k=102$ \citereference{Mac23, 204.33.484} $k=102$ \citereference{Mac24, 204.33.484}
\end{itemize} \end{itemize}
\vspace*{-2mm} \vspace*{-2mm}
@ -447,7 +447,7 @@ $\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do for $K$ iterations do
$\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
$\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $ $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
$\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $ $\boldsymbol{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \boldsymbol{s} \le 0 \right\}}$
if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do
return $\boldsymbol{\hat{c}}$ return $\boldsymbol{\hat{c}}$
end if end if
@ -458,8 +458,8 @@ return $\boldsymbol{\hat{c}}$
\vspace*{-4mm} \vspace*{-4mm}
\hspace*{-4mm} \hspace*{-4mm}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{minipage}% \end{minipage}%
\begin{minipage}{.6\textwidth} \begin{minipage}{.6\textwidth}
\centering \centering
@ -845,7 +845,7 @@ return $\boldsymbol{\hat{c}}$
\begin{itemize} \begin{itemize}
\item Single decoding using a (3,6) regular LDPC code with $n=204, k=102$ \item Single decoding using a (3,6) regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.33.484} \citereference{Mac24, 204.33.484}
\item For larger $n$, the gradient itself starts to oscillate \item For larger $n$, the gradient itself starts to oscillate
\item Amplitude of oscillation highly correlated to probability of bit error \item Amplitude of oscillation highly correlated to probability of bit error
\end{itemize} \end{itemize}
@ -906,8 +906,8 @@ return $\boldsymbol{\hat{c}}$
\bigskip \bigskip
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -1047,7 +1047,7 @@ $\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do for $K$ iterations do
$\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
$\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $ $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
$\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $ $\boldsymbol{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \boldsymbol{s} \le 0 \right\}}$
if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do
return $\boldsymbol{\hat{c}}$ return $\boldsymbol{\hat{c}}$
end if end if
@ -1070,13 +1070,13 @@ $\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do for $K$ iterations do
$\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
$\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $ $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
$\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $ $\boldsymbol{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \boldsymbol{s} \le 0 \right\}}$
if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$
return $\boldsymbol{\hat{c}}$ return $\boldsymbol{\hat{c}}$
end if end if
end for end for
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits}}$ $\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits}}$
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with }N\text{ bits modified}}$ $\textcolor{KITblue}{L' := \left\{ \text{Variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with }N\text{ bits modified} \right\}}$
$\textcolor{KITblue}{\text{Compute }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{ for all codewords } \boldsymbol{\hat{c}}_l}$ $\textcolor{KITblue}{\text{Compute }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{ for all codewords } \boldsymbol{\hat{c}}_l}$
$\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{, prioritizing valid codewords}}$ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{, prioritizing valid codewords}}$
\end{algorithm} \end{algorithm}
@ -1091,7 +1091,7 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\vspace{-0.6cm} \vspace{-0.6cm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item Up to $\sim \SI{1}{dB}$ improvement \item Up to $\sim \SI{1}{dB}$ improvement
\end{itemize} \end{itemize}
@ -1195,8 +1195,8 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\bigskip \bigskip
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -1206,7 +1206,7 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\vspace*{-5mm} \vspace*{-5mm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item Chosen parameters: $\gamma = 0.05$ \item Chosen parameters: $\gamma = 0.05$
\end{itemize} \end{itemize}
@ -1255,8 +1255,8 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\end{tikzpicture} \end{tikzpicture}
\end{figure}% \end{figure}%
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}
@ -1267,7 +1267,7 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\vspace*{-5mm} \vspace*{-5mm}
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac24, 204.33.484}
\item Chosen parameters: $N=8, \gamma = 0.05$ \item Chosen parameters: $N=8, \gamma = 0.05$
\end{itemize} \end{itemize}
@ -1403,26 +1403,26 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }
\centering \centering
\begin{tabular}{c c c c c c} \begin{tabular}{c c c c c c}
$E_b/N_0$ & \shortstack{List size\\ mean} & \shortstack{List size\\ var.} \\ $E_b/N_0$ (dB) & \shortstack{List size\\ mean} \\
\hline \hline
1.0 & 1.0 & 0.0 \\ 1.0 & 1.0 \\
1.5 & 1.0 & 0.0 \\ 1.5 & 1.0 \\
2.0 & 1.0 & 0.0 \\ 2.0 & 1.0 \\
2.5 & 1.0 & 0.0 \\ 2.5 & 1.0 \\
3.0 & 1.0 & 0.0 \\ 3.0 & 1.0 \\
3.5 & 1.0 & 0.0 \\ 3.5 & 1.0 \\
4.0 & 1.0 & 0.0 \\ 4.0 & 1.0 \\
4.5 & 1.0 & 0.0 \\ 4.5 & 1.0 \\
5.0 & 1.0 & 0.0 \\ 5.0 & 1.0 \\
5.5 & 1.0 & 0.0 5.5 & 1.0
\end{tabular} \end{tabular}
\caption{List size statistics for successful decodings (no frame error).} \caption{List size statistics for successful decodings (no frame error).}
\end{subfigure} \end{subfigure}
\end{figure} \end{figure}
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}. \addreference{Mac24}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.} June 2024. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame} \end{frame}