Hamming code definition
Hamming code is a type of linear error-correcting code that adds extra bits to data in order to detect errors resulting from transmission. Hamming code is block code, meaning it operates on fixed-size blocks of data. The Hamming code system was developed by Richard Hamming in the 1950s.
How Hamming code works
Hamming code uses parity to check for errors. The encoding process adds parity bits to the data, with the value of the parity bit chosen to ensure that the total number of bits set to 1 (including the parity bit) is either even (even parity) or odd (odd parity).
These parity bits are checked during the decoding process — if there was an error in transmission, the parity (even or odd) will be incorrect. Based on the parity information, we can identify the position of the incorrect bit and correct single-bit errors.
Hamming codes have a specific minimum Hamming distance (the number of positions between two binary strings at which the corresponding bits are different) for error detection. This distance value determines how many errors the code can detect and correct — for example, Hamming code with a minimum distance of three can detect up to two errors and correct one error.