[Math] How to find actual code based on parity check matrix, generator matrix and received code

coding-theory

We are given the parity check equations:
$$\begin{align}
x_5 &= x_1~x_3~x_4\\
x_6 &= x_1~x_2~x_3\\
x_7 &= x_2~x_3~x_4
\end{align}$$

the generator matrix, $G$ is
$$\begin{align}
1000&~110\\
0100&~011\\
0010&~111\\
0001&~101
\end{align}$$

The parity check matrix, $H$ is:
$$\begin{align}
1011&~100\\
1110&~010\\
0111&~001
\end{align}$$

we are given $x' = 1010~100$ as the recieved message. It goes from $Z(4,2)$ to $Z(7,2)$, so the actual code word is $4$ characters long. I need to find the actual code word. I did $x'(H)$ and got $[101]$.

At this point, my notes say $101$ is the $4$th column of $H$, and that the corrected code is $1011~100$.

So what is the actual code that was sent in this case?

(Not sure if any additional info is needed to answer this but I can check for more info if needed).

Best Answer

This is a systematic code with generator matrix in the form $[I|A]$ thus the first 4 bits of the received codeword make up the actual data word that was sent. Thus the data word sent was $[1011]$.

In another word the codeword is [clearly from the matrix, and the equations]

$$[x_1, x_2, x_3, x_4, x_1+x_3+x_4,x_1+x_2+x_3,x_2+x_3+x_4]$$

Related Question