From 700401fac3951b7f569f87ac6dd6288aeeaa5d11 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 18 Apr 2023 20:19:18 +0200 Subject: [PATCH] Moved all code names from footnotes to item --- latex/presentations/final/presentation.tex | 2 +- .../final/sections/comparison.tex | 51 +++++------- .../final/sections/lp_dec_using_admm.tex | 67 ++++++++------- .../final/sections/proximal_decoding.tex | 83 +++++++------------ .../final/sections/theoretical_background.tex | 10 +-- 5 files changed, 94 insertions(+), 119 deletions(-) diff --git a/latex/presentations/final/presentation.tex b/latex/presentations/final/presentation.tex index aabe074..435a444 100644 --- a/latex/presentations/final/presentation.tex +++ b/latex/presentations/final/presentation.tex @@ -38,7 +38,7 @@ doi=false,url=false,isbn=false]{biblatex} \addbibresource{presentation.bib} - +\input{common.tex} \pgfplotsset{ /pgfplots/colormap/mako/.style={ diff --git a/latex/presentations/final/sections/comparison.tex b/latex/presentations/final/sections/comparison.tex index 533550c..c414cde 100644 --- a/latex/presentations/final/sections/comparison.tex +++ b/latex/presentations/final/sections/comparison.tex @@ -11,6 +11,10 @@ \begin{frame}[t] \frametitle{Comparison: Convergence Behavior} + \begin{itemize} + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} + \end{itemize} + \begin{figure}[H] \centering @@ -53,9 +57,6 @@ \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 @@ -98,24 +99,24 @@ \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}} + + \begin{itemize} + \item Minimum number of iterations independant of SNR + \end{itemize} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[t] \frametitle{Comparison: Time Complexity} - + + \vspace*{-5mm} + \begin{itemize} - \item Both algorithms are $\mathcal{O}\left( n \right)$ on average - \item LP decoding implementation significantly faster + \item The points shown are from 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{itemize} \begin{figure}[H] @@ -148,16 +149,13 @@ \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} - } - + \begin{itemize} + \item Both algorithms are $\mathcal{O}\left( n \right)$ on average + \item LP decoding implementation significantly faster + \end{itemize} \end{frame} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[t] \frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''} @@ -165,11 +163,7 @@ \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 + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} \end{itemize} \begin{figure}[H] @@ -253,15 +247,12 @@ \addlegendentry{ML} \addlegendimage{RedOrange, mark=triangle, densely dashed, line width=1pt} - \addlegendentry{Improved} + \addlegendentry{Improved ($N$=12)} \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} diff --git a/latex/presentations/final/sections/lp_dec_using_admm.tex b/latex/presentations/final/sections/lp_dec_using_admm.tex index ebfa686..db34083 100644 --- a/latex/presentations/final/sections/lp_dec_using_admm.tex +++ b/latex/presentations/final/sections/lp_dec_using_admm.tex @@ -825,6 +825,13 @@ \begin{frame}[t] \frametitle{LP Decoding using ADMM} + \begin{itemize} + \item ``Margulis'' LDPC code with $n = 2640$, $k = 1320$ + \cite[\text{Margulis2640.1320.3}]{mackay_enc} +% ; $K=200, \mu = 3.3, \rho=1.9, +% \epsilon_{\text{pri}} = 10^{-5}, \epsilon_{\text{dual}} = 10^{-5}$ + \end{itemize} + \begin{figure}[H] \centering @@ -850,23 +857,24 @@ \addlegendentry{BP (Barman et al.)} \end{axis} \end{tikzpicture} - - \caption{Comparison of datapoints from Barman et al. with own simulation results% - \protect\footnotemark{}} - \label{fig:admm:results} - \end{figure}% - % - \footnotetext{``Margulis'' LDPC code with $n = 2640$, $k = 1320$ - \cite[\text{Margulis2640.1320.3}]{mackay_enc}; $K=200, \mu = 3.3, \rho=1.9, - \epsilon_{\text{pri}} = 10^{-5}, \epsilon_{\text{dual}} = 10^{-5}$ - }% - % + \end{figure} + + \begin{itemize} + \item Comparison of simulation with results from Barman et al. \cite{original_admm} + \end{itemize} \end{frame} \begin{frame}[t] \frametitle{LP Decoding using ADMM} + \begin{itemize} + \item ``Margulis'' LDPC code with $n = 2640$, $k = 1320$ + \cite[\text{Margulis2640.1320.3}]{mackay_enc} +% ; $K=200, \mu = 3.3, \rho=1.9, +% \epsilon_{\text{pri}} = 10^{-5}, \epsilon_{\text{dual}} = 10^{-5}$ + \end{itemize} + \begin{figure}[H] \centering @@ -896,18 +904,11 @@ \addlegendentry{BP (Barman et al.)} \end{axis} \end{tikzpicture} - - \caption{Comparison of datapoints from Barman et al. with own simulation results% - \protect\footnotemark{}} - \label{fig:admm:results} \end{figure}% - % - \footnotetext{``Margulis'' LDPC code with $n = 2640$, $k = 1320$ - \cite[\text{Margulis2640.1320.3}]{mackay_enc}; $K=200, \mu = 3.3, \rho=1.9, - \epsilon_{\text{pri}} = 10^{-5}, \epsilon_{\text{dual}} = 10^{-5}$ - }% - % + \begin{itemize} + \item Comparison of simulation with results from Barman et al. \cite{original_admm} + \end{itemize} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -915,6 +916,10 @@ \frametitle{LP Decoding using ADMM: Choice of Penalty\\ Parameters} + \begin{itemize} + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} + \end{itemize} + \begin{figure}[H] \centering @@ -990,13 +995,11 @@ \end{axis} \end{tikzpicture} \end{subfigure} - - \caption{Relation between $\mu$ and $\rho$ and decoding performance% - \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}} + \begin{itemize} + \item Similar to $\gamma$ with proximal decoding: no clear optimum + \end{itemize} \end{frame} @@ -1004,6 +1007,10 @@ \begin{frame}[t] \frametitle{LP Decoding using ADMM: Choice of Penalty\\ Parameters} + + \begin{itemize} + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} + \end{itemize} \begin{figure}[H] \centering @@ -1078,12 +1085,10 @@ \end{axis} \end{tikzpicture} \end{subfigure} - - \caption{Relation between $\mu$ and $\rho$ and speed of convergence% - \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}} + \begin{itemize} + \item For lower decoding time, choose low $\mu$ and high $\rho$ + \end{itemize} \end{frame} diff --git a/latex/presentations/final/sections/proximal_decoding.tex b/latex/presentations/final/sections/proximal_decoding.tex index e84cd85..f99c6c4 100644 --- a/latex/presentations/final/sections/proximal_decoding.tex +++ b/latex/presentations/final/sections/proximal_decoding.tex @@ -129,12 +129,9 @@ return $\boldsymbol{\hat{c}}$ \begin{frame}[t] \frametitle{Proximal Decoding: Bit Error Rate and Performance} - \vspace*{-0.5cm} - \begin{itemize} - \item Comparison of simulation% - \footnote{(3,6) regular LDPC code with $n=204, k=102$ - \cite[\text{204.33.484}]{mackay_enc}} - with results of Wadayama et al. \cite{proximal_paper} + + \begin{itemize} + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} \end{itemize} \begin{figure}[H] @@ -190,11 +187,12 @@ return $\boldsymbol{\hat{c}}$ \end{axis} \end{tikzpicture} - - \caption{Simulation results for $\omega = 0.05, K=100$} - \label{fig:sim_results_prox} \end{figure} + \begin{itemize} + \item Comparison of simulation with results of Wadayama et al. \cite{proximal_paper} + \end{itemize} + % \vspace*{-0.5cm} % \begin{itemize} % \item $\mathcal{O}\left(n \right) $ time complexity - same as BP; @@ -211,10 +209,7 @@ return $\boldsymbol{\hat{c}}$ \frametitle{Proximal Decoding: Choice of $\gamma$} \begin{itemize} - \item Simulation% - \footnote{(3,6) regular LDPC code with $n=204, k=102$ - \cite[\text{204.33.484}]{mackay_enc}} - results for different values of $\gamma$ + \item (3,6) regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc} \end{itemize} \begin{figure}[H] @@ -282,15 +277,11 @@ return $\boldsymbol{\hat{c}}$ \end{axis} \end{tikzpicture} \end{subfigure} - - \caption{BER for $\omega = 0.05, K=100$} - \label{fig:ber_3d} \end{figure} \begin{itemize} \item Not great benefit in finding the optimal value for $\gamma$ \end{itemize} - \vspace{3mm} \end{frame} @@ -514,11 +505,11 @@ return $\boldsymbol{\hat{c}}$ \frametitle{Proximal Decoding: Frame Error Rate} \begin{itemize} - \item Analysis of simulated% - \footnote{(3,6) regular LDPC code with $n=204, k=102$ - \cite[\text{204.33.484}]{mackay_enc}} - BER and FER + \item (3,6) regular LDPC code with $n=204$,\\ + $k=102$ \cite[\text{204.33.484}]{mackay_enc} \end{itemize} + + \vspace*{-5mm} \begin{minipage}{.4\textwidth} \centering @@ -538,10 +529,6 @@ for $K$ iterations do end for return $\boldsymbol{\hat{c}}$ \end{algorithm} - - \vspace*{-5mm} - - \caption{Proximal decoding algorithm \cite{proximal_paper}} \end{figure} \end{minipage}% \begin{minipage}{.6\textwidth} @@ -622,9 +609,6 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\gamma = 0.05$} \end{axis} \end{tikzpicture} - - \caption{Simulation results for $\omega = 0.05, K=100$} - \label{fig:simulation_results_ber_fer_dfr} \end{figure} \end{minipage} \end{frame} @@ -634,10 +618,10 @@ return $\boldsymbol{\hat{c}}$ \begin{frame}[t] \frametitle{Proximal Decoding: Oscillation of Estimate} + \vspace*{-5mm} + \begin{itemize} - \item $\nabla L \left( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right) $ - and $\nabla h \left( \tilde{\boldsymbol{x}} \right) $ generally end up - in an equilibrium + \item Single decoding using the BCH$\left( 7,4 \right) $ code; $E_b / N_0 = \SI{5}{dB}$ \end{itemize} \begin{figure}[H] @@ -829,13 +813,13 @@ return $\boldsymbol{\hat{c}}$ \end{axis} \end{tikzpicture} \end{minipage} - - \caption{Internal variables of proximal decoder - as a function of the number of iterations ($n=7$)\footnotemark} - - \footnotetext{A single decoding is shown, using the BCH$\left( 7,4 \right) $ code; - $\gamma = 0.05, \omega = 0.05, E_b / N_0 = \SI{5}{dB}$} \end{figure} + + \begin{itemize} + \item $\nabla L \left( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right) $ + and $\nabla h \left( \tilde{\boldsymbol{x}} \right) $ generally end up + in an equilibrium + \end{itemize} \end{frame} @@ -843,6 +827,8 @@ return $\boldsymbol{\hat{c}}$ \begin{frame}[t] \frametitle{Proximal Decoding: Visualization of Gradients} + \vspace*{-5mm} + \begin{figure}[H] \centering @@ -928,9 +914,9 @@ return $\boldsymbol{\hat{c}}$ \frametitle{Proximal Decoder: Oscillation of $\nabla h\left( \tilde{\boldsymbol{x}} \right) $} \begin{itemize} - \item For larger $n$, the gradient itself starts to oscillate - \item The dynamic range of the oscillation is highly correlated - with the probability of a bit error + \item Single decoding using a (3,6) regular LDPC code with $n=204, k=102$ + \cite[\text{204.33.484}]{mackay_enc} +% ; $\gamma = 0.05, \omega = 0.05, E_b / N_0 = \SI{5}{dB}$ \end{itemize} \begin{figure} @@ -963,9 +949,6 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla h \right)_1$} \end{axis} \end{tikzpicture} - - \caption{Internal variables of proximal decoder as a function of the iteration - ($n=204$)\footnotemark} \end{subfigure}% \begin{subfigure}[t]{0.5\textwidth} \centering @@ -988,15 +971,13 @@ return $\boldsymbol{\hat{c}}$ {res/proximal/extreme_components_20433484_variance.csv}; \end{axis} \end{tikzpicture} - - \caption{Correlation between bit error and dynamic range of oscillation} \end{subfigure} \end{figure} - - - \footnotetext{A single decoding is shown, using a (3,6) regular LDPC code - with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc}; - $\gamma = 0.05, \omega = 0.05, E_b / N_0 = \SI{5}{dB}$} + + \begin{itemize} + \item For larger $n$, the gradient itself starts to oscillate + \item Dynamic range of oscillation highly correlated with probability of bit error + \end{itemize} \end{frame} @@ -1119,7 +1100,7 @@ return $\boldsymbol{\hat{c}}$ \vspace*{-0.5cm} \begin{itemize} - \item Improvement of proximal decoding by adding an ``ML-in-the-List'' step after + \item Improvement of proximal decoding by addition of ``ML-in-the-List'' step after iterating \end{itemize} diff --git a/latex/presentations/final/sections/theoretical_background.tex b/latex/presentations/final/sections/theoretical_background.tex index 9afb728..6541bce 100644 --- a/latex/presentations/final/sections/theoretical_background.tex +++ b/latex/presentations/final/sections/theoretical_background.tex @@ -9,13 +9,11 @@ \begin{frame}[t] \frametitle{Motivation} \begin{itemize} - \item The general [ML] decoding problem for linear codes and the general problem - of finding the weights of a linear code are both NP-complete \cite{ml_np_hard_proof}. + \item The general ML decoding problem is NP-complete \cite{ml_np_hard_proof} \item The iterative message–passing algorithms preferred in practice do not guarantee - optimality and may fail to decode correctly when the graph contains cycles - \cite{ldpc_conv}. - \item The standard message-passing algorithms used for decoding LDPC and turbo codes - are often difficult to analyze. \cite{feldman_thesis} + optimality when the graph contains cycles \cite{ldpc_conv} + \item The standard message-passing algorithms are often difficult to + analyze \cite{feldman_thesis} \end{itemize} \end{frame}