If a code $C$ receives a codeword $\mathbf{u}$ as an error, but $\mathbf{u}$ is a valid codeword, will $C$ ever detect the error?

85 Views Asked by At

This is a problem I'm reading in the document Introduction to Algebraic Coding Theory by Sarah Spence Adams. Problem 1.7 states

Let $C$ be a code that contains $\mathbf{0}$, the codeword consisting of a string of all zeros. Suppose that $C$ contains a string $\mathbf{u}$ as a codeword. Now suppose that the string $\mathbf{u}$ also occurs as an error. Prove that $C$ will not always detect when the error $\mathbf{u}$ occurs.

I suppose a codeword $\mathbf{c}$ is sent, but the codeword $\mathbf{u}$ is received instead due to some errors. So far, codes attempt to correct errors by reinterpreting them as a nearest codeword under the Hamming distance $d$, regardless if this is correct or not. But if $\mathbf{u}$ is also a codeword in $C$, then $d(\mathbf{u},\mathbf{u})=0$, so it seems to me the received error will just be interpreted as the correct receipt of $\mathbf{u}$, so will never be detected as an error.

But I am skeptical because the wording of the problem makes it seem like $C$ may occasionally detect $\mathbf{u}$ as an error, and I also make no use of the fact that $\mathbf{0}\in C$. Am I interpreting this wrongly?

1

There are 1 best solutions below

0
On BEST ANSWER

The general model in coding theory says that $x$, what is transmitted over the channel, is a codeword, that is, an element of the code $\mathcal C$, while what is received is $y = x+e$ where $e$ is called the error pattern or error vector or error word. The receiver then estimates what the most likely transmitted codeword is given that $y$ has been received. If $\hat{x}$ denotes the estimate of the most likely transmitted codeword, then the receiver effectively has also estimated that the error pattern is $\hat{e} = y-\hat{x}$. If $\hat{x}$ does in fact equal $x$, then the receiver estimate is correct, and also the estimated error pattern $\hat{e}$ is the same as the error $e$ that actually occurred. If $\hat{x} \neq x$, then the receiver's estimate of $x$ is incorrect, and so is the receiver's estimate of $e$. What is not incorrect is the receiver's conclusion that errors did occur.

So, what happens when the channel is unusually cooperative and makes no errors at all? Well, the channel output $y$ equals $x$ and when the receiver tests $y$ and finds that it is a valid codeword, it accepts $x$ (sets $\hat{x} = x$) and thus estimates that no errors have occurred. What if the channel output $y$ is some codeword $x^\prime$ other than the transmitted codeword $x$? Note that $y=x+e = x^\prime$ where $e$ is necessarily a nonzero vector. Well, the receiver tests $y$, finds that it is a valid codeword $x^\prime$, and sets $\hat{x}$ to $x^\prime$, estimating that no errors occurred during transmission whereas in fact errors did occur. The receiver thus is unable to detect the error pattern $x^\prime - x$ where $x, x^\prime \in \mathcal C$ are two distinct codewords; more generally, the receiver is unable to detect any error pattern that is the difference of two distinct codewords. If the all-zeroes vector $\mathbf 0 \in \mathcal C$, then the previous sentence says that, in particular, the receiver cannot detect any error pattern that equals a nonzero codeword.