diff --git a/latex/thesis/chapters/lp_dec_using_admm.tex b/latex/thesis/chapters/lp_dec_using_admm.tex index 4fc3695..6613a8c 100644 --- a/latex/thesis/chapters/lp_dec_using_admm.tex +++ b/latex/thesis/chapters/lp_dec_using_admm.tex @@ -690,7 +690,7 @@ while $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \b \Big) - \frac{\gamma_i}{\mu} \right)$ end for end while - \end{genericAlgorithm} +\end{genericAlgorithm} % \footnotetext{$\epsilon_{\text{pri}} > 0$ and $\epsilon_{\text{dual}} > 0$ are additional parameters @@ -700,7 +700,7 @@ $\boldsymbol{z}_j$ in the previous iteration.}% % \noindent The $\boldsymbol{z}_j$- and $\boldsymbol{\lambda}_j$-updates can be understood as a check-node update step (lines $3$-$6$) and the $\tilde{c}_i$-updates can be understood as -a variable-node update step (lines $7$-$9$ in figure \ref{fig:lp:message_passing}). +a variable-node update step (lines $7$-$9$ in figure \ref{alg:admm}). The updates for each variable- and check-node can be perfomed in parallel. The main computational effort in solving the linear program then amounts to diff --git a/latex/thesis/chapters/proximal_decoding.tex b/latex/thesis/chapters/proximal_decoding.tex index 8c5d7e6..e0d7246 100644 --- a/latex/thesis/chapters/proximal_decoding.tex +++ b/latex/thesis/chapters/proximal_decoding.tex @@ -246,7 +246,7 @@ return $\boldsymbol{\hat{c}}$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Implementation Details}% +\section{Implementation Details (``A Selection of Implementation Considerations?'')}% \label{sec:prox:Implementation Details} The algorithm was first implemented in Python because of the fast development @@ -302,8 +302,8 @@ the gradient can be written as% \boldsymbol{v} ,\end{align*} % -enabling the computation of the gradient primarily with element-wise -operations and matrix-vector multiplication. +enabling its computation primarily with element-wise operations and +matrix-vector multiplication. This is beneficial, as the libraries used for the implementation are heavily optimized for such calculations (e.g., through vectorization of the operations). @@ -848,14 +848,15 @@ the frame errors may largely be attributed to decoding failures. \subsection{Convergence Properties} +\label{subsec:prox:conv_properties} -The previous observation, that the \ac{FER} arises mainly due to the +The previous observation, that the \ac{FER} may arise mainly due to the non-convergence of the algorithm instead of convergence to the wrong codeword, raises the question why the decoding process does not converge so often. In figure \ref{fig:prox:convergence}, the iterative process is visualized. In order to be able to simultaneously consider all components of the vectors -being dealt with, a BCH code with $n=7$ and $k=4$ is chosen. -Each chart shows one component of the current estimates during a given +being dealt with, a BCH code with $n=7$ and $k=4$ has been chosen. +Each chart shows one component of the current estimate during a given iteration (alternating between $\boldsymbol{r}$ and $\boldsymbol{s}$), as well as the gradients of the negative log-likelihood and the code-constraint polynomial, which influence the next estimate. @@ -1271,11 +1272,35 @@ This gives rise to the notion that some property or behaviour of $\nabla h\left( \tilde{\boldsymbol{x}} \right) $ may be related in its magnitude to the confidence that a given bit is correct. And indeed, the magnitude of the oscillation of -$\nabla h\left( \tilde{\boldsymbol{x}} \right)$ (introduced in a previous -section) and the probability of having a bit error are strongly correlated, -a relationship depicted in figure \ref{fig:prox:correlation}. +$\nabla h\left( \tilde{\boldsymbol{x}} \right)$ (introduced previously in +section \ref{subsec:prox:conv_properties}) and the probability of having a bit +error are strongly correlated, a relationship depicted in figure +\ref{fig:prox:correlation}. + +\begin{figure}[H] + \centering -TODO: Figure + \begin{tikzpicture} + \begin{axis}[point meta min = -1, + point meta max = 1, + grid=both, + xlabel={$Var\left( \nabla h\left( \boldsymbol{x} \right) \right) $}, + ylabel={Bit error (bool)}, + ytick={0, 1}, + width=8cm, + height=3cm, + %colormap/viridis, + scale only axis,] + + \addplot [RoyalPurple, only marks,] + table [col sep=comma, x=grad_h_vars, y=bit_error] + {res/proximal/extreme_components_20433484_variance.csv}; + \end{axis} + \end{tikzpicture} + + \caption{Correlation between bit error and amplitude of oscillation} + \label{fig:prox:correlation} +\end{figure} \noindent The y-axis depicts whether there is a bit error and the x-axis the variance in $\nabla h\left( \tilde{\boldsymbol{x}} \right)$ past the iteration @@ -1289,25 +1314,179 @@ probably wrong bits, all variations of the estimate with those bits modified can be generated. An \ac{ML}-in-the-List step can then be performed in order to determine the most likely candidate. -This process is outlined in figure \ref{fig:prox:improved_algorithm}. +This process is outlined in algorithm \ref{alg:prox:improved}. +Its only difference to algorithm \ref{alg:prox} is that instead of returning +the last estimate when no valid result is reached, an ML-in-the-List step is +performed (highlighted in blue). -Figure \ref{fig:prox:improved_results} shows the gain that can be achieved. +\begin{genericAlgorithm}[caption={Improved proximal decoding algorithm}, + label={alg:prox:improved},] +$\boldsymbol{s} \leftarrow \boldsymbol{0}$ +for $K$ iterations do + $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ + $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $ + $\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $ + if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ + return $\boldsymbol{\hat{c}}$ + end if +end for +$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits}}$ +$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{c}}_i\text{ of }\boldsymbol{\hat{c}}\text{ with the }N\text{ bits modified}}$ +$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \tilde{c}}_i, \boldsymbol{\hat{c}} \right) \text{ for all valid codewords } \boldsymbol{\tilde{c}}_i}$ +$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_i\text{ with lowest }d_H\left( \boldsymbol{ \tilde{c}}_i, \boldsymbol{\hat{c}} \right)}$ +\end{genericAlgorithm} + +\todo{Not hamming distance, correlation} + +Figure \ref{fig:prox:improved_results} shows the gain that can be achieved, +when the number $N$ is chosen to be 12. Again, three values of gamma are chosen, for which the \ac{BER}, \ac{FER} and decoding failure rate is plotted. The simulation results for the original proximal decoding algorithm are shown with solid lines and the results for the improved version are shown with dashed lines. +For the case of $\gamma = 0.05$, the number of frame errors produced for the +datapoints at $\SI{6}{dB}$, $\SI{6.5}{dB}$ and $\SI{7}{dB}$ are +70, 17 and 2, respectively. \todo{Redo simulation with higher number of iterations} The gain seems to depend on the value of $\gamma$, as well as become more pronounced for higher \ac{SNR} values. This is to be expected, since with higher \ac{SNR} values the number of bit errors decreases, making the correction of those errors in the ML-in-the-List step more likely. -In figure \ref{fig:prox:improved_results_multiple} the decoding performance +In figure \ref{fig:prox:improved:comp} the decoding performance between proximal decoding and the improved algorithm is compared for a number of different codes. Similar behaviour can be observed in all cases, with varying improvement over standard proximal decoding. +\begin{figure}[H] + \centering + + \begin{tikzpicture} + \begin{axis}[ + grid=both, + xlabel={$E_b / N_0$}, ylabel={BER}, + ymode=log, + width=0.48\textwidth, + height=0.36\textwidth, + ymax=1.5, ymin=3e-8, + ] + \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, + width=0.48\textwidth, + height=0.36\textwidth, + ymax=1.5, ymin=3e-8, + ] + + \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, + width=0.48\textwidth, + height=0.36\textwidth, + ymax=1.5, ymin=3e-8, + ] + + \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:prox:improved_results} +\end{figure} + Interestingly, the improved algorithm does not have much different time complexity than proximal decoding. This is the case, because the ML-in-the-List step is only performed when the @@ -1317,11 +1496,339 @@ This is illustrated in figure \ref{fig:prox:time_complexity_comp}, where the average time needed to decode a single received frame is visualized for proximal decoding as well as for the improved algorithm. +\begin{figure}[H] + \centering + + \begin{tikzpicture} + \begin{axis}[grid=both, + xlabel={$n$}, ylabel={Time per frame (s)}, + legend style={at={(0.05,0.77)},anchor=south west}, + legend cell align={left},] + + \addplot[RedOrange, only marks, mark=*] + table [col sep=comma, x=n, y=spf] + {res/proximal/fps_vs_n.csv}; + \addlegendentry{proximal} + + \addplot[RoyalPurple, only marks, mark=triangle*] + table [col sep=comma, x=n, y=spf] + {res/hybrid/fps_vs_n.csv}; + \addlegendentry{improved ($N = 12$)} + \end{axis} + \end{tikzpicture} + + \caption{Time Complexity of Proximal Decoding and Modified Implementation% + \protect\footnotemark{}} + \label{fig:prox:time_complexity_comp} +\end{figure}% +% +\footnotetext{The datapoints depicted were calculated by evaluating the + metadata of \ac{FER} simulation results from the following codes: + BCH (31, 11); BCH (31, 26); \cite[\text{96.3.965; 204.33.484; 204.55.187; + 408.33.844; PEGReg252x504}]{mackay_enc} +}% +% + In conclusion, the decoding performance of proximal decoding can be improved by appending an ML-in-the-List step when the algorithm does not produce a valid result. -The gain is in some cases as high as $\SI{1}{dB}$ and can be achieved with +The gain can in some cases be as high as $\SI{1}{dB}$ and is achievable with negligible computational performance penalty. The improvement is mainly noticable for higher \ac{SNR} values and depends on the code as well as the chosen parameters. +\begin{figure}[H] + \centering + + \begin{subfigure}[c]{0.48\textwidth} + \centering + + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\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_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}% + \hfill% + \begin{subfigure}[c]{0.48\textwidth} + \centering + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\textwidth, + ] + + \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.48\textwidth} + \centering + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\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_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}% + \hfill% + \begin{subfigure}[c]{0.48\textwidth} + \centering + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\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_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.48\textwidth} + \centering + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\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_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}% + \hfill% + \begin{subfigure}[c]{0.48\textwidth} + \centering + \begin{tikzpicture} + \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, + width=\textwidth, + height=0.75\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_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}% + + \vspace{1cm} + + \begin{subfigure}[c]{\textwidth} + \centering + + \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} + \end{subfigure} + + \caption{Comparison of improvement in decoding performance for various + codes} + \label{fig:prox:improved:comp} +\end{figure} + diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484.csv new file mode 100644 index 0000000..d95e722 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484.csv @@ -0,0 +1,43 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.08857503397398564,1.0,0.5,101.0 +1.5,0.01,0.07048353321911288,0.9805825242718447,0.4950980392156863,103.0 +2.0,0.01,0.05350140056022409,0.9619047619047619,0.49029126213592233,105.0 +2.5,0.01,0.03744921391980215,0.9099099099099099,0.47641509433962265,111.0 +3.0,0.01,0.025939542483660132,0.8416666666666667,0.45701357466063347,120.0 +3.5,0.01,0.014778503994190268,0.7481481481481481,0.4279661016949153,135.0 +4.0,0.01,0.00835057641146911,0.507537688442211,0.33666666666666667,199.0 +4.5,0.01,0.004282382097820541,0.3754646840148699,0.27297297297297296,269.0 +5.0,0.01,0.0015746260263187492,0.1931166347992352,0.16185897435897437,523.0 +5.5,0.01,0.00065359477124183,0.08523206751054853,0.07853810264385692,1185.0 +6.0,0.01,0.0003127631420666426,0.04130879345603272,0.0396700706991359,2445.0 +6.5,0.01,0.00011029974518507847,0.015459972447573855,0.015224600542659028,6533.0 +7.0,0.01,2.7036508518478465e-05,0.00452894489036366,0.004508526024462101,22301.0 +7.5,0.01,8.101366552599426e-06,0.0014514830995631179,0.001449379349931836,69584.0 +1.0,0.05,0.0871559633027523,0.926605504587156,0.48095238095238096,109.0 +1.5,0.05,0.06592721834496511,0.8559322033898306,0.4611872146118721,118.0 +2.0,0.05,0.04344614558152028,0.6917808219178082,0.4089068825910931,146.0 +2.5,0.05,0.023415412676698586,0.4697674418604651,0.31962025316455694,215.0 +3.0,0.05,0.010770665574814613,0.23433874709976799,0.18984962406015038,431.0 +3.5,0.05,0.0049633888643176565,0.12656641604010024,0.11234705228031146,798.0 +4.0,0.05,0.00151358011559054,0.045660036166365284,0.043666234327712924,2212.0 +4.5,0.05,0.0003522100063308634,0.011482492041837199,0.011352141171181298,8796.0 +5.0,0.05,8.711464887548632e-05,0.0030893463432539077,0.003079831676526194,32693.0 +5.5,0.05,1.669054519578649e-05,0.0005991149707560712,0.000598756246924705,168582.0 +6.0,0.05,3.872549019607843e-06,0.00014,0.00013998040274361588,500000.0 +6.5,0.05,8.137254901960785e-07,3.4e-05,3.3998844039302665e-05,500000.0 +7.0,0.05,9.80392156862745e-08,4e-06,3.9999840000639995e-06,500000.0 +7.5,0.05,0.0,0.0,0.0,500000.0 +1.0,0.15,0.36318190642593673,1.0,0.5,101.0 +1.5,0.15,0.35721219180741604,1.0,0.5,101.0 +2.0,0.15,0.3584740827023879,1.0,0.5,101.0 +2.5,0.15,0.3616288099398175,1.0,0.5,101.0 +3.0,0.15,0.34989529792499524,0.9805825242718447,0.4950980392156863,103.0 +3.5,0.15,0.34784884827717494,0.9805825242718447,0.4950980392156863,103.0 +4.0,0.15,0.3346744358120607,0.9528301886792453,0.48792270531400966,106.0 +4.5,0.15,0.32926378098409176,0.9528301886792453,0.48792270531400966,106.0 +5.0,0.15,0.3075335397316821,0.8859649122807017,0.4697674418604651,114.0 +5.5,0.15,0.31763845889232883,0.8859649122807017,0.4697674418604651,114.0 +6.0,0.15,0.2609212802768166,0.7426470588235294,0.42616033755274263,136.0 +6.5,0.15,0.21796218487394958,0.6011904761904762,0.3754646840148699,168.0 +7.0,0.15,0.16116533949824471,0.4410480349344978,0.30606060606060603,229.0 +7.5,0.15,0.11419180852856903,0.28939828080229224,0.22444444444444445,349.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484_metadata.json new file mode 100644 index 0000000..7b6c9ab --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20433484_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 351.4174764650015, + "name": "2d_BER_FER_DFR_20433484", + "platform": "Linux-6.1.6-arch1-1-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-17 18:33:23.676873" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187.csv new file mode 100644 index 0000000..e980a1e --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187.csv @@ -0,0 +1,31 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.1282760629004077,1.0,0.5,101.0 +1.5,0.01,0.10891089108910891,1.0,0.5,101.0 +2.0,0.01,0.0815592903828198,0.9619047619047619,0.49029126213592233,105.0 +2.5,0.01,0.05990286022665947,0.926605504587156,0.48095238095238096,109.0 +3.0,0.01,0.03941495297305914,0.8211382113821138,0.45089285714285715,123.0 +3.5,0.01,0.02159746251441753,0.5941176470588235,0.3726937269372694,170.0 +4.0,0.01,0.008099504169483886,0.29022988505747127,0.22494432071269488,348.0 +4.5,0.01,0.003413511153449234,0.13630229419703105,0.11995249406175772,741.0 +5.0,0.01,0.0007971804984475959,0.048026628625772706,0.04582577132486389,2103.0 +5.5,0.01,0.00014528144415937685,0.010614818707304257,0.01050332778702163,9515.0 +1.0,0.05,0.13312948941953018,1.0,0.5,101.0 +1.5,0.05,0.11264991433466591,0.9805825242718447,0.4950980392156863,103.0 +2.0,0.05,0.08948390677025528,0.9528301886792453,0.48792270531400966,106.0 +2.5,0.05,0.06017854296190021,0.8211382113821138,0.45089285714285715,123.0 +3.0,0.05,0.03815004262574595,0.6273291925465838,0.38549618320610685,161.0 +3.5,0.05,0.01944624003447533,0.36996336996337,0.2700534759358289,273.0 +4.0,0.05,0.007252326217843459,0.16584564860426929,0.14225352112676057,609.0 +4.5,0.05,0.0021536038238009884,0.05595567867036011,0.05299055613850997,1805.0 +5.0,0.05,0.0004567736185383244,0.012752525252525253,0.01259194614137888,7920.0 +5.5,0.05,5.7238650812895664e-05,0.0018341293333575463,0.0018307714617169374,55067.0 +1.0,0.15,0.4978644923315861,1.0,0.5,101.0 +1.5,0.15,0.5006309454474859,1.0,0.5,101.0 +2.0,0.15,0.5033973985633857,1.0,0.5,101.0 +2.5,0.15,0.47709182682974177,1.0,0.5,101.0 +3.0,0.15,0.47005435837701415,1.0,0.5,101.0 +3.5,0.15,0.4798097456804504,1.0,0.5,101.0 +4.0,0.15,0.4680159192389827,1.0,0.5,101.0 +4.5,0.15,0.451465734808775,1.0,0.5,101.0 +5.0,0.15,0.40695981362842165,1.0,0.5,101.0 +5.5,0.15,0.33649132730015086,0.9711538461538461,0.4926829268292683,104.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187_metadata.json new file mode 100644 index 0000000..96e1ac6 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_20455187_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 55.621502028021496, + "name": "2d_BER_FER_DFR_20455187", + "platform": "Linux-6.1.6-arch1-3-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-24 08:55:18.173639" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844.csv new file mode 100644 index 0000000..62ded81 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844.csv @@ -0,0 +1,31 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.0918025626092021,1.0,0.5,101.0 +1.5,0.01,0.07178217821782178,1.0,0.5,101.0 +2.0,0.01,0.05319355464958261,1.0,0.5,101.0 +2.5,0.01,0.037701845444059974,0.9901960784313726,0.4975369458128079,102.0 +3.0,0.01,0.024914334665905195,0.9805825242718447,0.4950980392156863,103.0 +3.5,0.01,0.014256161180068358,0.926605504587156,0.48095238095238096,109.0 +4.0,0.01,0.00819607843137255,0.808,0.4469026548672566,125.0 +4.5,0.01,0.003703703703703704,0.5611111111111111,0.3594306049822064,180.0 +5.0,0.01,0.0017734056079769791,0.3447098976109215,0.2563451776649746,293.0 +5.5,0.01,0.0007903353279891611,0.19385796545105566,0.16237942122186494,521.0 +1.0,0.05,0.08972510572856593,0.9901960784313726,0.4975369458128079,102.0 +1.5,0.05,0.06624649859943978,0.9619047619047619,0.49029126213592233,105.0 +2.0,0.05,0.04635172653132049,0.8938053097345132,0.4719626168224299,113.0 +2.5,0.05,0.024525719378660556,0.6558441558441559,0.396078431372549,154.0 +3.0,0.05,0.010826771653543307,0.39763779527559057,0.28450704225352114,254.0 +3.5,0.05,0.004023473188558577,0.18100358422939067,0.15326251896813353,558.0 +4.0,0.05,0.0010486080573690086,0.05807935595169638,0.05489130434782609,1739.0 +4.5,0.05,0.00020709882532053673,0.012814006597310327,0.01265188525616936,7882.0 +5.0,0.05,3.131208430508767e-05,0.002224669603524229,0.0022197314344739676,45400.0 +5.5,0.05,6.4252223396991424e-06,0.00046369625599706175,0.00046348134143431416,217815.0 +1.0,0.15,0.3438895360124248,1.0,0.5,101.0 +1.5,0.15,0.34032226752086975,1.0,0.5,101.0 +2.0,0.15,0.33034847602407297,1.0,0.5,101.0 +2.5,0.15,0.32974179770918266,1.0,0.5,101.0 +3.0,0.15,0.3295476606484178,1.0,0.5,101.0 +3.5,0.15,0.32175791108522617,1.0,0.5,101.0 +4.0,0.15,0.3154241894777713,1.0,0.5,101.0 +4.5,0.15,0.32195204814599104,1.0,0.5,101.0 +5.0,0.15,0.3212483013007183,1.0,0.5,101.0 +5.5,0.15,0.31752210688196847,0.9901960784313726,0.4975369458128079,102.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844_metadata.json new file mode 100644 index 0000000..1e422c8 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_40833844_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 871.6730747620168, + "name": "2d_BER_FER_DFR_40833844", + "platform": "Linux-6.1.6-arch1-3-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-24 09:12:00.353386" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965.csv new file mode 100644 index 0000000..bf9455a --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965.csv @@ -0,0 +1,31 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.0943452380952381,0.9619047619047619,0.49029126213592233,105.0 +1.5,0.01,0.07425458715596331,0.926605504587156,0.48095238095238096,109.0 +2.0,0.01,0.05845385674931129,0.8347107438016529,0.45248868778280543,121.0 +2.5,0.01,0.04104938271604938,0.7481481481481481,0.425531914893617,135.0 +3.0,0.01,0.02481785063752277,0.5519125683060109,0.35563380281690143,183.0 +3.5,0.01,0.01668552036199095,0.45701357466063347,0.3136645962732919,221.0 +4.0,0.01,0.009225217864923748,0.3300653594771242,0.24815724815724816,306.0 +4.5,0.01,0.0038886542792792795,0.17060810810810811,0.14574314574314573,592.0 +5.0,0.01,0.0018921095008051529,0.09758454106280193,0.08890845070422536,1035.0 +5.5,0.01,0.0008550995024875622,0.04710820895522388,0.04498886414253898,2144.0 +1.0,0.05,0.09079861111111111,0.8416666666666667,0.45701357466063347,120.0 +1.5,0.05,0.06677704194260485,0.6688741721854304,0.396,151.0 +2.0,0.05,0.050011510128913444,0.5580110497237569,0.3489208633093525,181.0 +2.5,0.05,0.03151611922141119,0.3686131386861314,0.26541554959785524,274.0 +3.0,0.05,0.01758841234010534,0.22799097065462753,0.18265682656826568,443.0 +3.5,0.05,0.006907068532472192,0.10871905274488698,0.09365853658536585,929.0 +4.0,0.05,0.003318484521238301,0.05453563714902808,0.04879301489470981,1852.0 +4.5,0.05,0.0010753547719105914,0.018454229855655035,0.01794365691727974,5473.0 +5.0,0.05,0.0003437132188806364,0.006148788506027031,0.005629880743386404,16426.0 +5.5,0.05,9.290550348976298e-05,0.0017593979723373864,0.0016521451800838246,57406.0 +1.0,0.15,0.399236798679868,1.0,0.5,101.0 +1.5,0.15,0.38721955128205127,0.9711538461538461,0.4926829268292683,104.0 +2.0,0.15,0.3641141141141141,0.9099099099099099,0.47393364928909953,111.0 +2.5,0.15,0.34692028985507245,0.8782608695652174,0.4675925925925926,115.0 +3.0,0.15,0.31012139107611547,0.7952755905511811,0.44052863436123346,127.0 +3.5,0.15,0.2872767857142857,0.7214285714285714,0.41422594142259417,140.0 +4.0,0.15,0.23815104166666667,0.63125,0.3798449612403101,160.0 +4.5,0.15,0.2106729055258467,0.5401069518716578,0.34843205574912894,187.0 +5.0,0.15,0.19948186528497408,0.5233160621761658,0.3412969283276451,193.0 +5.5,0.15,0.17773729446935724,0.452914798206278,0.3117283950617284,223.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965_metadata.json new file mode 100644 index 0000000..44a42c3 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_963965_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 12.159791988000507, + "name": "2d_BER_FER_DFR_963965", + "platform": "Linux-6.1.6-arch1-3-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-24 09:16:22.859899" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26.csv new file mode 100644 index 0000000..c349f06 --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26.csv @@ -0,0 +1,31 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.1076036866359447,0.7214285714285714,0.014084507042253521,140.0 +1.5,0.01,0.09863523573200993,0.6474358974358975,0.006369426751592357,156.0 +2.0,0.01,0.06782464846980976,0.517948717948718,0.01015228426395939,195.0 +2.5,0.01,0.05789547823637132,0.4410480349344978,0.01293103448275862,229.0 +3.0,0.01,0.040507667900581704,0.33114754098360655,0.022435897435897436,305.0 +3.5,0.01,0.03225806451612903,0.24634146341463414,0.0024330900243309003,410.0 +4.0,0.01,0.021353930031803726,0.17781690140845072,0.01217391304347826,568.0 +4.5,0.01,0.013437889859205132,0.11160220994475138,0.006586169045005488,905.0 +5.0,0.01,0.0063573012906718825,0.05468327016783974,0.0021609940572663426,1847.0 +5.5,0.01,0.0027177400481643932,0.023636789141118653,0.00046783625730994154,4273.0 +1.0,0.05,0.08720083246618106,0.6516129032258065,0.00641025641025641,155.0 +1.5,0.05,0.0712799167533819,0.543010752688172,0.0053475935828877,186.0 +2.0,0.05,0.06328137058187992,0.48325358851674644,0.0,209.0 +2.5,0.05,0.04130340017436791,0.34121621621621623,0.010033444816053512,296.0 +3.0,0.05,0.02823529411764706,0.2376470588235294,0.009324009324009324,425.0 +3.5,0.05,0.021330060776063583,0.18297101449275363,0.0018083182640144665,552.0 +4.0,0.05,0.014593883328681367,0.12484548825710753,0.0,809.0 +4.5,0.05,0.006654567453115548,0.06110102843315184,0.0006045949214026602,1653.0 +5.0,0.05,0.0034803386837047425,0.032528180354267314,0.0003219575016097875,3105.0 +5.5,0.05,0.0017559403087039132,0.01671078755790867,0.000496113775425831,6044.0 +1.0,0.15,0.31174587540014775,0.7709923664122137,0.0,131.0 +1.5,0.15,0.32302867383512546,0.7013888888888888,0.0,144.0 +2.0,0.15,0.2903225806451613,0.6474358974358975,0.012658227848101266,156.0 +2.5,0.15,0.20661703887510338,0.517948717948718,0.00510204081632653,195.0 +3.0,0.15,0.20477476197243144,0.44493392070484583,0.0043859649122807015,227.0 +3.5,0.15,0.14526953886122537,0.3389261744966443,0.0,298.0 +4.0,0.15,0.1234954260953298,0.2512437810945274,0.0024813895781637717,402.0 +4.5,0.15,0.09664719329438659,0.19881889763779528,0.0,508.0 +5.0,0.15,0.055768179332968834,0.10699152542372882,0.0,944.0 +5.5,0.15,0.0412538327040519,0.0793401413982718,0.0,1273.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26_metadata.json new file mode 100644 index 0000000..478621a --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_bch_31_26_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 0.4332787909952458, + "name": "2d_BER_FER_DFR_bch_31_26", + "platform": "Linux-6.1.6-arch1-3-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-24 16:51:03.263440" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv b/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv new file mode 100644 index 0000000..408e15c --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv @@ -0,0 +1,31 @@ +SNR,gamma,BER,FER,DFR,num_iterations +1.0,0.01,0.09354864057834354,1.0,0.5,101.0 +1.5,0.01,0.07331447430457332,1.0,0.5,101.0 +2.0,0.01,0.05638063806380638,1.0,0.5,101.0 +2.5,0.01,0.040782649693540785,1.0,0.5,101.0 +3.0,0.01,0.024859943977591035,0.9901960784313726,0.4975369458128079,102.0 +3.5,0.01,0.01549865229110512,0.9528301886792453,0.48792270531400966,106.0 +4.0,0.01,0.008361678004535147,0.9017857142857143,0.47417840375586856,112.0 +4.5,0.01,0.003981570256738042,0.6778523489932886,0.404,149.0 +5.0,0.01,0.001657329598506069,0.396078431372549,0.28370786516853935,255.0 +5.5,0.01,0.00063619302096256,0.20240480961923848,0.16833333333333333,499.0 +1.0,0.05,0.09390224736759391,1.0,0.5,101.0 +1.5,0.05,0.06728351406569229,1.0,0.5,101.0 +2.0,0.05,0.04523809523809524,0.9619047619047619,0.49029126213592233,105.0 +2.5,0.05,0.02620517342739565,0.7481481481481481,0.4279661016949153,135.0 +3.0,0.05,0.010427855352667383,0.37969924812030076,0.27520435967302453,266.0 +3.5,0.05,0.0029187763037022796,0.13593539703903096,0.11966824644549763,743.0 +4.0,0.05,0.0006703462313819897,0.041512535963830664,0.039857932123125495,2433.0 +4.5,0.05,9.190850090968527e-05,0.006645611264640084,0.00660173867573044,15198.0 +5.0,0.05,1.3433806155116967e-05,0.0010221740934530255,0.0010211303204933778,98809.0 +5.5,0.05,1.5555555555555556e-06,0.000126,0.00012598412600012398,500000.0 +1.0,0.15,0.33667295300958666,1.0,0.5,101.0 +1.5,0.15,0.33075986170045574,1.0,0.5,101.0 +2.0,0.15,0.32374666038032374,1.0,0.5,101.0 +2.5,0.15,0.31655665566556657,1.0,0.5,101.0 +3.0,0.15,0.30365000785792867,1.0,0.5,101.0 +3.5,0.15,0.309013044161559,1.0,0.5,101.0 +4.0,0.15,0.3084040546911834,1.0,0.5,101.0 +4.5,0.15,0.3033160458903033,1.0,0.5,101.0 +5.0,0.15,0.3023338048090523,1.0,0.5,101.0 +5.5,0.15,0.30788982259570497,0.9901960784313726,0.4975369458128079,102.0 diff --git a/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504_metadata.json b/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504_metadata.json new file mode 100644 index 0000000..e2c00ae --- /dev/null +++ b/latex/thesis/res/hybrid/2d_ber_fer_dfr_pegreg252x504_metadata.json @@ -0,0 +1,9 @@ +{ + "duration": 3169.7098331579764, + "name": "2d_BER_FER_DFR_pegreg252x504", + "platform": "Linux-6.1.6-arch1-3-x86_64-with-glibc2.36", + "omega": 0.05, + "K": 200, + "min_var_k": 150, + "end_time": "2023-01-24 14:58:01.240346" +} \ No newline at end of file diff --git a/latex/thesis/res/hybrid/fps_vs_n.csv b/latex/thesis/res/hybrid/fps_vs_n.csv new file mode 100644 index 0000000..4326d1e --- /dev/null +++ b/latex/thesis/res/hybrid/fps_vs_n.csv @@ -0,0 +1,8 @@ +n,k,fps,spf +96,48,7374.0570635159675,0.00013561055893473079 +204,102,6601.111655956669,0.00015148963570365097 +204,102,1450.823819165217,0.000689263566526903 +408,204,317.62940489539665,0.0031483231230727054 +31,11,8433.078242796635,0.00011858066191359955 +31,26,61715.460243456524,1.6203395325177478e-05 +504,252,195.7683929010524,0.0051080768717626035 diff --git a/latex/thesis/res/proximal/extreme_components_20433484_variance.csv b/latex/thesis/res/proximal/extreme_components_20433484_variance.csv new file mode 100644 index 0000000..35e8930 --- /dev/null +++ b/latex/thesis/res/proximal/extreme_components_20433484_variance.csv @@ -0,0 +1,205 @@ +,grad_h_vars,bit_error +0,1.1469145950016066,0.0 +1,0.7349649597670473,0.0 +2,0.41034980410664235,0.0 +3,1.5936176557962956,0.0 +4,1.2556306230799523,0.0 +5,0.9501079929593809,0.0 +6,1.0608527311485363,0.0 +7,0.9065636992308471,0.0 +8,0.7130161266399191,0.0 +9,0.895826670845081,0.0 +10,1.5330042130453543,0.0 +11,0.8781452062655208,0.0 +12,0.6859253819091313,0.0 +13,0.8494837401995201,0.0 +14,1.7298258920316718,0.0 +15,0.5441116768013853,0.0 +16,1.0870164877307138,0.0 +17,0.8776332266276086,0.0 +18,2.3446586396116924,0.0 +19,1.381488362354177,0.0 +20,1.8361912485093685,0.0 +21,1.176340804980718,0.0 +22,0.30881298873064295,0.0 +23,1.046505970974569,0.0 +24,0.6542139798501604,0.0 +25,0.9358783438098642,0.0 +26,0.9145146314388769,0.0 +27,0.9325624236784603,0.0 +28,1.000558264485271,0.0 +29,1.1668018406385636,0.0 +30,0.9604669615462674,0.0 +31,0.8080509629925774,0.0 +32,0.31707179921145534,1.0 +33,0.7246558632787823,0.0 +34,0.5621649892107863,0.0 +35,0.7694807648719255,0.0 +36,0.6610013498912781,0.0 +37,0.7736375435823932,0.0 +38,0.5562601732655184,0.0 +39,0.18780885479261286,1.0 +40,1.7171254078500968,0.0 +41,0.5223816647948951,0.0 +42,0.8414436097078756,0.0 +43,0.891196054076969,0.0 +44,0.7485078461673225,0.0 +45,1.04287532172377,0.0 +46,0.10396015745641062,1.0 +47,0.4441693122072358,0.0 +48,1.1069364968607116,0.0 +49,0.9872887700316798,0.0 +50,0.7821904177749635,0.0 +51,0.9078965395457048,0.0 +52,1.2804728966125465,0.0 +53,0.8327949586188865,0.0 +54,1.052227851986963,0.0 +55,0.9063828067361694,0.0 +56,0.952160447221664,0.0 +57,1.0997592704590031,0.0 +58,0.43550867124864345,0.0 +59,2.0157240264588667,0.0 +60,1.3813325115541275,0.0 +61,1.7431077364927987,0.0 +62,1.1847336441743674,0.0 +63,1.5988112534577419,0.0 +64,0.9539590259773287,0.0 +65,0.7269923809541012,0.0 +66,0.8398432723726956,0.0 +67,1.409882546338875,0.0 +68,0.9013351730976709,0.0 +69,1.3941824623052859,0.0 +70,0.36277376770946385,0.0 +71,0.7629017682242774,0.0 +72,1.3614744362633528,0.0 +73,0.8404837668913099,0.0 +74,1.1332131299535815,0.0 +75,1.8141339310834872,0.0 +76,0.9198980762091067,0.0 +77,0.9487046055630209,0.0 +78,1.401111613370583,0.0 +79,1.151639175635881,0.0 +80,0.38790767209567306,0.0 +81,1.105773950986082,0.0 +82,0.8352297990223916,0.0 +83,0.8665562954089628,0.0 +84,1.4868580119778607,0.0 +85,0.9211843020326788,0.0 +86,1.1689944009257842,0.0 +87,1.0068677015448033,0.0 +88,1.0836181136301897,0.0 +89,0.9235435526128809,0.0 +90,0.6707729475015448,0.0 +91,0.5380953446627244,0.0 +92,0.9647446516243714,0.0 +93,0.7517372755928693,0.0 +94,0.946955187983692,0.0 +95,1.3954397761745327,0.0 +96,0.5352161356828059,0.0 +97,1.1072791988470319,0.0 +98,1.4240110977445817,0.0 +99,1.0902836656382533,0.0 +100,0.9945863889695074,0.0 +101,1.5189575775894155,0.0 +102,0.895129990068306,0.0 +103,1.3025913004882157,0.0 +104,0.6824840943770301,0.0 +105,0.5577623593934801,0.0 +106,0.5829910630128274,0.0 +107,1.300606650522138,0.0 +108,0.9758395820957634,0.0 +109,0.5011535319391117,0.0 +110,0.847385443182737,0.0 +111,1.6053646604821943,0.0 +112,0.7479584114380543,0.0 +113,0.7154358159984203,0.0 +114,1.2809985907651924,0.0 +115,0.8500925174070807,0.0 +116,0.9422984104715906,0.0 +117,1.0144193081149928,0.0 +118,0.8928703387803261,0.0 +119,0.9135384927123353,0.0 +120,1.1114031211227495,0.0 +121,0.5009132448338548,0.0 +122,1.17922019373665,0.0 +123,0.8808257592555049,0.0 +124,0.4736104892052034,0.0 +125,0.6125500836968003,0.0 +126,0.5798464193671122,0.0 +127,0.7622448243391861,0.0 +128,1.2639682341841492,0.0 +129,1.397033047299318,0.0 +130,0.9091683804677143,0.0 +131,1.2147541611710555,0.0 +132,0.2447114380129915,1.0 +133,1.4276638744510006,0.0 +134,1.6500906242808973,0.0 +135,0.7097495271906855,0.0 +136,0.6070289018226261,0.0 +137,1.707276208332383,0.0 +138,1.5552499418106627,0.0 +139,0.9026306223185824,0.0 +140,0.44266393218454547,0.0 +141,0.7572433991531969,0.0 +142,0.9938527639391456,0.0 +143,1.629492044830871,0.0 +144,0.7995704002918802,0.0 +145,0.7809987777608669,0.0 +146,0.848733412232679,0.0 +147,0.3222830373637598,0.0 +148,1.5543660011458496,0.0 +149,1.653926092422478,0.0 +150,1.281204520778369,0.0 +151,0.9815388578918458,0.0 +152,1.1368563793597533,0.0 +153,1.3142794996072125,0.0 +154,1.3986851636622872,0.0 +155,0.3012765656054378,0.0 +156,0.596092854844867,0.0 +157,0.8857431745997897,0.0 +158,1.2543247875702626,0.0 +159,1.1601351303300462,0.0 +160,0.9757095780886789,0.0 +161,0.5118576863239332,0.0 +162,0.3278302376347513,0.0 +163,0.7739041398840416,0.0 +164,1.348158158191261,0.0 +165,0.9373253418030763,0.0 +166,0.8407140796905404,0.0 +167,0.7701902562530398,0.0 +168,0.7373339357864163,0.0 +169,0.6322137476990133,0.0 +170,0.49406238720934886,0.0 +171,1.1373885990027888,0.0 +172,0.776329392554151,0.0 +173,1.5799647321616117,0.0 +174,0.9340163264984314,0.0 +175,1.051485368808022,0.0 +176,1.4547411595091289,0.0 +177,2.3122310673514046,0.0 +178,0.4431898892258028,0.0 +179,0.6602474324735155,0.0 +180,1.0284972218659039,0.0 +181,0.7079467538460712,0.0 +182,0.6992783811504699,0.0 +183,1.6858177272412607,0.0 +184,0.8646574331609789,0.0 +185,0.6073345697134169,0.0 +186,1.7225604717078735,0.0 +187,0.9394537943330523,0.0 +188,0.8585445078403137,0.0 +189,1.1868247620624086,0.0 +190,0.9530922847239147,0.0 +191,0.7991154274895775,0.0 +192,0.7751256589398754,0.0 +193,1.995312237243617,0.0 +194,1.0583299321954904,0.0 +195,1.0741257191353668,0.0 +196,1.0360387420102335,0.0 +197,1.6726289917395618,0.0 +198,1.5154012159268524,0.0 +199,0.6079634018868354,0.0 +200,1.1137919258655136,0.0 +201,0.34364650124488877,0.0 +202,0.8982288426167987,0.0 +203,0.7158776862928066,0.0 diff --git a/latex/thesis/res/proximal/fps_vs_n.csv b/latex/thesis/res/proximal/fps_vs_n.csv new file mode 100644 index 0000000..7f15082 --- /dev/null +++ b/latex/thesis/res/proximal/fps_vs_n.csv @@ -0,0 +1,8 @@ +n,k,fps,spf +96,48,23963.664002681122,4.1729845648316434e-05 +204,102,11466.593636251799,8.720985775919413e-05 +204,102,1262.3084456970446,0.0007921994053108008 +408,204,291.5566845813344,0.0034298647669010448 +31,11,48018.582682609645,2.0825271054119614e-05 +31,26,72986.7772585266,1.3701111866576847e-05 +504,252,252.54094111529753,0.0039597539930899765