Wording; TODOs; Fixed LDPC acronyms; Reordered figures and some paragraphs
This commit is contained in:
parent
08042c7c9d
commit
c519491aa2
@ -347,9 +347,9 @@ First, the effect of the parameter $\gamma$ is investigated.
|
||||
Figure \ref{fig:prox:results} shows a comparison of the decoding performance
|
||||
of the proximal decoding algorithm as presented by Wadayama et al. in
|
||||
\cite{proximal_paper} and the implementation realized for this work.
|
||||
\noindent The \ac{BER} curves for three different choices of the parameter
|
||||
$\gamma$ are shown, as well as the \ac{BER} curve resulting from decoding
|
||||
using \ac{BP}, as a reference.
|
||||
\noindent The \ac{BER} curves for three different choices of
|
||||
$\gamma$ are shown, as well as the curve resulting from decoding
|
||||
using a \ac{BP} decoder, as a reference.
|
||||
The results from Wadayama et al. are shown with solid lines,
|
||||
while the newly generated ones are shown with dashed lines.
|
||||
|
||||
@ -409,7 +409,7 @@ while the newly generated ones are shown with dashed lines.
|
||||
\label{fig:prox:results}
|
||||
\end{figure}
|
||||
%
|
||||
\footnotetext{(3,6) regular LDPC code with $n = 204$, $k = 102$
|
||||
\footnotetext{(3,6) regular \ac{LDPC} code with $n = 204$, $k = 102$
|
||||
\cite[\text{204.33.484}]{mackay_enc}; $\omega = 0.05, K=200, \eta=1.5$
|
||||
}%
|
||||
%
|
||||
@ -479,8 +479,8 @@ in each case.
|
||||
\label{fig:prox:results_3d}
|
||||
\end{figure}%
|
||||
%
|
||||
\footnotetext{(3,6) regular LDPC code with n = 204, k = 102 \cite[\text{204.33.484}]{mackay_enc};
|
||||
$\omega = 0.05, K=200, \eta=1.5$
|
||||
\footnotetext{(3,6) regular \ac{LDPC} code with n = 204, k = 102
|
||||
\cite[\text{204.33.484}]{mackay_enc}; $\omega = 0.05, K=200, \eta=1.5$
|
||||
}%
|
||||
%
|
||||
\noindent This indicates \todo{This is a result fit for the conclusion}
|
||||
@ -535,7 +535,7 @@ Summarizing the above considerations, \ldots
|
||||
{res/proximal/2d_ber_fer_dfr_963965.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{LDPC} code with $n=96, k=48$
|
||||
\cite[\text{96.3.965}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
\hfill
|
||||
@ -600,7 +600,7 @@ Summarizing the above considerations, \ldots
|
||||
{res/proximal/2d_ber_fer_dfr_20433484.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{LDPC} code with $n=204, k=102$
|
||||
\cite[\text{204.33.484}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
\hfill
|
||||
@ -633,7 +633,7 @@ Summarizing the above considerations, \ldots
|
||||
{res/proximal/2d_ber_fer_dfr_20455187.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$
|
||||
\caption{$\left( 5, 10 \right)$-regular \ac{LDPC} code with $n=204, k=102$
|
||||
\cite[\text{204.55.187}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
|
||||
@ -666,7 +666,7 @@ Summarizing the above considerations, \ldots
|
||||
{res/proximal/2d_ber_fer_dfr_40833844.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{LDPC} code with $n=408, k=204$
|
||||
\cite[\text{408.33.844}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
\hfill
|
||||
@ -809,7 +809,7 @@ Summarizing the above considerations, \ldots
|
||||
\label{fig:prox:ber_fer_dfr}
|
||||
\end{figure}%
|
||||
%
|
||||
\footnotetext{(3,6) regular LDPC code with n = 204, k = 102
|
||||
\footnotetext{(3,6) regular \ac{LDPC} code with n = 204, k = 102
|
||||
\cite[\text{204.33.484}]{mackay_enc}; $\omega = 0.05, K=100, \eta=1.5$
|
||||
}%
|
||||
%
|
||||
@ -1164,6 +1164,12 @@ are minimized in an alternating manner by use of their gradients.%
|
||||
\label{fig:prox:gradients}
|
||||
\end{figure}%
|
||||
%
|
||||
|
||||
\todo{Better explain what is visible on the two gradient plots: the two valid
|
||||
codewords (-1, -1) and (1, 1); the section between them where a decision in
|
||||
which direction to move is difficult; maybe say why the gradient of $L$ points
|
||||
to one specific point}
|
||||
|
||||
While the initial net movement is generally directed in the right direction
|
||||
owing to the gradient of the negative log-likelihood, the final oscillation
|
||||
may well take place in a segment of space not corresponding to a valid
|
||||
@ -1179,6 +1185,16 @@ a valid codeword before the oscillation takes place.
|
||||
This explains why the decoding performance is so much better for higher
|
||||
\acp{SNR}.
|
||||
|
||||
Looking at figure \ref{fig:prox:gradients:h} it also becomes apparent why the
|
||||
value of the parameter $\gamma$ has to be kept small, as mentioned in section
|
||||
\ref{sec:prox:Decoding Algorithm}.
|
||||
Local minima are introduced between the codewords, in the areas in which it is
|
||||
not immediately clear which codeword is the most likely one.
|
||||
Raising the value of $\gamma$ results in
|
||||
$h \left( \tilde{\boldsymbol{x}} \right)$ dominating the landscape of the
|
||||
objective function, thereby introducing these local minima into the objective
|
||||
function. \todo{Show equation again and explain on the basis of the equation}
|
||||
|
||||
When considering codes with larger $n$, the behaviour generally stays the
|
||||
same, with some minor differences.
|
||||
In figure \ref{fig:prox:convergence_large_n} the decoding process is
|
||||
@ -1190,16 +1206,6 @@ However, in this case, the gradient of the code-constraint polynomial iself
|
||||
starts to oscillate, its average value being such that the effect of the
|
||||
gradient of the negative log-likelihood is counteracted.
|
||||
|
||||
Looking at figure \ref{fig:prox:gradients:h} it also becomes apparent why the
|
||||
value of the parameter $\gamma$ has to be kept small, as mentioned in section
|
||||
\ref{sec:prox:Decoding Algorithm}.
|
||||
Local minima are introduced between the codewords, in the ares in which it is
|
||||
not immediately clear which codeword is the most likely one.
|
||||
Raising the value of $\gamma$ results in
|
||||
$h \left( \tilde{\boldsymbol{x}} \right)$ dominating the landscape of the
|
||||
objective function, thereby introducing these local minima into the objective
|
||||
function.
|
||||
|
||||
In conclusion, as a general rule, the proximal decoding algorithm reaches
|
||||
an oscillatory state which it cannot escape as a consequence of its structure.
|
||||
In this state, the constraints may not be satisfied, leading to the algorithm
|
||||
@ -1213,7 +1219,7 @@ returning an invalid codeword.
|
||||
grid=both,
|
||||
xlabel={Iterations},
|
||||
width=0.6\textwidth,
|
||||
height=0.45\textwidth,
|
||||
height=0.225\textwidth,
|
||||
scale only axis,
|
||||
xtick={0, 100, ..., 400},
|
||||
xticklabels={0, 50, ..., 200},
|
||||
@ -1237,6 +1243,8 @@ returning an invalid codeword.
|
||||
\label{fig:prox:convergence_large_n}
|
||||
\end{figure}%
|
||||
|
||||
\todo{Fix captions / footnotes referencing the different codes in all figures}
|
||||
|
||||
|
||||
\subsection{Computational Performance}
|
||||
|
||||
@ -1341,7 +1349,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }
|
||||
|
||||
\todo{Not hamming distance, correlation}
|
||||
|
||||
Figure \ref{fig:prox:improved_results} shows the gain that can be achieved,
|
||||
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.
|
||||
@ -1356,9 +1364,14 @@ 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:comp} the decoding performance
|
||||
between proximal decoding and the improved algorithm is compared for a number
|
||||
of different codes.
|
||||
In the case of the code with $n=504$ shown in figure
|
||||
\ref{fig:prox:improved:comp:504}, only 76 frame errors where produced to
|
||||
generate the point for the improved algorithm for $\gamma=0.05$ at
|
||||
$\SI{5.5}{dB}$.
|
||||
Similar behaviour can be observed in all cases, with varying improvement over
|
||||
standard proximal decoding.
|
||||
|
||||
@ -1498,6 +1511,13 @@ terms happens relatively infrequently.
|
||||
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.
|
||||
It should be noted that some variability in the data is to be expected,
|
||||
since the timing of the actual simulations depends on a multitude of other
|
||||
parameters, such as the outside temperature (because of thermal throttling),
|
||||
the scheduling choices of the operating system as well as variations in the
|
||||
implementations themselves.
|
||||
Nevertheless, the empirical data serves, at least in part, to validate the
|
||||
theoretical considerations.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@ -1535,7 +1555,8 @@ proximal decoding as well as for the improved algorithm.
|
||||
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 can in some cases be as high as $\SI{1}{dB}$ and is achievable with
|
||||
The gain can in some cases be as high as $\SI{1}{dB}$ \todo{Explicitly mention this value earlier}
|
||||
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.
|
||||
@ -1580,9 +1601,53 @@ the code as well as the chosen parameters.
|
||||
{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}}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{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,
|
||||
%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}
|
||||
@ -1632,48 +1697,9 @@ the code as well as the chosen parameters.
|
||||
{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}}
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{LDPC} code with $n=204, k=102$
|
||||
\cite[\text{204.33.484}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}[c]{0.48\textwidth}
|
||||
@ -1694,27 +1720,29 @@ the code as well as the chosen parameters.
|
||||
|
||||
\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};
|
||||
{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_bch_31_26.csv};
|
||||
{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_bch_31_26.csv};
|
||||
{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_bch_31_26.csv};
|
||||
{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_bch_31_26.csv};
|
||||
{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_bch_31_26.csv};
|
||||
{res/hybrid/2d_ber_fer_dfr_20455187.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{BCH code with $n=31, k=26$\\[\baselineskip]}
|
||||
|
||||
\caption{$\left( 5, 10 \right)$-regular \ac{LDPC} code with $n=204, k=102$
|
||||
\cite[\text{204.55.187}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
|
||||
\begin{subfigure}[c]{0.48\textwidth}
|
||||
@ -1735,27 +1763,29 @@ the code as well as the chosen parameters.
|
||||
|
||||
\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};
|
||||
{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_20455187.csv};
|
||||
{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_20455187.csv};
|
||||
{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_20455187.csv};
|
||||
{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_20455187.csv};
|
||||
{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_20455187.csv};
|
||||
{res/hybrid/2d_ber_fer_dfr_40833844.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}}
|
||||
|
||||
\caption{$\left( 3, 6 \right)$-regular \ac{LDPC} code with $n=408, k=204$
|
||||
\cite[\text{408.33.844}]{mackay_enc}}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}[c]{0.48\textwidth}
|
||||
@ -1795,7 +1825,9 @@ the code as well as the chosen parameters.
|
||||
\end{axis}
|
||||
\end{tikzpicture}\\
|
||||
|
||||
\caption{LDPC code (Progressive Edge Growth Construction) with $n=504, k=252$ \cite[\text{PEGReg252x504}]{mackay_enc}}
|
||||
\caption{\ac{LDPC} code (progressive edge growth construction) with $n=504, k=252$
|
||||
\cite[\text{PEGReg252x504}]{mackay_enc}}
|
||||
\label{fig:prox:improved:comp:504}
|
||||
\end{subfigure}%
|
||||
|
||||
\vspace{1cm}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user