Moved average error, decoing performance and time complexits to comparison section

This commit is contained in:
Andreas Tsouchlos 2023-04-18 18:41:09 +02:00
parent 6bf75ae5bd
commit 4e929cd7f1
4 changed files with 552 additions and 456 deletions

View File

@ -179,6 +179,15 @@
\def\pgfmathresult{inf}
\fi
}
},
discard if lt/.style 2 args={
x filter/.append code={
\edef\tempa{\thisrow{#1}}
\edef\tempb{#2}
\ifdim\tempa pt < \tempb pt
\def\pgfmathresult{inf}
\fi
}
}
}
@ -293,12 +302,6 @@
\input{sections/comparison.tex}
\input{sections/question_slide.tex}
% \input{sections/decoding_algorithms.tex}
% \input{sections/examination_results.tex}
%\input{sections/forthcoming_examination.tex}
% \input{sections/comparison.tex}
\begin{frame}[allowframebreaks]
\frametitle{Bibliography}
\printbibliography[heading=none]

View File

@ -6,10 +6,157 @@
\subsection{Comparison of Simulation Results}%
\label{sub:Comparison of Simulation Results}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Decoding Performance}
\frametitle{Comparison: Convergence Behavior}
\begin{figure}[H]
\centering
\begin{subfigure}[t]{0.5\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={Iterations},
ylabel={Average $\lVert \boldsymbol{c}-\boldsymbol{\hat{c}} \rVert$},
width=0.9\textwidth,
height=0.675\textwidth,
%legend pos=outer north east,
]
\addplot [ForestGreen, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_1db.csv};
\addlegendentry{$E_b / N_0 = \SI{1}{dB}$}
\addplot [NavyBlue, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_3db.csv};
\addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
\addplot [RedOrange, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_5db.csv};
\addlegendentry{$E_b / N_0 = \SI{5}{dB}$}
\addplot [RoyalPurple, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_8db.csv};
\addlegendentry{$E_b / N_0 = \SI{8}{dB}$}
\end{axis}
\end{tikzpicture}
\caption{Average error for $\SI{500000}{}$ decodings,
$\omega = 0.05, \gamma = 0.05, K=200$\footnotemark}
\end{subfigure}%
\begin{subfigure}[t]{0.5\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
width=0.9\textwidth,
height=0.675\textwidth,
% legend pos=outer north east,
xlabel={Iteration},
ylabel={Average $\left\Vert \hat{\boldsymbol{c}} - \boldsymbol{c} \right\Vert$}
]
\addplot[ForestGreen, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{1.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{1}{dB}$}
\addplot[RedOrange, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{2.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{2}{dB}$}
\addplot[NavyBlue, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{3.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
\addplot[RoyalPurple, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{4.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{4}{dB}$}
\end{axis}
\end{tikzpicture}
\caption{Average error for $\SI{100000}{}$ decodings\protect\footnotemark{}}
\end{subfigure}%
\end{figure}
\footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
\cite[Code: 204.33.484]{mackay_enc}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Comparison: Time Complexity}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={$n$}, ylabel={time per frame (s)},
legend style={at={(0.05,0.6)},anchor=south west},
legend cell align={left},
width=0.45\textwidth,
height=0.3375\textwidth,
]
\addplot[RedOrange, only marks, mark=*]
table [col sep=comma, x=n, y=spf]
{res/proximal/fps_vs_n.csv};
\addlegendentry{proximal}
\addplot[ForestGreen, only marks, mark=triangle*]
table [col sep=comma, x=n, y=spf]
{res/hybrid/fps_vs_n.csv};
\addlegendentry{improved ($\SI{12}{\bit}$)}
\addplot[RoyalPurple, only marks, mark=diamond*]
table [col sep=comma, x=n, y=spf]
{res/admm/fps_vs_n.csv};
\addlegendentry{ADMM}
\end{axis}
\end{tikzpicture}
\end{figure}
\footnote{The points shown were calculated by evaluating the metadata
of BER simulation results for the following codes:
BCH $\left( 31, 11 \right)$;
BCH $\left( 31, 26 \right)$;
\cite[\text{96.3.965; 204.33.484;
204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
\vspace*{-5mm}
\vspace{-0.5cm}
\begin{itemize}
\item Comparison of proximal \& improved (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{figure}[H]
\centering
@ -17,43 +164,143 @@
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={$E_b / N_0 \left( \text{dB} \right) $}, ylabel={FER},
xlabel={$E_b / N_0$}, ylabel={BER},
ymode=log,
ymax=1.5, ymin=5e-5,
legend columns = 3,
legend style={at={(0.5,-0.5)},anchor=south},
width=0.45\textwidth,
height=0.3375\textwidth,
legend columns=2,
legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
width=0.48\textwidth,
height=0.35\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{5.5}]
\addplot[RedOrange, mark=*, line width=1pt]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{Proximal decoding}
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma,
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=BER, col sep=comma,
discard if not={mu}{3.0},
discard if gt={SNR}{4.0}]
%discard if gt={SNR}{4.0}
]
{res/admm/ber_2d_20433484.csv};
\addlegendentry{ADMM}
\addplot[PineGreen, line width=1pt, mark=triangle, solid]
table [col sep=comma, x=SNR, y=FER,
discard if gt={SNR}{3.0}]
{res/generic/fer_ml_20433484.csv};
\addlegendentry{ML}
\addplot [RoyalPurple, mark=*, line width=1pt]
table [x=SNR, y=BP, col sep=comma] {res/ber_paper.csv};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\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,
width=0.48\textwidth,
height=0.35\textwidth,
]
\caption{Comparison of FER of proximal decoding and LP decoding using ADMM%
\protect\footnotemark{}}
\end{figure}%
\addplot[RedOrange, mark=*, solid, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
\cite[Code: 204.33.484]{mackay_enc}}
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma,
discard if not={mu}{3.0},
%discard if gt={SNR}{4.0}
]
{res/admm/ber_2d_20433484.csv};
\addplot[Black, line width=1pt, mark=*]
table [col sep=comma, x=SNR, y=FER,
%discard if gt={SNR}{3.0}
]
{res/generic/fer_ml_20433484.csv};
\end{axis}
\end{tikzpicture}
\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{RedOrange, mark=*, line width=1pt}
\addlegendentry{Proximal}
\addlegendimage{NavyBlue, mark=*, line width=1pt}
\addlegendentry{ADMM}
\addlegendimage{Black, mark=*, line width=1pt}
\addlegendentry{ML}
\addlegendimage{RedOrange, mark=triangle, densely dashed, line width=1pt}
\addlegendentry{Improved}
\addlegendimage{RoyalPurple, mark=*, line width=1pt}
\addlegendentry{BP}
\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]
% \frametitle{Decoding Performance}
%
% \vspace*{-5mm}
%
% \begin{figure}[H]
% \centering
%
% \begin{tikzpicture}
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0 \left( \text{dB} \right) $}, ylabel={FER},
% ymode=log,
% ymax=1.5, ymin=5e-5,
% legend columns = 3,
% legend style={at={(0.5,-0.5)},anchor=south},
% width=0.45\textwidth,
% height=0.3375\textwidth,
% ]
%
% \addplot[RedOrange, line width=1pt, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={gamma}{0.05},
% discard if gt={SNR}{5.5}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addlegendentry{Proximal decoding}
% \addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={mu}{3.0},
% discard if gt={SNR}{4.0}]
% {res/admm/ber_2d_20433484.csv};
% \addlegendentry{ADMM}
% \addplot[PineGreen, line width=1pt, mark=triangle, solid]
% table [col sep=comma, x=SNR, y=FER,
% discard if gt={SNR}{3.0}]
% {res/generic/fer_ml_20433484.csv};
% \addlegendentry{ML}
% \end{axis}
% \end{tikzpicture}
%
% \caption{Comparison of FER of proximal decoding and LP decoding using ADMM%
% \protect\footnotemark{}}
% \end{figure}%
%
% \footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
% \cite[Code: 204.33.484]{mackay_enc}}
%\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Decoding Performance}
@ -83,13 +330,17 @@
\addplot[RedOrange, line width=1pt, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_963965.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if gt={SNR}{5.5}]
{res/hybrid/2d_ber_fer_dfr_963965.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
%{res/hybrid/2d_ber_fer_dfr_963965.csv};
{res/admm/ber_2d_963965.csv};
% \addplot[PineGreen, line width=1pt, mark=triangle]
% table [col sep=comma, x=SNR, y=FER,]
% {res/generic/fer_ml_9633965.csv};
\addplot[Black, line width=1pt, mark=*]
table [col sep=comma, x=SNR, y=FER,]
{res/generic/fer_ml_9633965.csv};
\end{axis}
\end{tikzpicture}
@ -111,18 +362,93 @@
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
\addplot[RedOrange, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{5.5}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if gt={SNR}{5.5}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma,
discard if not={mu}{3.0},
discard if gt={SNR}{5.5}]
{res/admm/ber_2d_20433484.csv};
\addplot[Black, line width=1pt, mark=*]
table [col sep=comma, x=SNR, y=FER,
discard if gt={SNR}{5.5}]
{res/generic/fer_ml_20433484.csv};
\end{axis}
\end{tikzpicture}
\vspace*{-1mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\cite[\text{204.33.484}]{mackay_enc}}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
ymode=log,
ymax=1.5, ymin=8e-5,
width=1.2\textwidth,
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_40833844.csv};
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if gt={SNR}{5.5}]
{res/hybrid/2d_ber_fer_dfr_40833844.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
{res/admm/ber_2d_40833844.csv};
\end{axis}
\end{tikzpicture}
\vspace*{-1mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
\cite[\text{408.33.844}]{mackay_enc}}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
ymode=log,
ymax=1.5, ymin=8e-5,
width=1.2\textwidth,
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if gt={SNR}{5.5}]
{res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
{res/admm/ber_2d_bch_31_26.csv};
% \addplot[PineGreen, line width=1pt, mark=triangle*]
% table [x=SNR, y=FER, col sep=comma,
% discard if gt={SNR}{5.5},
% discard if lt={SNR}{1},
% ]
% {res/generic/fer_ml_bch_31_26.csv};
\addplot[Black, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma,
discard if gt={SNR}{5.5},
discard if lt={SNR}{1},
]
{res/generic/fer_ml_bch_31_26.csv};
\end{axis}
\end{tikzpicture}
@ -143,46 +469,13 @@
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05},
discard if gt={SNR}{5.5}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma,
discard if not={mu}{3.0},
discard if gt={SNR}{5.5}]
{res/admm/ber_2d_20433484.csv};
% \addplot[PineGreen, line width=1pt, mark=triangle, solid]
% table [col sep=comma, x=SNR, y=FER,
% discard if gt={SNR}{5.5}]
% {res/generic/fer_ml_20433484.csv};
\end{axis}
\end{tikzpicture}
\vspace*{-1mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\cite[\text{204.33.484}]{mackay_enc}}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
ymode=log,
ymax=1.5, ymin=8e-5,
width=1.2\textwidth,
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
\addplot[RedOrange, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20455187.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20455187.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
{res/admm/ber_2d_20455187.csv};
\end{axis}
@ -206,37 +499,14 @@
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_40833844.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
{res/admm/ber_2d_40833844.csv};
\end{axis}
\end{tikzpicture}
\vspace*{-1mm}
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
\cite[\text{204.33.484}]{mackay_enc}}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[
grid=both,
xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
ymode=log,
ymax=1.5, ymin=8e-5,
width=1.2\textwidth,
height=0.85\textwidth,
]
\addplot[RedOrange, line width=1pt, mark=*, solid]
\addplot[RedOrange, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
\addplot[NavyBlue, line width=1pt, mark=triangle, densely dashed]
\addplot[RedOrange, mark=triangle, densely dashed, line width=1pt]
table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if gt={SNR}{5.5}]
{res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
\addplot[NavyBlue, line width=1pt, mark=*]
table [x=SNR, y=FER, col sep=comma, discard if not={mu}{3.0}]
{res/admm/ber_2d_pegreg252x504.csv};
\end{axis}
@ -264,9 +534,18 @@
legend style={draw=white!15!black}]
\addlegendimage{RedOrange, line width=1pt, mark=*, solid}
\addlegendentry{Proximal}
\addlegendimage{RedOrange, line width=1pt, mark=triangle*, densely dashed}
\addlegendentry{Improved}
\addlegendimage{NavyBlue, line width=1pt, mark=triangle, densely dashed}
\addlegendimage{NavyBlue, line width=1pt, mark=*}
\addlegendentry{ADMM}
% \addlegendimage{RoyalPurple, line width=1pt, mark=*}
% \addlegendentry{BP}
\addlegendimage{Black, line width=1pt, mark=*}
\addlegendentry{ML}
% \addlegendimage{PineGreen, line width=1pt, mark=triangle*, solid}
% \addlegendentry{ML}

