[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 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}{ \DeclareAcronym{sc}{
short=SC, short=SC,
long=spatially coupled 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 \cite[Fig.~1]{costello_spatially_2014}. We talk of the
\textit{waterfall} and the \textit{error floor} regions. \textit{waterfall} and the \textit{error floor} regions.
% TODO: Make this look better
\begin{figure}[t] \begin{figure}[t]
\centering \centering
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[ \begin{axis}[
domain=-5:5, width=12cm,
width=\figwidth, height=9cm,
height=\figheight, 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{axis}
\end{tikzpicture} \end{tikzpicture}
@@ -330,7 +392,7 @@ qualitative performance characteristic of an \ac{ldpc} code
\label{fig:ldpc-perf} \label{fig:ldpc-perf}
\end{figure} \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}. \textit{irregular}.
Regular codes are characterized by the fact that the weights, i.e., Regular codes are characterized by the fact that the weights, i.e.,
the numbers of ones, of their rows and columns are constant 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} \subsection{Belief Propagation}
\red{[key points (sub-optimal but good enough, low complexity, \ldots)]} \\ % TODO: Add exact reference
\red{[top-level overview (iterative algorithm that approximates \ldots)]} 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{ \red{
\begin{itemize} \begin{itemize}
\item Thanks to their sparsity, an efficient iterative
decoder exists for LDPC codes, called \ac{bp}.
\item SPA and NMS algorithms \item SPA and NMS algorithms
% TODO: Would it be better to split this into a separate section? % TODO: Would it be better to split this into a separate section?
\item Sliding-window decoding of SC-LDPC codes \item Sliding-window decoding of SC-LDPC codes