diff --git a/latex/thesis/chapters/proximal_decoding.tex b/latex/thesis/chapters/proximal_decoding.tex index 1fe011b..2524272 100644 --- a/latex/thesis/chapters/proximal_decoding.tex +++ b/latex/thesis/chapters/proximal_decoding.tex @@ -757,15 +757,14 @@ as the gradients of the negative log-likelihood and the code-constraint polynomial, which influence the next estimate. \begin{figure}[h] - \begin{minipage}[c]{0.25\textwidth} + \begin{subfigure}[t]{0.48\textwidth} \centering - - \begin{tikzpicture}[scale = 0.35] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -783,13 +782,17 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla L \right)_2$} \addlegendentry{$\left(\nabla h \right)_2 $} \end{axis} - \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \end{tikzpicture} + \end{subfigure}% + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -807,13 +810,17 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla L \right)_3$} \addlegendentry{$\left(\nabla h \right)_3 $} \end{axis} - \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \end{tikzpicture} + \end{subfigure}% + + \begin{subfigure}[t]{0.48\textwidth} + \centering + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -832,51 +839,16 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla h \right)_4 $} \end{axis} \end{tikzpicture} - \end{minipage}% - \begin{minipage}[c]{0.5\textwidth} - \vspace*{-1cm} + \end{subfigure}% + \hfill + \begin{subfigure}[t]{0.48\textwidth} \centering - - \begin{tikzpicture}[scale = 0.85, spy using outlines={circle, magnification=6, - connect spies}] + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, - scale only axis, - xtick={0, 50, ..., 200}, - xticklabels={0, 25, ..., 100}, - ] - \addplot [NavyBlue, mark=none, line width=1] - table [col sep=comma, x=k, y=comb_r_s_0] - {res/proximal/comp_bch_7_4_combined.csv}; - \addplot [ForestGreen, mark=none, line width=1] - table [col sep=comma, x=k, y=grad_L_0] - {res/proximal/comp_bch_7_4_combined.csv}; - \addplot [RedOrange, mark=none, line width=1] - table [col sep=comma, x=k, y=grad_h_0] - {res/proximal/comp_bch_7_4_combined.csv}; - \addlegendentry{est} - \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); - \end{axis} - \spy [black, size=2cm] on (spypoint) - in node[fill=white] at (magnifyglass); - \end{tikzpicture} - \end{minipage}% - \begin{minipage}[c]{0.25\textwidth} - \centering - - \begin{tikzpicture}[scale = 0.35] - \begin{axis}[ - grid=both, - xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -894,13 +866,17 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla L \right)_5$} \addlegendentry{$\left(\nabla h \right)_5 $} \end{axis} - \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \end{tikzpicture} + \end{subfigure}% + + \begin{subfigure}[t]{0.48\textwidth} + \centering + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -918,13 +894,17 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla L \right)_6$} \addlegendentry{$\left(\nabla h \right)_6 $} \end{axis} - \end{tikzpicture}\\ - \begin{tikzpicture}[scale = 0.35] + \end{tikzpicture} + \end{subfigure}% + \hfill + \begin{subfigure}[t]{0.48\textwidth} + \centering + \begin{tikzpicture} \begin{axis}[ grid=both, xlabel={Iterations}, - width=8cm, - height=3cm, + width=0.9\textwidth, + height=0.3\textwidth, scale only axis, xtick={0, 50, ..., 200}, xticklabels={0, 25, ..., 100}, @@ -943,15 +923,51 @@ polynomial, which influence the next estimate. \addlegendentry{$\left(\nabla h \right)_7 $} \end{axis} \end{tikzpicture} - \end{minipage} + \end{subfigure} - \caption{Internal variables of proximal decoder - as a function of the number of iterations ($n=7$)\protect\footnotemark{}} + \vspace{5mm} + + \begin{subfigure}[t]{\textwidth} + \centering + \begin{tikzpicture}[spy using outlines={circle, magnification=6, + connect spies}] + \begin{axis}[ + grid=both, + xlabel={Iterations}, + width=0.6\textwidth, + height=0.225\textwidth, + scale only axis, + xtick={0, 50, ..., 200}, + xticklabels={0, 25, ..., 100}, + ] + \addplot [NavyBlue, mark=none, line width=1] + table [col sep=comma, x=k, y=comb_r_s_0] + {res/proximal/comp_bch_7_4_combined.csv}; + \addplot [ForestGreen, mark=none, line width=1] + table [col sep=comma, x=k, y=grad_L_0] + {res/proximal/comp_bch_7_4_combined.csv}; + \addplot [RedOrange, mark=none, line width=1] + table [col sep=comma, x=k, y=grad_h_0] + {res/proximal/comp_bch_7_4_combined.csv}; + \addlegendentry{est} + \addlegendentry{$\left(\nabla L \right)_1$} + \addlegendentry{$\left(\nabla h \right)_1 $} + + \coordinate (spypoint) at (axis cs:100,1.11); + \coordinate (magnifyglass) at (axis cs:-75,0); + \end{axis} + \spy [black, size=2cm] on (spypoint) + in node[fill=white] at (magnifyglass); + \end{tikzpicture} + \end{subfigure} + + \caption{Visualization of a single decoding operation\protect\footnotemark{} + for a code with $n=7$} \label{fig:prox:convergence} \end{figure}% % -\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}$ +\footnotetext{BCH$\left( 7,4 \right) $ code; $\gamma = 0.05, \omega = 0.05, K=200, + \eta = 1.5, E_b / N_0 = \SI{5}{dB}$ }% % \noindent It is evident that in all cases, past a certain number of @@ -1146,7 +1162,8 @@ an invalid codeword. \end{figure}% % \footnotetext{(3,6) regular \ac{LDPC} code with n = 204, k = 102 - \cite[\text{204.33.484}]{mackay_enc}; $\gamma=0.05, \omega = 0.05, K=200, \eta=1.5$ + \cite[\text{204.33.484}]{mackay_enc}; $\gamma=0.05, \omega = 0.05, K=200, \eta=1.5, + E_b / N_0 = \SI{5}{dB}$ }% %