written 2.6 years ago by |
Hamming codes are a family of (n, k) block error-correcting codes that have the following parameters:
where m >- 3. Hamming codes are straightforward and easy to anlyze but are rarely used. We begin with these codes because they illustrate some of the fundamental principles of block codes.
Hamming code is a set of error-correction codes that can be used to detect and correct the errors that can occur when the data is moved or stored from the sender to the receiver.
Like other error-correction code, Hamming code makes use of the concept of parity and parity bits, which are bits that are added to data so that the validity of the data can be checked when it is read or after it has been received in a data transmission. Using more than one parity bit, an error-correction code can not only identify a single bit error in the data unit, but also its location in the data unit.
Hamming codes are designed to correct single bit errors. To star:, let us determine how long the code must be. The Hamming code process has the same structure as the error detection logic that is, the encodin process preserves the k data bits and adds (n - k) check bits. For decoding, the comparison logic receives as input two (n - k)-bit values, one from the incoming codeword and one from a calculation performed on the incoming data bits. A bit-b ,-bit comparison is done by taking the XOR of the two inputs. The result is called the syndrome word. Thus, each bit of the syndrome is 0 or 1 according to whether there is or is not a match in that bit position for the two inputs.