Added 6-sublot BER surface plot; Added pgf externalization
This commit is contained in:
parent
87ec681ae9
commit
77fce73273
@ -25,7 +25,7 @@
|
|||||||
journal = {IEEE Transactions on Information Theory},
|
journal = {IEEE Transactions on Information Theory},
|
||||||
author = {Berlekamp, E. and McEliece, R. and van Tilborg, H.},
|
author = {Berlekamp, E. and McEliece, R. and van Tilborg, H.},
|
||||||
year = {1978},
|
year = {1978},
|
||||||
month = {May},
|
month = {5},
|
||||||
pages = {384–386},
|
pages = {384–386},
|
||||||
% url = {https://authors.library.caltech.edu/5607/1/BERieeetit78.pdf}
|
% url = {https://authors.library.caltech.edu/5607/1/BERieeetit78.pdf}
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@
|
|||||||
url = {https://doi.org/10.1561/2400000003},
|
url = {https://doi.org/10.1561/2400000003},
|
||||||
doi = {10.1561/2400000003},
|
doi = {10.1561/2400000003},
|
||||||
journal = {Found. Trends Optim.},
|
journal = {Found. Trends Optim.},
|
||||||
month = {jan},
|
month = {1},
|
||||||
pages = {127–239},
|
pages = {127–239},
|
||||||
numpages = {113}
|
numpages = {113}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,8 @@
|
|||||||
%\setbeamertemplate{note page}[plain]
|
%\setbeamertemplate{note page}[plain]
|
||||||
%\setbeameroption{show notes on second screen=right}
|
%\setbeameroption{show notes on second screen=right}
|
||||||
\usepgfplotslibrary{colorbrewer}
|
\usepgfplotslibrary{colorbrewer}
|
||||||
|
\usetikzlibrary{external}
|
||||||
|
\tikzexternalize[prefix=build/]
|
||||||
|
|
||||||
\usepackage{csquotes}
|
\usepackage{csquotes}
|
||||||
\usepackage[citestyle=numeric, style=alphabetic, backend=biber,
|
\usepackage[citestyle=numeric, style=alphabetic, backend=biber,
|
||||||
|
|||||||
@ -83,7 +83,7 @@
|
|||||||
\begin{frame}[t, fragile]
|
\begin{frame}[t, fragile]
|
||||||
\frametitle{Proximal Decoding: Algorithm}
|
\frametitle{Proximal Decoding: Algorithm}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Resulting terative decoding algorithm:
|
\item Resulting terative decoding algorithm \cite{proximal_paper}:
|
||||||
\vspace{2mm}
|
\vspace{2mm}
|
||||||
\begin{algorithm}[caption={}, label={}]
|
\begin{algorithm}[caption={}, label={}]
|
||||||
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
||||||
|
|||||||
@ -95,7 +95,9 @@
|
|||||||
legend style={at={(0.05,0.05)},anchor=south west},
|
legend style={at={(0.05,0.05)},anchor=south west},
|
||||||
ymin=3e-7, ymax=1.5,]
|
ymin=3e-7, ymax=1.5,]
|
||||||
\foreach \gamma in {0.01, 0.05, 0.15}{
|
\foreach \gamma in {0.01, 0.05, 0.15}{
|
||||||
\addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{\gamma}] {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
\addplot table [x=SNR, y=BER,
|
||||||
|
col sep=comma, discard if not={gamma}{\gamma}]
|
||||||
|
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
\legend{\gamma}
|
\legend{\gamma}
|
||||||
}
|
}
|
||||||
\legend{$\gamma=0.01$, $\gamma=0.05$, $\gamma=0.15$}
|
\legend{$\gamma=0.01$, $\gamma=0.05$, $\gamma=0.15$}
|
||||||
@ -111,13 +113,26 @@
|
|||||||
xlabel={SNR},
|
xlabel={SNR},
|
||||||
ylabel={$\gamma$},
|
ylabel={$\gamma$},
|
||||||
zlabel={BER},]
|
zlabel={BER},]
|
||||||
\addplot3[surf, mesh/rows=17, mesh/cols=14, colormap/viridis] table [col sep=comma, x=SNR, y=gamma, z=BER] {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=14,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
\addplot3[red, line width=1.5] table[col sep=comma, discard if not={gamma}{0.05}, x=SNR, y=gamma, z=BER] {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
\addplot3[red, line width=1.5] table [col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
\addlegendentry{$\gamma = 0.05$}
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
\addplot3[blue, line width=1.5] table[col sep=comma, discard if not={gamma}{0.01}, x=SNR, y=gamma, z=BER] {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
\addplot3[blue, line width=1.5] table [col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
\addlegendentry{$\gamma = 0.01$}
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
\addplot3[brown, line width=1.5] table[col sep=comma, discard if not={gamma}{0.15}, x=SNR, y=gamma, z=BER] {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
\addplot3[brown, line width=1.5] table [col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
\addlegendentry{$\gamma = 0.15$}
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
\end{axis}
|
\end{axis}
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
@ -134,6 +149,215 @@
|
|||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\begin{frame}[t]
|
||||||
|
\frametitle{Proximal Decoding: Choice of $\gamma$}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\vspace*{-0.5cm}
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=10,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_963965.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_963965.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_963965.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_963965.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$\\ \cite[Code: 96.3.965]{mackay_enc}}
|
||||||
|
\end{subfigure}%
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=14,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20433484.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$\\ \cite[Code: 204.33.484]{mackay_enc}}
|
||||||
|
\end{subfigure}%
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=10,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_40833844.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_40833844.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_40833844.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_40833844.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$\\ \cite[Code: 408.33.844]{mackay_enc}}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=10,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_bch_31_26.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_bch_31_26.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_bch_31_26.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_bch_31_26.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{BCH code with $n=31, k=26$}
|
||||||
|
\end{subfigure}%
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=10,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20455187.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20455187.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20455187.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_20455187.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$\\ \cite[Code: 204.55.187]{mackay_enc}}
|
||||||
|
\end{subfigure}%
|
||||||
|
\begin{subfigure}[c]{0.33\textwidth}
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}[scale=0.35]
|
||||||
|
\begin{axis}[view={75}{60},
|
||||||
|
zmode=log,
|
||||||
|
xlabel={SNR},
|
||||||
|
ylabel={$\gamma$},
|
||||||
|
zlabel={BER},]
|
||||||
|
\addplot3[surf,
|
||||||
|
mesh/rows=17, mesh/cols=10,
|
||||||
|
colormap/viridis] table [col sep=comma,
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_pegreg252x504.csv};
|
||||||
|
\addlegendentry{$\gamma = \left[ 0\text{:}.01\text{:}.16 \right] $}
|
||||||
|
\addplot3[red, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.05},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_pegreg252x504.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.05$}
|
||||||
|
\addplot3[blue, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.01},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_pegreg252x504.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.01$}
|
||||||
|
\addplot3[brown, line width=1.5] table[col sep=comma,
|
||||||
|
discard if not={gamma}{0.15},
|
||||||
|
x=SNR, y=gamma, z=BER]
|
||||||
|
{res/2d_ber_fer_dfr_pegreg252x504.csv};
|
||||||
|
\addlegendentry{$\gamma = 0.15$}
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{LDPC code (Progressive Edge Growth Construction) with $n=504, k=252$\\ \cite[Code: PEGReg252x504]{mackay_enc}}
|
||||||
|
\end{subfigure}%
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\begin{frame}[t, fragile]
|
\begin{frame}[t, fragile]
|
||||||
\frametitle{Proximal Decoding: Frame Error Rate}
|
\frametitle{Proximal Decoding: Frame Error Rate}
|
||||||
@ -149,7 +373,10 @@
|
|||||||
\begin{minipage}{.4\textwidth}
|
\begin{minipage}{.4\textwidth}
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
\begin{algorithm}[caption={}, label={},
|
\begin{figure}[htpb]
|
||||||
|
\centering
|
||||||
|
|
||||||
|
\begin{algorithm}[caption={}, label={},
|
||||||
basicstyle=\fontsize{7.5}{9.5}\selectfont
|
basicstyle=\fontsize{7.5}{9.5}\selectfont
|
||||||
]
|
]
|
||||||
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
||||||
@ -161,7 +388,10 @@ for $k=0$ to $K-1$ do
|
|||||||
If $\boldsymbol{\hat{x}}$ passes the parity check condition, break the loop.
|
If $\boldsymbol{\hat{x}}$ passes the parity check condition, break the loop.
|
||||||
end for
|
end for
|
||||||
Output $\boldsymbol{\hat{x}}$
|
Output $\boldsymbol{\hat{x}}$
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
|
||||||
|
\caption{Proximal decoding algorithm \cite{proximal_paper}}
|
||||||
|
\end{figure}
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\begin{minipage}{.6\textwidth}
|
\begin{minipage}{.6\textwidth}
|
||||||
\centering
|
\centering
|
||||||
@ -234,17 +464,118 @@ Output $\boldsymbol{\hat{x}}$
|
|||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\newcommand{\tikzbracemark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
|
%\newcommand{\tikzbracemark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
|
||||||
|
%
|
||||||
|
%\newcommand*{\AddNote}[4]{%
|
||||||
|
% \begin{tikzpicture}[overlay, remember picture]
|
||||||
|
% \draw [decoration={brace,amplitude=0.5em},decorate,ultra thick]
|
||||||
|
% ($(#3)!([yshift=1.5ex]#1)!($(#3)-(0,1)$)$) --
|
||||||
|
% ($(#3)!(#2)!($(#3)-(0,1)$)$)
|
||||||
|
% node [align=center, text width=2cm, pos=0.5, anchor=west] {#4};
|
||||||
|
% \end{tikzpicture}
|
||||||
|
%}%
|
||||||
|
%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%\begin{frame}[t, fragile]
|
||||||
|
% \frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
|
||||||
|
% \setcounter{footnote}{0}
|
||||||
|
%
|
||||||
|
% \begin{itemize}
|
||||||
|
% \item Comparison of proximal \& hybrid-proximal-ML\\
|
||||||
|
% decoding simulation
|
||||||
|
% \footnote{(3,6) regular LDPC Code with $n=204, k=102$
|
||||||
|
% \cite[Code: 204.33.484]{mackay_enc}}
|
||||||
|
% results
|
||||||
|
% \end{itemize}
|
||||||
|
%
|
||||||
|
% \begin{minipage}{.4\textwidth}
|
||||||
|
% \centering
|
||||||
|
%
|
||||||
|
% \begin{algorithm}[caption={}, label={},
|
||||||
|
% basicstyle=\fontsize{6.5}{7.5}\selectfont
|
||||||
|
% ]
|
||||||
|
%$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$$\hspace{4.185cm}\tikzbracemark{prox-start}$
|
||||||
|
%for $k=0$ to $K-1$ do
|
||||||
|
% $\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
|
||||||
|
% Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
|
||||||
|
% $\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
|
||||||
|
% $\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
|
||||||
|
% If $\boldsymbol{\hat{x}}$ passes the parity check condition, output $\boldsymbol{\hat{x}}$
|
||||||
|
%end for $\tikzbracemark{prox-end}$
|
||||||
|
%Find $N$ most probably wrong bits $\hspace{2cm}\tikzbracemark{ml-start}$
|
||||||
|
%Generate variations $\boldsymbol{\tilde{x}}_n$ of $\boldsymbol{\hat{x}}$ with the $N$ bits modified
|
||||||
|
%Compute $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right) \forall n \in \left[ 1 : N-1 \right] $
|
||||||
|
%Output $\boldsymbol{\tilde{x}}_n$ with lowest $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right)$ $\tikzbracemark{ml-end}$
|
||||||
|
% \end{algorithm}
|
||||||
|
%
|
||||||
|
% \AddNote{prox-start}{prox-end}{prox-start}{\small Proximal\\Decoding}
|
||||||
|
% \AddNote{ml-start}{ml-end}{ml-start}{\small ML-on-List}
|
||||||
|
% \end{minipage}%
|
||||||
|
% \begin{minipage}{.6\textwidth}
|
||||||
|
% \centering
|
||||||
|
% \begin{figure}[H]
|
||||||
|
% \centering
|
||||||
|
% \vspace*{-12mm}
|
||||||
|
%
|
||||||
|
% \begin{tikzpicture}[scale=0.42]
|
||||||
|
% \begin{axis}[
|
||||||
|
% grid=both,
|
||||||
|
% xlabel={SNR}, ylabel={BER},
|
||||||
|
% ymode=log,
|
||||||
|
% legend style={at={(0.05,0.05)},anchor=south west},
|
||||||
|
% ymax=1.5, ymin=3e-8,
|
||||||
|
% ]
|
||||||
|
%
|
||||||
|
% \addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
|
% \addlegendentry{proximal}
|
||||||
|
% \addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
||||||
|
% \addlegendentry{hybrid prox. \& ML}
|
||||||
|
% \end{axis}
|
||||||
|
% \end{tikzpicture}
|
||||||
|
% \begin{tikzpicture}[scale=0.42]
|
||||||
|
% \begin{axis}[
|
||||||
|
% grid=both,
|
||||||
|
% xlabel={SNR}, ylabel={FER},
|
||||||
|
% ymode=log,
|
||||||
|
% legend style={at={(0.05,0.05)},anchor=south west},
|
||||||
|
% ymax=1.5, ymin=3e-8,
|
||||||
|
% ]
|
||||||
|
%
|
||||||
|
% \addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
|
% \addlegendentry{proximal}
|
||||||
|
% \addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
||||||
|
% \addlegendentry{hybrid prox. \& ML}
|
||||||
|
% \end{axis}
|
||||||
|
% \end{tikzpicture}\\
|
||||||
|
% \begin{tikzpicture}[scale=0.42]
|
||||||
|
% \begin{axis}[
|
||||||
|
% grid=both,
|
||||||
|
% xlabel={SNR}, ylabel={Decoding Failure Rate},
|
||||||
|
% ymode=log,
|
||||||
|
% legend style={at={(0.05,0.05)},anchor=south west},
|
||||||
|
% ymax=1.5, ymin=3e-8,
|
||||||
|
% ]
|
||||||
|
%
|
||||||
|
% \addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_proximal.csv};
|
||||||
|
% \addlegendentry{proximal}
|
||||||
|
% \addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
|
||||||
|
% {res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
||||||
|
% \addlegendentry{hybrid prox. \& ML}
|
||||||
|
% \end{axis}
|
||||||
|
% \end{tikzpicture}
|
||||||
|
%
|
||||||
|
% \caption{Simulation results for $\gamma = 0.05, \omega = 0.05, K=200, N=12$}
|
||||||
|
% \label{fig:simulation_results_hybrid}
|
||||||
|
% \end{figure}
|
||||||
|
% \end{minipage}
|
||||||
|
%\end{frame}
|
||||||
|
|
||||||
\newcommand*{\AddNote}[4]{%
|
|
||||||
\begin{tikzpicture}[overlay, remember picture]
|
|
||||||
\draw [decoration={brace,amplitude=0.5em},decorate,ultra thick]
|
|
||||||
($(#3)!([yshift=1.5ex]#1)!($(#3)-(0,1)$)$) --
|
|
||||||
($(#3)!(#2)!($(#3)-(0,1)$)$)
|
|
||||||
node [align=center, text width=2cm, pos=0.5, anchor=west] {#4};
|
|
||||||
\end{tikzpicture}
|
|
||||||
}%
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\begin{frame}[t, fragile]
|
\begin{frame}[t, fragile]
|
||||||
@ -252,96 +583,56 @@ Output $\boldsymbol{\hat{x}}$
|
|||||||
\setcounter{footnote}{0}
|
\setcounter{footnote}{0}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Comparison of proximal \& hybrid-proximal-ML\\
|
\item Improvement of proximal decoding by adding an ``ML-on-list'' step after iterating
|
||||||
decoding simulation
|
|
||||||
\footnote{(3,6) regular LDPC Code with $n=204, k=102$
|
|
||||||
\cite[Code: 204.33.484]{mackay_enc}}
|
|
||||||
results
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{minipage}{.4\textwidth}
|
\begin{minipage}[t]{.48\textwidth}
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
\begin{algorithm}[caption={}, label={},
|
\begin{figure}
|
||||||
basicstyle=\fontsize{6.5}{7.5}\selectfont
|
\centering
|
||||||
|
|
||||||
|
\begin{algorithm}[caption={}, label={},
|
||||||
|
basicstyle=\fontsize{7.5}{9.5}\selectfont
|
||||||
]
|
]
|
||||||
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$$\hspace{4.185cm}\tikzbracemark{prox-start}$
|
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
||||||
for $k=0$ to $K-1$ do
|
for $k=0$ to $K-1$ do
|
||||||
$\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
|
$\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
|
||||||
Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
|
Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
|
||||||
$\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
|
$\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
|
||||||
$\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
|
$\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
|
||||||
If $\boldsymbol{\hat{x}}$ passes the parity check condition, output $\boldsymbol{\hat{x}}$
|
If $\boldsymbol{\hat{x}}$ passes the parity check condition, break the loop.
|
||||||
end for $\tikzbracemark{prox-end}$
|
end for
|
||||||
Find $N$ most probably wrong bits $\hspace{2cm}\tikzbracemark{ml-start}$
|
Output $\boldsymbol{\hat{x}}$
|
||||||
Generate variations $\boldsymbol{\tilde{x}}_n$ of $\boldsymbol{\hat{x}}$ with the $N$ bits modified
|
\end{algorithm}
|
||||||
Compute $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right) \forall n \in \left[ 1 : N-1 \right] $
|
|
||||||
Output $\boldsymbol{\tilde{x}}_n$ with lowest $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right)$ $\tikzbracemark{ml-end}$
|
\caption{Proximal decoding algorithm \cite{proximal_paper}}
|
||||||
\end{algorithm}
|
\end{figure}
|
||||||
|
|
||||||
\AddNote{prox-start}{prox-end}{prox-start}{\small Proximal\\Decoding}
|
|
||||||
\AddNote{ml-start}{ml-end}{ml-start}{\small ML-on-List}
|
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\begin{minipage}{.6\textwidth}
|
\hfill\begin{minipage}[t]{.48\textwidth}
|
||||||
\centering
|
\centering
|
||||||
\begin{figure}[H]
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
\vspace*{-12mm}
|
|
||||||
|
|
||||||
\begin{tikzpicture}[scale=0.42]
|
|
||||||
\begin{axis}[
|
|
||||||
grid=both,
|
|
||||||
xlabel={SNR}, ylabel={BER},
|
|
||||||
ymode=log,
|
|
||||||
legend style={at={(0.05,0.05)},anchor=south west},
|
|
||||||
ymax=1.5, ymin=3e-8,
|
|
||||||
]
|
|
||||||
|
|
||||||
\addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
|
\begin{algorithm}[caption={}, label={},
|
||||||
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
basicstyle=\fontsize{7.5}{9.5}\selectfont
|
||||||
\addlegendentry{proximal}
|
]
|
||||||
\addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
|
$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
|
||||||
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
for $k=0$ to $K-1$ do
|
||||||
\addlegendentry{hybrid prox. \& ML}
|
$\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
|
||||||
\end{axis}
|
Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
|
||||||
\end{tikzpicture}
|
$\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
|
||||||
\begin{tikzpicture}[scale=0.42]
|
$\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
|
||||||
\begin{axis}[
|
$\textcolor{KITblue}{\text{If }\boldsymbol{\hat{x}}\text{ passes the parity check condition, output }\boldsymbol{\hat{x}}}$
|
||||||
grid=both,
|
end for
|
||||||
xlabel={SNR}, ylabel={FER},
|
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
|
||||||
ymode=log,
|
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{x}}_n\text{ of }\boldsymbol{\hat{x}}\text{ with the }N\text{ bits modified.}}$
|
||||||
legend style={at={(0.05,0.05)},anchor=south west},
|
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right) \forall n \in \left[ 1 : N-1 \right]}$
|
||||||
ymax=1.5, ymin=3e-8,
|
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }d_H\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right)}$
|
||||||
]
|
\end{algorithm}
|
||||||
|
|
||||||
\addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
|
\caption{Hybrid proximal \& ML decoding algorithm}
|
||||||
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
|
||||||
\addlegendentry{proximal}
|
|
||||||
\addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
|
|
||||||
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
|
||||||
\addlegendentry{hybrid prox. \& ML}
|
|
||||||
\end{axis}
|
|
||||||
\end{tikzpicture}\\
|
|
||||||
\begin{tikzpicture}[scale=0.42]
|
|
||||||
\begin{axis}[
|
|
||||||
grid=both,
|
|
||||||
xlabel={SNR}, ylabel={Decoding Failure Rate},
|
|
||||||
ymode=log,
|
|
||||||
legend style={at={(0.05,0.05)},anchor=south west},
|
|
||||||
ymax=1.5, ymin=3e-8,
|
|
||||||
]
|
|
||||||
|
|
||||||
\addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
|
|
||||||
{res/2d_ber_fer_dfr_20433484_proximal.csv};
|
|
||||||
\addlegendentry{proximal}
|
|
||||||
\addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
|
|
||||||
{res/2d_ber_fer_dfr_20433484_hybrid.csv};
|
|
||||||
\addlegendentry{hybrid prox. \& ML}
|
|
||||||
\end{axis}
|
|
||||||
\end{tikzpicture}
|
|
||||||
|
|
||||||
\caption{Simulation results for $\gamma = 0.05, \omega = 0.05, K=200, N=12$}
|
|
||||||
\label{fig:simulation_results_hybrid}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
@ -376,7 +667,7 @@ end for
|
|||||||
Output $\boldsymbol{\hat{x}}$
|
Output $\boldsymbol{\hat{x}}$
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
|
||||||
\caption{Proximal decoding algorithm}
|
\caption{Proximal decoding algorithm \cite{proximal_paper}}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
@ -398,8 +689,8 @@ for $k=0$ to $K-1$ do
|
|||||||
end for
|
end for
|
||||||
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
|
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
|
||||||
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{x}}_n\text{ of }\boldsymbol{\hat{x}}\text{ with the }N\text{ bits modified.}}$
|
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{x}}_n\text{ of }\boldsymbol{\hat{x}}\text{ with the }N\text{ bits modified.}}$
|
||||||
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right) \forall n \in \left[ 1 : N-1 \right]}$
|
$\textcolor{KITblue}{\text{Compute }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle \forall n \in \left[ 1 : N-1 \right]}$
|
||||||
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }d_H\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right)}$
|
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{x}}_n\text{ with lowest }\langle \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \rangle}$
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
|
||||||
\caption{Hybrid proximal \& ML decoding algorithm}
|
\caption{Hybrid proximal \& ML decoding algorithm}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user