Error correcting codes: Hamming Code
- Hamming code is given by RW Hamming
- It is one of the most common error correcting codes used in Random Access Memory (RAM).
How does Hamming Code work?
- Suppose there is a message of n bits.
- We add k number of parity bits to the message.
- This changes the size of the message from n bits to n+k bits.
- The bit positions are numbered in sequence from 1 to (n+k).
for example if message length (n) is = 8, and number of parity bits (k) = 4 than total number of bits in hamming code will be (n+k) = (8+4) = 12bits
1 2 3 4 5 6 7 8 9 10 11 12
- Those positions numbered as a power of 2 are reserved for the parity bits and the remaining bits are data bits. See below, the bits marked as red are reserved for parity bits.
1 2 3 4 5 6 7 8 9 10 11 12
How to calculate the number of parity bits (k)?
The number of parity bits can be calculated by the following relationship
\( 2^k – 1 \ge n + k \)if the length of a message is 8 i.e. n = 8 then the value of k can be 4 or greater than 4.