# Finding error patterns from a syndrome

I have a parity-check matrix
$$H= \left[ \begin{matrix} 1 & 1 & 1 & 0 & 1 & 0 & 0 & 0\\ 0 & 1 & 1 & 1 & 0 & 1 & 0 & 0\\ 1 & 0 & 1 & 1 & 0 & 0 & 1 & 0\\ 1 & 1 & 0 & 1 & 0 & 0 & 0 & 1\\ \end{matrix} \right]$$ and a received codeword $r = (01110110)$
I computed the syndrome $s = (0010)$, which tells that the error pattern should be $e = (00000010)$.
Now my problem is, can I find other error patterns from this syndrome?
To be general, do we get syndromes that isn't a vector of the generator matirx? If yes, then how do we find out the error patterns?

If syndrome $s$ corresponds to an error pattern $e$, then the set $\mathcal B$ of all vectors that have the same syndrome $s$ is given by $$\mathcal B = \{e + c\colon c \in \mathcal C\}$$ where $\mathcal C$ is the set of all codewords. No codeword can have a nonzero syndrome (alternatively, if a vector has syndrome $\mathbf 0$, then that vector is a codeword in $\mathcal C$). If you compute the difference between two vectors that have a particular syndrome, that difference is a codeword.

Given that the weight of the error pattern should be minimal, you have the only correct error pattern for this syndrome in this code.

You could find $(01011000)$ as error pattern from this syndrome, but that pattern obviously has more weight, and less chance of being the correct error pattern. It would also result in a diffent decoded word.

I'm not sure what the minimum distance of the original code was, probably 4, in that case when 2 errors would occur, you would find multiple error patterns for the same syndrome.

In that case we would say the code is 1 error correcting and 2 error detecting. (A second error could be detected but not corrected)

• I think I got the error correcting and error detecting part. But how do I find (01011000) as error pattern from the syndrome? Is it because we can add up the 2nd, 4th and the 5th column of H to get the syndrome (0010)? Commented Oct 24, 2015 at 16:46