Finished corrections

This commit is contained in:
Andreas Tsouchlos 2023-04-19 23:29:19 +02:00
parent 084c556ba4
commit 61a39fe2f6
4 changed files with 42 additions and 28 deletions

View File

@ -15,7 +15,7 @@
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
\item Minimum number of iterations independant of SNR \item Minimum number of iterations independent of SNR
\end{itemize} \end{itemize}
\bigskip \bigskip
@ -137,24 +137,27 @@
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[ \begin{axis}[
grid=both, grid=both,
xlabel={$n$}, ylabel={time per frame (s)}, xlabel={$n$}, ylabel={time per frame (ms)},
legend style={at={(0.05,0.6)},anchor=south west}, legend style={at={(0.05,0.6)},anchor=south west},
legend cell align={left}, legend cell align={left},
width=0.43\textwidth, width=0.43\textwidth,
height=0.32\textwidth, height=0.32\textwidth,
] ]
\addplot[RedOrange, only marks, mark=square*] \addplot[RedOrange, only marks, mark=square*]
table [col sep=comma, x=n, y=spf] table [col sep=comma, x=n, y=spf,
y expr=\thisrow{spf} * 1000]
{res/proximal/fps_vs_n.csv}; {res/proximal/fps_vs_n.csv};
\addlegendentry{proximal} \addlegendentry{proximal}
\addplot[Gray, only marks, mark=*] \addplot[Gray, only marks, mark=*]
table [col sep=comma, x=n, y=spf] table [col sep=comma, x=n, y=spf,
y expr=\thisrow{spf} * 1000]
{res/hybrid/fps_vs_n.csv}; {res/hybrid/fps_vs_n.csv};
\addlegendentry{improved ($\SI{12}{\bit}$)} \addlegendentry{improved ($N=12$)}
\addplot[NavyBlue, only marks, mark=triangle*] \addplot[NavyBlue, only marks, mark=triangle*]
table [col sep=comma, x=n, y=spf] table [col sep=comma, x=n, y=spf,
y expr=\thisrow{spf} * 1000]
{res/admm/fps_vs_n.csv}; {res/admm/fps_vs_n.csv};
\addlegendentry{ADMM} \addlegendentry{ADMM}
\end{axis} \end{axis}
@ -617,7 +620,7 @@ while stopping critierion unfulfilled do
\textbf{prox}_{\gamma h}\left( \boldsymbol{r} \right)} $|\Suppressnumber| \textbf{prox}_{\gamma h}\left( \boldsymbol{r} \right)} $|\Suppressnumber|
|\Reactivatenumber| |\Reactivatenumber|
end while end while
return $\boldsymbol{s}$ return $\hat{\boldsymbol{c}}$
\end{algorithm} \end{algorithm}
\end{subfigure}\hfill% \end{subfigure}\hfill%
\begin{subfigure}[b]{0.5\textwidth} \begin{subfigure}[b]{0.5\textwidth}
@ -652,7 +655,7 @@ while stopping criterion unfulfilled do
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j $\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j
+ \tilde{\boldsymbol{c}} - \boldsymbol{z}_j, \hspace{14.5mm}\forall j\in\mathcal{J}$ + \tilde{\boldsymbol{c}} - \boldsymbol{z}_j, \hspace{14.5mm}\forall j\in\mathcal{J}$
end while end while
return $\tilde{\boldsymbol{c}}$ return $\hat{\boldsymbol{c}}$
\end{algorithm} \end{algorithm}
\end{subfigure}% \end{subfigure}%
\end{figure}% \end{figure}%
@ -663,7 +666,7 @@ return $\tilde{\boldsymbol{c}}$
\begin{frame}[t, fragile] \begin{frame}[t, fragile]
\frametitle{Comparison: Algorithm Structure} \frametitle{Comparison: Algorithm Structure}
\vspace*{-1cm} \vspace*{-0.6cm}
\begin{figure}[h] \begin{figure}[h]
\centering \centering
@ -674,12 +677,12 @@ return $\tilde{\boldsymbol{c}}$
\begin{algorithm}[caption={}, label={},] \begin{algorithm}[caption={}, label={},]
Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$ Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$
while stopping critierion unfulfilled do while stopping critierion unfulfilled do
for j in $\mathcal{J}$ do for $j$ in $\mathcal{J}$ do
$p_j \leftarrow \prod_{i\in N_c\left( j \right) } r_i $ $p_j \leftarrow \prod_{i\in N_c\left( j \right) } r_i $
$\textcolor{KITblue}{M_{j\to i} \leftarrow p_j^2 - p_j}$|\Suppressnumber| $\textcolor{KITblue}{M_{j\to i} \leftarrow p_j^2 - p_j}$|\Suppressnumber|
|\vspace{0.7mm}\Reactivatenumber| |\vspace{0.7mm}\Reactivatenumber|
end for end for
for i in $\mathcal{I}$ do for $i$ in $\mathcal{I}$ do
$s_i \leftarrow s_i + \gamma \left[ 4\left( s_i^2 - 1 \right)s_i $s_i \leftarrow s_i + \gamma \left[ 4\left( s_i^2 - 1 \right)s_i
\phantom{\frac{4}{s_i}}\right.$|\Suppressnumber| \phantom{\frac{4}{s_i}}\right.$|\Suppressnumber|
|\Reactivatenumber|$\left.+ \frac{4}{s_i}\sum_{j\in N_v\left( i \right) } |\Reactivatenumber|$\left.+ \frac{4}{s_i}\sum_{j\in N_v\left( i \right) }
@ -687,7 +690,7 @@ while stopping critierion unfulfilled do
$r_i \leftarrow r_i + \omega \left( s_i - y_i \right)$ $r_i \leftarrow r_i + \omega \left( s_i - y_i \right)$
end for end for
end while end while
return $\boldsymbol{s}$ return $\hat{\boldsymbol{c}}$
\end{algorithm} \end{algorithm}
\end{subfigure}% \end{subfigure}%
\hfill \hfill
@ -697,7 +700,7 @@ return $\boldsymbol{s}$
\begin{algorithm}[caption={}, label={},] \begin{algorithm}[caption={}, label={},]
Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}, \boldsymbol{u}, \boldsymbol{\gamma}, \rho$ Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}, \boldsymbol{u}, \boldsymbol{\gamma}, \rho$
while stopping criterion unfulfilled do while stopping criterion unfulfilled do
for j in $\mathcal{J}$ do for $j$ in $\mathcal{J}$ do
$\boldsymbol{z}_j \leftarrow \Pi_{P_{d_j}}\left( $\boldsymbol{z}_j \leftarrow \Pi_{P_{d_j}}\left(
\boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j\right)$ \boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j\right)$
$\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j + \boldsymbol{T}_j\tilde{\boldsymbol{c}} $\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j + \boldsymbol{T}_j\tilde{\boldsymbol{c}}
@ -705,14 +708,14 @@ while stopping criterion unfulfilled do
$\textcolor{KITblue}{M_{j\to i} \leftarrow \left( z_j \right)_i - \left( u_j \right)_i, $\textcolor{KITblue}{M_{j\to i} \leftarrow \left( z_j \right)_i - \left( u_j \right)_i,
\hspace{3mm} \forall i \in N_c\left( j \right)}$ \hspace{3mm} \forall i \in N_c\left( j \right)}$
end for end for
for i in $\mathcal{I}$ do for $i$ in $\mathcal{I}$ do
$\tilde{c}_i \leftarrow \frac{1}{d_i} $\tilde{c}_i \leftarrow \frac{1}{d_i}
\left(\sum_{j\in N_v\left( i \right) } M_{j\to i} \left(\sum_{j\in N_v\left( i \right) } M_{j\to i}
- \frac{\gamma_i}{\mu} \right)$|\Suppressnumber| - \frac{\gamma_i}{\mu} \right)$|\Suppressnumber|
|\vspace{7mm}\Reactivatenumber| |\vspace{7mm}\Reactivatenumber|
end for end for
end while end while
return $\tilde{\boldsymbol{c}}$ return $\hat{\boldsymbol{c}}$
\end{algorithm} \end{algorithm}
\end{subfigure}% \end{subfigure}%
\end{figure}% \end{figure}%

