Replace \boldsymbol by \bm
This commit is contained in:
parent
92d5db16b1
commit
7a6ce5b856
133
letter.tex
133
letter.tex
@ -9,6 +9,7 @@
|
|||||||
\usepackage{dsfont}
|
\usepackage{dsfont}
|
||||||
\usepackage{mleftright}
|
\usepackage{mleftright}
|
||||||
\usepackage{bbm}
|
\usepackage{bbm}
|
||||||
|
\usepackage{bm}
|
||||||
\usepackage[
|
\usepackage[
|
||||||
backend=biber,
|
backend=biber,
|
||||||
style=ieee,
|
style=ieee,
|
||||||
@ -201,43 +202,43 @@ codewords, the lengths of which are denoted by $k \in \mathbb{N}$
|
|||||||
and $n \in \mathbb{N}$, respectively, with $k \le n$.
|
and $n \in \mathbb{N}$, respectively, with $k \le n$.
|
||||||
The set of codewords $\mathcal{C} \subset \mathbb{F}_2^n$ of a binary linear
|
The set of codewords $\mathcal{C} \subset \mathbb{F}_2^n$ of a binary linear
|
||||||
code can be represented using the parity-check matrix
|
code can be represented using the parity-check matrix
|
||||||
$\boldsymbol{H} \in \mathbb{F}_2^{m \times n} $, where $m$ represents the
|
$\bm{H} \in \mathbb{F}_2^{m \times n} $, where $m$ represents the
|
||||||
number of parity-checks:
|
number of parity-checks:
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{C} := \left\{ \boldsymbol{c} \in \mathbb{F}_2^n :
|
\mathcal{C} := \left\{ \bm{c} \in \mathbb{F}_2^n :
|
||||||
\boldsymbol{H}\boldsymbol{c}^\text{T} = \boldsymbol{0} \right\}
|
\bm{H}\bm{c}^\text{T} = \bm{0} \right\}
|
||||||
\end{align*}
|
\end{align*}
|
||||||
%
|
%
|
||||||
|
|
||||||
The check nodes $j \in \mathcal{J}:=\left\{1, \ldots, m\right\}$ each
|
The check nodes $j \in \mathcal{J}:=\left\{1, \ldots, m\right\}$ each
|
||||||
correspond to a parity check, i.e., a row of $\boldsymbol{H}$.
|
correspond to a parity check, i.e., a row of $\bm{H}$.
|
||||||
The variable nodes $i \in \mathcal{I}:=\left\{1, \ldots, n\right\}$ correspond
|
The variable nodes $i \in \mathcal{I}:=\left\{1, \ldots, n\right\}$ correspond
|
||||||
to the components of a codeword being subjected to a parity check, i.e.,
|
to the components of a codeword being subjected to a parity check, i.e.,
|
||||||
to the columns of $\boldsymbol{H}$.
|
to the columns of $\bm{H}$.
|
||||||
The neighborhood of a parity check $j$, i.e., the set of indices of components
|
The neighborhood of a parity check $j$, i.e., the set of indices of components
|
||||||
relevant for the according parity check, is denoted by
|
relevant for the according parity check, is denoted by
|
||||||
$\mathcal{N}_c(j) := \left\{i \in \mathcal{I}: \boldsymbol{H}\negthinspace_{j,i} = 1 \right\},
|
$\mathcal{N}_c(j) := \left\{i \in \mathcal{I}: \bm{H}\negthinspace_{j,i} = 1 \right\},
|
||||||
\hspace{2mm} j \in \mathcal{J}$.
|
\hspace{2mm} j \in \mathcal{J}$.
|
||||||
|
|
||||||
In order to transmit a codeword $\boldsymbol{c} \in \mathbb{F}_2^n$, it is
|
In order to transmit a codeword $\bm{c} \in \mathbb{F}_2^n$, it is
|
||||||
mapped onto a \textit{binary phase shift keying} (BPSK) symbol via
|
mapped onto a \textit{binary phase shift keying} (BPSK) symbol via
|
||||||
$\boldsymbol{x} = 1 - 2\boldsymbol{c}$, with
|
$\bm{x} = 1 - 2\bm{c}$, with
|
||||||
$ \boldsymbol{x} \in \left\{\pm 1\right\}^n$, which is then transmitted over an
|
$ \bm{x} \in \left\{\pm 1\right\}^n$, which is then transmitted over an
|
||||||
AWGN channel.
|
AWGN channel.
|
||||||
The received vector $\boldsymbol{y} \in \mathbb{R}^n$ is decoded to obtain an
|
The received vector $\bm{y} \in \mathbb{R}^n$ is decoded to obtain an
|
||||||
estimate of the transmitted codeword, denoted as
|
estimate of the transmitted codeword, denoted as
|
||||||
$\hat{\boldsymbol{c}} \in \mathbb{F}_2^n$.
|
$\hat{\bm{c}} \in \mathbb{F}_2^n$.
|
||||||
A distinction is made between $\boldsymbol{x} \in \left\{\pm 1\right\}^n$
|
A distinction is made between $\bm{x} \in \left\{\pm 1\right\}^n$
|
||||||
and $\tilde{\boldsymbol{x}} \in \mathbb{R}^n$,
|
and $\tilde{\bm{x}} \in \mathbb{R}^n$,
|
||||||
the former denoting the BPSK symbol physically transmitted over the channel and
|
the former denoting the BPSK symbol physically transmitted over the channel and
|
||||||
the latter being used as a variable during the optimization process.
|
the latter being used as a variable during the optimization process.
|
||||||
The posterior probability of having transmitted $\boldsymbol{x}$ when receiving
|
The posterior probability of having transmitted $\bm{x}$ when receiving
|
||||||
$\boldsymbol{y}$ is expressed as a \textit{probability mass function} (PMF)
|
$\bm{y}$ is expressed as a \textit{probability mass function} (PMF)
|
||||||
$P_{\boldsymbol{X}\mid\boldsymbol{Y}}(\boldsymbol{x} \mid \boldsymbol{y})$.
|
$P_{\bm{X}\mid\bm{Y}}(\bm{x} \mid \bm{y})$.
|
||||||
Likewise, the likelihood of receiving $\boldsymbol{y}$ upon transmitting
|
Likewise, the likelihood of receiving $\bm{y}$ upon transmitting
|
||||||
$\boldsymbol{x}$ is expressed as a \textit{probability density function} (PDF)
|
$\bm{x}$ is expressed as a \textit{probability density function} (PDF)
|
||||||
$f_{\boldsymbol{Y}\mid\boldsymbol{X}}(\boldsymbol{y} \mid \boldsymbol{x})$.
|
$f_{\bm{Y}\mid\bm{X}}(\bm{y} \mid \bm{x})$.
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%
|
||||||
@ -258,7 +259,7 @@ One such expression, formulated under the assumption of BPSK, is the
|
|||||||
\textit{code-constraint polynomial} \cite{proximal_paper}
|
\textit{code-constraint polynomial} \cite{proximal_paper}
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
h( \tilde{\boldsymbol{x}} ) =
|
h( \tilde{\bm{x}} ) =
|
||||||
\underbrace{\sum_{i=1}^{n}
|
\underbrace{\sum_{i=1}^{n}
|
||||||
\left( \tilde{x}_i^2-1 \right) ^2}_{\text{Bipolar constraint}}
|
\left( \tilde{x}_i^2-1 \right) ^2}_{\text{Bipolar constraint}}
|
||||||
+ \underbrace{\sum_{j=1}^{m} \left[
|
+ \underbrace{\sum_{j=1}^{m} \left[
|
||||||
@ -274,45 +275,45 @@ information regarding the code.
|
|||||||
The channel model can be considered using the negative log-likelihood
|
The channel model can be considered using the negative log-likelihood
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
L \mleft( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \mright) = -\ln\mleft(
|
L \mleft( \bm{y} \mid \tilde{\bm{x}} \mright) = -\ln\mleft(
|
||||||
f_{\boldsymbol{Y} \mid \tilde{\boldsymbol{X}}} \mleft(
|
f_{\bm{Y} \mid \tilde{\bm{X}}} \mleft(
|
||||||
\boldsymbol{y} \mid \tilde{\boldsymbol{x}} \mright) \mright)
|
\bm{y} \mid \tilde{\bm{x}} \mright) \mright)
|
||||||
.\end{align*}
|
.\end{align*}
|
||||||
%
|
%
|
||||||
The information about the channel and the code are consolidated in the objective
|
The information about the channel and the code are consolidated in the objective
|
||||||
function \cite{proximal_paper}
|
function \cite{proximal_paper}
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
g \mleft( \tilde{\boldsymbol{x}} \mright)
|
g \mleft( \tilde{\bm{x}} \mright)
|
||||||
= L \mleft( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \mright)
|
= L \mleft( \bm{y} \mid \tilde{\bm{x}} \mright)
|
||||||
+ \gamma h\mleft( \tilde{\boldsymbol{x}} \mright),
|
+ \gamma h\mleft( \tilde{\bm{x}} \mright),
|
||||||
\hspace{5mm} \gamma > 0%
|
\hspace{5mm} \gamma > 0%
|
||||||
.\end{align*}
|
.\end{align*}
|
||||||
%
|
%
|
||||||
The objective function is minimized using the proximal gradient method, which
|
The objective function is minimized using the proximal gradient method, which
|
||||||
amounts to iteratively performing two gradient-descent steps \cite{proximal_paper}
|
amounts to iteratively performing two gradient-descent steps \cite{proximal_paper}
|
||||||
with the given objective function and considering AWGN channels.
|
with the given objective function and considering AWGN channels.
|
||||||
To this end, two helper variables, $\boldsymbol{r}$ and $\boldsymbol{s}$, are
|
To this end, two helper variables, $\bm{r}$ and $\bm{s}$, are
|
||||||
introduced, describing the result of each of the two steps:
|
introduced, describing the result of each of the two steps:
|
||||||
%
|
%
|
||||||
\begin{alignat}{3}
|
\begin{alignat}{3}
|
||||||
\boldsymbol{r} &\leftarrow \boldsymbol{s}
|
\bm{r} &\leftarrow \bm{s}
|
||||||
- \omega \mleft( \boldsymbol{s} - \boldsymbol{y} \mright)
|
- \omega \mleft( \bm{s} - \bm{y} \mright)
|
||||||
\hspace{5mm }&&\omega > 0 \label{eq:r_update}\\
|
\hspace{5mm }&&\omega > 0 \label{eq:r_update}\\
|
||||||
\boldsymbol{s} &\leftarrow \boldsymbol{r}
|
\bm{s} &\leftarrow \bm{r}
|
||||||
- \gamma \nabla h\mleft( \boldsymbol{r} \mright),
|
- \gamma \nabla h\mleft( \bm{r} \mright),
|
||||||
\hspace{5mm} &&\gamma > 0 \label{eq:s_update}
|
\hspace{5mm} &&\gamma > 0 \label{eq:s_update}
|
||||||
.\end{alignat}
|
.\end{alignat}
|
||||||
%
|
%
|
||||||
An equation for determining $\nabla h(\boldsymbol{r})$ is given in
|
An equation for determining $\nabla h(\bm{r})$ is given in
|
||||||
\cite{proximal_paper}.
|
\cite{proximal_paper}.
|
||||||
It should be noted that the variables $\boldsymbol{r}$ and $\boldsymbol{s}$
|
It should be noted that the variables $\bm{r}$ and $\bm{s}$
|
||||||
represent $\tilde{\boldsymbol{x}}$ during different
|
represent $\tilde{\bm{x}}$ during different
|
||||||
stages of the decoding process.
|
stages of the decoding process.
|
||||||
|
|
||||||
As the gradient of the code-constraint polynomial can attain very large values
|
As the gradient of the code-constraint polynomial can attain very large values
|
||||||
in some cases, an additional step is introduced to ensure numerical stability:
|
in some cases, an additional step is introduced to ensure numerical stability:
|
||||||
every current estimate $\boldsymbol{s}$ is projected onto
|
every current estimate $\bm{s}$ is projected onto
|
||||||
$\left[-\eta, \eta\right]^n$ by a projection
|
$\left[-\eta, \eta\right]^n$ by a projection
|
||||||
$\Pi_\eta : \mathbb{R}^n \rightarrow \left[-\eta, \eta\right]^n$, where $\eta$
|
$\Pi_\eta : \mathbb{R}^n \rightarrow \left[-\eta, \eta\right]^n$, where $\eta$
|
||||||
is a positive constant slightly larger than one, e.g., $\eta = 1.5$.
|
is a positive constant slightly larger than one, e.g., $\eta = 1.5$.
|
||||||
@ -324,16 +325,16 @@ presented in Algorithm \ref{alg:proximal_decoding}.
|
|||||||
\label{alg:proximal_decoding}
|
\label{alg:proximal_decoding}
|
||||||
|
|
||||||
\begin{algorithmic}
|
\begin{algorithmic}
|
||||||
\STATE $\boldsymbol{s} \leftarrow \boldsymbol{0}$
|
\STATE $\bm{s} \leftarrow \bm{0}$
|
||||||
\STATE \textbf{for} $K$ iterations \textbf{do}
|
\STATE \textbf{for} $K$ iterations \textbf{do}
|
||||||
\STATE \hspace{5mm} $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \left( \boldsymbol{s} - \boldsymbol{y} \right) $
|
\STATE \hspace{5mm} $\bm{r} \leftarrow \bm{s} - \omega \left( \bm{s} - \bm{y} \right) $
|
||||||
\STATE \hspace{5mm} $\boldsymbol{s} \leftarrow \Pi_\eta \left(\boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) \right)$
|
\STATE \hspace{5mm} $\bm{s} \leftarrow \Pi_\eta \left(\bm{r} - \gamma \nabla h\left( \bm{r} \right) \right)$
|
||||||
\STATE \hspace{5mm} $\boldsymbol{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \boldsymbol{s} \le 0 \right\}}$
|
\STATE \hspace{5mm} $\bm{\hat{c}} \leftarrow \mathbbm{1}_{\left\{ \bm{s} \le 0 \right\}}$
|
||||||
\STATE \hspace{5mm} \textbf{if} $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ \textbf{do}
|
\STATE \hspace{5mm} \textbf{if} $\bm{H}\bm{\hat{c}} = \bm{0}$ \textbf{do}
|
||||||
\STATE \hspace{10mm} \textbf{return} $\boldsymbol{\hat{c}}$
|
\STATE \hspace{10mm} \textbf{return} $\bm{\hat{c}}$
|
||||||
\STATE \hspace{5mm} \textbf{end if}
|
\STATE \hspace{5mm} \textbf{end if}
|
||||||
\STATE \textbf{end for}
|
\STATE \textbf{end for}
|
||||||
\STATE \textbf{return} $\boldsymbol{\hat{c}}$
|
\STATE \textbf{return} $\bm{\hat{c}}$
|
||||||
\end{algorithmic}
|
\end{algorithmic}
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
|
||||||
@ -481,8 +482,8 @@ optimization process.%
|
|||||||
at={(0.9775,0.97)},anchor=north east}]
|
at={(0.9775,0.97)},anchor=north east}]
|
||||||
\addlegendimage{mark=none}
|
\addlegendimage{mark=none}
|
||||||
\addlegendentry{
|
\addlegendentry{
|
||||||
$\nabla L\left(\boldsymbol{y}
|
$\nabla L\left(\bm{y}
|
||||||
\mid \tilde{\boldsymbol{x}}\right)$
|
\mid \tilde{\bm{x}}\right)$
|
||||||
};
|
};
|
||||||
\end{axis}
|
\end{axis}
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
@ -530,22 +531,22 @@ optimization process.%
|
|||||||
empty legend,
|
empty legend,
|
||||||
at={(0.9775,0.97)},anchor=north east}]
|
at={(0.9775,0.97)},anchor=north east}]
|
||||||
\addlegendimage{mark=none}
|
\addlegendimage{mark=none}
|
||||||
\addlegendentry{$\nabla h\left(\tilde{\boldsymbol{x}}\right)$};
|
\addlegendentry{$\nabla h\left(\tilde{\bm{x}}\right)$};
|
||||||
\end{axis}
|
\end{axis}
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\fi
|
\fi
|
||||||
\caption{Gradients
|
\caption{Gradients
|
||||||
$\nabla L\left(\boldsymbol{y} \mid \tilde{\boldsymbol{x}}\right)$
|
$\nabla L\left(\bm{y} \mid \tilde{\bm{x}}\right)$
|
||||||
and $\nabla h \left( \tilde{\boldsymbol{x}} \right)$ for a repetition
|
and $\nabla h \left( \tilde{\bm{x}} \right)$ for a repetition
|
||||||
code with $n=2$.
|
code with $n=2$.
|
||||||
Shown for $\boldsymbol{y} = \begin{bmatrix} -0.5 & 0.8 \end{bmatrix}$.
|
Shown for $\bm{y} = \begin{bmatrix} -0.5 & 0.8 \end{bmatrix}$.
|
||||||
}
|
}
|
||||||
\label{fig:grad}
|
\label{fig:grad}
|
||||||
\end{figure}%
|
\end{figure}%
|
||||||
%
|
%
|
||||||
|
|
||||||
In Fig. \ref{fig:prox:convergence_large_n}, we consider only component
|
In Fig. \ref{fig:prox:convergence_large_n}, we consider only component
|
||||||
$\left(\tilde{\boldsymbol{x}}\right)_1$ of the estimate during a
|
$\left(\tilde{\bm{x}}\right)_1$ of the estimate during a
|
||||||
decoding operation for the LDPC code used also for Fig. 1.
|
decoding operation for the LDPC code used also for Fig. 1.
|
||||||
Two qualities may be observed.
|
Two qualities may be observed.
|
||||||
First, we observe the average absolute values of the two gradients are equal,
|
First, we observe the average absolute values of the two gradients are equal,
|
||||||
@ -585,14 +586,14 @@ oscillate after a certain number of iterations.%
|
|||||||
table [col sep=comma, x=k, y=grad_h_0,
|
table [col sep=comma, x=k, y=grad_h_0,
|
||||||
discard if gt={k}{300}]
|
discard if gt={k}{300}]
|
||||||
{res/extreme_components_20433484_combined.csv};
|
{res/extreme_components_20433484_combined.csv};
|
||||||
\addlegendentry{$\left(\tilde{\boldsymbol{x}}\right)_1$}
|
\addlegendentry{$\left(\tilde{\bm{x}}\right)_1$}
|
||||||
\addlegendentry{$\left(\nabla L\right)_1$}
|
\addlegendentry{$\left(\nabla L\right)_1$}
|
||||||
\addlegendentry{$\left(\nabla h\right)_1$}
|
\addlegendentry{$\left(\nabla h\right)_1$}
|
||||||
\end{axis}
|
\end{axis}
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
\caption{Visualization of component $\left(\tilde{\boldsymbol{x}}\right)_1$
|
\caption{Visualization of component $\left(\tilde{\bm{x}}\right)_1$
|
||||||
for a decoding operation for a (3,6) regular LDPC code with
|
for a decoding operation for a (3,6) regular LDPC code with
|
||||||
$n=204, k=102$ \cite[\text{204.33.484}]{mackay}.
|
$n=204, k=102$ \cite[\text{204.33.484}]{mackay}.
|
||||||
Parameters used for simulation: $\gamma = 0.05, \omega = 0.05,
|
Parameters used for simulation: $\gamma = 0.05, \omega = 0.05,
|
||||||
@ -608,7 +609,7 @@ Considering the magnitude of the oscillation of the gradient of the code constra
|
|||||||
polynomial, some interesting behavior may be observed.
|
polynomial, some interesting behavior may be observed.
|
||||||
Fig. \ref{fig:p_error} shows the probability that a component of the estimate
|
Fig. \ref{fig:p_error} shows the probability that a component of the estimate
|
||||||
is wrong, determined through a Monte Carlo simulation, when the components of
|
is wrong, determined through a Monte Carlo simulation, when the components of
|
||||||
$\boldsymbol{c}$ are ordered from smallest to largest oscillation of
|
$\bm{c}$ are ordered from smallest to largest oscillation of
|
||||||
$\left(\nabla h\right)_i$.
|
$\left(\nabla h\right)_i$.
|
||||||
|
|
||||||
The lower the magnitude of the oscillation, the higher the probability that the
|
The lower the magnitude of the oscillation, the higher the probability that the
|
||||||
@ -640,7 +641,7 @@ the probability that a given component was decoded incorrectly.%
|
|||||||
\fi
|
\fi
|
||||||
|
|
||||||
\caption{Probability that a component of the estimated codeword
|
\caption{Probability that a component of the estimated codeword
|
||||||
$\hat{\boldsymbol{c}}\in \mathbb{F}_2^n$ is erroneous for a (3,6) regular
|
$\hat{\bm{c}}\in \mathbb{F}_2^n$ is erroneous for a (3,6) regular
|
||||||
LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay}.
|
LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay}.
|
||||||
The indices $i'$ are ordered such that the amplitude of oscillation of
|
The indices $i'$ are ordered such that the amplitude of oscillation of
|
||||||
$\left(\nabla h\right)_{i'}$ increases with $i'$.
|
$\left(\nabla h\right)_{i'}$ increases with $i'$.
|
||||||
@ -656,7 +657,7 @@ If a valid codeword has been reached, i.e., if the algorithm has converged,
|
|||||||
we return this solution.
|
we return this solution.
|
||||||
Otherwise, $N \in \mathbb{N}$ components are selected based on the criterion
|
Otherwise, $N \in \mathbb{N}$ components are selected based on the criterion
|
||||||
presented above.
|
presented above.
|
||||||
Beginning with the recent estimate $\hat{\boldsymbol{c}} \in \mathbb{F}_2^n$,
|
Beginning with the recent estimate $\hat{\bm{c}} \in \mathbb{F}_2^n$,
|
||||||
all variations of words with the selected components modified are then
|
all variations of words with the selected components modified are then
|
||||||
generated and an ``ML-in-the-list'' step is performed.
|
generated and an ``ML-in-the-list'' step is performed.
|
||||||
|
|
||||||
@ -665,13 +666,13 @@ generated and an ``ML-in-the-list'' step is performed.
|
|||||||
\label{alg:ml-in-the-list}
|
\label{alg:ml-in-the-list}
|
||||||
|
|
||||||
\begin{algorithmic}
|
\begin{algorithmic}
|
||||||
\STATE Find valid codewords under $\left(\hat{\boldsymbol{c}}_{l}\right)_{1=1}^{2^N}$
|
\STATE Find valid codewords under $\left(\hat{\bm{c}}_{l}\right)_{1=1}^{2^N}$
|
||||||
\STATE \textbf{if} no valid codewords exist
|
\STATE \textbf{if} no valid codewords exist
|
||||||
\STATE \hspace{5mm} Compute $\langle \hat{\boldsymbol{c}}_l, \hat{\boldsymbol{c}} \rangle$ for all variations $\boldsymbol{c}_l$
|
\STATE \hspace{5mm} Compute $\langle \hat{\bm{c}}_l, \hat{\bm{c}} \rangle$ for all variations $\bm{c}_l$
|
||||||
\STATE \textbf{else}
|
\STATE \textbf{else}
|
||||||
\STATE \hspace{5mm} Compute $\langle \hat{\boldsymbol{c}}_l, \hat{\boldsymbol{c}} \rangle$ for valid codewords
|
\STATE \hspace{5mm} Compute $\langle \hat{\bm{c}}_l, \hat{\bm{c}} \rangle$ for valid codewords
|
||||||
\STATE \textbf{end if}
|
\STATE \textbf{end if}
|
||||||
\STATE \textbf{return} $\hat{\boldsymbol{c}}_l$ with highest $\langle \hat{\boldsymbol{c}}_l, \hat{\boldsymbol{c}} \rangle$
|
\STATE \textbf{return} $\hat{\bm{c}}_l$ with highest $\langle \hat{\bm{c}}_l, \hat{\bm{c}} \rangle$
|
||||||
\end{algorithmic}
|
\end{algorithmic}
|
||||||
\end{algorithm}%
|
\end{algorithm}%
|
||||||
%
|
%
|
||||||
@ -681,18 +682,18 @@ generated and an ``ML-in-the-list'' step is performed.
|
|||||||
\label{alg:improved}
|
\label{alg:improved}
|
||||||
|
|
||||||
\begin{algorithmic}
|
\begin{algorithmic}
|
||||||
\STATE $\boldsymbol{s} \leftarrow \boldsymbol{0}$
|
\STATE $\bm{s} \leftarrow \bm{0}$
|
||||||
\STATE \textbf{for} $K$ iterations \textbf{do}
|
\STATE \textbf{for} $K$ iterations \textbf{do}
|
||||||
\STATE \hspace{5mm} $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \left( \boldsymbol{s} - \boldsymbol{y} \right) $
|
\STATE \hspace{5mm} $\bm{r} \leftarrow \bm{s} - \omega \left( \bm{s} - \bm{y} \right) $
|
||||||
\STATE \hspace{5mm} $\boldsymbol{s} \leftarrow \Pi_\eta \left(\boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) \right)$
|
\STATE \hspace{5mm} $\bm{s} \leftarrow \Pi_\eta \left(\bm{r} - \gamma \nabla h\left( \bm{r} \right) \right)$
|
||||||
\STATE \hspace{5mm} $\boldsymbol{\hat{c}} \leftarrow \mathds{1} \left\{ \text{sign}\left( \boldsymbol{s} \right) = -1 \right\}$
|
\STATE \hspace{5mm} $\bm{\hat{c}} \leftarrow \mathds{1} \left\{ \text{sign}\left( \bm{s} \right) = -1 \right\}$
|
||||||
\STATE \hspace{10mm} \textbf{if} $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ \textbf{do}
|
\STATE \hspace{10mm} \textbf{if} $\bm{H}\bm{\hat{c}} = \bm{0}$ \textbf{do}
|
||||||
\STATE \hspace{10mm} \textbf{return} $\boldsymbol{\hat{c}}$
|
\STATE \hspace{10mm} \textbf{return} $\bm{\hat{c}}$
|
||||||
\STATE \hspace{5mm} \textbf{end if}
|
\STATE \hspace{5mm} \textbf{end if}
|
||||||
\STATE \textbf{end for}
|
\STATE \textbf{end for}
|
||||||
\STATE $\textcolor{KITblue}{\text{Estimate $N$ wrong bit indices $\mathcal{I} = \{i_1,\ldots,i_N\}$}}$
|
\STATE $\textcolor{KITblue}{\text{Estimate $N$ wrong bit indices $\mathcal{I} = \{i_1,\ldots,i_N\}$}}$
|
||||||
\STATE $\textcolor{KITblue}{\text{Generate candidate list $\left(\hat{\boldsymbol{c}}_{l}\right)_{l=1}^{2^N}$ by varying bits in $\mathcal{I}$}}$\vspace{1mm}
|
\STATE $\textcolor{KITblue}{\text{Generate candidate list $\left(\hat{\bm{c}}_{l}\right)_{l=1}^{2^N}$ by varying bits in $\mathcal{I}$}}$\vspace{1mm}
|
||||||
\STATE $\textcolor{KITblue}{\textbf{return ml\textunderscore in\textunderscore the\textunderscore list}\left(\left(\hat{\boldsymbol{c}}_l\right)_{1=1}^{2^N}\right)}$
|
\STATE $\textcolor{KITblue}{\textbf{return ml\textunderscore in\textunderscore the\textunderscore list}\left(\left(\hat{\bm{c}}_l\right)_{1=1}^{2^N}\right)}$
|
||||||
\end{algorithmic}
|
\end{algorithmic}
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user