First round of corrections
This commit is contained in:
parent
53ad451013
commit
d49cdd4394
@ -37,7 +37,7 @@
|
||||
discard if not={mu}{3.0},
|
||||
discard if gt={SNR}{4.0}]
|
||||
{res/admm/ber_2d_20433484.csv};
|
||||
\addlegendentry{LP Decoding}
|
||||
\addlegendentry{ADMM}
|
||||
\addplot[PineGreen, line width=1pt, mark=triangle, solid]
|
||||
table [col sep=comma, x=SNR, y=FER,
|
||||
discard if gt={SNR}{3.0}]
|
||||
@ -306,7 +306,7 @@
|
||||
\addplot[RoyalPurple, only marks, mark=triangle*]
|
||||
table [col sep=comma, x=n, y=spf]
|
||||
{res/admm/fps_vs_n.csv};
|
||||
\addlegendentry{LP decoding}
|
||||
\addlegendentry{ADMM}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
@ -377,7 +377,7 @@ return $\boldsymbol{s}$
|
||||
g_j\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||
\right)}_{\text{Constraints}}} \\
|
||||
\text{subject to}\hspace{5mm} &
|
||||
\tilde{\boldsymbol{c}} \in \mathbb{R}^n
|
||||
\tilde{\boldsymbol{c}} \in \left[ 0, 1 \right]^n
|
||||
\end{align*}
|
||||
|
||||
\vspace*{-5mm}
|
||||
@ -422,14 +422,14 @@ Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$
|
||||
while stopping critierion unfulfilled do
|
||||
for j in $\mathcal{J}$ do
|
||||
$p_j \leftarrow \prod_{i\in N_c\left( j \right) } r_i $
|
||||
$\textcolor{KITblue}{M_{j\to} \leftarrow p_j^2 - p_j}$|\Suppressnumber|
|
||||
$\textcolor{KITblue}{M_{j\to i} \leftarrow p_j^2 - p_j}$|\Suppressnumber|
|
||||
|\vspace{0.7mm}\Reactivatenumber|
|
||||
end for
|
||||
for i in $\mathcal{I}$ do
|
||||
$s_i \leftarrow s_i + \gamma \left[ 4\left( s_i^2 - 1 \right)s_i
|
||||
\phantom{\frac{4}{s_i}}\right.$|\Suppressnumber|
|
||||
|\Reactivatenumber|$\left.+ \frac{4}{s_i}\sum_{j\in N_v\left( i \right) }
|
||||
M_{j\to} \right] $
|
||||
M_{j\to i} \right] $
|
||||
$r_i \leftarrow r_i + \omega \left( s_i - y_i \right)$
|
||||
end for
|
||||
end while
|
||||
@ -470,7 +470,7 @@ return $\tilde{\boldsymbol{c}}$
|
||||
\begin{itemize}
|
||||
\item Analysis of the general behavior of the two decoding algorithms
|
||||
\begin{itemize}
|
||||
\item Parameter choice
|
||||
\item Parameter choice based on decoding performance and time complexity
|
||||
\item Verification of theoretical considerations with simulation results
|
||||
\end{itemize}
|
||||
\item Suggestion for improvement of proximal decoding
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
\vspace*{-0.3cm}
|
||||
|
||||
\begin{itemize}
|
||||
\item MAP rule:
|
||||
\item MAP rule as continuous maximization problem:
|
||||
\begin{align*}
|
||||
\hat{\boldsymbol{x}}
|
||||
&= \argmax_{\tilde{\boldsymbol{x}}\in\mathbb{R}^n}
|
||||
@ -77,9 +77,9 @@
|
||||
\item Proximal operator \cite{proximal_algorithms}:
|
||||
\begin{align*}
|
||||
\text{prox}_{\gamma h} \left( \tilde{\boldsymbol{x}} \right) &\equiv
|
||||
\argmin_{\boldsymbol{t}\in\mathbb{R}^n} \left(
|
||||
\gamma h\left( \boldsymbol{t} \right) + \frac{1}{2} \lVert \boldsymbol{t}
|
||||
- \tilde{\boldsymbol{x}} \rVert^2 \right)\\
|
||||
\argmin_{\boldsymbol{t}\in\mathbb{R}^n}
|
||||
\gamma h\left( \boldsymbol{t} \right) + \frac{1}{2} \lVert \boldsymbol{t}
|
||||
- \tilde{\boldsymbol{x}} \rVert^2 \\
|
||||
&\approx \tilde{\boldsymbol{x}}
|
||||
- \gamma \nabla h\left( \tilde{\boldsymbol{x}} \right),
|
||||
\hspace{5mm} \gamma \text{ small}
|
||||
@ -146,12 +146,12 @@ return $\boldsymbol{\hat{c}}$
|
||||
\boldsymbol{\gamma}^{T} \boldsymbol{c} = \sum_{i=1}^{n}
|
||||
\gamma_i c_i,
|
||||
\hspace{5mm}\gamma_i = \ln\left(
|
||||
\frac{p_{Y_i \mid C_i}\left( y_i | c_i = 0 \right) }
|
||||
{p_{Y_i \mid C_i}\left(y_i | c_i=1 \right) } \right)
|
||||
\frac{f_{Y_i \mid C_i}\left( y_i | c_i = 0 \right) }
|
||||
{f_{Y_i \mid C_i}\left(y_i | c_i=1 \right) } \right)
|
||||
\end{align*}
|
||||
\item Exact \textit{integer linear programming} (ILP) formulation of ML decoding:
|
||||
\begin{align*}
|
||||
&\text{minimize } \boldsymbol{\gamma}^\text{T} \tilde{\boldsymbol{c}}\\
|
||||
&\text{minimize } \boldsymbol{\gamma}^\text{T} \boldsymbol{c}\\
|
||||
&\text{subject to } \boldsymbol{c}\in \mathcal{C}
|
||||
\end{align*}
|
||||
\item Goal: relaxation of constraints to make a practical solution to the problem feasible
|
||||
@ -665,7 +665,7 @@ return $\boldsymbol{\hat{c}}$
|
||||
\end{tikzpicture}
|
||||
|
||||
\begin{align*}
|
||||
\text{minimize}\hspace{2mm} &\boldsymbol{\gamma}^\text{T} \boldsymbol{c} \\
|
||||
\text{minimize}\hspace{2mm} &\boldsymbol{\gamma}^\text{T} \tilde{\boldsymbol{c}} \\
|
||||
\text{subject to}\hspace{2mm} &\tilde{\boldsymbol{c}} \in
|
||||
\text{poly}\left( \mathcal{C} \right) &\
|
||||
\end{align*}
|
||||
@ -822,6 +822,7 @@ return $\boldsymbol{\hat{c}}$
|
||||
\vspace*{-7mm}
|
||||
|
||||
\begin{itemize}
|
||||
\item Convergence properties enhanced by over-relaxation with parameter $\rho$
|
||||
\item Simplified rules%
|
||||
\footnote{$\left( \boldsymbol{z}_j \right)_i $ is a slight abuse of notation.
|
||||
What is actually meant is the component of $\boldsymbol{z}_j$ that is associated
|
||||
@ -843,13 +844,11 @@ return $\boldsymbol{\hat{c}}$
|
||||
- \boldsymbol{z}_j
|
||||
\hspace{5mm} && \forall j\in\mathcal{J}
|
||||
\end{alignat*}
|
||||
\item The main computational effort are the projections
|
||||
$\Pi_{\mathcal{P}_{d_j}}, \hspace{1mm} j\in\mathcal{J}$. Many
|
||||
different approaches exist, e.g., \cite{original_admm},
|
||||
\cite{efficient_lp_dec_admm}, \cite{lautern}.
|
||||
\item The projections $\Pi_{\mathcal{P}_{d_j}}, \hspace{1mm} j\in\mathcal{J}$
|
||||
are the main computational effort
|
||||
\item Many approaches exist \cite{original_admm}, \cite{efficient_lp_dec_admm},
|
||||
\cite{lautern}
|
||||
\item The approach chosen here is the one described in \cite{original_admm}
|
||||
\item The convergence properties can be enhanced by performing an
|
||||
\textit{over-relaxation}, introducing the parameter $\rho$
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
@ -75,21 +75,20 @@
|
||||
\label{fig:sim_results_prox}
|
||||
\end{figure}
|
||||
|
||||
\vspace*{-0.5cm}
|
||||
\begin{itemize}
|
||||
\item $\mathcal{O}\left(n \right) $ time complexity - same as BP;
|
||||
only multiplication and addition necessary \cite{proximal_paper}
|
||||
\item Measured performance: $\sim\SI{10000}{}$ frames/s
|
||||
on Intel Core i7-7700HQ @ 2.80GHz; $n=204$
|
||||
\end{itemize}
|
||||
\vspace{3mm}
|
||||
% \vspace*{-0.5cm}
|
||||
% \begin{itemize}
|
||||
% \item $\mathcal{O}\left(n \right) $ time complexity - same as BP;
|
||||
% only multiplication and addition necessary \cite{proximal_paper}
|
||||
% \item Measured performance: $\sim\SI{10000}{}$ frames/s
|
||||
% on Intel Core i7-7700HQ @ 2.80GHz; $n=204$
|
||||
% \end{itemize}
|
||||
% \vspace{3mm}
|
||||
\end{frame}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoding: Choice of $\gamma$}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{itemize}
|
||||
\item Simulation%
|
||||
@ -100,14 +99,14 @@
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\begin{subfigure}[c]{0.5\textwidth}
|
||||
\hspace*{-3.5cm}
|
||||
\begin{subfigure}[c]{0.4\textwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\begin{semilogyaxis}[xlabel={$E_b / N_0$ (dB)}, ylabel={BER},
|
||||
grid=both, grid style={line width=.1pt},
|
||||
width=0.8\textwidth,
|
||||
height=0.6\textwidth,
|
||||
width=\textwidth,
|
||||
height=0.75\textwidth,
|
||||
legend style={at={(0.05,0.05)},anchor=south west},
|
||||
ymin=3e-7, ymax=1.5,]
|
||||
\addplot [ForestGreen, mark=*] table [x=SNR, y=BER,
|
||||
@ -125,7 +124,8 @@
|
||||
\end{semilogyaxis}
|
||||
\end{tikzpicture}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}[c]{0.5\textwidth}
|
||||
\hspace{5mm}
|
||||
\begin{subfigure}[c]{0.4\textwidth}
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
@ -134,8 +134,8 @@
|
||||
xlabel={$E_b / N_0$ (dB)},
|
||||
ylabel={$\gamma$},
|
||||
zlabel={BER},
|
||||
width=0.8\textwidth,
|
||||
height=0.6\textwidth,
|
||||
width=\textwidth,
|
||||
height=0.75\textwidth,
|
||||
legend pos=outer north east,]
|
||||
|
||||
\addplot3[surf,
|
||||
@ -392,7 +392,6 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t, fragile]
|
||||
\frametitle{Proximal Decoding: Frame Error Rate}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{itemize}
|
||||
\item Analysis of simulated%
|
||||
@ -514,7 +513,6 @@ return $\boldsymbol{\hat{c}}$
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoding: Oscillation of Estimate}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{itemize}
|
||||
\item $\nabla L \left( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right) $
|
||||
@ -724,7 +722,6 @@ return $\boldsymbol{\hat{c}}$
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoding: Visualization of Gradients}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@ -809,11 +806,10 @@ return $\boldsymbol{\hat{c}}$
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoder: Oscillation of $\nabla h\left( \tilde{\boldsymbol{x}} \right) $}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{itemize}
|
||||
\item For larger $n$, the gradient itself starts to oscillate
|
||||
\item The amplitude of the oscillation seems to be highly correlated
|
||||
\item The dynamic range of the oscillation is highly correlated
|
||||
with the probability of a bit error
|
||||
\end{itemize}
|
||||
|
||||
@ -873,7 +869,7 @@ return $\boldsymbol{\hat{c}}$
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Correlation between bit error and amplitude of oscillation}
|
||||
\caption{Correlation between bit error and dynamic range of oscillation}
|
||||
\end{subfigure}
|
||||
\end{figure}
|
||||
|
||||
@ -899,7 +895,6 @@ return $\boldsymbol{\hat{c}}$
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%\begin{frame}[t, fragile]
|
||||
% \frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
|
||||
% \setcounter{footnote}{0}
|
||||
%
|
||||
% \begin{itemize}
|
||||
% \item Comparison of proximal \& hybrid-proximal-ML\\
|
||||
@ -1000,9 +995,8 @@ return $\boldsymbol{\hat{c}}$
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t, fragile]
|
||||
\frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\vspace*{-0.7cm}
|
||||
\vspace*{-0.5cm}
|
||||
|
||||
\begin{itemize}
|
||||
\item Improvement of proximal decoding by adding an ``ML-in-the-List'' step after
|
||||
@ -1027,12 +1021,11 @@ for $K$ iterations do
|
||||
return $\boldsymbol{\hat{c}}$
|
||||
end if
|
||||
end for
|
||||
return $\boldsymbol{\hat{c}}$
|
||||
return $\boldsymbol{\hat{c}}$ |\Suppressnumber|
|
||||
|
||||
|
||||
|\phantom{a}||\Reactivatenumber|
|
||||
\end{algorithm}
|
||||
|
||||
\vspace*{-5mm}
|
||||
|
||||
\caption{Proximal decoding algorithm \cite{proximal_paper}}
|
||||
\end{figure}
|
||||
|
||||
\end{minipage}%
|
||||
@ -1052,14 +1045,10 @@ for $K$ iterations do
|
||||
end if
|
||||
end for
|
||||
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
|
||||
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with the }N\text{ bits modified.}}$
|
||||
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \tilde{c}}_l, \boldsymbol{\hat{c}} \right) \text{ for all valid codewords } \boldsymbol{\tilde{c}}_l}$
|
||||
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d_H\left( \boldsymbol{ \tilde{c}}_l, \boldsymbol{\hat{c}} \right)}$
|
||||
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with the }N\text{ bits modified.}}$
|
||||
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \hat{c}}_l, \boldsymbol{\hat{c}} \right) \text{ for all valid codewords } \boldsymbol{\hat{c}}_l}$
|
||||
$\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d_H\left( \boldsymbol{ \hat{c}}_l, \boldsymbol{\hat{c}} \right)}$
|
||||
\end{algorithm}
|
||||
|
||||
\vspace*{-5mm}
|
||||
|
||||
\caption{Improved proximal decoding algorithm}
|
||||
\end{figure}
|
||||
\end{minipage}
|
||||
\end{frame}
|
||||
@ -1506,7 +1495,6 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{frame}[t]
|
||||
\frametitle{Proximal Decoding: Average Error}
|
||||
\setcounter{footnote}{0}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
\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
|
||||
\hspace{2mm} \boldsymbol{x} \in \left\{ -1, 1 \right\}^n
|
||||
\end{align*}
|
||||
\item The channel model is AWGN:
|
||||
\begin{align*}
|
||||
@ -194,7 +194,7 @@
|
||||
\node[color=KITgreen, right=0cm of f] {$\tilde{\boldsymbol{c}}$};
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Hypercube ($n=3$) with valid codewords for single parity-check}
|
||||
\caption{Hypercube ($n=3$) with valid codewords for single parity-check code}
|
||||
\end{figure}
|
||||
\end{minipage}
|
||||
\end{frame}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user