View File

@ -1,5 +1,5 @@
\section{Conclusion and Outlook}% \section{Conclusion and Outlook}%
\label{sec:Comparison} \label{sec:Conclusion}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -19,8 +19,18 @@
\end{itemize} \end{itemize}
\item Comparison \item Comparison
\begin{itemize} \begin{itemize}
\item based on simulation results \item Based on simulation results
\item based on their theoretical structure \item Based on their theoretical structure
\end{itemize}
\end{itemize}
\bigskip
\begin{itemize}
\item Future work
\begin{itemize}
\item Usage of adaptive LP decoding to lower runtime or approximate ML performance
\item Combination of proximal and LP decoding
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -688,14 +688,14 @@
\item Iterative algorithm: \item Iterative algorithm:
\begin{alignat*}{3} \begin{alignat*}{3}
\tilde{\boldsymbol{c}} &\leftarrow \argmin_{\tilde{\boldsymbol{c}}} \tilde{\boldsymbol{c}} &\leftarrow \argmin_{\tilde{\boldsymbol{c}}}
\left( \boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}} \boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}
+ \frac{\mu}{2}\sum_{j\in\mathcal{J}} \left\Vert + \frac{\mu}{2}\sum_{j\in\mathcal{J}} \left\Vert
\boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j
+ \boldsymbol{u}_j \right\Vert \right) \\ + \boldsymbol{u}_j \right\Vert \\
\boldsymbol{z}_j &\leftarrow \argmin_{\boldsymbol{z}_j} \boldsymbol{z}_j &\leftarrow \argmin_{\boldsymbol{z}_j}
\left( g\left( \boldsymbol{z}_j \right) g\left( \boldsymbol{z}_j \right)
+ \frac{\mu}{2} \left\Vert \boldsymbol{T}_j \tilde{\boldsymbol{c}} + \frac{\mu}{2} \left\Vert \boldsymbol{T}_j \tilde{\boldsymbol{c}}
- \boldsymbol{z}_j + \boldsymbol{u}_j \right\Vert \right), - \boldsymbol{z}_j + \boldsymbol{u}_j \right\Vert,
\hspace{5mm} &&\forall j\in\mathcal{J} \\ \hspace{5mm} &&\forall j\in\mathcal{J} \\
\boldsymbol{u}_j &\leftarrow \boldsymbol{u}_j \boldsymbol{u}_j &\leftarrow \boldsymbol{u}_j
+ \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j, + \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j,
@ -729,7 +729,7 @@
% \boldsymbol{z}_j \right)_i$.\\ % \boldsymbol{z}_j \right)_i$.\\
% The same is true for $\left( \boldsymbol{u}_j \right)_i$}: % The same is true for $\left( \boldsymbol{u}_j \right)_i$}:
\vspace*{-3mm} \vspace*{-4mm}
\begin{alignat*}{3} \begin{alignat*}{3}
\tilde{c}_i &\leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left( \tilde{c}_i &\leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left(
@ -759,7 +759,7 @@
\end{itemize} \end{itemize}
\bigskip \bigskip
\smallskip \bigskip
\addreferences \addreferences
{$\text{Bar}^+\text{13}$}{Siddharth Barman et al.: {$\text{Bar}^+\text{13}$}{Siddharth Barman et al.:
@ -890,6 +890,7 @@
height=0.325\textwidth, height=0.325\textwidth,
%legend style={at={(0.03,0.04)},anchor=south west}, %legend style={at={(0.03,0.04)},anchor=south west},
legend pos=outer north east, legend pos=outer north east,
legend cell align={left},
] ]
\addplot[Emerald, line width=1pt, mark=*] \addplot[Emerald, line width=1pt, mark=*]
table [col sep=comma, x=SNR, y=FER, table [col sep=comma, x=SNR, y=FER,

View File

@ -226,7 +226,7 @@ return $\boldsymbol{\hat{c}}$
\begin{itemize} \begin{itemize}
\item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484} \item (3,6) regular LDPC code with $n=204, k=102$ \citereference{Mac23, 204.33.484}
\item Not great benefit in finding the optimal value for $\gamma$ \item Observation: not great benefit in finding the optimal value for $\gamma$
\end{itemize} \end{itemize}
\bigskip \bigskip
@ -936,7 +936,7 @@ return $\boldsymbol{\hat{c}}$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t] \begin{frame}[t]
\frametitle{Proximal Decoder: Oscillation of $\nabla h\left( \tilde{\boldsymbol{x}} \right) $} \frametitle{Proximal Decoding: Improvement}
\vspace*{-3mm} \vspace*{-3mm}
@ -1175,8 +1175,8 @@ for $K$ iterations do
return $\boldsymbol{\hat{c}}$ return $\boldsymbol{\hat{c}}$
end if end if
end for end for
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$ $\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits}}$
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with the }N\text{ bits modified.}}$ $\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\hat{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with }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}{\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)}$ $\textcolor{KITblue}{\textbf{return }\boldsymbol{\hat{c}}_l\text{ with lowest }d_H\left( \boldsymbol{ \hat{c}}_l, \boldsymbol{\hat{c}} \right)}$
\end{algorithm} \end{algorithm}