From 942f33582f56594ae89871ce862e43821218e6c3 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 30 Mar 2026 17:49:43 +0200 Subject: [PATCH] [thesis] Top-align figures; add content outline; write sc intro --- src/thesis/acronyms.tex | 15 ++++ src/thesis/chapters/2_fundamentals.tex | 94 ++++++++++++++++++++------ src/thesis/main.tex | 2 + 3 files changed, 90 insertions(+), 21 deletions(-) diff --git a/src/thesis/acronyms.tex b/src/thesis/acronyms.tex index 8db8795..6606381 100644 --- a/src/thesis/acronyms.tex +++ b/src/thesis/acronyms.tex @@ -37,3 +37,18 @@ short=CN, 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 +} diff --git a/src/thesis/chapters/2_fundamentals.tex b/src/thesis/chapters/2_fundamentals.tex index 01a6395..5673373 100644 --- a/src/thesis/chapters/2_fundamentals.tex +++ b/src/thesis/chapters/2_fundamentals.tex @@ -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{F}_2^n$ \cite[Sec.~1.5.1.3]{ryan_channel_2009}. % -\begin{figure}[h] +\begin{figure}[t] \centering \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 manner that the number of nonzero entries grows less than quadratically, e.g., only linearly. -This is exactly the motivation behind \ac{ldpc} codes \cite[Ch. -1]{gallager_low_1960}. +This is exactly the motivation behind \ac{ldpc} codes +\cite[Ch.~1]{gallager_low_1960}. % % 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 construction for the [7,4,3]-Hamming code. % -\begin{figure}[H] +\begin{figure}[t] \centering \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} = 1 \right\}$. -% TODO: Do we need any of these? -% \red{ -% \begin{itemize} -% \item Cycles (? - Only if needed later) -% \item Regular vs irregular (? - only if needed later) -% \end{itemize} -% } +% +% Error floor and waterfall regions +% + +We typically evaluate the performance of LDPC codes using the +\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} A relatively recent development in the world of \ac{ldpc} codes is -that of \ac{sc}-\ac{ldpc} codes.\\ -\red{[a bit more history (developed by \ldots, developed from \ldots, -\ldots)]}\\ -\red{[core concept]} +that of \ac{sc}-\ac{ldpc} codes. +Their key feature is that they combine the best properties of regular +and irregular codes. +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{ \begin{itemize} - \item Tanner graph + PCM - \item Key benefits and reasoning behind them - \item Cite \cite{costello_spatially_2014} \cite{hassan_fully_2016} + \item Core construction idea + \item Tanner graph \cite[Fig.~3]{costello_spatially_2014} + + PCM \cite[Eq. 1]{hassan_fully_2016} \end{itemize} } \subsection{Belief Propagation} -\red{[short intro]} \\ \red{[key points (sub-optimal but good enough, low complexity, \ldots)]} \\ \red{[top-level overview (iterative algorithm that approximates \ldots)]} \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 - \item Cite \cite{ryan_channel_2009} \cite{hassan_fully_2016} - \cite{costello_spatially_2014} + \cite{costello_spatially_2014} \cite{hassan_fully_2016} + \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} } diff --git a/src/thesis/main.tex b/src/thesis/main.tex index c2029ae..32c2f26 100644 --- a/src/thesis/main.tex +++ b/src/thesis/main.tex @@ -28,6 +28,8 @@ % \newcommand{\red}[1]{\textcolor{red}{#1}} +\newcommand{\figwidth}{10cm} +\newcommand{\figheight}{7.5cm} % %