I have been asked to create a parity check matrix for a code made up of the codewords C=(0000,1110,1011,0101). I created a generator set {0101,1011} this set creates 1110 when the codewords in the set are added together and 0000 if the they are summed with themselves. I put the set into a generator matrix -
\begin{vmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1 \end{vmatrix}
I then transpose to create the Parity check matrix.
\begin{vmatrix} 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 1 \end{vmatrix}
Would this Parity check matrix be correct?
The reason why i am checking is the next part of the question, gives a codeword 1101 which has been received over a noisy channel. Using the nearest neighbour decoding I can see the nearest codeword is 0101. I then have to decode the word 1101 using error syndrome.
So I take the code word and parity check
\begin{vmatrix} 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 1 \end{vmatrix}
\begin{vmatrix} 1\\ 1 \\ 0 \\ 1 \end{vmatrix}
Then i sum out the two matrices
- $1+1+0+1+1+0+0+1$
- $1+1+1+1+0+0+1+1$
I get the error syndrome
\begin{vmatrix} 1\\0 \end{vmatrix}
Looking at the parity check matrix this shows the error is in the third column but then that would mean the codeword received is meant to be $1111$ instead of $1101$, which isnt a codeword in the original code. Where have i gone wrong.