View File

@ -1045,97 +1045,3 @@
\cite[Code: 204.33.484]{mackay_enc}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{LP Decoding using ADMM: Average Error}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
width=0.45\textwidth,
height=0.3375\textwidth,
legend pos=outer north east,
xlabel={Iteration}, ylabel={Average $\left\Vert \hat{\boldsymbol{c}}
- \boldsymbol{c} \right\Vert$}
]
\addplot[ForestGreen, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{1.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{1}{dB}$}
\addplot[RedOrange, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{2.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{2}{dB}$}
\addplot[NavyBlue, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{3.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
\addplot[RoyalPurple, line width=1pt]
table [col sep=comma, x=k, y=err,
discard if not={SNR}{4.0},
discard if gt={k}{100}]
{res/admm/avg_error_20433484.csv};
\addlegendentry{$E_b / N_0 = \SI{4}{dB}$}
\end{axis}
\end{tikzpicture}
\caption{Average error for $\SI{100000}{}$ decodings\protect\footnotemark{}}
\end{figure}%
\footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
\cite[Code: 204.33.484]{mackay_enc}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{LP Decoding using ADMM: Time Complexity}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[grid=both,
xlabel={$n$}, ylabel={Time per frame (s)},
width=0.45\textwidth,
height=0.3375\textwidth,
legend style={at={(0.03,0.96)},anchor=north west},
%legend pos=outer north east,
legend cell align={left},]
% \addplot[RedOrange, only marks, mark=*]
% table [col sep=comma, x=n, y=spf]
% {res/proximal/fps_vs_n.csv};
% \addlegendentry{Proximal decoding}
\addplot[RoyalPurple, only marks, mark=triangle*]
table [col sep=comma, x=n, y=spf]
{res/admm/fps_vs_n.csv};
% \addlegendentry{LP decoding using ADMM}
\end{axis}
\end{tikzpicture}
\caption{Timing requirements of the LP decoding imlementation%
\protect\footnotemark{}}
\end{figure}%
\footnotetext{The points shown were calculated by evaluating the metadata
of BER simulation results for the following codes:
BCH $\left( 31, 11 \right)$;
BCH $\left( 31, 26 \right)$;
\cite[\text{96.3.965; 204.33.484;
204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
}
\end{frame}

View File

@ -560,15 +560,15 @@ return $\boldsymbol{\hat{c}}$
width=0.7\textwidth,
height=0.6\textwidth,
]
\addplot [ForestGreen, mark=*]
\addplot [ForestGreen, mark=*, line width=1pt]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.15$}
\addplot [NavyBlue, mark=*]
\addplot [NavyBlue, mark=*, line width=1pt]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.01$}
\addplot [RedOrange, mark=*]
\addplot [RedOrange, mark=*, line width=1pt]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.05$}
@ -584,15 +584,15 @@ return $\boldsymbol{\hat{c}}$
width=0.7\textwidth,
height=0.6\textwidth,
]
\addplot [ForestGreen, mark=*]
\addplot [ForestGreen, mark=*, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.15$}
\addplot [NavyBlue, mark=*]
\addplot [NavyBlue, mark=*, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.01$}
\addplot [RedOrange, mark=*]
\addplot [RedOrange, mark=*, line width=1pt]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.05$}
@ -608,15 +608,15 @@ return $\boldsymbol{\hat{c}}$
width=0.7\textwidth,
height=0.6\textwidth,
]
\addplot [ForestGreen, mark=*]
\addplot [ForestGreen, mark=*, line width=1pt]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.15$}
\addplot [NavyBlue, mark=*]
\addplot [NavyBlue, mark=*, line width=1pt]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.01$}
\addplot [RedOrange, mark=*]
\addplot [RedOrange, mark=*, line width=1pt]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addlegendentry{$\gamma = 0.05$}
@ -1175,153 +1175,153 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
\vspace{-0.5cm}
\begin{itemize}
\item Comparison of proximal \& improved (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{figure}[H]
\centering
\begin{tikzpicture}
\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,
width=0.33\textwidth,
height=0.28\textwidth,
]
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\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,
width=0.33\textwidth,
height=0.28\textwidth,
]
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\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,
width=0.33\textwidth,
height=0.28\textwidth,
]
\addplot[ForestGreen, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[Emerald, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[NavyBlue, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[RoyalPurple, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\addplot[RedOrange, mark=*, solid]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
{res/proximal/2d_ber_fer_dfr_20433484.csv};
\addplot[red, mark=triangle, densely dashed]
table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
{res/hybrid/2d_ber_fer_dfr_20433484.csv};
\end{axis}
\end{tikzpicture}
\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, mark=*, solid}
\addlegendentry{proximal, $\gamma = 0.15$}
\addlegendimage{NavyBlue, mark=*, solid}
\addlegendentry{proximal, $\gamma = 0.01$}
\addlegendimage{RedOrange, mark=*, solid}
\addlegendentry{proximal, $\gamma = 0.05$}
\addlegendimage{Emerald, mark=triangle, densely dashed}
\addlegendentry{improved, $\gamma = 0.15$}
\addlegendimage{RoyalPurple, mark=triangle, densely dashed}
\addlegendentry{improved, $\gamma = 0.01$}
\addlegendimage{red, mark=triangle, densely dashed}
\addlegendentry{improved, $\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]
% \frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
%
% \vspace{-0.5cm}
%
% \begin{itemize}
% \item Comparison of proximal \& improved (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{figure}[H]
% \centering
%
% \begin{tikzpicture}
% \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,
% width=0.33\textwidth,
% height=0.28\textwidth,
% ]
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \begin{tikzpicture}
% \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,
% width=0.33\textwidth,
% height=0.28\textwidth,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \begin{tikzpicture}
% \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,
% width=0.33\textwidth,
% height=0.28\textwidth,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \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, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.15$}
%
% \addlegendimage{NavyBlue, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.01$}
%
% \addlegendimage{RedOrange, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.05$}
%
% \addlegendimage{Emerald, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.15$}
%
% \addlegendimage{RoyalPurple, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.01$}
%
% \addlegendimage{red, mark=triangle, densely dashed}
% \addlegendentry{improved, $\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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -1611,95 +1611,3 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d
% \end{minipage}
%\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Average Error}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={Iterations},
ylabel={Average $\lVert \boldsymbol{c}-\boldsymbol{\hat{c}} \rVert$},
width=0.45\textwidth,
height=0.3375\textwidth,
legend pos=outer north east,
]
\addplot [ForestGreen, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_1db.csv};
\addlegendentry{$E_b / N_0 = \SI{1}{dB}$}
\addplot [NavyBlue, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_3db.csv};
\addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
\addplot [RedOrange, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_5db.csv};
\addlegendentry{$E_b / N_0 = \SI{5}{dB}$}
\addplot [RoyalPurple, mark=none, line width=1pt]
table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
{res/proximal/2d_avg_error_20433484_8db.csv};
\addlegendentry{$E_b / N_0 = \SI{8}{dB}$}
\end{axis}
\end{tikzpicture}
\caption{Average error for $\SI{500000}{}$ decodings, $
\omega = 0.05, \gamma = 0.05, K=200$\footnotemark}
\end{figure}
\footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
\cite[Code: 204.33.484]{mackay_enc}}
\begin{itemize}
\item With increasing iterations, the average error asymptotically
approaches a minimum, non-zero value
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Time Complexity}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both,
xlabel={$n$}, ylabel={time per frame (s)},
legend style={at={(0.05,0.7)},anchor=south west},
legend cell align={left},
width=0.45\textwidth,
height=0.3375\textwidth,
]
\addplot[RedOrange, only marks, mark=*]
table [col sep=comma, x=n, y=spf]
{res/proximal/fps_vs_n.csv};
\addlegendentry{proximal}
\addplot[RoyalPurple, only marks, mark=triangle*]
table [col sep=comma, x=n, y=spf]
{res/hybrid/fps_vs_n.csv};
\addlegendentry{improved ($\SI{12}{\bit}$)}
\end{axis}
\end{tikzpicture}
\caption{Time complexity of proximal decoding and improved implementation\footnotemark}
\label{fig:fps_vs_n}
\end{figure}
\footnotetext{The points shown were calculated by evaluating the metadata
of BER simulation results for the following codes:
BCH $\left( 31, 11 \right)$;
BCH $\left( 31, 26 \right)$;
\cite[\text{96.3.965; 204.33.484;
204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
}
\end{frame}