Finish first draft of classical fundamentals

This commit is contained in:
2026-04-10 08:45:36 +02:00
parent 5c4bad30e2
commit fc9dcbe11e
3 changed files with 89 additions and 22 deletions

View File

@@ -38,6 +38,11 @@
long=maximum likelihood long=maximum likelihood
} }
\DeclareAcronym{map}{
short=MAP,
long=maximum a posteriori
}
\DeclareAcronym{pcm}{ \DeclareAcronym{pcm}{
short=PCM, short=PCM,
long=parity-check matrix long=parity-check matrix

View File

@@ -1548,3 +1548,18 @@ We study the performance of medium-length quantum LDPC (QLDPC) codes in the depo
pages = {168--176}, pages = {168--176},
file = {Full Text PDF:/home/andreas/workspace/work/hiwi/Zotero/storage/WH3R5BMN/Costello et al. - 2014 - Spatially coupled sparse codes on graphs theory and practice.pdf:application/pdf}, file = {Full Text PDF:/home/andreas/workspace/work/hiwi/Zotero/storage/WH3R5BMN/Costello et al. - 2014 - Spatially coupled sparse codes on graphs theory and practice.pdf:application/pdf},
} }
@article{hagenauer_iterative_2002,
title = {Iterative decoding of binary block and convolutional codes},
volume = {42},
url = {https://ieeexplore.ieee.org/abstract/document/485714/},
number = {2},
urldate = {2026-04-09},
journal = {IEEE Transactions on information theory},
publisher = {IEEE},
author = {Hagenauer, Joachim and Offer, Elke and Papke, Lutz},
year = {2002},
keywords = {/unread},
pages = {429--445},
file = {Available Version (via Google Scholar):/home/andreas/workspace/work/hiwi/Zotero/storage/BYT9IHNL/Hagenauer et al. - 2002 - Iterative decoding of binary block and convolutional codes.pdf:application/pdf},
}

View File

@@ -404,13 +404,14 @@ good error floor behavior, and capacity approaching
iterative decoding behavior, promising good performance in the iterative decoding behavior, promising good performance in the
waterfall region \cite[Intro.]{costello_spatially_2014}. waterfall region \cite[Intro.]{costello_spatially_2014}.
% TODO: Think of other variable for overlap lengh - W is already
% taken as the window size
The essential property of \ac{sc}-\ac{ldpc} codes is that codewords The essential property of \ac{sc}-\ac{ldpc} codes is that codewords
from different \textit{spatial positions}, that would ordinarily be sent from different \textit{spatial positions}, that would ordinarily be sent
one after the other independently, are coupled. one after the other independently, are coupled.
This is achieved by connecting some \acp{vn} of one spatial position to This is achieved by connecting some \acp{vn} of one spatial position to
\acp{cn} of another, resulting in a \ac{pcm} of the form \acp{cn} of another, resulting in a \ac{pcm} of the form
\cite[Eq.~1]{hassan_fully_2016} \cite[Eq.~1]{hassan_fully_2016}
% TODO: Find reference and make sure notation is correct
% %
\begin{align*} \begin{align*}
\bm{H} = \bm{H} =
@@ -429,7 +430,6 @@ where $W \in \mathbb{N}$ is the \textit{coupling width} and $L \in
This construction results in a Tanner graph as depicted in This construction results in a Tanner graph as depicted in
\autoref{fig:sc-ldpc-tanner}. \autoref{fig:sc-ldpc-tanner}.
% TODO: Create SC-LDPC graphic
\begin{figure}[t] \begin{figure}[t]
\centering \centering
@@ -442,7 +442,6 @@ This construction results in a Tanner graph as depicted in
}, },
} }
% TODO: Coupling over more spatial positions
\begin{tikzpicture}[node distance=7mm and 1cm] \begin{tikzpicture}[node distance=7mm and 1cm]
\node[VN] (vn00) {}; \node[VN] (vn00) {};
\node[VN, below = of vn00] (vn01) {}; \node[VN, below = of vn00] (vn01) {};
@@ -523,41 +522,89 @@ This construction results in a Tanner graph as depicted in
Note that at the first and last few spatial positions, some \acp{cn} Note that at the first and last few spatial positions, some \acp{cn}
have lower degrees. have lower degrees.
This leads to more reliable information about the This leads to more reliable information about the
\acp{vn} at those positions, that, as we will see, is \acp{vn} that, as we will see, is
later passed to subsequent spatial positions during decoding. later passed to subsequent spatial positions during decoding.
This is precisely the effect that leads to the good performance of This is precisely the effect that leads to the good performance of
\ac{sc}-\ac{ldpc} codes in the waterfall region \cite{costello_spatially_2014}. \ac{sc}-\ac{ldpc} codes in the waterfall region \cite{costello_spatially_2014}.
\subsection{Iterative Decoding} \subsection{Iterative Decoding}
% TODO: Add exact reference % Introduction
\ac{ldpc} codes are generally decoded using efficient iterative \ac{ldpc} codes are generally decoded using efficient iterative
algorithms, something that is possilbe due to their sparsity algorithms, something that is possilbe due to their sparsity
\cite[Sec.~5.3]{ryan_channel_2009}. \cite[Sec.~5.3]{ryan_channel_2009}.
The algorithm originally proposed for this purpose by Gallager in The algorithm originally proposed alongside LDPC codes for this
1960 is now known as the \ac{spa} \cite[5.4.1]{ryan_channel_2009}, purpose by Gallager in 1960 is now known as the \ac{spa}
also called \ac{bp}. \cite[5.4.1]{ryan_channel_2009}, also called \ac{bp}.
% - SPA uses symbol-wise MAP as decision criterion for each symmbol The optimality criterion the \ac{spa} is built around is a
% - Optimal when Tanner graph is a tree, suboptimal with cycles symbol-wise \ac{map} decision \cite[Sec.~5.4.1]{ryan_channel_2009}.
% - Use of LLRs instead of probabilties directly The core idea of the resulting algorithm is to view \acp{cn} as
% - Actual algorithm representing single-parity check codes and \acp{vn} as representing
% - CNs: single parity-check codes; VNs: repetition codes repetition codes.
% - Algorithm The algorithm alternates between consolidating soft information about
the \acp{vn} in the \acp{cn}, and consolidating soft information abou
the \acp{cn} in the \acp{vn}.
To this end, messages are passed back and forth along the edges of
the Tanner graph.
$L_{i\rightarrow j}$ represents a message passed from \ac{vn} $i$ to
\ac{cn} j, $L_{i\leftarrow j}$ represents a message passed from
\ac{cn} j to \ac{vn} i.
The \acp{vn} additionally receive messages \cite[5.4.2]{ryan_channel_2009}
\begin{align*}
\tilde{L}_i = \log \frac{P(X=0 \vert Y=y)}{P(X=1 \vert Y=y)},
\end{align*}
computed from the channel outputs.
The consolidation of the information occurs in the \ac{vn} update
\begin{align*}
L_{i\rightarrow j} = \tilde{L}_i + \sum_{j'\in \mathcal{N}(i)\setminus
j} L_{i\leftarrow j'}
\end{align*}
and the \ac{cn} update
\begin{align*}
L_{i\leftarrow j} = 2\cdot \tanh^{-1} \left( \prod_{i'\in
\mathcal{N}(j)\setminus i} \tanh \frac{L_{i'\rightarrow j}}{2} \right)
.
\end{align*}
A basic assumption for the derivation of the \ac{spa} is that the
messages are statistically independent.
If the Tanner graph has cycles, however, this
condition is not met.
The shorter the cycles, the sooner this condition is violated and the
worse the approximation becomes \cite[Sec.~5.4.4]{ryan_channel_2009}.
Cycles of length four (so-called \emph{$4$-cycles}) are the shortest
possible cycles and are thus especially problematic.
% TODO: Write this pragraph
% Cite \cite[Sec.~5.4.4]{ryan_channel_2009} (Remark 3)
% The suboptimality of BP
% - Optimal when Tanner graph is a tree
% - The shorter the cycle, the larger the problem. 4 cycles are
% especially problematic
% Min-sum algorithm % Min-sum algorithm
% Approximation of CN update by min sum operation
For \ac{sc}-\ac{ldpc} codes, the iterative decoding procedure is wrapped by a A simplification of the \ac{spa} is the min-sum decoder. Here, the
windowing step. This is done to reduce the latency and memory and \ac{cn} update is approximated as \cite[Sec.~5.5.1]{ryan_channel_2009}
\begin{align*}
L_{i \leftarrow j} = \prod_{i' \in \mathcal{N}(j)\setminus i}
\sign \left( L_{i' \rightarrow j} \right)
\cdot \min_{i' \in \mathcal{N}(j)\setminus i} \lvert
L_{i'\rightarrow j} \rvert
.
\end{align*}
% Sliding-window decoding
For \ac{sc}-\ac{ldpc} codes, the iterative decoding process is wrapped by a
windowing step. This is done to reduce the latency and memory requirements and
also the overall computational complexity \cite{costello_spatially_2014}. also the overall computational complexity \cite{costello_spatially_2014}.
To this end, the \ac{pcm} is split into several overlapping windows. To this end, the Tanner graph is split into several overlapping windows.
During decoding, the messages that are passed along the edges of the During decoding, the messages that are passed along the edges of the
graph in the overlapping regions are kept in memory and used for the graph in the overlapping regions are kept in memory and used for the
decoding of subsequent blocks \cite[Sec.~III~C.]{costello_spatially_2014}. decoding of subsequent blocks \cite[Sec.~III.~C.]{hassan_fully_2016}.
% BP for SC-LDPC codes
% Windowed decoding
\section{Quantum Mechanics and Quantum Information Science} \section{Quantum Mechanics and Quantum Information Science}
\label{sec:Quantum Mechanics and Quantum Information Science} \label{sec:Quantum Mechanics and Quantum Information Science}