What is Error Correction?

Error correction is a method used in data communication to automatically detect and fix errors at the receiver end without requiring retransmission. Unlike error detection which only identifies errors, error correction enables the receiver to restore the original data by using redundant bits added to the transmitted message.

In error correction, each k-bit block of data is combined with redundant bits to create an n-bit codeword (where n > k). A Forward Error Correction (FEC) encoder adds these redundant bits at the transmission end, and the complete codeword is transmitted over the communication channel.

Error Correction Process Original Data FEC Encoder (Add redundant bits) Codeword Channel (Noise/Errors) Received Codeword FEC Decoder (Detect & Correct) Corrected Data

How Error Correction Works

At the receiver, the FEC decoder processes the received codeword and can handle three scenarios:

  • No errors detected − The decoder extracts the original data directly from the received codeword.

  • Correctable errors − The decoder identifies and automatically corrects the errors, then extracts the original data.

  • Uncorrectable errors − The decoder detects errors but cannot correct them, reporting an uncorrectable error condition.

Hamming Code Example

Hamming codes are widely used for single-bit error correction. In this example, we use a (11,7) Hamming code where 7 data bits are protected by 4 check bits placed at positions that are powers of 2 (positions 1, 2, 4, and 8).

Consider the data bits: 1001101

Bit Position 11 10 9 8 7 6 5 4 3 2 1
Bit Value 1 0 0 x 1 1 0 x 1 x x

The check bits (marked with x) are calculated using modulo-2 arithmetic. For each check bit position, we XOR all data bit positions whose binary representation contains a 1 in the corresponding check bit position.

Check bit calculation:
11 = 1011
7  = 0111  
6  = 0110
3  = 0011
XOR: 1011 (check bits = 1,0,0,1)

The transmitted codeword becomes:

Bit Position 11 10 9 8 7 6 5 4 3 2 1
Bit Value 1 0 0 1 1 1 0 0 1 0 1

Error Detection and Correction at Receiver

At the receiver, we recalculate the check bits using the same method. If no errors occurred, the modulo-2 sum should be zero:

Error checking (no errors):
11 = 1011
8  = 1000
7  = 0111
6  = 0110  
3  = 0011
1  = 0001
XOR: 0000 (no error detected)

If bit 11 is corrupted from 1 to 0, the error syndrome becomes:

Error checking (bit 11 corrupted):
8  = 1000
7  = 0111
6  = 0110
3  = 0011  
1  = 0001
XOR: 1011 (binary) = 11 (decimal)

The non-zero result indicates an error, and the decimal value 11 points directly to the corrupted bit position, enabling automatic correction.

Conclusion

Error correction automatically detects and fixes transmission errors using redundant bits, eliminating the need for retransmission. Hamming codes exemplify this approach by using strategically placed check bits to identify and correct single-bit errors efficiently.

Updated on: 2026-03-16T23:36:12+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements