243 lines
9.7 KiB
TeX
243 lines
9.7 KiB
TeX
\section{Theoretical Background}%
|
|
\label{sec:Theoretical Background}
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\subsection{Motivation}%
|
|
\label{sub:Motivation}
|
|
|
|
\begin{frame}[t]
|
|
\frametitle{Motivation}
|
|
|
|
\todo{TODO}
|
|
\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) {$c\left[ k \right] $};
|
|
\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[right=0.5cm of add] (out) {$y\left[ k \right] $};
|
|
\node[below=0.5cm of add] (noise) {$n\left[ k \right] $};
|
|
|
|
\node at ($(bpskmap.east)!0.5!(add.west) + (0,0.3cm)$) {$x\left[ k \right] $};
|
|
|
|
\draw[->] (in) -- (bpskmap);
|
|
\draw[->] (bpskmap) -- (add);
|
|
\draw[->] (add) -- (out);
|
|
\draw[->] (noise) -- (add);
|
|
\end{tikzpicture}
|
|
\end{figure}
|
|
|
|
\begin{itemize}
|
|
\item All simulations are performed with BPSK Modulation:
|
|
\begin{align*}
|
|
x\left[ k \right] = \left( -1 \right)^{c\left[ k \right] },
|
|
\hspace{5mm} \boldsymbol{c} \in \mathbb{F}_2^n,
|
|
\hspace{2mm} k\in \left\{ 1, \ldots, n \right\}
|
|
\end{align*}
|
|
\item The used 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*}
|
|
\todo{Why $\frac{1}{2}$}
|
|
\item All zeros assumption:
|
|
\begin{align*}
|
|
\boldsymbol{c} = 0
|
|
\end{align*}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\subsection{LP Decoding}%
|
|
\label{sub:LP Decoding}
|
|
|
|
\begin{frame}[t]
|
|
\frametitle{LP Decoding}
|
|
|
|
\begin{minipage}[c]{0.6\linewidth}
|
|
\begin{itemize}
|
|
\item Codeword Polytope:
|
|
\begin{align*}
|
|
\text{poly}\left( \mathcal{C} \right) =
|
|
\left\{
|
|
\sum_{\boldsymbol{c}\in\mathcal{C}}\lambda_{\boldsymbol{c}}
|
|
\boldsymbol{c} : \lambda_{\boldsymbol{c}} \ge 0,
|
|
\sum_{\boldsymbol{c}\in\mathcal{C}}\lambda_{\boldsymbol{c}} = 1
|
|
\right\},
|
|
\hspace{5mm} \lambda_{\boldsymbol{c}} \in \mathbb{R}
|
|
\end{align*}
|
|
\item Cost Function:
|
|
\begin{align*}
|
|
\sum_{i=1}^{n} \gamma_i c_i,
|
|
\hspace{5mm}\gamma_i = \log\left(
|
|
\frac{P\left( Y=y_i | C=0 \right) }{P\left( Y=y_i | C=1 \right) } \right)
|
|
\end{align*}
|
|
\item LP Formulation of ML Decoding:
|
|
\begin{align*}
|
|
&\text{minimize } \sum_{i=1}^{n} \gamma_i f_i \\
|
|
&\text{subject to } \boldsymbol{f}\in\text{poly}\left( \mathcal{C} \right)
|
|
\end{align*}
|
|
\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] {$\boldsymbol{f}$};
|
|
\end{tikzpicture}
|
|
\caption{$\text{poly}\left( \mathcal{C} \right)$ for $n=3$}
|
|
\end{figure}
|
|
\end{minipage}
|
|
\end{frame}
|
|
|
|
\begin{frame}[t]
|
|
\frametitle{LP Relaxation}
|
|
|
|
\begin{minipage}[c]{0.6\linewidth}
|
|
\begin{itemize}
|
|
\item Set of all variable nodes incident to a check node:
|
|
\begin{align*}
|
|
N\left( j \right) \equiv \left\{
|
|
i | i\in \mathcal{I},
|
|
\boldsymbol{H}_{i,j} = 1
|
|
\right\},
|
|
j \in \mathcal{J}
|
|
\end{align*}
|
|
\item ``Illegal configurations''
|
|
\begin{align*}
|
|
S \subseteq N\left( j \right), \left| S \right| \text{odd}
|
|
\end{align*}
|
|
\item Relaxed polytope representation:
|
|
\begin{align*}
|
|
\sum_{i\in \left( N\left( j \right) \setminus S\right) } f_i
|
|
+ \sum_{i\in S} \left( 1 - f_i \right) \ge 1
|
|
\end{align*}
|
|
``$\boldsymbol{f}$ is separated by at least one bitflip
|
|
from all illegal configurations''
|
|
\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, color=KITred] (c111) at (2, 2, 2) {};% {$\left( 0, 0, 0 \right) $};
|
|
\node[codeword, color=KITred] (c001) at (0, 0, 2) {};% {$\left( 1, 0, 1 \right) $};
|
|
\node[codeword, color=KITred] (c100) at (2, 0, 0) {};% {$\left( 1, 1, 0 \right) $};
|
|
\node[codeword, color=KITred] (c010) at (0, 2, 0) {};% {$\left( 0, 1, 1 \right) $};
|
|
|
|
\node[color=KITred, left=0cm of c111] {$\left( 1, 1, 1 \right) $};
|
|
\node[color=KITred, right=0cm of c001] {$\left( 0, 0, 1 \right) $};
|
|
\node[color=KITred, right=0.35cm of c100] {$\left( 1, 0, 0 \right) $};
|
|
\node[color=KITred, below=0cm of c010] {$\left( 0, 1, 0 \right) $};
|
|
\end{tikzpicture}
|
|
\caption{Relaxed polytope for $n=3$}
|
|
\end{figure}
|
|
\end{minipage}
|
|
\todo{How is this a relaxation and not just an alternative formulation?}
|
|
\end{frame}
|
|
|