How does one get this generator matrix when it comes to finite fields and codes?

36 Views Asked by At

For binary messages of length $9$ we define code words as follows:

We write the letters one by one into the rows of a $3 \times 3$ matrix, which we enhance by a fourth row and column to a $4 \times 4$ matrix.

In the first three entries $A_{14},A_{24},A_{34}$ of the fourth column we write the row sum (in $_2$) of the $3 \times 3$ matrix. In the entries $A_{41},..,A_{44}$ of the fourth row we write the resulting column sum (in $_2$).

From the $4 \times 4$ matrix we create the code word by attaching them consecutively.

For example:

Message $101010110$

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

leads to the codeword $1010010111000011$

The problem is that, I don't understand how one gets to this massive generator matrix:

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

I'm struggling to find out how to get to this generator matrix (even using online tools) Any help is appreciated!

1

There are 1 best solutions below

0
On BEST ANSWER

You get a basis for the code by applying the encoding process to the nine 3x3 inputs with a single $1$ and eight $0$s. That set of nine codewords actually has the echelon form, and they are the nine columns of the matrix you wrote.

For example the input $$ \left[\begin{array}{ccc} 0&0&0\\0&1&0\\0&0&0\end{array}\right] $$ is completed in the encoding process to $$ \left[\begin{array}{cccc} 0&0&0&0\\0&1&0&1 \\0&0&0&0\\0&1&0&1 \end{array}\right]. $$ When read row-by-row this becomes $0000\,0101\,0000\,0101$, which is the fifth column of the $16\times 9$ matrix that you posted. This corresponds to the fact that the single one of this input is the fifth entry of the input matrix.