[thesis] Top-align figures; add content outline; write sc intro
This commit is contained in:
@@ -37,3 +37,18 @@
|
|||||||
short=CN,
|
short=CN,
|
||||||
long=chek node
|
long=chek node
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{ber}{
|
||||||
|
short=BER,
|
||||||
|
long=bit error rate
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{fer}{
|
||||||
|
short=FER,
|
||||||
|
long=frame error rate
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{awgn}{
|
||||||
|
short=AWGN,
|
||||||
|
long=additive white Gaussian noise
|
||||||
|
}
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ Finally, we differentiate between \textit{soft-decision} decoding, where
|
|||||||
$\bm{y} \in \mathbb{R}^n$, and \textit{hard-decision} decoding, where
|
$\bm{y} \in \mathbb{R}^n$, and \textit{hard-decision} decoding, where
|
||||||
$\bm{y} \in \mathbb{F}_2^n$ \cite[Sec.~1.5.1.3]{ryan_channel_2009}.
|
$\bm{y} \in \mathbb{F}_2^n$ \cite[Sec.~1.5.1.3]{ryan_channel_2009}.
|
||||||
%
|
%
|
||||||
\begin{figure}[h]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
\tikzset{
|
\tikzset{
|
||||||
@@ -194,8 +194,8 @@ This would quickly render decoding intractable as we increase the block length.
|
|||||||
We can get around this problem by constructing $\bm{H}$ in such a
|
We can get around this problem by constructing $\bm{H}$ in such a
|
||||||
manner that the number of nonzero entries grows less than quadratically, e.g.,
|
manner that the number of nonzero entries grows less than quadratically, e.g.,
|
||||||
only linearly.
|
only linearly.
|
||||||
This is exactly the motivation behind \ac{ldpc} codes \cite[Ch.
|
This is exactly the motivation behind \ac{ldpc} codes
|
||||||
1]{gallager_low_1960}.
|
\cite[Ch.~1]{gallager_low_1960}.
|
||||||
|
|
||||||
%
|
%
|
||||||
% Tanner Graph, VNs and CNs
|
% Tanner Graph, VNs and CNs
|
||||||
@@ -217,7 +217,7 @@ the \acp{vn} that make up the corresponding parity check
|
|||||||
Figure \ref{PCM and Tanner graph of the Hamming code} shows this
|
Figure \ref{PCM and Tanner graph of the Hamming code} shows this
|
||||||
construction for the [7,4,3]-Hamming code.
|
construction for the [7,4,3]-Hamming code.
|
||||||
%
|
%
|
||||||
\begin{figure}[H]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
@@ -296,43 +296,95 @@ and that of a check node $j$ as
|
|||||||
$\mathcal{N}_\text{C} (j) = \left\{ j \in \mathcal{J} : \bm{H}_{j,i}
|
$\mathcal{N}_\text{C} (j) = \left\{ j \in \mathcal{J} : \bm{H}_{j,i}
|
||||||
= 1 \right\}$.
|
= 1 \right\}$.
|
||||||
|
|
||||||
% TODO: Do we need any of these?
|
%
|
||||||
% \red{
|
% Error floor and waterfall regions
|
||||||
% \begin{itemize}
|
%
|
||||||
% \item Cycles (? - Only if needed later)
|
|
||||||
% \item Regular vs irregular (? - only if needed later)
|
We typically evaluate the performance of LDPC codes using the
|
||||||
% \end{itemize}
|
\ac{ber} or the \ac{fer} (a \textit{frame} referes to one whole
|
||||||
% }
|
transmitted block in this context).
|
||||||
|
Considering an \ac{awgn} channel, \autoref{fig:ldpc-perf} shows a
|
||||||
|
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.
|
||||||
|
|
||||||
|
\begin{figure}[t]
|
||||||
|
\centering
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\begin{axis}[
|
||||||
|
domain=-5:5,
|
||||||
|
width=\figwidth,
|
||||||
|
height=\figheight,
|
||||||
|
]
|
||||||
|
\addplot+[mark=none, line width=1pt]
|
||||||
|
{x^2};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\caption{
|
||||||
|
Qualitative performance characteristic of \ac{ldpc} code
|
||||||
|
in an \ac{awgn} channel. Adapted from
|
||||||
|
\cite[Fig.~1]{costello_spatially_2014}.
|
||||||
|
}
|
||||||
|
\label{fig:ldpc-perf}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
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
|
||||||
|
\cite[Sec.~5.1.1]{ryan_channel_2009}.
|
||||||
|
Already during their introduction, regular \ac{ldpc} codes where shown to have
|
||||||
|
a minimum distance scaling linearly with the block length $n$ for
|
||||||
|
large values \cite[Ch.~2,~Theorem~1]{gallager_low_1960},
|
||||||
|
which leads to them not exhibiting an error floor under \ac{ml} decoding.
|
||||||
|
Irregular codes, on the other hand, generally do exhibit an error floor,
|
||||||
|
their redeming quality being the ability to reach near-capacity
|
||||||
|
performance in the waterfall region \cite[Intro.]{costello_spatially_2014}.
|
||||||
|
|
||||||
\subsection{Spatially-Coupled LDPC Codes}
|
\subsection{Spatially-Coupled LDPC Codes}
|
||||||
|
|
||||||
A relatively recent development in the world of \ac{ldpc} codes is
|
A relatively recent development in the world of \ac{ldpc} codes is
|
||||||
that of \ac{sc}-\ac{ldpc} codes.\\
|
that of \ac{sc}-\ac{ldpc} codes.
|
||||||
\red{[a bit more history (developed by \ldots, developed from \ldots,
|
Their key feature is that they combine the best properties of regular
|
||||||
\ldots)]}\\
|
and irregular codes.
|
||||||
\red{[core concept]}
|
They have a minimum distance that grows linearly with $n$, promising
|
||||||
|
good error floor behavior, and capacity approaching
|
||||||
|
iterative decoding behavior, promising good performance in the
|
||||||
|
waterfall region \cite[Intro.]{costello_spatially_2014}.
|
||||||
|
|
||||||
\red{
|
\red{
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Tanner graph + PCM
|
\item Core construction idea
|
||||||
\item Key benefits and reasoning behind them
|
\item Tanner graph \cite[Fig.~3]{costello_spatially_2014} +
|
||||||
\item Cite \cite{costello_spatially_2014} \cite{hassan_fully_2016}
|
PCM \cite[Eq. 1]{hassan_fully_2016}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
}
|
}
|
||||||
|
|
||||||
\subsection{Belief Propagation}
|
\subsection{Belief Propagation}
|
||||||
|
|
||||||
\red{[short intro]} \\
|
|
||||||
\red{[key points (sub-optimal but good enough, low complexity, \ldots)]} \\
|
\red{[key points (sub-optimal but good enough, low complexity, \ldots)]} \\
|
||||||
\red{[top-level overview (iterative algorithm that approximates \ldots)]}
|
\red{[top-level overview (iterative algorithm that approximates \ldots)]}
|
||||||
|
|
||||||
\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
|
||||||
\item Cite \cite{ryan_channel_2009} \cite{hassan_fully_2016}
|
\cite{costello_spatially_2014} \cite{hassan_fully_2016}
|
||||||
\cite{costello_spatially_2014}
|
\begin{itemize}
|
||||||
|
\item Windowed decoding
|
||||||
|
\item The core property of SC-LDPC decoders is the
|
||||||
|
passing of reliability information (in the form
|
||||||
|
of LLRs, i.e., soft information) from one window
|
||||||
|
to the next.
|
||||||
|
This way, the highly reliable information from
|
||||||
|
the initial windows is passed on to subsequent
|
||||||
|
windows \cite{costello_spatially_2014}.
|
||||||
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
%
|
%
|
||||||
|
|
||||||
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||||
|
\newcommand{\figwidth}{10cm}
|
||||||
|
\newcommand{\figheight}{7.5cm}
|
||||||
|
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
|
|||||||
Reference in New Issue
Block a user