From c4bd9701e0b9f235ef718027ba2aec659664c5b9 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 18 Apr 2023 15:43:34 +0200 Subject: [PATCH] Rescaled all figures; Lu23 -> Lu22 --- latex/presentations/final/presentation.bib | 2 +- latex/presentations/final/presentation.tex | 3 + .../final/sections/comparison.tex | 60 +++++---- .../final/sections/examination_results.tex | 126 +++++++++++------- .../final/sections/theoretical_background.tex | 8 +- 5 files changed, 120 insertions(+), 79 deletions(-) diff --git a/latex/presentations/final/presentation.bib b/latex/presentations/final/presentation.bib index 098f154..f73ff70 100644 --- a/latex/presentations/final/presentation.bib +++ b/latex/presentations/final/presentation.bib @@ -72,7 +72,7 @@ @mastersthesis{yanxia_lu_thesis, author = {Lu, Yanxia}, title = {Realization of Channel Decoding Using Optimization Techniques}, - year = {2023}, + year = {2022}, type = {Bachelor's Thesis}, institution = {KIT}, } diff --git a/latex/presentations/final/presentation.tex b/latex/presentations/final/presentation.tex index 66fa0cf..2d6b155 100644 --- a/latex/presentations/final/presentation.tex +++ b/latex/presentations/final/presentation.tex @@ -126,6 +126,9 @@ % marcos used throughout the slides \input{\templates/makros_own.tex} +\tikzstyle{every node}=[font=\small] + + \title{Application of Optimization Algorithms for Channel Decoding} \subtitle{\small Final Presentation, 20.04.2023} diff --git a/latex/presentations/final/sections/comparison.tex b/latex/presentations/final/sections/comparison.tex index 59c8fe7..c04c33e 100644 --- a/latex/presentations/final/sections/comparison.tex +++ b/latex/presentations/final/sections/comparison.tex @@ -64,20 +64,20 @@ \centering \begin{figure}[H] - \vspace*{-0.5cm} + \vspace*{-0.7cm} \centering \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -93,20 +93,22 @@ \end{axis} \end{tikzpicture} + \vspace*{-1mm} + \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \cite[\text{96.3.965}]{mackay_enc}} \end{subfigure}% \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -124,19 +126,21 @@ \end{axis} \end{tikzpicture} + \vspace*{-1mm} + \caption{BCH code with $n=31, k=26$} \end{subfigure}% \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -156,6 +160,8 @@ \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}% @@ -163,14 +169,14 @@ \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -182,20 +188,22 @@ \end{axis} \end{tikzpicture} + \vspace*{-1mm} + \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.55.187}]{mackay_enc}} \end{subfigure}% \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -206,6 +214,8 @@ {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}} @@ -213,14 +223,14 @@ \begin{subfigure}[t]{0.33\textwidth} \centering - \begin{tikzpicture}[scale=0.4] + \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.1\textwidth, - % height=0.825\textwidth, + width=1.2\textwidth, + height=0.85\textwidth, ] \addplot[RedOrange, line width=1pt, mark=*, solid] @@ -232,6 +242,8 @@ \end{axis} \end{tikzpicture} + \vspace*{-1mm} + \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \cite[\text{PEGReg252x504}]{mackay_enc}} \end{subfigure}% @@ -243,18 +255,18 @@ \begin{figure} \centering \vspace*{-1.2cm} - \hspace*{-0.5cm} - \begin{tikzpicture}[scale=0.7] + \hspace*{2mm} + \begin{tikzpicture}[scale=0.8] \begin{axis}[hide axis, xmin=10, xmax=50, ymin=0, ymax=0.4, legend columns=1, legend style={draw=white!15!black}] \addlegendimage{RedOrange, line width=1pt, mark=*, solid} - \addlegendentry{Proximal decoding} + \addlegendentry{Proximal} \addlegendimage{NavyBlue, line width=1pt, mark=triangle, densely dashed} - \addlegendentry{LP decoding} + \addlegendentry{ADMM} % \addlegendimage{PineGreen, line width=1pt, mark=triangle*, solid} % \addlegendentry{ML} @@ -466,7 +478,7 @@ return $\tilde{\boldsymbol{c}}$ \item Addition of "ML-in-the-List" step \item Up to $\sim \SI{1}{dB}$ gain under certain conditions \end{itemize} - \item Comparison of the two decoding algorithms + \item Comparison \begin{itemize} \item based on simulation results \item based on their theoretical structure diff --git a/latex/presentations/final/sections/examination_results.tex b/latex/presentations/final/sections/examination_results.tex index ae33be4..96b767f 100644 --- a/latex/presentations/final/sections/examination_results.tex +++ b/latex/presentations/final/sections/examination_results.tex @@ -20,14 +20,14 @@ \begin{figure}[H] \centering - \begin{tikzpicture}[scale=0.5] + \begin{tikzpicture} \begin{axis}[ grid=both, grid style={line width=.1pt}, xlabel={$E_b / N_0$ (dB)}, ylabel={BER}, ymode=log, legend pos=outer north east, - width=11.5cm, - height=8cm, + width=0.45\textwidth, + height=0.3375\textwidth, ymax=1.2, ymin=0.8e-4, xtick={1, 2, ..., 5}, xmin=0.9, xmax=5.6, @@ -103,9 +103,11 @@ \begin{subfigure}[c]{0.5\textwidth} \centering - \begin{tikzpicture}[scale=0.52] + \begin{tikzpicture} \begin{semilogyaxis}[xlabel={$E_b / N_0$ (dB)}, ylabel={BER}, grid=both, grid style={line width=.1pt}, + width=0.8\textwidth, + height=0.6\textwidth, legend style={at={(0.05,0.05)},anchor=south west}, ymin=3e-7, ymax=1.5,] \addplot [ForestGreen, mark=*] table [x=SNR, y=BER, @@ -126,12 +128,14 @@ \begin{subfigure}[c]{0.5\textwidth} \centering - \begin{tikzpicture}[scale=0.55] + \begin{tikzpicture} \begin{axis}[view={75}{30}, zmode=log, xlabel={$E_b / N_0$ (dB)}, ylabel={$\gamma$}, zlabel={BER}, + width=0.8\textwidth, + height=0.6\textwidth, legend pos=outer north east,] \addplot3[surf, @@ -424,16 +428,18 @@ return $\boldsymbol{\hat{c}}$ \begin{minipage}{.6\textwidth} \centering \begin{figure}[H] - \vspace*{-8mm} + \vspace*{-9mm} \centering - \begin{tikzpicture}[scale=0.42] + \begin{tikzpicture}[scale=0.7] \begin{axis}[ grid=both, xlabel={$E_b / N_0$ (dB)}, ylabel={BER}, ymode=log, legend style={at={(0.05,0.05)},anchor=south west}, ymax=1.5, ymin=3e-7, + width=0.7\textwidth, + height=0.6\textwidth, ] \addplot [ForestGreen, mark=*] table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}] @@ -449,13 +455,15 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\gamma = 0.05$} \end{axis} \end{tikzpicture} - \begin{tikzpicture}[scale=0.42] + \begin{tikzpicture}[scale=0.7] \begin{axis}[ grid=both, xlabel={$E_b / N_0$ (dB)}, ylabel={FER}, ymode=log, legend style={at={(0.05,0.05)},anchor=south west}, ymax=1.5, ymin=3e-7, + width=0.7\textwidth, + height=0.6\textwidth, ] \addplot [ForestGreen, mark=*] table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}] @@ -471,13 +479,15 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\gamma = 0.05$} \end{axis} \end{tikzpicture}\\ - \begin{tikzpicture}[scale=0.42] + \begin{tikzpicture}[scale=0.7] \begin{axis}[ grid=both, xlabel={$E_b / N_0$ (dB)}, ylabel={Decoding Failure Rate}, ymode=log, legend style={at={(0.05,0.05)},anchor=south west}, ymax=1.5, ymin=3e-7, + width=0.7\textwidth, + height=0.6\textwidth, ] \addplot [ForestGreen, mark=*] table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}] @@ -513,15 +523,16 @@ return $\boldsymbol{\hat{c}}$ \end{itemize} \begin{figure}[H] + \centering \begin{minipage}[c]{0.25\textwidth} \centering - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -540,12 +551,12 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla h \right)_2 $} \end{axis} \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -564,12 +575,12 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla h \right)_3 $} \end{axis} \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -593,13 +604,13 @@ return $\boldsymbol{\hat{c}}$ \vspace*{-1cm} \centering - \begin{tikzpicture}[scale = 0.85, spy using outlines={circle, magnification=6, - connect spies}] + \begin{tikzpicture}[, spy using outlines={circle, magnification=6, + connect spies}] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.8\textwidth, + height=0.35\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -617,8 +628,8 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla L \right)_1$} \addlegendentry{$\left(\nabla h \right)_1 $} - \coordinate (spypoint) at (axis cs:100,0.53); - \coordinate (magnifyglass) at (axis cs:175,2); + \coordinate (spypoint) at (axis cs:100,1.12); + \coordinate (magnifyglass) at (axis cs:180,2.75); \end{axis} \spy [black, size=2cm] on (spypoint) in node[fill=white] at (magnifyglass); @@ -627,12 +638,12 @@ return $\boldsymbol{\hat{c}}$ \begin{minipage}[c]{0.25\textwidth} \centering - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -651,12 +662,12 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla h \right)_5 $} \end{axis} \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -675,12 +686,12 @@ return $\boldsymbol{\hat{c}}$ \addlegendentry{$\left(\nabla h \right)_6 $} \end{axis} \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture}[scale = 0.7] \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=1.2\textwidth, + height=0.45\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -722,10 +733,12 @@ return $\boldsymbol{\hat{c}}$ \centering - \begin{tikzpicture}[scale=0.8] + \begin{tikzpicture} \begin{axis}[xmin = -1.25, xmax=1.25, ymin = -1.25, ymax=1.25, xlabel={$x_1$}, ylabel={$x_2$}, + width=0.9\textwidth, + height=0.8\textwidth, grid=major, grid style={dotted}, view={0}{90}] \addplot3[point meta=\thisrow{grad_norm}, @@ -753,9 +766,11 @@ return $\boldsymbol{\hat{c}}$ \begin{subfigure}[c]{0.5\textwidth} \centering - \begin{tikzpicture}[scale=0.8] + \begin{tikzpicture} \begin{axis}[xmin = -1.25, xmax=1.25, ymin = -1.25, ymax=1.25, + width=0.9\textwidth, + height=0.8\textwidth, xlabel={$x_1$}, ylabel={$x_2$}, grid=major, grid style={dotted}, view={0}{90}] @@ -808,12 +823,12 @@ return $\boldsymbol{\hat{c}}$ \begin{subfigure}[t]{0.5\textwidth} \centering - \begin{tikzpicture}[scale = 0.85] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.85\textwidth, + height=0.4\textwidth, scale only axis, xtick={0, 100, ..., 400}, xticklabels={0, 50, ..., 200}, @@ -839,7 +854,7 @@ return $\boldsymbol{\hat{c}}$ \begin{subfigure}[t]{0.5\textwidth} \centering - \begin{tikzpicture}[scale = 0.85] + \begin{tikzpicture} \begin{axis}[ point meta min = -1, point meta max = 1, @@ -847,8 +862,8 @@ return $\boldsymbol{\hat{c}}$ xlabel={$Var\left( \nabla h\left( \tilde{\boldsymbol{x}} \right) \right) $}, ylabel={Bit error (bool)}, ytick={0, 1}, - width=8cm, - height=3cm, + width=0.85\textwidth, + height=0.4\textwidth, scale only axis, % colormap/viridis, ] @@ -1067,7 +1082,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d \begin{figure}[H] \centering - \begin{tikzpicture}[scale=0.55] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={$E_b / N_0$}, ylabel={BER}, @@ -1075,6 +1090,8 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d 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}] @@ -1098,7 +1115,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d {res/hybrid/2d_ber_fer_dfr_20433484.csv}; \end{axis} \end{tikzpicture} - \begin{tikzpicture}[scale=0.55] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={$E_b / N_0$}, ylabel={FER}, @@ -1106,6 +1123,8 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d 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] @@ -1130,7 +1149,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d {res/hybrid/2d_ber_fer_dfr_20433484.csv}; \end{axis} \end{tikzpicture} - \begin{tikzpicture}[scale=0.55] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={$E_b / N_0$}, ylabel={Decoding Failure Rate}, @@ -1138,6 +1157,8 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d 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] @@ -1162,7 +1183,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d {res/hybrid/2d_ber_fer_dfr_20433484.csv}; \end{axis} \end{tikzpicture} - \begin{tikzpicture}[scale=0.7] + \begin{tikzpicture} \begin{axis}[hide axis, xmin=10, xmax=50, ymin=0, ymax=0.4, @@ -1490,11 +1511,13 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d \begin{figure}[H] \centering - \begin{tikzpicture}[scale=0.6] + \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] @@ -1537,12 +1560,14 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d \begin{figure}[H] \centering - \begin{tikzpicture}[scale=0.7] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={$n$}, ylabel={time per frame (s)}, - legend style={at={(0.05,0.77)},anchor=south west}, + 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] @@ -1829,8 +1854,9 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d \begin{tikzpicture} \begin{axis}[ grid=both, - width=0.5\textwidth, - height=0.375\textwidth, + 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$} ] diff --git a/latex/presentations/final/sections/theoretical_background.tex b/latex/presentations/final/sections/theoretical_background.tex index f018e06..b21a51f 100644 --- a/latex/presentations/final/sections/theoretical_background.tex +++ b/latex/presentations/final/sections/theoretical_background.tex @@ -10,11 +10,11 @@ \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} + of finding the weights of a linear code are both 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] + 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} \end{itemize}