Definition of $(n,M,d)$ code in coding theory

coding-theory

I recently started studying coding Theory and little bit confused with the definition of $(n,M,d)$ code.

It says that

"Ιf there are $M$ codewords s.t. distances between every $2$ codewords are at least $d$ with length $n$, then there exists a $(n,M,d)$ code"

So for example, we can get 2-$(2,4,1)$ code s.t. $\{(00),(01),(10),(11)\}$.

At this moment I have a question.

If I extract one of them in 2-$(2,4,1)$ code element, Its minimum distance is still 1. So I can get 2-$(2,3,1)$ code.

Similarly, I can also get 2-$(2,2,1)$, 2-$(2,1,1)$ code.

Is this right based on definition of $(n,M,d)$ code?

and if I'm right, why only use 2-$(2,4,1)$ code ?

Is it because we are only interested in maximum M which satisfies definition of $(n,M,d)$ code?

Best Answer

First of all I changed the title since $(n,M,d)$ is the proper notation. A code is $[n,k,d]$ if it's linear [square brackets indicate that] and then it has $M=q^k,$ where $q$ is the size of the alphabet. The alphabet is also used sometimes, like $q-(n,M,d)$ which you also do without defining it.

The answer to your question is that an $(n,M,d)$ code is automatically an $(n,M',d)$ code for all $M'\leq M,$ since the minimum distance will never go down by removing codewords.

It may actually go up if you remove enough codewords.

But yes, the point is that we are interested in the maximum $M,$ i.e., the maximum number of distinct messages we can send, while doing error correction.

Related Question