\chapter{Theoretical Background}%
\label{chapter:theoretical_background}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Preliminaries: Channel Model and Modulation}
\label{sec:theo:Preliminaries: Channel Model and Modulation}

\begin{itemize}
    \item \Ac{AWGN}
    \item \Ac{BPSK}
\end{itemize}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Notation}
\label{sec:theo:Notation}

%
% TODOs
%

\begin{itemize}
    \item General remarks on notation (matrices, PDF, etc.)
    \item \sout{Diagram from midterm presentation}
\end{itemize}

%
% Figure showing notation for entire coding / decoding process
%

\tikzstyle{box} = [rectangle, minimum width=1.5cm, minimum height=0.7cm,
                          rounded corners=0.1cm, text centered, draw=black, fill=KITgreen!80]
\begin{figure}[htpb]
    \centering

    \begin{tikzpicture}[scale=1, transform shape]
        \node (in) {$\boldsymbol{c}$};
        \node[box, right=0.5cm of in] (bpskmap) {Mapper};
        \node[right=1.5cm of bpskmap,
              draw, circle, inner sep=0pt, minimum size=0.5cm] (add) {$+$};
        \node[below=0.5cm of add] (noise) {$\boldsymbol{z}$};
        \node[box, right=1.5cm of add] (decoder) {Decoder};
        \node[box, right=1.5cm of decoder] (demapper) {Demapper};
        \node[right=0.5cm of demapper] (out) {$\boldsymbol{\hat{c}}$};

        \node at ($(bpskmap.east)!0.5!(add.west) + (0,0.3cm)$) {$\boldsymbol{x}$};
        \node at ($(add.east)!0.5!(decoder.west) + (0,0.3cm)$) {$\boldsymbol{y}$};
        \node at ($(decoder.east)!0.5!(demapper.west) + (0,0.3cm)$) {$\boldsymbol{\hat{x}}$};

        \draw[->] (in) -- (bpskmap);
        \draw[->] (bpskmap) -- (add);
        \draw[->] (add) -- (decoder);
        \draw[->] (noise) -- (add);
        \draw[->] (decoder) -- (demapper);
        \draw[->] (demapper) -- (out);
    \end{tikzpicture}

    \caption{Overview of notation}
    \label{fig:notation}
\end{figure}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Channel Coding with LDPC Codes}
\label{sec:theo:Channel Coding with LDPC Codes}

\begin{itemize}
    \item Introduction
    \item Binary linear codes
    \item \Ac{LDPC} codes
\end{itemize}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Decoding LDPC Codes using Belief Propagation}
\label{sec:theo:Decoding LDPC Codes using Belief Propagation}

\begin{itemize}
    \item Introduction to message passing
    \item Overview of \ac{BP} algorithm
\end{itemize}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Optimization Methods}
\label{sec:theo:Optimization Methods}

\begin{itemize}
    \item \Ac{ADMM}
    \item Proximal gradient method
\end{itemize}

