Add stuff from LP Decoding using ADMM and proximal decoding
This commit is contained in:
518
sections/appendix.tex
Normal file
518
sections/appendix.tex
Normal file
@@ -0,0 +1,518 @@
|
||||
\appendix
|
||||
|
||||
\section{Supplementary Slides}%
|
||||
\label{app:Supplementary Slides}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoding: Choice of $\gamma$}
|
||||
|
||||
\captionsetup[subfigure]{font=footnotesize}
|
||||
|
||||
\hspace*{-0.5cm}
|
||||
\begin{minipage}[c]{0.9\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{figure}[H]
|
||||
\vspace*{-0.7cm}
|
||||
\centering
|
||||
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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_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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
|
||||
\citereference{Mac23, 96.3.965}}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.33.484}}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
|
||||
\citereference{Mac23, 408.33.844}}
|
||||
\end{subfigure}%
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{BCH code with $n=31, k=26$}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.55.187}}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}[t]{0.33\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=0.8]
|
||||
\begin{axis}[view={75}{30},
|
||||
zmode=log,
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
|
||||
\citereference{Mac23, PEGReg252x504}}
|
||||
\end{subfigure}%
|
||||
\end{figure}
|
||||
\end{minipage}%
|
||||
\begin{minipage}[c]{0.1\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\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}
|
||||
|
||||
\vspace*{-1mm}
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
|
||||
\citereference{Mac23, 96.3.965}}
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.33.484}}
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
|
||||
\citereference{Mac23, 408.33.844}}
|
||||
\end{subfigure}%
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.55.187}}
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
|
||||
\citereference{Mac23, PEGReg252x504}}
|
||||
\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{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}
|
||||
|
||||
\vspace*{-1mm}
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\end{frame}
|
||||
|
||||
723
sections/comparison.tex
Normal file
723
sections/comparison.tex
Normal file
@@ -0,0 +1,723 @@
|
||||
\section{Comparison}%
|
||||
\label{sec:Comparison}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Comparison of Simulation Results}%
|
||||
\label{sub:Comparison of Simulation Results}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Comparison: Convergence Behavior}
|
||||
|
||||
\vspace*{-3mm}
|
||||
|
||||
\begin{itemize}
|
||||
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
|
||||
\item Minimum number of iterations independent of SNR
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
\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},
|
||||
discard if gt={k}{101},
|
||||
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},
|
||||
discard if gt={k}{101},
|
||||
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},
|
||||
discard if gt={k}{101},
|
||||
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},
|
||||
discard if gt={k}{101},
|
||||
x=k, y=err]
|
||||
{res/proximal/2d_avg_error_20433484_8db.csv};
|
||||
\addlegendentry{$E_b / N_0 = \SI{8}{dB}$}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\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}{101}]
|
||||
{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}{101}]
|
||||
{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}{101}]
|
||||
{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}{101}]
|
||||
{res/admm/avg_error_20433484.csv};
|
||||
\addlegendentry{$E_b / N_0 = \SI{4}{dB}$}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{subfigure}%
|
||||
\end{figure}
|
||||
|
||||
\smallskip
|
||||
\smallskip
|
||||
\smallskip
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\end{frame}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Comparison: Time Complexity}
|
||||
|
||||
\vspace*{-6.5mm}
|
||||
|
||||
\begin{itemize}
|
||||
\item Codes: BCH $\left( 31, 11 \right)$; BCH $\left( 31, 26 \right)$;
|
||||
\citereference{Mac23, 96.3.965; 204.33.484; 204.55.187; 408.33.844; PEGReg252x504}
|
||||
\item Measured performance: $\sim\SI{10000}{}$ frames/s
|
||||
on Intel Core i7-7700HQ @ 2.80GHz; $n=204$
|
||||
\item Both algorithms are $\mathcal{O}\left( n \right)$ on average
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
grid=both,
|
||||
xlabel={$n$}, ylabel={time per frame (ms)},
|
||||
legend style={at={(0.05,0.6)},anchor=south west},
|
||||
legend cell align={left},
|
||||
width=0.43\textwidth,
|
||||
height=0.32\textwidth,
|
||||
]
|
||||
\addplot[RedOrange, only marks, mark=square*]
|
||||
table [col sep=comma, x=n, y=spf,
|
||||
y expr=\thisrow{spf} * 1000]
|
||||
{res/proximal/fps_vs_n.csv};
|
||||
\addlegendentry{proximal}
|
||||
|
||||
\addplot[Gray, only marks, mark=*]
|
||||
table [col sep=comma, x=n, y=spf,
|
||||
y expr=\thisrow{spf} * 1000]
|
||||
{res/hybrid/fps_vs_n.csv};
|
||||
\addlegendentry{improved ($N=12$)}
|
||||
|
||||
\addplot[NavyBlue, only marks, mark=triangle*]
|
||||
table [col sep=comma, x=n, y=spf,
|
||||
y expr=\thisrow{spf} * 1000]
|
||||
{res/admm/fps_vs_n.csv};
|
||||
\addlegendentry{ADMM}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
|
||||
\smallskip
|
||||
\smallskip
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\end{frame}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Comparison: Decoding Performance}
|
||||
|
||||
\vspace{-0.5cm}
|
||||
|
||||
\begin{itemize}
|
||||
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
|
||||
\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.45\textwidth,
|
||||
height=0.33\textwidth,
|
||||
]
|
||||
\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};
|
||||
\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}
|
||||
]
|
||||
{res/admm/ber_2d_20433484.csv};
|
||||
|
||||
\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.45\textwidth,
|
||||
height=0.33\textwidth,
|
||||
]
|
||||
|
||||
\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};
|
||||
|
||||
\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 ($N$=12)}
|
||||
|
||||
\addlegendimage{RoyalPurple, mark=*, line width=1pt}
|
||||
\addlegendentry{BP}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
|
||||
\smallskip
|
||||
\smallskip
|
||||
\smallskip
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\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{Comparison: Decoding Performance}
|
||||
|
||||
\captionsetup[subfigure]{font=footnotesize}
|
||||
|
||||
\hspace*{-0.4cm}
|
||||
\begin{minipage}[c]{0.9\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{figure}[H]
|
||||
\vspace*{-0.8cm}
|
||||
\centering
|
||||
|
||||
\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.825\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_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};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
|
||||
\citereference{Mac23, 96.33.965}}
|
||||
\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.825\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};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.33.484}}
|
||||
\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.825\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*{-2mm}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
|
||||
\citereference{Mac23, 408.33.844}}
|
||||
\end{subfigure}%
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\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.825\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};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\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={$E_b / N_0$ (dB)}, ylabel={FER},
|
||||
ymode=log,
|
||||
ymax=1.5, ymin=8e-5,
|
||||
width=1.2\textwidth,
|
||||
height=0.825\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};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\citereference{Mac23, 204.55.187}}
|
||||
\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.825\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};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\vspace*{-2mm}
|
||||
|
||||
\caption{LDPC code (progressive edge growth construction) with $n=504, k=252$
|
||||
\citereference{Mac23, PEGReg252x504}}
|
||||
\end{subfigure}%
|
||||
\end{figure}
|
||||
\end{minipage}%
|
||||
\begin{minipage}[c]{0.1\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\vspace*{-1.2cm}
|
||||
\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}
|
||||
|
||||
\addlegendimage{RedOrange, line width=1pt, mark=triangle*, densely dashed}
|
||||
\addlegendentry{Improved}
|
||||
|
||||
\addlegendimage{NavyBlue, line width=1pt, mark=*}
|
||||
\addlegendentry{ADMM}
|
||||
|
||||
\addlegendimage{Black, line width=1pt, mark=*}
|
||||
\addlegendentry{ML}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{-1mm}
|
||||
|
||||
\addreference{Mac23}{David J.C. MacKay: \emph{Encyclopedia of Sparse Graph Codes}.
|
||||
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
|
||||
\end{frame}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Theoretical Comparison}%
|
||||
\label{sub:Theoretical Comparison}
|
||||
|
||||
\begin{frame}[t, fragile]
|
||||
\frametitle{Comparison: Algorithm Structure}
|
||||
|
||||
\vspace*{-1cm}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
|
||||
\begin{subfigure}[b]{0.47\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{align*}
|
||||
\text{minimize}\hspace{2mm} & \textcolor{KITblue}{\underbrace{L\left(
|
||||
\boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right)}_{\text{Likelihood}}}
|
||||
+ \textcolor{KITred}{\underbrace{\gamma h\left( \tilde{\boldsymbol{x}}
|
||||
\right)} _{\text{Constraints}}} \\
|
||||
\text{subject to}\hspace{2mm} &\tilde{\boldsymbol{x}} \in \mathbb{R}^n
|
||||
\end{align*}
|
||||
|
||||
\vspace*{-5mm}
|
||||
|
||||
\begin{algorithm}[caption={}, label={},
|
||||
basicstyle=\fontsize{10}{18}\selectfont
|
||||
]
|
||||
Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$
|
||||
while stopping critierion unfulfilled do
|
||||
$\textcolor{KITblue}{\boldsymbol{r} \leftarrow \boldsymbol{r}
|
||||
+ \omega \nabla L\left( \boldsymbol{y} \mid \boldsymbol{s} \right)} $
|
||||
$\textcolor{KITred}{\boldsymbol{s} \leftarrow
|
||||
\textbf{prox}_{\gamma h}\left( \boldsymbol{r} \right)} $|\Suppressnumber|
|
||||
|\Reactivatenumber|
|
||||
end while
|
||||
return $\hat{\boldsymbol{c}}$
|
||||
\end{algorithm}
|
||||
\end{subfigure}\hfill%
|
||||
\begin{subfigure}[b]{0.5\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{align*}
|
||||
\text{minimize}\hspace{5mm} &
|
||||
\textcolor{KITblue}{\underbrace{\boldsymbol{\gamma}^\text{T}
|
||||
\tilde{\boldsymbol{c}}}_{\text{Likelihood}}}
|
||||
+ \textcolor{KITred}{\underbrace{\sum\nolimits_{j\in\mathcal{J}}
|
||||
g_j\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||
\right)}_{\text{Constraints}}} \\
|
||||
\text{subject to}\hspace{5mm} &
|
||||
\tilde{\boldsymbol{c}} \in \left[ 0, 1 \right]^n
|
||||
\end{align*}
|
||||
|
||||
\vspace*{-5mm}
|
||||
|
||||
\begin{algorithm}[caption={}, label={},
|
||||
basicstyle=\fontsize{10}{18}\selectfont
|
||||
]
|
||||
Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}, \boldsymbol{u}, \boldsymbol{\gamma}, \rho$
|
||||
while stopping criterion unfulfilled do
|
||||
$\textcolor{KITblue}{\tilde{\boldsymbol{c}} \leftarrow \argmin_{\tilde{\boldsymbol{c}}}
|
||||
\left( \boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}
|
||||
+ \frac{\rho}{2}\sum_{j\in\mathcal{J}} \left\Vert
|
||||
\boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j
|
||||
+ \boldsymbol{u}_j \right\Vert \right)}$
|
||||
$\textcolor{KITred}{\boldsymbol{z}_j \leftarrow \textbf{prox}_{g_j}
|
||||
\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||
+ \boldsymbol{u}_j \right), \hspace{5mm}\forall j\in\mathcal{J}}$
|
||||
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j
|
||||
+ \tilde{\boldsymbol{c}} - \boldsymbol{z}_j, \hspace{14.5mm}\forall j\in\mathcal{J}$
|
||||
end while
|
||||
return $\hat{\boldsymbol{c}}$
|
||||
\end{algorithm}
|
||||
\end{subfigure}%
|
||||
\end{figure}%
|
||||
|
||||
\end{frame}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t, fragile]
|
||||
\frametitle{Comparison: Algorithm Structure}
|
||||
|
||||
\vspace*{-0.6cm}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{algorithm}[caption={}, label={},]
|
||||
Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$
|
||||
while stopping critierion unfulfilled do
|
||||
for $j$ in $\mathcal{J}$ do
|
||||
$p_j \leftarrow \prod_{i\in N_c\left( j \right) } r_i $
|
||||
$\textcolor{KITblue}{M_{j\to i} \leftarrow p_j^2 - p_j}$|\Suppressnumber|
|
||||
|\vspace{0.7mm}\Reactivatenumber|
|
||||
end for
|
||||
for $i$ in $\mathcal{I}$ do
|
||||
$s_i \leftarrow s_i + \gamma \left[ 4\left( s_i^2 - 1 \right)s_i
|
||||
\phantom{\frac{4}{s_i}}\right.$|\Suppressnumber|
|
||||
|\Reactivatenumber|$\left.+ \frac{4}{s_i}\sum_{j\in N_v\left( i \right) }
|
||||
M_{j\to i} \right] $
|
||||
$r_i \leftarrow r_i + \omega \left( s_i - y_i \right)$
|
||||
end for
|
||||
end while
|
||||
return $\hat{\boldsymbol{c}}$
|
||||
\end{algorithm}
|
||||
\end{subfigure}%
|
||||
\hfill
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{algorithm}[caption={}, label={},]
|
||||
Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}, \boldsymbol{u}, \boldsymbol{\gamma}, \rho$
|
||||
while stopping criterion unfulfilled do
|
||||
for $j$ in $\mathcal{J}$ do
|
||||
$\boldsymbol{z}_j \leftarrow \Pi_{P_{d_j}}\left(
|
||||
\boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j\right)$
|
||||
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j + \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||
- \boldsymbol{z}_j$
|
||||
$\textcolor{KITblue}{M_{j\to i} \leftarrow \left( z_j \right)_i - \left( u_j \right)_i,
|
||||
\hspace{3mm} \forall i \in N_c\left( j \right)}$
|
||||
end for
|
||||
for $i$ in $\mathcal{I}$ do
|
||||
$\tilde{c}_i \leftarrow \frac{1}{d_i}
|
||||
\left(\sum_{j\in N_v\left( i \right) } M_{j\to i}
|
||||
- \frac{\gamma_i}{\mu} \right)$|\Suppressnumber|
|
||||
|\vspace{7mm}\Reactivatenumber|
|
||||
end for
|
||||
end while
|
||||
return $\hat{\boldsymbol{c}}$
|
||||
\end{algorithm}
|
||||
\end{subfigure}%
|
||||
\end{figure}%
|
||||
\end{frame}
|
||||
|
||||
36
sections/conclusion.tex
Normal file
36
sections/conclusion.tex
Normal file
@@ -0,0 +1,36 @@
|
||||
\section{Conclusion and Outlook}%
|
||||
\label{sec:Conclusion}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Conclusion}
|
||||
|
||||
\begin{itemize}
|
||||
\item Analysis of the general behavior of the two decoding algorithms
|
||||
\begin{itemize}
|
||||
\item Parameter choice based on decoding performance and time complexity
|
||||
\item Verification of theoretical considerations with simulation results
|
||||
\end{itemize}
|
||||
\item Suggestion for improvement of proximal decoding
|
||||
\begin{itemize}
|
||||
\item Addition of "ML-in-the-List" step
|
||||
\item Up to $\sim \SI{1}{dB}$ gain under certain conditions
|
||||
\end{itemize}
|
||||
\item Comparison
|
||||
\begin{itemize}
|
||||
\item Based on simulation results
|
||||
\item Based on their theoretical structure
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
\begin{itemize}
|
||||
\item Future work
|
||||
\begin{itemize}
|
||||
\item Usage of adaptive LP decoding to lower runtime or approximate ML performance
|
||||
\item Combination of proximal and LP decoding
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
1
sections/decoding_algorithms.tex
Normal file
1
sections/decoding_algorithms.tex
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
5
sections/examination_results.tex
Normal file
5
sections/examination_results.tex
Normal file
@@ -0,0 +1,5 @@
|
||||
\section{Analysis}%
|
||||
\label{sec:Analysis}
|
||||
|
||||
|
||||
|
||||
32
sections/forthcoming_examination.tex
Normal file
32
sections/forthcoming_examination.tex
Normal file
@@ -0,0 +1,32 @@
|
||||
\section{Forthcoming Analysis}%
|
||||
\label{sec:Forthcoming Examinations}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{LP Decoding}%
|
||||
\label{sub:Forth Exam LP Decoding}
|
||||
|
||||
\begin{frame}[t]
|
||||
\frametitle{Forthcoming Analysis}
|
||||
|
||||
\begin{itemize}
|
||||
\item Test ADMM (Alternating Direction Method of Multipliers)
|
||||
as an optimization method for LP decoding
|
||||
\begin{itemize}
|
||||
\item In LP decoding, the ML decoding problem is reduced to a linear program,
|
||||
which can be solved in polynomial time \cite{lautern}
|
||||
\item ADMM is intended to blend the decomposability
|
||||
of dual ascent with the superior convergence properties of the method
|
||||
of multipliers \cite{distr_opt_book}
|
||||
\item ADMM has been proposed for efficient LP decoding
|
||||
\cite{efficient_lp_dec_admm}
|
||||
\end{itemize}
|
||||
\item Compare ADMM implementation with proximal decoding implementation with respect to
|
||||
\begin{itemize}
|
||||
\item decoding performance (BER, FER)
|
||||
\item computational performance (time complexity, actual seconds per frame)
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
1026
sections/lp_dec_using_admm.tex
Normal file
1026
sections/lp_dec_using_admm.tex
Normal file
File diff suppressed because it is too large
Load Diff
1730
sections/proximal_decoding.tex
Normal file
1730
sections/proximal_decoding.tex
Normal file
File diff suppressed because it is too large
Load Diff
20
sections/question_slide.tex
Normal file
20
sections/question_slide.tex
Normal file
@@ -0,0 +1,20 @@
|
||||
\begin{frame}[t]
|
||||
\frametitle{Questions}
|
||||
|
||||
\begin{minipage}[c]{0.65\textwidth}
|
||||
\centering
|
||||
|
||||
\LARGE Thank you for your attention!\\ Any questions?
|
||||
\end{minipage}%
|
||||
\begin{minipage}[c]{0.35\textwidth}
|
||||
\centering
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[every node/.style={scale=14}]
|
||||
\node at (0, 0) {\textcolor{KITblue}{?}};
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
\end{minipage}
|
||||
|
||||
\end{frame}
|
||||
187
sections/theoretical_background.tex
Normal file
187
sections/theoretical_background.tex
Normal file
@@ -0,0 +1,187 @@
|
||||
\section{Theoretical Background}%
|
||||
\label{sec:Theoretical Background}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Motivation}%
|
||||
\label{sub:Motivation}
|
||||
|
||||
\begin{frame}[t]
|
||||
\frametitle{Motivation}
|
||||
\begin{itemize}
|
||||
\item General ML decoding problem NP-complete \citereference{BMT78}
|
||||
\item Iterative message–passing algorithms popular in practice do not guarantee
|
||||
optimality when the graph contains cycles \citereference{KTP19}
|
||||
\item Standard message-passing algorithms difficult to analyze \citereference{FEL03}
|
||||
\end{itemize}
|
||||
|
||||
\vspace{3.5cm}
|
||||
|
||||
\addreferences
|
||||
{BMT78}{E. Berlekamp; R. McEliece; H. van Tilborg: \emph{On the inherent intractability
|
||||
of certain coding problems (Corresp.)}.
|
||||
IEEE Transactions on Information Theory 24.3 (May 1978), pp. 384–386.}
|
||||
{KTP19}{Banu Kabakulak; Z. Caner Taşkın; Ali Emre Pusane: \emph{Optimization–based
|
||||
decoding algorithms for LDPC convolutional codes in communication systems}.
|
||||
IISE Transactions 51.10 (2019), pp. 1061–1074.}
|
||||
{FEL03}{Jon Feldman: \emph{Decoding error-correcting codes via linear programming}.
|
||||
PhD thesis. MIT, 2003.}
|
||||
\stopreferences
|
||||
\end{frame}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Presumptions}%
|
||||
\label{sub:Presumptions}
|
||||
|
||||
\begin{frame}[t]
|
||||
\frametitle{Presumptions: Channel \& Modulation}
|
||||
|
||||
\tikzstyle{mapper} = [rectangle, minimum width=1.5cm, minimum height=0.7cm,
|
||||
rounded corners=0.1cm, text centered, draw=black, fill=KITgreen!80]
|
||||
\begin{figure}[htpb]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}[scale=1, transform shape]
|
||||
\node (in) {$\boldsymbol{c}$};
|
||||
\node[mapper, right=0.5cm of in] (bpskmap) {Mapper};
|
||||
\node[right=1.5cm of bpskmap,
|
||||
draw, circle, inner sep=0pt, minimum size=0.5cm] (add) {$+$};
|
||||
\node[below=0.5cm of add] (noise) {$\boldsymbol{n}$};
|
||||
\node[mapper, right=1.5cm of add] (decoder) {Decoder};
|
||||
\node[mapper, right=1.5cm of decoder] (demapper) {Demapper};
|
||||
\node[right=0.5cm of demapper] (out) {$\boldsymbol{\hat{c}}$};
|
||||
|
||||
\node at ($(bpskmap.east)!0.5!(add.west) + (0,0.3cm)$) {$\boldsymbol{x}$};
|
||||
\node at ($(add.east)!0.5!(decoder.west) + (0,0.3cm)$) {$\boldsymbol{y}$};
|
||||
\node at ($(decoder.east)!0.5!(demapper.west) + (0,0.3cm)$) {$\boldsymbol{\hat{x}}$};
|
||||
|
||||
\draw[->] (in) -- (bpskmap);
|
||||
\draw[->] (bpskmap) -- (add);
|
||||
\draw[->] (add) -- (decoder);
|
||||
\draw[->] (noise) -- (add);
|
||||
\draw[->] (decoder) -- (demapper);
|
||||
\draw[->] (demapper) -- (out);
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
|
||||
\begin{itemize}
|
||||
\item All simulations are performed with BPSK:
|
||||
\begin{align*}
|
||||
\boldsymbol{x} = \left( -1 \right)^{\boldsymbol{c}},
|
||||
\hspace{5mm} \boldsymbol{c} \in \mathbb{F}_2^n,
|
||||
\hspace{2mm} \boldsymbol{x} \in \left\{ -1, 1 \right\}^n
|
||||
\end{align*}
|
||||
\item The channel model is AWGN:
|
||||
\begin{align*}
|
||||
\boldsymbol{y} = \boldsymbol{x} + \boldsymbol{n},
|
||||
\hspace{5mm}\boldsymbol{n}\sim \mathcal{N}
|
||||
\left(0,\frac{1}{2}\left(\frac{k}{n}\frac{E_b}{N_0}\right)^{-1}\right),
|
||||
\hspace{2mm} \boldsymbol{y}, \boldsymbol{n} \in \mathbb{R}^n
|
||||
\end{align*}
|
||||
\item All-zeros assumption:
|
||||
\begin{align*}
|
||||
\boldsymbol{c} = \boldsymbol{0}
|
||||
\end{align*}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{Optimization as a Decoding Method}%
|
||||
\label{sub:Optimization as a Decoding Method}
|
||||
|
||||
\begin{frame}[t]
|
||||
\frametitle{Optimization as a Decoding Method}
|
||||
|
||||
\begin{minipage}[c]{0.6\linewidth}
|
||||
\begin{itemize}
|
||||
\item Reformulate decoding problem as optimization problem
|
||||
\begin{itemize}
|
||||
\item Establish objective function
|
||||
\item Establish constraints
|
||||
\end{itemize}
|
||||
\item Use optimization method to solve the new problem
|
||||
\end{itemize}
|
||||
|
||||
\vspace{5mm}
|
||||
|
||||
\begin{itemize}
|
||||
\item Usage of ''$\sim$`` to denote change in domain, e.g.:
|
||||
\end{itemize}
|
||||
|
||||
\vspace*{-2mm}
|
||||
\hspace*{-10mm}
|
||||
\begin{minipage}[c]{\textwidth}
|
||||
\centering
|
||||
\begin{align*}
|
||||
\boldsymbol{c} \in \left\{ 0, 1 \right\}^n &\rightarrow
|
||||
\tilde{\boldsymbol{c}} \in \left[ 0,1 \right]^n \\
|
||||
\boldsymbol{x} \in \left\{ -1, 1 \right\}^n &\rightarrow
|
||||
\tilde{\boldsymbol{x}} \in \mathbb{R}^n
|
||||
\end{align*}
|
||||
\end{minipage}
|
||||
\end{minipage}%
|
||||
\hfill%
|
||||
\begin{minipage}[c]{0.4\linewidth}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\tikzstyle{codeword} = [color=KITblue, fill=KITblue,
|
||||
draw, circle, inner sep=0pt, minimum size=4pt]
|
||||
|
||||
\tdplotsetmaincoords{60}{245}
|
||||
|
||||
\begin{tikzpicture}[scale=1, transform shape, tdplot_main_coords]
|
||||
\tikzstyle{every node}=[font=\normalsize]
|
||||
|
||||
% Cube
|
||||
|
||||
\draw[dashed] (0, 0, 0) -- (2, 0, 0);
|
||||
\draw[dashed] (2, 0, 0) -- (2, 0, 2);
|
||||
\draw[] (2, 0, 2) -- (0, 0, 2);
|
||||
\draw[] (0, 0, 2) -- (0, 0, 0);
|
||||
|
||||
\draw[] (0, 2, 0) -- (2, 2, 0);
|
||||
\draw[] (2, 2, 0) -- (2, 2, 2);
|
||||
\draw[] (2, 2, 2) -- (0, 2, 2);
|
||||
\draw[] (0, 2, 2) -- (0, 2, 0);
|
||||
|
||||
\draw[] (0, 0, 0) -- (0, 2, 0);
|
||||
\draw[dashed] (2, 0, 0) -- (2, 2, 0);
|
||||
\draw[] (2, 0, 2) -- (2, 2, 2);
|
||||
\draw[] (0, 0, 2) -- (0, 2, 2);
|
||||
|
||||
% Codeword Polytope
|
||||
|
||||
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 0, 2);
|
||||
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 2, 0);
|
||||
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (0, 2, 2);
|
||||
|
||||
% \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (2, 2, 0);
|
||||
% \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (0, 2, 2);
|
||||
|
||||
% \draw[line width=1pt, color=KITblue] (0, 2, 2) -- (2, 2, 0);
|
||||
|
||||
% Polytope Annotations
|
||||
|
||||
\node[codeword] (c000) at (0, 0, 0) {};% {$\left( 0, 0, 0 \right) $};
|
||||
\node[codeword] (c101) at (2, 0, 2) {};% {$\left( 1, 0, 1 \right) $};
|
||||
\node[codeword] (c110) at (2, 2, 0) {};% {$\left( 1, 1, 0 \right) $};
|
||||
\node[codeword] (c011) at (0, 2, 2) {};% {$\left( 0, 1, 1 \right) $};
|
||||
|
||||
\node[color=KITblue, right=0cm of c000] {$\left( 0, 0, 0 \right) $};
|
||||
\node[color=KITblue, above=0cm of c101] {$\left( 1, 0, 1 \right) $};
|
||||
\node[color=KITblue, left=0cm of c110] {$\left( 1, 1, 0 \right) $};
|
||||
\node[color=KITblue, left=0cm of c011] {$\left( 0, 1, 1 \right) $};
|
||||
|
||||
% f
|
||||
|
||||
\node[color=KITgreen, fill=KITgreen,
|
||||
draw, circle, inner sep=0pt, minimum size=4pt] (f) at (0.7, 0.7, 1) {};
|
||||
\node[color=KITgreen, right=0cm of f] {$\tilde{\boldsymbol{c}}$};
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
\end{minipage}
|
||||
\end{frame}
|
||||
|
||||
Reference in New Issue
Block a user