Compare commits

..

No commits in common. "14b5bdac91b13eade328a0a5f46e9b54c1aea14c" and "3805d927bf135b618eec5c80719bf01a8f55cd42" have entirely different histories.

View File

@ -26,6 +26,10 @@
\hyphenation{op-tical net-works semi-conduc-tor IEEE-Xplore} \hyphenation{op-tical net-works semi-conduc-tor IEEE-Xplore}
\newif\ifoverleaf
%\overleaftrue
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Inputs & Global Options % Inputs & Global Options
@ -33,18 +37,6 @@
% %
\newif\ifoverleaf
%\overleaftrue % When enabled, this option allows the document to be compiled
% on overleaf:
% - common.tex is sourced from a different directory
% - TikZ Externalization is disabled
% - Figures are included from pre-build PDFs
%
% Figures
%
\ifoverleaf \ifoverleaf
\input{common.tex} \input{common.tex}
\else \else
@ -53,8 +45,12 @@
\input{lib/latex-common/common.tex} \input{lib/latex-common/common.tex}
\fi \fi
\addbibresource{letter.bib}
\AtBeginBibliography{\footnotesize}
\pgfplotsset{colorscheme/cel} \pgfplotsset{colorscheme/cel}
% TODO
\newcommand{\figwidth}{\columnwidth} \newcommand{\figwidth}{\columnwidth}
\newcommand{\figheight}{0.75\columnwidth} \newcommand{\figheight}{0.75\columnwidth}
@ -71,13 +67,6 @@
}, },
} }
%
% Bibliography
%
\addbibresource{letter.bib}
\AtBeginBibliography{\footnotesize}
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -373,43 +362,38 @@ decoded bits.%
\begin{figure} \begin{figure}
\centering \centering
\begin{tikzpicture}
\ifoverleaf \begin{axis}[
\includegraphics{figs/letter-figure0.pdf} grid=both,
\else xlabel={$E_\text{b} / N_0$ (dB)}, ylabel={},
\begin{tikzpicture} ymode=log,
\begin{axis}[ xmin=1, xmax=8,
grid=both, ymax=1, ymin=1e-6,
xlabel={$E_\text{b} / N_0$ (dB)}, ylabel={}, % ytick={1e-0, 1e-2, 1e-4, 1e-6},
ymode=log, width=\figwidth,
xmin=1, xmax=8, height=\figheight,
ymax=1, ymin=1e-6, legend pos = south west,
% ytick={1e-0, 1e-2, 1e-4, 1e-6}, ]
width=\figwidth, \addplot+[FERPlot, mark=o, mark options={solid}, scol1]
height=\figheight, table [x=SNR, y=FER, col sep=comma,
legend pos = south west, discard if not={gamma}{0.05},
] discard if gt={SNR}{9}]
\addplot+[FERPlot, mark=o, mark options={solid}, scol1] {res/proximal_ber_fer_dfr_20433484.csv};
table [x=SNR, y=FER, col sep=comma, \addlegendentry{FER}
discard if not={gamma}{0.05}, \addplot+[BERPlot, mark=*, scol1]
discard if gt={SNR}{9}] table [x=SNR, y=BER, col sep=comma,
{res/proximal_ber_fer_dfr_20433484.csv}; discard if not={gamma}{0.05},
\addlegendentry{FER} discard if gt={SNR}{7.5}]
\addplot+[BERPlot, mark=*, scol1] {res/proximal_ber_fer_dfr_20433484.csv};
table [x=SNR, y=BER, col sep=comma, \addlegendentry{BER}
discard if not={gamma}{0.05}, \addplot+[DFRPlot, mark=square*, scol0]
discard if gt={SNR}{7.5}] table [x=SNR, y=DFR, col sep=comma,
{res/proximal_ber_fer_dfr_20433484.csv}; discard if not={gamma}{0.05},
\addlegendentry{BER} discard if gt={SNR}{9}]
\addplot+[DFRPlot, mark=square*, scol0] {res/proximal_ber_fer_dfr_20433484.csv};
table [x=SNR, y=DFR, col sep=comma, \addlegendentry{DFR}
discard if not={gamma}{0.05}, \end{axis}
discard if gt={SNR}{9}] \end{tikzpicture}
{res/proximal_ber_fer_dfr_20433484.csv};
\addlegendentry{DFR}
\end{axis}
\end{tikzpicture}
\fi
\caption{FER, DFR, and BER for $\left( 3, 6 \right)$-regular LDPC code with \caption{FER, DFR, and BER for $\left( 3, 6 \right)$-regular LDPC code with
$n=204, k=102$ \cite[\text{204.33.484}]{mackay}. $n=204, k=102$ \cite[\text{204.33.484}]{mackay}.
@ -443,100 +427,93 @@ optimization process.%
\begin{figure} \begin{figure}
\centering \centering
\ifoverleaf \begin{tikzpicture}
\includegraphics{figs/letter-figure1.pdf} \begin{axis}[xmin = -1.25, xmax=1.25,
\else ymin = -1.25, ymax=1.25,
\begin{tikzpicture} xlabel={$\tilde{x}_1$},
\begin{axis}[xmin = -1.25, xmax=1.25, ylabel={$\tilde{x}_2$},
ymin = -1.25, ymax=1.25, y label style={at={(axis description cs:-0.06,0.5)},anchor=south},
xlabel={$\tilde{x}_1$}, width=\figwidth,
ylabel={$\tilde{x}_2$}, height=\figheight,
y label style={at={(axis description cs:-0.06,0.5)},anchor=south}, grid=major, grid style={dotted},
width=\figwidth, view={0}{90}]
height=\figheight, \addplot3[point meta=\thisrow{grad_norm},
grid=major, grid style={dotted}, point meta min=1,
view={0}{90}] point meta max=2.5,
\addplot3[point meta=\thisrow{grad_norm}, quiver={u=\thisrow{grad_0},
point meta min=1, v=\thisrow{grad_1},
point meta max=2.5, scale arrows=.05,
quiver={u=\thisrow{grad_0}, every arrow/.append style={%
v=\thisrow{grad_1}, line width=.3
scale arrows=.05, +\pgfplotspointmetatransformed/1000,
every arrow/.append style={% -{Latex[length=0pt 5,width=0pt 3]}
line width=.3 },
+\pgfplotspointmetatransformed/1000, },
-{Latex[length=0pt 5,width=0pt 3]} quiver/colored = {mapped color},
}, -stealth,
}, ]
quiver/colored = {mapped color}, table[col sep=comma] {res/2d_grad_L.csv};
-stealth, \end{axis}
] \begin{axis}[hide axis,
table[col sep=comma] {res/2d_grad_L.csv}; width=\figwidth,
\end{axis} height=\figheight,
\begin{axis}[hide axis, xmin=10, xmax=50,
width=\figwidth, ymin=0, ymax=0.4,
height=\figheight, legend style={draw=white!15!black,
xmin=10, xmax=50, legend cell align=left,
ymin=0, ymax=0.4, empty legend,
legend style={draw=white!15!black, at={(0.9775,0.97)},anchor=north east}]
legend cell align=left, \addlegendimage{mark=none}
empty legend, \addlegendentry{
at={(0.9775,0.97)},anchor=north east}] $\nabla L\left(\boldsymbol{y}
\addlegendimage{mark=none} \mid \tilde{\boldsymbol{x}}\right)$
\addlegendentry{ };
$\nabla L\left(\boldsymbol{y} \end{axis}
\mid \tilde{\boldsymbol{x}}\right)$ \end{tikzpicture}
};
\end{axis}
\end{tikzpicture}
\fi
\vspace{3mm} \vspace{3mm}
\ifoverleaf \begin{tikzpicture}
\includegraphics{figs/letter-figure2.pdf} \begin{axis}[xmin = -1.25, xmax=1.25,
\else ymin = -1.25, ymax=1.25,
\begin{tikzpicture} width=\figwidth,
\begin{axis}[xmin = -1.25, xmax=1.25, height=\figheight,
ymin = -1.25, ymax=1.25, xlabel={$\tilde{x}_1$},
width=\figwidth, ylabel={$\tilde{x}_2$},
height=\figheight, y label style={at={(axis description cs:-0.06,0.5)},anchor=south},
xlabel={$\tilde{x}_1$}, grid=major, grid style={dotted},
ylabel={$\tilde{x}_2$}, view={0}{90}]
y label style={at={(axis description cs:-0.06,0.5)},anchor=south}, \addplot3[point meta=\thisrow{grad_norm},
grid=major, grid style={dotted}, point meta min=1,
view={0}{90}] point meta max=7,
\addplot3[point meta=\thisrow{grad_norm}, quiver={u=\thisrow{grad_0},
point meta min=1, v=\thisrow{grad_1},
point meta max=7, scale arrows=.03,
quiver={u=\thisrow{grad_0}, every arrow/.append style={%
v=\thisrow{grad_1}, line width=.5
scale arrows=.03, +\pgfplotspointmetatransformed/1000,
every arrow/.append style={% -{Latex[length=0pt 5,width=0pt 3]}
line width=.5 },
+\pgfplotspointmetatransformed/1000, },
-{Latex[length=0pt 5,width=0pt 3]} quiver/colored = {mapped color},
}, -stealth,
}, ]
quiver/colored = {mapped color}, table[col sep=comma] {res/2d_grad_h.csv};
-stealth, \end{axis}
] \begin{axis}[hide axis,
table[col sep=comma] {res/2d_grad_h.csv}; width=\figwidth,
\end{axis} height=\figheight,
\begin{axis}[hide axis, xmin=10, xmax=50,
width=\figwidth, ymin=0, ymax=0.4,
height=\figheight, legend style={draw=white!15!black,
xmin=10, xmax=50, legend cell align=left,
ymin=0, ymax=0.4, empty legend,
legend style={draw=white!15!black, at={(0.9775,0.97)},anchor=north east}]
legend cell align=left, \addlegendimage{mark=none}
empty legend, \addlegendentry{$\nabla h\left(\tilde{\boldsymbol{x}}\right)$};
at={(0.9775,0.97)},anchor=north east}] \end{axis}
\addlegendimage{mark=none} \end{tikzpicture}
\addlegendentry{$\nabla h\left(\tilde{\boldsymbol{x}}\right)$};
\end{axis}
\end{tikzpicture}
\fi
\caption{Gradients \caption{Gradients
$\nabla L\left(\boldsymbol{y} \mid \tilde{\boldsymbol{x}}\right)$ $\nabla L\left(\boldsymbol{y} \mid \tilde{\boldsymbol{x}}\right)$
and $\nabla h \left( \tilde{\boldsymbol{x}} \right)$ for a repetition and $\nabla h \left( \tilde{\boldsymbol{x}} \right)$ for a repetition
@ -560,40 +537,36 @@ oscillate after a certain number of iterations.%
\begin{figure} \begin{figure}
\centering \centering
\ifoverleaf \begin{tikzpicture}
\includegraphics{figs/letter-figure3.pdf} \begin{axis}[
\else grid=both,
\begin{tikzpicture} xlabel={Iterations},
\begin{axis}[ width=\figwidth,
grid=both, height=\figheight,
xlabel={Iterations}, xtick={0, 100, ..., 400},
width=\figwidth, xticklabels={0, 50, ..., 200},
height=\figheight, xmin=0, xmax=300,
xtick={0, 100, ..., 400}, ymin=-4, ymax=2,
xticklabels={0, 50, ..., 200}, ytick={-4,-3,...,2},
xmin=0, xmax=300, legend pos = south east,
ymin=-4, ymax=2, ]
ytick={-4,-3,...,2}, \addplot+ [mark=none, line width=1]
legend pos = south east, table [col sep=comma, x=k, y=comb_r_s_0,
] discard if gt={k}{300}]
\addplot+ [mark=none, line width=1] {res/extreme_components_20433484_combined.csv};
table [col sep=comma, x=k, y=comb_r_s_0, \addplot+ [mark=none, line width=1,
discard if gt={k}{300}] discard if gt={k}{300}]
{res/extreme_components_20433484_combined.csv}; table [col sep=comma, x=k, y=grad_L_0]
\addplot+ [mark=none, line width=1, {res/extreme_components_20433484_combined.csv};
discard if gt={k}{300}] \addplot+ [mark=none, line width=1]
table [col sep=comma, x=k, y=grad_L_0] table [col sep=comma, x=k, y=grad_h_0,
{res/extreme_components_20433484_combined.csv}; discard if gt={k}{300}]
\addplot+ [mark=none, line width=1] {res/extreme_components_20433484_combined.csv};
table [col sep=comma, x=k, y=grad_h_0, \addlegendentry{$\left(\tilde{\boldsymbol{x}}\right)_1$}
discard if gt={k}{300}] \addlegendentry{$\left(\nabla L\right)_1$}
{res/extreme_components_20433484_combined.csv}; \addlegendentry{$\left(\nabla h\right)_1$}
\addlegendentry{$\left(\tilde{\boldsymbol{x}}\right)_1$} \end{axis}
\addlegendentry{$\left(\nabla L\right)_1$} \end{tikzpicture}
\addlegendentry{$\left(\nabla h\right)_1$}
\end{axis}
\end{tikzpicture}
\fi
\caption{Visualization of component $\left(\tilde{\boldsymbol{x}}\right)_1$ \caption{Visualization of component $\left(\tilde{\boldsymbol{x}}\right)_1$
for a decoding operation for a (3,6) regular LDPC code with for a decoding operation for a (3,6) regular LDPC code with
@ -622,25 +595,21 @@ the probability that a given component was decoded incorrectly.%
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\ifoverleaf \begin{tikzpicture}
\includegraphics{figs/letter-figure4.pdf} \begin{axis}[
\else grid=both,
\begin{tikzpicture} ylabel=$P(\hat{c}_{i'} \ne c_{i'})$,
\begin{axis}[ xlabel=$i'$,
grid=both, ymode=log,
ylabel=$P(\hat{c}_{i'} \ne c_{i'})$, ymin=1e-9,ymax=1e-5,
xlabel=$i'$, xmin=0,xmax=200,
ymode=log, width=0.95\figwidth,
ymin=1e-9,ymax=1e-5, height=\figheight,
xmin=0,xmax=200, ]
width=0.95\figwidth, \addplot+ [scol0, mark=none, line width=1]
height=\figheight, table [col sep=comma, y=p_error]{res/p_error.csv};
] \end{axis}
\addplot+ [scol0, mark=none, line width=1] \end{tikzpicture}
table [col sep=comma, y=p_error]{res/p_error.csv};
\end{axis}
\end{tikzpicture}
\fi
\caption{Probability that a component of the estimated codeword \caption{Probability that a component of the estimated codeword
$\hat{\boldsymbol{c}}\in \mathbb{F}_2^n$ is erroneous for a (3,6) regular $\hat{\boldsymbol{c}}\in \mathbb{F}_2^n$ is erroneous for a (3,6) regular
@ -714,54 +683,50 @@ Again, these parameters were chosen,%
\begin{figure} \begin{figure}
\centering \centering
\ifoverleaf \begin{tikzpicture}
\includegraphics{figs/letter-figure5.pdf} \begin{axis}[
\else grid=both,
\begin{tikzpicture} xlabel={$E_\text{b} / N_0$ (dB)},
\begin{axis}[ ymode=log,
grid=both, xmin=1, xmax=8,
xlabel={$E_\text{b} / N_0$ (dB)}, ymax=1, ymin=1e-6,
ymode=log, width=\figwidth,
xmin=1, xmax=8, height=\figheight,
ymax=1, ymin=1e-6, legend columns=2,
width=\figwidth, legend style={draw=white!15!black,
height=\figheight, legend cell align=left,
legend columns=2, at={(0.5,-0.44)},anchor=south}
legend style={draw=white!15!black, ]
legend cell align=left,
at={(0.5,-0.44)},anchor=south}
]
\addplot+[FERPlot, mark=o, mark options={solid}, scol1] \addplot+[FERPlot, mark=o, mark options={solid}, scol1]
table [x=SNR, y=FER, col sep=comma, table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if not={gamma}{0.05},
discard if gt={SNR}{9}] discard if gt={SNR}{9}]
{res/proximal_ber_fer_dfr_20433484.csv}; {res/proximal_ber_fer_dfr_20433484.csv};
\addlegendentry{FER, prox. dec.}; \addlegendentry{FER, prox. dec.};
\addplot+[BERPlot, mark=*, scol1] \addplot+[BERPlot, mark=*, scol1]
table [x=SNR, y=BER, col sep=comma, table [x=SNR, y=BER, col sep=comma,
discard if not={gamma}{0.05}, discard if not={gamma}{0.05},
discard if gt={SNR}{7.5}] discard if gt={SNR}{7.5}]
{res/proximal_ber_fer_dfr_20433484.csv}; {res/proximal_ber_fer_dfr_20433484.csv};
\addlegendentry{BER, prox. dec.}; \addlegendentry{BER, prox. dec.};
\addplot+[FERPlot, mark=triangle, mark options={solid}, scol2] \addplot+[FERPlot, mark=triangle, mark options={solid}, scol2]
table [x=SNR, y=FER, col sep=comma, table [x=SNR, y=FER, col sep=comma,
discard if not={gamma}{0.05}, discard if not={gamma}{0.05},
discard if gt={SNR}{7.5}] discard if gt={SNR}{7.5}]
{res/improved_ber_fer_dfr_20433484.csv}; {res/improved_ber_fer_dfr_20433484.csv};
\addlegendentry{FER, improved}; \addlegendentry{FER, improved};
\addplot+[BERPlot, mark=triangle*, scol2] \addplot+[BERPlot, mark=triangle*, scol2]
table [x=SNR, y=BER, col sep=comma, table [x=SNR, y=BER, col sep=comma,
discard if not={gamma}{0.05}, discard if not={gamma}{0.05},
discard if gt={SNR}{6.5}] discard if gt={SNR}{6.5}]
{res/improved_ber_fer_dfr_20433484.csv}; {res/improved_ber_fer_dfr_20433484.csv};
\addlegendentry{BER, improved}; \addlegendentry{BER, improved};
\end{axis} \end{axis}
\end{tikzpicture} \end{tikzpicture}
\fi
\caption{FER and BER of proximal decoding \cite{proximal_paper} and the \caption{FER and BER of proximal decoding \cite{proximal_paper} and the
improved algorithm for a $\left( 3, 6 \right)$-regular LDPC code with improved algorithm for a $\left( 3, 6 \right)$-regular LDPC code with
@ -824,3 +789,4 @@ Ministry of Education and Research (BMBF) within the project Open6GHub
\printbibliography \printbibliography
\end{document} \end{document}