Added outline for error slide; Added hybrid results slide; Commented out SD ML-on-List slide

This commit is contained in:
Andreas Tsouchlos 2023-01-25 00:41:19 +01:00
parent 95ded129a9
commit 30033bd0f1
3 changed files with 217 additions and 50 deletions

View File

@ -1,6 +1,6 @@
%\PassOptionsToPackage{colorlinks}{hyperref}
\documentclass[10pt, aspectratio=169]{beamer}
\documentclass[10pt, aspectratio=169, usenames,dvipsnames]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

View File

@ -45,6 +45,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Visualization of Gradients}
\setcounter{footnote}{0}
\begin{figure}[H]
\centering

View File

@ -577,6 +577,37 @@ Output $\boldsymbol{\hat{x}}$
%\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Average Error}
\begin{figure}[H]
\centering
\begin{tikzpicture}[scale=0.7]
\begin{axis}[
grid=both,
xlabel={k},
ylabel={Average $\left| \boldsymbol{x}-\boldsymbol{\hat{x}} \right|$},
]
\addplot table [col sep=comma,
discard if not={gamma}{0.05},
x=SNR, y=BER]
{res/2d_ber_fer_dfr_20433484.csv};
\end{axis}
\end{tikzpicture}
\caption{Average error value}
\end{figure}
\begin{itemize}
\item For large $k$, the average error asymptotically approaches a minimum, non-zero value
\item The minimum value is generally relatively small: ``Only a few bits are wrong''
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t, fragile]
\frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
@ -638,67 +669,202 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }d
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t, fragile]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
\setcounter{footnote}{0}
\begin{itemize}
\item Improvement of proximal decoding by adding an ``ML-on-list'' step after iterating
\item Comparison of proximal \& hybrid proximal-ML (correction of $N = \SI{12}{\bit}$)
decoding simulation
\footnote{(3,6) regular LDPC Code with $n=204, k=102$
\cite[Code: 204.33.484]{mackay_enc}}
results
\end{itemize}
\begin{minipage}[t]{.48\textwidth}
\begin{figure}[H]
\centering
\begin{figure}
\centering
\begin{algorithm}[caption={}, label={},
basicstyle=\fontsize{7.5}{9.5}\selectfont
\begin{tikzpicture}[scale=0.55]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$}, ylabel={BER},
ymode=log,
legend columns=2,
legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
]
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
for $k=0$ to $K-1$ do
$\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
$\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
$\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
If $\boldsymbol{\hat{x}}$ passes the parity check condition, break the loop.
end for
Output $\boldsymbol{\hat{x}}$
\end{algorithm}
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.15$}
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid $\gamma = 0.15$}
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.01$}
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid, $\gamma = 0.01$}
\caption{Proximal decoding algorithm \cite{proximal_paper}}
\end{figure}
\end{minipage}%
\hfill\begin{minipage}[t]{.48\textwidth}
\centering
\begin{figure}
\centering
\begin{algorithm}[caption={}, label={},
basicstyle=\fontsize{7.5}{9.5}\selectfont
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.05$}
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid, $\gamma = 0.05$}
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}[scale=0.55]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$}, ylabel={FER},
ymode=log,
legend columns=2,
legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
]
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
for $k=0$ to $K-1$ do
$\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
$\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
$\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
$\textcolor{KITblue}{\text{If }\boldsymbol{\hat{x}}\text{ passes the parity check condition, output }\boldsymbol{\hat{x}}}$
end for
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{x}}_n\text{ of }\boldsymbol{\hat{x}}\text{ with the }N\text{ bits modified.}}$
$\textcolor{KITblue}{\text{Compute }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle \forall n \in \left[ 1 : N-1 \right]}$
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle}$
\end{algorithm}
\caption{Hybrid proximal \& ML decoding algorithm}
\end{figure}
\end{minipage}
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.15$}
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.15$}
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.01$}
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.01$}
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.05$}
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.05$}
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}[scale=0.55]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$}, ylabel={Decoding Failure Rate},
ymode=log,
legend columns=2,
legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
]
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.15$}
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.15$}
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.01$}
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.01$}
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_proximal.csv};
\addlegendentry{proximal, $\gamma = 0.05$}
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
\addlegendentry{hybrid prox. \& ML, $\gamma = 0.05$}
\end{axis}
\end{tikzpicture}
\caption{Simulation results for $\gamma = 0.05, \omega = 0.05, K=200, N=12$}
\label{fig:simulation_results_hybrid}
\end{figure}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t, fragile]
% \frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
% \setcounter{footnote}{0}
%
% \begin{itemize}
% \item Improvement of proximal decoding by adding an ``ML-on-list'' step after iterating
% \end{itemize}
%
% \begin{minipage}[t]{.48\textwidth}
% \centering
%
% \begin{figure}
% \centering
%
% \begin{algorithm}[caption={}, label={},
% basicstyle=\fontsize{7.5}{9.5}\selectfont
% ]
%$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
%for $k=0$ to $K-1$ do
% $\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
% Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
% $\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
% $\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
% If $\boldsymbol{\hat{x}}$ passes the parity check condition, break the loop.
%end for
%Output $\boldsymbol{\hat{x}}$
% \end{algorithm}
%
% \caption{Proximal decoding algorithm \cite{proximal_paper}}
% \end{figure}
%
% \end{minipage}%
% \hfill\begin{minipage}[t]{.48\textwidth}
% \centering
% \begin{figure}
% \centering
%
% \begin{algorithm}[caption={}, label={},
% basicstyle=\fontsize{7.5}{9.5}\selectfont
% ]
%$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
%for $k=0$ to $K-1$ do
% $\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
% Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
% $\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
% $\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
% $\textcolor{KITblue}{\text{If }\boldsymbol{\hat{x}}\text{ passes the parity check condition, output }\boldsymbol{\hat{x}}}$
%end for
%$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
%$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{x}}_n\text{ of }\boldsymbol{\hat{x}}\text{ with the }N\text{ bits modified.}}$
%$\textcolor{KITblue}{\text{Compute }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle \forall n \in \left[ 1 : N-1 \right]}$
%$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle}$
% \end{algorithm}
%
% \caption{Hybrid proximal \& ML decoding algorithm}
% \end{figure}
% \end{minipage}
%\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ADMM: Examination Results}%
\label{sub:Ex ADMM}