Finish version ready for Probevortrag

This commit is contained in:
2024-06-20 01:49:40 +02:00
parent 6d04898997
commit 16f8dec75c
45 changed files with 1995 additions and 453 deletions

View File

@@ -754,7 +754,7 @@ return $\boldsymbol{\hat{c}}$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Visualization of Gradients}
\frametitle{Proximal Decoding: Oscillation of Estimate}
\vspace*{-5mm}
@@ -836,10 +836,10 @@ return $\boldsymbol{\hat{c}}$
\end{frame}
% TODO: Change second figure
% TODO: Maybe add newly simulated second figure
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Improvement}
\frametitle{Proximal Decoding: Oscillation of Estimate}
\vspace*{-3mm}
@@ -847,7 +847,7 @@ return $\boldsymbol{\hat{c}}$
\item Single decoding using a (3,6) regular LDPC code with $n=204, k=102$
\citereference{Mac23, 204.33.484}
\item For larger $n$, the gradient itself starts to oscillate
\item Dynamic range of oscillation highly correlated with probability of bit error
\item Amplitude of oscillation highly correlated with probability of bit error
\end{itemize}
\bigskip
@@ -885,23 +885,20 @@ return $\boldsymbol{\hat{c}}$
\end{subfigure}%
\begin{subfigure}[t]{0.5\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}[
point meta min = -1,
point meta max = 1,
grid=both,
xlabel={$Var\left( \nabla h\left( \tilde{\boldsymbol{x}} \right) \right) $},
ylabel={Bit error (bool)},
ytick={0, 1},
ylabel=$P(\hat{c}_{i'} \ne c_{i'})$,
xlabel=$i'$,
ymode=log,
ymin=8e-9,ymax=1e-5,
xmin=0,xmax=200,
width=0.85\textwidth,
height=0.4\textwidth,
scale only axis,
% colormap/viridis,
]
\addplot [KITorange, only marks,]
table [col sep=comma, x=grad_h_vars, y=bit_error]
{res/proximal/extreme_components_20433484_variance.csv};
\addplot+ [scol0, mark=none, line width=1]
table [col sep=comma, y=p_error]{res/new_stuff/p_error.csv};
\end{axis}
\end{tikzpicture}
\end{subfigure}
@@ -1028,7 +1025,7 @@ return $\boldsymbol{\hat{c}}$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t, fragile]
\frametitle{Proximal Decoding: Improvement}
\frametitle{Improved Algorithm}
\vspace*{-0.5cm}
@@ -1080,8 +1077,8 @@ for $K$ iterations do
end for
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits}}$
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with }N\text{ bits modified}}$
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \hat{c}}_l, \boldsymbol{\hat{c}} \right) \text{ for all valid codewords } \boldsymbol{\hat{c}}_l}$
$\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d_H\left( \boldsymbol{ \hat{c}}_l, \boldsymbol{\hat{c}} \right)}$
$\textcolor{KITblue}{\text{Compute }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{ for all codewords } \boldsymbol{\hat{c}}_l}$
$\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with highest }\boldsymbol{y}^\text{T}\boldsymbol{ \hat{c}}_l \text{, prioritizing valid codewords}}$
\end{algorithm}
\end{figure}
\end{minipage}
@@ -1089,7 +1086,7 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Improvement}
\frametitle{Improved Algorithm}
\vspace{-0.6cm}
@@ -1202,441 +1199,230 @@ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d
Jan. 2023. URL: \url{http://www.inference.org.uk/mackay/codes/data.html}.}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Improved Algorithm: Effect of parameter $N$}
\vspace*{-5mm}
\begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
\item Chosen parameters: $\gamma = 0.05$
\end{itemize}
\smallskip
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[ymode=log,
xlabel={$E_b / N_0$ (dB)},
ylabel={FER},
legend pos=outer north east,
width=0.45\textwidth,
height=0.3375\textwidth,
legend cell align={left}, grid,
]
\addplot[scol3, line width=1pt]
table [col sep=comma, discard if not={gamma}{0.05},
x = SNR, y=FER] {res/new_stuff/2d_ber_fer_dfr_20433484_abs_N_4.csv};
\addlegendentry{$N=4$}
\addplot[KITorange, line width=1pt]
table [col sep=comma, discard if not={gamma}{0.05},
x = SNR, y=FER] {res/new_stuff/2d_ber_fer_dfr_20433484_abs_N_6.csv};
\addlegendentry{$N=6$}
\addplot[scol2, line width=1pt]
table [col sep=comma, discard if not={gamma}{0.05},
x = SNR, y=FER] {res/new_stuff/2d_ber_fer_dfr_20433484_abs_N_8.csv};
\addlegendentry{$N=8$}
\addplot[scol1, line width=1pt]
table [col sep=comma, discard if not={gamma}{0.05},
x = SNR, y=FER] {res/new_stuff/2d_ber_fer_dfr_20433484_abs_N_10.csv};
\addlegendentry{$N=10$}
\addplot[scol0, line width=1pt]
table [col sep=comma, discard if not={gamma}{0.05},
x = SNR, y=FER] {res/new_stuff/2d_ber_fer_dfr_20433484_abs.csv};
\addlegendentry{$N=12$}
\end{axis}
\end{tikzpicture}
\end{figure}%
\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{Proximal Decoding: Improvement using \\``ML-in-the-List''}
%
% \vspace{-0.5cm}
%
% \begin{itemize}
% \item Comparison of proximal \& improved (correction of $N = \SI{12}{\bit}$)
% decoding simulation%
% \footnote{(3,6) regular LDPC code with $n=204, k=102$
% \cite[Code: 204.33.484]{mackay_enc}}
% results
% \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.33\textwidth,
% height=0.28\textwidth,
% ]
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20433484.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.33\textwidth,
% height=0.28\textwidth,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
% \end{axis}
% \end{tikzpicture}
% \begin{tikzpicture}
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={Decoding Failure Rate},
% ymode=log,
% legend columns=2,
% legend style={at={(0.5,-0.45)},anchor=south},
% ymax=1.5, ymin=3e-8,
% width=0.33\textwidth,
% height=0.28\textwidth,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_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{ForestGreen, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.15$}
%
% \addlegendimage{NavyBlue, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.01$}
%
% \addlegendimage{RedOrange, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.05$}
%
% \addlegendimage{Emerald, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.15$}
%
% \addlegendimage{RoyalPurple, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.01$}
%
% \addlegendimage{red, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.05$}
% \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{frame}
\begin{frame}[fragile]
\frametitle{Improved Algorithm: List Choice Policy}
\vspace*{-5mm}
\begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
\item Chosen parameters: $N=8, \gamma = 0.05$
\end{itemize}
\vspace*{-5mm}
\begin{figure}
\centering
\begin{subfigure}[c]{0.66\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}[
grid=both, grid style={line width=.1pt},
xlabel={$E_b / N_0$ (dB)},
ylabel={BER (\lineintext{}), FER (\lineintext{dashed})},
ymode=log,
legend cell align={left},
legend pos={outer north east},
width=0.68\textwidth,
height=0.51\textwidth,
ymax=1.2, ymin=0.8e-4,
xtick={1, 2, ..., 5},
xmin=0.9, xmax=5.6,
legend columns=1,
]
%
% Proximal
%
\addplot[name path=maxBER1, mark=none, scol0]
table[col sep=comma, x=SNR, y=max_BER]
{res/new_stuff/proximal.csv};
\addplot[name path=minBER1, mark=none, scol0, forget plot]
table[col sep=comma, x=SNR, y=min_BER]
{res/new_stuff/proximal.csv};
\addplot[scol0!50, forget plot] fill between[of=minBER1 and maxBER1];
\addplot[name path=maxFER1, mark=none, scol0, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=max_FER]
{res/new_stuff/proximal.csv};
\addplot[name path=minFER1, mark=none, scol0, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=min_FER]
{res/new_stuff/proximal.csv};
\addplot[scol0!50, forget plot] fill between[of=minFER1 and maxFER1];
\addlegendentry{Proximal}
%
% Improved Random
%
\addplot[name path=maxBER2, mark=none, scol1]
table[col sep=comma, x=SNR, y=max_BER]
{res/new_stuff/improved_random.csv};
\addplot[name path=minBER2, mark=none, scol1, forget plot]
table[col sep=comma, x=SNR, y=min_BER]
{res/new_stuff/improved_random.csv};
\addplot[scol1!50, forget plot] fill between[of=minBER2 and maxBER2];
\addplot[name path=maxFER2, mark=none, scol1, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=max_FER]
{res/new_stuff/improved_random.csv};
\addplot[name path=minFER2, mark=none, scol1, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=min_FER]
{res/new_stuff/improved_random.csv};
% \addplot[only marks, scol0, forget plot]
% table[col sep=comma, x=SNR, y=min_DFR]
% {res/new_stuff/improved_random.csv};
\addplot[scol1!50, forget plot] fill between[of=minFER2 and maxFER2];
\addlegendentry{Improved: Random}
%
% Improved ML
%
\addplot[name path=maxBER4, mark=none, scol2]
table[col sep=comma, x=SNR, y=max_BER]
{res/new_stuff/improved_ml.csv};
\addplot[name path=minBER4, mark=none, scol2, forget plot]
table[col sep=comma, x=SNR, y=min_BER]
{res/new_stuff/improved_ml.csv};
\addplot[scol2!50, forget plot] fill between[of=minBER4 and maxBER4];
\addplot[name path=maxFER4, mark=none, scol2, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=max_FER]
{res/new_stuff/improved_ml.csv};
\addplot[name path=minFER4, mark=none, scol2, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=min_FER]
{res/new_stuff/improved_ml.csv};
\addplot[scol2!50, forget plot] fill between[of=minFER4 and maxFER4];
\addlegendentry{Improved: ML}
%
% Improved Hamming
%
\addplot[name path=maxBER3, mark=none, KITorange]
table[col sep=comma, x=SNR, y=max_BER]
{res/new_stuff/improved_hamming.csv};
\addplot[name path=minBER3, mark=none, KITorange, forget plot]
table[col sep=comma, x=SNR, y=min_BER]
{res/new_stuff/improved_hamming.csv};
\addplot[KITorange!50, forget plot] fill between[of=minBER3 and maxBER3];
\addplot[name path=maxFER3, mark=none, KITorange, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=max_FER]
{res/new_stuff/improved_hamming.csv};
\addplot[name path=minFER3, mark=none, KITorange, densely dashed, forget plot]
table[col sep=comma, x=SNR, y=min_FER]
{res/new_stuff/improved_hamming.csv};
\addplot[KITorange!50, forget plot] fill between[of=minFER3 and maxFER3];
\addlegendentry{Improved: Hamming}
\end{axis}
\end{tikzpicture}
%\caption{Comparison of FER and BER of the improved algorithm for
% different list choice policies.}
\end{subfigure}%
\begin{subfigure}[c]{0.33\textwidth}
\centering
\begin{tabular}{c c c c c c}
$E_b/N_0$ & \shortstack{list size\\ mean} & \shortstack{list size\\ var.} \\
\hline
1.0 & 1.0 & 0.0 \\
1.5 & 1.0 & 0.0 \\
2.0 & 1.0 & 0.0 \\
2.5 & 1.0 & 0.0 \\
3.0 & 1.0 & 0.0 \\
3.5 & 1.0 & 0.0 \\
4.0 & 1.0 & 0.0 \\
4.5 & 1.0 & 0.0 \\
5.0 & 1.0 & 0.0 \\
5.5 & 1.0 & 0.0
\end{tabular}
\caption{List size statistics for successful decodings (no frame error).}
\end{subfigure}
\end{figure}
\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{Proximal Decoding: Improvement}
%
% \begin{minipage}[c]{0.9\textwidth}
% \centering
% \begin{figure}[H]
% \vspace*{-0.6cm}
% \hspace*{-0.7cm}
% \centering
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
%
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% %legend columns=2,
% %legend style={at={(0.5,-0.45)},anchor=south},
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_963965.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_963965.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_963965.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_963965.csv};
%
% \addplot[RedOrange, 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[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_963965.csv};
% \end{axis}
% \end{tikzpicture}
% \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \cite[\text{96.3.965}]{mackay_enc}}
% \end{subfigure}%
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% xmin=0.5, xmax=6, xtick={1, ..., 5},
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid,]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={gamma}{0.15},
% discard if gt={SNR}{5.5},]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={gamma}{0.15},
% discard if gt={SNR}{5.5},]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={gamma}{0.01},
% discard if gt={SNR}{5.5},]
% {res/proximal/2d_ber_fer_dfr_20433484.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma,
% discard if not={gamma}{0.01},
% discard if gt={SNR}{5.5},]
% {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
% \addplot[RedOrange, 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};
% \addplot[red, mark=triangle, densely dashed]
% 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};
% \end{axis}
% \end{tikzpicture}
% \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc}}
% \end{subfigure}%
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% %legend columns=2,
% %legend style={at={(0.5,-0.45)},anchor=south},
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_40833844.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_40833844.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_40833844.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_40833844.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_40833844.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_40833844.csv};
% \end{axis}
% \end{tikzpicture}
% \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \cite[\text{408.33.844}]{mackay_enc}}
% \end{subfigure}
% \hspace*{-0.7cm}
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% %legend columns=2,
% %legend style={at={(0.5,-0.45)},anchor=south},
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
%
% \addplot[RedOrange, mark=*, solid]
% 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[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
% \end{axis}
% \end{tikzpicture}
% \caption{BCH code with $n=31, k=26$\\[\baselineskip]}
% \end{subfigure}%
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% %legend columns=2,
% %legend style={at={(0.5,-0.45)},anchor=south},
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_20455187.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_20455187.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_20455187.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_20455187.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_20455187.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_20455187.csv};
% \end{axis}
% \end{tikzpicture}
% \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.55.187}]{mackay_enc}}
% \end{subfigure}%
% \begin{subfigure}[c]{0.33\textwidth}
% \centering
% \begin{tikzpicture}[scale=0.4]
% \begin{axis}[
% grid=both,
% xlabel={$E_b / N_0$}, ylabel={FER},
% ymode=log,
% legend columns=1,
% legend pos=outer north east,
% ymax=1.5, ymin=8e-5,
% ]
%
% \addplot[ForestGreen, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
% \addplot[Emerald, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
% {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
%
% \addplot[NavyBlue, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
% \addplot[RoyalPurple, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
% {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
%
% \addplot[RedOrange, mark=*, solid]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
% \addplot[red, mark=triangle, densely dashed]
% table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
% {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
% \end{axis}
% \end{tikzpicture}
% \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \cite[\text{PEGReg252x504}]{mackay_enc}}
% \end{subfigure}%
% \end{figure}
% \end{minipage}%
% \begin{minipage}[c]{0.1\textwidth}
% \centering
%
% \begin{figure}
% \vspace*{-1.5cm}
% \hspace*{-0.7cm}
% \centering
% \begin{tikzpicture}[scale=0.7]
% \begin{axis}[hide axis,
% xmin=10, xmax=50,
% ymin=0, ymax=0.4,
% legend style={draw=white!15!black,legend cell align=left}]
% \addlegendimage{ForestGreen, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.15$}
%
% \addlegendimage{Emerald, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.15$}
%
% \addlegendimage{NavyBlue, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.01$}
%
% \addlegendimage{RoyalPurple, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.01$}
%
% \addlegendimage{RedOrange, mark=*, solid}
% \addlegendentry{proximal, $\gamma = 0.05$}
%
% \addlegendimage{red, mark=triangle, densely dashed}
% \addlegendentry{improved, $\gamma = 0.05$}
% \end{axis}
% \end{tikzpicture}
%
% \end{figure}
% \end{minipage}
%\end{frame}