First some theory:

A

Having that said, please consider the

\(\displaystyle

00 \to 00000\)

\(\displaystyle 01 \to 01011\)

\(\displaystyle 10 \to 10101\)

\(\displaystyle 11 \to 11110\)

This code have the exact characteristics, as far as I can see, as the Hamming code - the distance between codewords is minimum 3, and it corrects 1 error in 5 bits.

How come, then, that it is not classified as a Hamming code? Is there any difference that I have missed?

A

**Hamming code**is defined for numbers [n,k] where \(\displaystyle n=2^r-1\) and \(\displaystyle k=n-r\). Every k bits are encoded into n-bit codewords. Furthermore, every codeword in a Hamming code has a distance of minimum 3 to another codeword, which gives the ability of correcting 1 corrupt bit in each codeword (corrects 1 error per n-bits)Having that said, please consider the

**[5,2] code**(a*non*Hamming code, as per definition above). Every 2 bits are encoded into a 5 bit codeword, i.e.\(\displaystyle

00 \to 00000\)

\(\displaystyle 01 \to 01011\)

\(\displaystyle 10 \to 10101\)

\(\displaystyle 11 \to 11110\)

This code have the exact characteristics, as far as I can see, as the Hamming code - the distance between codewords is minimum 3, and it corrects 1 error in 5 bits.

How come, then, that it is not classified as a Hamming code? Is there any difference that I have missed?

Last edited: