Assume a linear code with (4,2) where we want to encode 2-bit data to 4-bit data. The generator (G) matrix is
1 0 0 0
0 1 1 0
Now, if we want to encode 00, we get
[0 0] * [1 0 0 0] = [0 0 0 0]
[0 1 1 0]
Also the parity check matrix (H) matrix is
0 1 1 0
0 0 0 1
and assume the received data is 0100 where a single bit error occurs on the second bit (from left to right).
Multiplying H.C_received, we get
[0]
[0 1 1 0] * [1] = [10]
[0 0 0 1] [0]
[0]
So the syndrome is not zero means there is an error in the received data. BUT, the value of syndrome 10 matches second and third column of the H matrix.
So, how do we find out exactly that the second bit is faulty?
Best Answer
The code is too weak. it cannot even correct a single error (needs minimum distance 3 but you have 1).
Thus no decoding, including syndrome decoding, can work in general.