From 4e929cd7f1e677e171ccd1b0146d1b7f944e0a79 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 18 Apr 2023 18:41:09 +0200 Subject: [PATCH] Moved average error, decoing performance and time complexits to comparison section --- latex/presentations/final/presentation.tex | 15 +- .../final/sections/comparison.tex | 495 ++++++++++++++---- .../final/sections/lp_dec_using_admm.tex | 94 ---- .../final/sections/proximal_decoding.tex | 404 ++++++-------- 4 files changed, 552 insertions(+), 456 deletions(-) diff --git a/latex/presentations/final/presentation.tex b/latex/presentations/final/presentation.tex index 02f8ea2..aabe074 100644 --- a/latex/presentations/final/presentation.tex +++ b/latex/presentations/final/presentation.tex @@ -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] diff --git a/latex/presentations/final/sections/comparison.tex b/latex/presentations/final/sections/comparison.tex index 40b447c..90b6a78 100644 --- a/latex/presentations/final/sections/comparison.tex +++ b/latex/presentations/final/sections/comparison.tex @@ -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} diff --git a/latex/presentations/final/sections/lp_dec_using_admm.tex b/latex/presentations/final/sections/lp_dec_using_admm.tex index b38f89a..8b7dda0 100644 --- a/latex/presentations/final/sections/lp_dec_using_admm.tex +++ b/latex/presentations/final/sections/lp_dec_using_admm.tex @@ -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} - diff --git a/latex/presentations/final/sections/proximal_decoding.tex b/latex/presentations/final/sections/proximal_decoding.tex index 8254ee3..e84cd85 100644 --- a/latex/presentations/final/sections/proximal_decoding.tex +++ b/latex/presentations/final/sections/proximal_decoding.tex @@ -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} -