diff --git a/latex/presentations/final/sections/appendix.tex b/latex/presentations/final/sections/appendix.tex index 1579d63..8abf463 100644 --- a/latex/presentations/final/sections/appendix.tex +++ b/latex/presentations/final/sections/appendix.tex @@ -9,7 +9,7 @@ \captionsetup[subfigure]{font=footnotesize} - \hspace*{-0.4cm} + \hspace*{-0.5cm} \begin{minipage}[c]{0.9\textwidth} \centering @@ -21,29 +21,32 @@ \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, - ] + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] - \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[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[Black, line width=1pt, mark=*] - table [col sep=comma, x=SNR, y=FER,] - {res/generic/fer_ml_9633965.csv}; + \addplot3[surf, + mesh/rows=17, mesh/cols=10, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_963965.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_963965.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_963965.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_963965.csv}; \end{axis} \end{tikzpicture} @@ -56,33 +59,32 @@ \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}, - 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}; + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] + + \addplot3[surf, + mesh/rows=17, mesh/cols=14, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20433484.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20433484.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20433484.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20433484.csv}; \end{axis} \end{tikzpicture} @@ -95,25 +97,32 @@ \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}; + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] + + \addplot3[surf, + mesh/rows=17, mesh/cols=10, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_40833844.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_40833844.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_40833844.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_40833844.csv}; \end{axis} \end{tikzpicture} @@ -127,31 +136,32 @@ \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[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[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}; + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] + + \addplot3[surf, + mesh/rows=17, mesh/cols=10, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_bch_31_26.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_bch_31_26.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_bch_31_26.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_bch_31_26.csv}; \end{axis} \end{tikzpicture} @@ -163,24 +173,32 @@ \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_20455187.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_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}; + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] + + \addplot3[surf, + mesh/rows=17, mesh/cols=10, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20455187.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20455187.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20455187.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_20455187.csv}; \end{axis} \end{tikzpicture} @@ -193,25 +211,32 @@ \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_pegreg252x504.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_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}; + \begin{axis}[view={75}{30}, + zmode=log, + xlabel={$E_b / N_0$ (dB)}, + ylabel={$\gamma$}, + zlabel={BER}, + width=1.2\textwidth, + height=0.85\textwidth, + legend pos=outer north east,] + + \addplot3[surf, + mesh/rows=17, mesh/cols=10, + colormap/viridis] table [col sep=comma, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv}; + \addplot3[NavyBlue, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.01}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv}; + \addplot3[RedOrange, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.05}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv}; + \addplot3[ForestGreen, line width=1.5] table [col sep=comma, + discard if not={gamma}{0.15}, + x=SNR, y=gamma, z=BER] + {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv}; \end{axis} \end{tikzpicture} @@ -227,35 +252,253 @@ \begin{figure} \centering - \vspace*{-1.2cm} - \hspace*{2mm} + \vspace*{-2cm} + \hspace*{-3mm} + \begin{tikzpicture}[scale=0.8] + \begin{axis}[hide axis, + xmin=10, xmax=50, + ymin=0, ymax=0.4, + legend style={draw=white!15!black,legend cell align=left}] + \addlegendimage{surf, colormap/viridis} + \addlegendentry{$\gamma = \left[ 0\text{:}0.01\text{:}0.16 \right] $}; + \addlegendimage{NavyBlue, line width=1.5pt} + \addlegendentry{$\gamma = 0.01$}; + \addlegendimage{RedOrange, line width=1.5pt} + \addlegendentry{$\gamma = 0.05$}; + \addlegendimage{ForestGreen, line width=1.5pt} + \addlegendentry{$\gamma = 0.15$}; + \end{axis} + \end{tikzpicture} + \end{figure} + \end{minipage} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[t] + \frametitle{LP Decoding using ADMM: Choice of $\mu$ and $\rho$} + + \captionsetup[subfigure]{font=footnotesize} + + \begin{minipage}[c]{0.9\textwidth} + \centering + \hspace*{-4mm} + + \begin{figure}[H] + \centering + \vspace*{-7mm} + + \begin{subfigure}[t]{0.33\textwidth} + \centering + + \begin{tikzpicture}[scale=0.8] + \begin{axis}[ + grid=both, + xlabel={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_963965.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_963965.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_963965.csv}; + \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.8] + \begin{axis}[ + grid=both, + xlabel={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_20433484.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_20433484.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_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={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_40833844.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_40833844.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_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={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_bch_31_26.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_bch_31_26.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_bch_31_26.csv}; + \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.8] + \begin{axis}[ + grid=both, + xlabel={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_20455187.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_20455187.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_20455187.csv}; + \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.8] + \begin{axis}[ + grid=both, + xlabel={$\rho$}, ylabel={Avg. \# iter.}, + ymode=log, + width=1.2\textwidth, + height=0.85\textwidth, + ] + \addplot[ForestGreen, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{2.0},] + {res/admm/mu_rho_kavg_pegreg252x504.csv}; + \addplot[RedOrange, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{5.0},] + {res/admm/mu_rho_kavg_pegreg252x504.csv}; + \addplot[NavyBlue, line width=1pt] + table [col sep=comma, x=rho, y=k_avg, + discard if not={mu}{9.0},] + {res/admm/mu_rho_kavg_pegreg252x504.csv}; + \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}% + \end{figure} + \end{minipage}% + \begin{minipage}[c]{0.1\textwidth} + \centering + + \begin{figure} + \centering + + \vspace*{-1cm} + \hspace*{3mm} \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} - \addlegendimage{RedOrange, line width=1pt, mark=triangle*, densely dashed} - \addlegendentry{Improved} - - \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} + \addlegendimage{NavyBlue, line width=1pt} + \addlegendentry{$\mu = 9$} + \addlegendimage{RedOrange, line width=1pt} + \addlegendentry{$\mu = 5$} + \addlegendimage{ForestGreen, line width=1pt} + \addlegendentry{$\mu = 2$} \end{axis} \end{tikzpicture} \end{figure} \end{minipage} - \end{frame}