ba-thesis/latex/presentations/final/sections/theoretical_background.tex

192 lines
7.3 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\section{Theoretical Background}%
\label{sec:Theoretical Background}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Motivation}%
\label{sub:Motivation}
\begin{frame}[t]
\frametitle{Motivation}
\begin{itemize}
\item The general [ML] decoding problem for linear codes and the general problem
of finding the weights of a linear code are both NP-complete \cite{ml_np_hard_proof}.
\item The iterative messagepassing algorithms preferred in practice do not guarantee
optimality and may fail to decode correctly when the graph contains cycles
\cite{ldpc_conv}.
\item The standard message-passing algorithms used for decoding LDPC and turbo codes
are often difficult to analyze. \cite{feldman_thesis}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Previous Work}
\begin{figure}[h]
\centering
\begin{subfigure}{0.33\textwidth}
\centering
\fbox{\includegraphics[page=1,width=.6\textwidth]{res/Bachelor_Thesis_Yanxia_Lu}}
\end{subfigure}%
\begin{subfigure}{0.33\textwidth}
\centering
\fbox{\includegraphics[page=25,width=.6\textwidth]{res/Bachelor_Thesis_Yanxia_Lu}}
\end{subfigure}%
\begin{subfigure}{0.33\textwidth}
\centering
\fbox{\includegraphics[page=60,width=.6\textwidth]{res/Bachelor_Thesis_Yanxia_Lu}}
\end{subfigure}%
\caption{Bachelor's Thesis by Yanxia Lu \cite{yanxia_lu_thesis}}
\end{figure}
\begin{itemize}
\item Analysis of ``Proximal Decoding''
\item Analysis of ``Interior Point Decoding''
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Presumptions}%
\label{sub:Presumptions}
\begin{frame}[t]
\frametitle{Presumptions: Channel \& Modulation}
\tikzstyle{mapper} = [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[mapper, 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{n}$};
\node[mapper, right=1.5cm of add] (decoder) {Decoder};
\node[mapper, 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}
\end{figure}
\begin{itemize}
\item All simulations are performed with BPSK:
\begin{align*}
\boldsymbol{x} = \left( -1 \right)^{\boldsymbol{c}},
\hspace{5mm} \boldsymbol{c} \in \mathbb{F}_2^n,
\hspace{2mm} \boldsymbol{x} \in \mathbb{R}^n
\end{align*}
\item The channel model is AWGN:
\begin{align*}
\boldsymbol{y} = \boldsymbol{x} + \boldsymbol{n},
\hspace{5mm}\boldsymbol{n}\sim \mathcal{N}
\left(0,\frac{1}{2}\left(\frac{k}{n}\frac{E_b}{N_0}\right)^{-1}\right),
\hspace{2mm} \boldsymbol{y}, \boldsymbol{n} \in \mathbb{R}^n
\end{align*}
\item All-zeros assumption:
\begin{align*}
\boldsymbol{c} = \boldsymbol{0}
\end{align*}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Optimization as a Decoding Method}%
\label{sub:Optimization as a Decoding Method}
\begin{frame}[t]
\frametitle{Optimization as a Decoding Method}
\begin{minipage}[c]{0.6\linewidth}
\begin{itemize}
\item Reformulate decoding problem as optimization problem
\begin{itemize}
\item Establish objective function
\item Establish constraints
\end{itemize}
\item Use optimization method to solve the new problem
\end{itemize}
\end{minipage}%
\hfill%
\begin{minipage}[c]{0.4\linewidth}
\begin{figure}[H]
\centering
\tikzstyle{codeword} = [color=KITblue, fill=KITblue,
draw, circle, inner sep=0pt, minimum size=4pt]
\tdplotsetmaincoords{60}{245}
\begin{tikzpicture}[scale=1, transform shape, tdplot_main_coords]
% Cube
\draw[dashed] (0, 0, 0) -- (2, 0, 0);
\draw[dashed] (2, 0, 0) -- (2, 0, 2);
\draw[] (2, 0, 2) -- (0, 0, 2);
\draw[] (0, 0, 2) -- (0, 0, 0);
\draw[] (0, 2, 0) -- (2, 2, 0);
\draw[] (2, 2, 0) -- (2, 2, 2);
\draw[] (2, 2, 2) -- (0, 2, 2);
\draw[] (0, 2, 2) -- (0, 2, 0);
\draw[] (0, 0, 0) -- (0, 2, 0);
\draw[dashed] (2, 0, 0) -- (2, 2, 0);
\draw[] (2, 0, 2) -- (2, 2, 2);
\draw[] (0, 0, 2) -- (0, 2, 2);
% Codeword Polytope
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 0, 2);
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 2, 0);
% \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (0, 2, 2);
% \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (2, 2, 0);
% \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (0, 2, 2);
% \draw[line width=1pt, color=KITblue] (0, 2, 2) -- (2, 2, 0);
% Polytope Annotations
\node[codeword] (c000) at (0, 0, 0) {};% {$\left( 0, 0, 0 \right) $};
\node[codeword] (c101) at (2, 0, 2) {};% {$\left( 1, 0, 1 \right) $};
\node[codeword] (c110) at (2, 2, 0) {};% {$\left( 1, 1, 0 \right) $};
\node[codeword] (c011) at (0, 2, 2) {};% {$\left( 0, 1, 1 \right) $};
\node[color=KITblue, right=0cm of c000] {$\left( 0, 0, 0 \right) $};
\node[color=KITblue, above=0cm of c101] {$\left( 1, 0, 1 \right) $};
\node[color=KITblue, left=0cm of c110] {$\left( 1, 1, 0 \right) $};
\node[color=KITblue, left=0cm of c011] {$\left( 0, 1, 1 \right) $};
% f
\node[color=KITgreen, fill=KITgreen,
draw, circle, inner sep=0pt, minimum size=4pt] (f) at (0.7, 0.7, 1) {};
\node[color=KITgreen, right=0cm of f] {$\tilde{\boldsymbol{c}}$};
\end{tikzpicture}
\caption{Hypercube ($n=3$) with valid codewords for single parity-check}
\end{figure}
\end{minipage}
\end{frame}