[thesis] Add BP text and error floor figure

This commit is contained in:
2026-03-30 23:19:11 +02:00
parent 1e3af6c69e
commit 4ae8f66603
2 changed files with 99 additions and 10 deletions

View File

@@ -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

View File

@@ -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