What is the most likely codeword sent?

287 Views Asked by At

I have a question that asks me: Consider the code C for which the parity check is:

$M =$ \begin{bmatrix} 1 & 1 & 0 \\ 1 & 1 & 0\\ 1 & 0 & 1 \\ 0 & 1 & 1\\ 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{bmatrix} What is the most likely codeword sent if we receive $w=1101101$?. Do I need to find all the cosets of M and then find the word in the same coset of w which has the least weight?

1

There are 1 best solutions below

0
On BEST ANSWER

Let $t$ be the codeword that was originally transmitted; then $tM = 0$. Suppose that over transmission some error vector $e$ was added to $t$, so that $w = t + e$. Then $wM = (t+e)M = 0+eM = eM$. This value is called the syndrome. I'll denote it $s$.

Let's calculate the syndrome of your received word:

$$s = wM = \begin{pmatrix}1&1&0&1&1&0&1\end{pmatrix}\begin{pmatrix}1&1&0\\1&1&0\\1&0&1\\0&1&1\\1&0&0\\0&1&0\\0&0&1\end{pmatrix} = \begin{pmatrix}1&1&0\end{pmatrix}.$$

The most likely error vector is the one of lowest weight (at least on a binary symmetric channel with error probability $< 0.5$). What's the lowest weight $e$ that solves $eM = s$? Well, there are two: $e = 1000000$ and $e = 0100000$. I'll pick the first one (arbitrarily).

Now, since $w = t+e$, we can decode to $t = w - e = 1101101 - 1000000 = 0101101$.

This method is called syndrome decoding.