# Thread: The [5,2] error correcting code

1. ## The [5,2] error correcting code

First some theory:

A Hamming code is defined for numbers [n,k] where $n=2^r-1$ and $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.
$
00 \to 00000$

$01 \to 01011$
$10 \to 10101$
$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?

2. ## Red Flag

Knowing nothing about the subject, here is something that I don't quite get about the definition as it appears here... You gave an example of a [5,2] hamming code, where each 2-bit word is encoded as a 5-bit word. This makes perfect sense, but what is the purpose of r? If k=n-r, then r is 3 in this example, but it also says that n=2^r-1 which is not true (2^3-1=7). Perhaps we need a more detailed definition.

Also, again this is just a curiosity, but there is nothing magical about these codes, all it does is repeat the 2-bit word twice, so that if any one bit is missing the other occurrence of the word is intact. The fifth bit is arbitrary.

00 = 00 00 0
01 = 01 01 1
10 = 10 10 1
11 = 11 11 0

3. Originally Posted by Media_Man
You gave an example of a [5,2] hamming code, where each 2-bit word is encoded as a 5-bit word. This makes perfect sense, but what is the purpose of r? If k=n-r, then r is 3 in this example, but it also says that n=2^r-1 which is not true (2^3-1=7). Perhaps we need a more detailed definition.
Originally Posted by mewoshh
Having that said, please consider the [5,2] code (a non Hamming code, as per definition above).
I hope this clears things out.

4. In fact the code proposed by mewoshh is a standard Hamming [7,4] code 'shortened' , i.e. the three redundancy bits are computed for a group of four information bits, two of them 'fixed' to 0...

Kind regards

$\chi$ $\sigma$