Syndrome decoding algorithm and standard form

248 Views Asked by At

Assume I have a linear code over $\mathbb{F}_2$ with dimensions $[3,6]$ and generator matrix $G$ not in standard form

$$\begin{bmatrix} 0&1&0&1&1&0 \\ 1&0&0&1&0&1 \\ 0&0&1&0&1&1 \end{bmatrix}$$

Suppose I receive the vector $$y = (1,0,1,0,0,1)$$ and I want to correct it using the syndrome decoding algorithm.

  • I can put $G$ in standard form by exchanging the first two columns, call it $G'$, get the parity check matrix for the equivalent code, call it $H'$, and then find the original parity check matrix $H$ and apply the Syndrome decoding algorithm to the vector $y$, and that is fine.

  • What about if I want to use the SDA algorithm with the parity check matrix $H'$ (the one that corresponds to generator matrix $G'$)? What should I change?


EDIT:

In this specific example

$$G' = \begin{bmatrix} 1&0&0&1&1&0 \\ 0&1&0&1&0&1 \\ 0&0&1&0&1&1 \end{bmatrix}$$

and

$$H' = \begin{bmatrix} 1&1&0&1&0&0 \\ 1&0&1&0&1&0 \\ 0&1&1&0&0&1 \end{bmatrix}$$

If I want to use $H'$, I consider $yP=(0,1,1,0,0,1)$. Then $H'\cdot yP=(1,1,1)$.

Therefore, I have to compute the cosets of $(1,1,1)$. It is the set $$\{x \in F_2^6: H' \cdot x = (1,1,1) \}$$

and this is represented by

$$ \begin{cases} x_1+x_2+x_4 = 1 \\ x_1+x_3+x_5=1 \\ x_2+x_3+x_6 = 1 \end{cases} $$

The solutions are given by a $$\text{particular one } + C' $$ $$ (1,0,1,0,1,0) + C'$$

and doing the computations I choose as coset leader $e_3 + e_4$, obtaining the correction $$c = yP+e_3+e_4 = (0,1,0,1,0,1)$$

Now, to obtain the right corrected word, I just multiply by $P^{-1} = P$ (it's orthogonal), and hence I obtain $$cP = (1,0,0,1,01)$$ which is a codeword in $C$ (I just checked it by multiplying: $H\cdot cP = 0$)

1

There are 1 best solutions below

6
On

If you used the matrix $P$ to get $GP=G'$, then you would apply the algorithm to the codeword $yP$.

At that point you'd be decoding $yP$ with $H'$ from the code $G'$. It sounds like you understand how to apply it so... not sure what is left to say.