[thesis] Add BP text and error floor figure
This commit is contained in:
@@ -8,6 +8,21 @@
|
||||
long=belief propagation
|
||||
}
|
||||
|
||||
\DeclareAcronym{nms}{
|
||||
short=NMS,
|
||||
long=normalized min-sum
|
||||
}
|
||||
|
||||
\DeclareAcronym{spa}{
|
||||
short=SPA,
|
||||
long=sum-product algorithm
|
||||
}
|
||||
|
||||
\DeclareAcronym{llr}{
|
||||
short=LLR,
|
||||
long=log-likelihood ratio
|
||||
}
|
||||
|
||||
\DeclareAcronym{sc}{
|
||||
short=SC,
|
||||
long=spatially coupled
|
||||
|
||||
@@ -308,17 +308,79 @@ qualitative performance characteristic of an \ac{ldpc} code
|
||||
\cite[Fig.~1]{costello_spatially_2014}. We talk of the
|
||||
\textit{waterfall} and the \textit{error floor} regions.
|
||||
|
||||
% TODO: Make this look better
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
domain=-5:5,
|
||||
width=\figwidth,
|
||||
height=\figheight,
|
||||
width=12cm,
|
||||
height=9cm,
|
||||
xlabel={$E_b/N_0$ (dB)},
|
||||
ylabel={\ac{ber}},
|
||||
xmin=0, xmax=6,
|
||||
ymin=1e-9, ymax=1,
|
||||
ticks=none,
|
||||
% y tick label={},
|
||||
ymode=log,
|
||||
grid=both,
|
||||
grid style={line width=0.2pt, draw=gray!30},
|
||||
major grid style={line width=0.4pt, draw=gray!50},
|
||||
legend pos=north east,
|
||||
legend cell align={left},
|
||||
]
|
||||
\addplot+[mark=none, line width=1pt]
|
||||
{x^2};
|
||||
|
||||
\addplot+[mark=none, solid, thick, smooth] coordinates {
|
||||
(0.0, 1.2e-1)
|
||||
(0.3, 1.1e-1)
|
||||
(0.5, 9e-2)
|
||||
(0.7, 5e-2)
|
||||
(0.8, 2e-2)
|
||||
(0.9, 5e-3)
|
||||
(1.0, 8e-4)
|
||||
(1.1, 1e-4)
|
||||
(1.2, 1.5e-5)
|
||||
(1.3, 3e-6)
|
||||
(1.4, 5e-7)
|
||||
(1.5, 8e-8)
|
||||
(1.6, 2e-8)
|
||||
(1.8, 8e-9)
|
||||
(2.0, 5e-9)
|
||||
(2.5, 3e-9)
|
||||
(3.0, 2e-9)
|
||||
};
|
||||
\addlegendentry{Regular LDPC-BC}
|
||||
|
||||
\addplot+[mark=none, solid, thick, smooth] coordinates {
|
||||
(0.0, 1.5e-1)
|
||||
(0.3, 1.4e-1)
|
||||
(0.5, 1.2e-1)
|
||||
(0.6, 1.0e-1)
|
||||
(0.7, 6e-2)
|
||||
(0.8, 1e-2)
|
||||
(0.85, 2e-3)
|
||||
(0.9, 2e-4)
|
||||
(0.95, 2e-5)
|
||||
(1.0, 1.5e-6)
|
||||
(1.05, 1e-7)
|
||||
(1.1, 1e-8)
|
||||
(1.2, 3e-9)
|
||||
(1.5, 1.5e-9)
|
||||
(2.0, 1e-9)
|
||||
(2.5, 8e-10)
|
||||
(3.0, 6e-10)
|
||||
};
|
||||
\addlegendentry{Irregular LDPC-BC}
|
||||
|
||||
\draw[red, thick, rounded corners=12pt]
|
||||
(axis cs:0.55, 2e-3) rectangle (axis cs:1.55, 5e-5);
|
||||
\node[red, font=\small\bfseries, anchor=west] at (axis
|
||||
cs:1.6, 4e-4) {Waterfall};
|
||||
|
||||
\draw[red, thick, rounded corners=12pt]
|
||||
(axis cs:1.6, 8e-9) rectangle (axis cs:3.2, 4e-10);
|
||||
\node[red, font=\small\bfseries, anchor=west] at (axis
|
||||
cs:3.3, 2e-9) {Error floor};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
@@ -330,7 +392,7 @@ qualitative performance characteristic of an \ac{ldpc} code
|
||||
\label{fig:ldpc-perf}
|
||||
\end{figure}
|
||||
|
||||
Broadly, there are two kinds of \ac{LDPC} codes, \textit{regular} and
|
||||
Broadly, there are two kinds of \ac{ldpc} codes, \textit{regular} and
|
||||
\textit{irregular}.
|
||||
Regular codes are characterized by the fact that the weights, i.e.,
|
||||
the numbers of ones, of their rows and columns are constant
|
||||
@@ -364,13 +426,25 @@ waterfall region \cite[Intro.]{costello_spatially_2014}.
|
||||
|
||||
\subsection{Belief Propagation}
|
||||
|
||||
\red{[key points (sub-optimal but good enough, low complexity, \ldots)]} \\
|
||||
\red{[top-level overview (iterative algorithm that approximates \ldots)]}
|
||||
% TODO: Add exact reference
|
||||
As mentioned above, \ac{ldpc} codes are generally decoded using
|
||||
efficient iterative algorithms, something that is possilbe due to
|
||||
their sparsity \cite[\red{WHERE}?]{ryan_channel_2009}.
|
||||
Specifically, the \ac{spa} is a general decoder that provides
|
||||
near-optimal performance across many different scenarios.
|
||||
Often, the term \ac{bp} is used to denote a whole class of variants
|
||||
of the \ac{spa}, e.g., the \ac{nms} algorithm.
|
||||
The \ac{spa} is an algorithm that approximates the marginals of the
|
||||
probability distributions of the \acp{vn} by passing
|
||||
\textit{messages} in the form of \ac{llr} values along the edges of
|
||||
the Tanner graph.
|
||||
|
||||
\noindent\red{[SPA]} \\
|
||||
\red{[NMS]} \\
|
||||
\red{[BP for SC-LDPC codes]}
|
||||
|
||||
\red{
|
||||
\begin{itemize}
|
||||
\item Thanks to their sparsity, an efficient iterative
|
||||
decoder exists for LDPC codes, called \ac{bp}.
|
||||
\item SPA and NMS algorithms
|
||||
% TODO: Would it be better to split this into a separate section?
|
||||
\item Sliding-window decoding of SC-LDPC codes
|
||||
|
||||
Reference in New Issue
Block a user