The Hamming(7,4) Code

Hamming(7,4) is a single-error correcting code that uses a 7-bit codeword to transmit four bits of data. The sender computes three parity bits for each 4-bit data word, assembles the data and parity bits into a 7-bit codeword, and transmits this codeword. The receiver computes three parity check bits from the received 7-bit word. If no error occurred in transmission, all three parity check bits will be zero. If a single bit has been changed in transmission, the value of the three parity bits (interpreted as a 3-bit binary number) will indicate the position of the error, which can then be corrected.

This Demonstration allows you to simulate such a transmission by setting the data bits to be transmitted at the top, and introducing an error, if desired, in any position of the transmitted word.

Based on the Mathematica Demonstration by original contributor.

Data:
0 0 1 1 Parity
0 0 1 1
0 1 1 0
0 1 1 0
Transmitted word:
1 0 0 0 0 1 1
Error:
Received word:
1 0 0 1 0 1 1 Parity
1 0 0 1 0
0 0 1 1 0
1 0 1 1 1
Error check:
1 0 0
2 = 4
Corrected word:
1 0 0 0 0 1 1