[thesis] Add BP text and error floor figure
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user