### ERROR CORRECTION

```ERROR CORRECTION
Error Correction
• Two ways of handling error correction
– The receiver can have the sender
retransmit the entire data unit
– The receiver can use an error-correcting
code
• To correct the error
– Locate the invalid bit or bits
Error Correction
r – redundancy bits required to correct a given number of data bits (m)
- must be able to indicate at least m + r +1 states (no error, error in
every bit position)
- this is the required number of bits to cover all the possible single bit
error
r bits can indicate 2^r states
Therefore, 2^r >= m + r +1
Hamming Code
Hamming Code
Hamming Code
Example of Hamming Code
Single-bit error
Error
Detection
FEC – Forward Error Correction (From Tomasi)
2^n >= m + n +1
n = number of Hamming bits
m = number of bits in the data character
1) For a 12-bit data stream of 1011 0001 0010,
determine the number of Hamming bits required.
2) Arbitrarily place the Hamming bits into the data string.
3) Determine the condition of each Hamming bit.
4) Assume an arbitrary single-bit transmission error.
5) And prove that the Hamming code will detect the
error.
FEC – Forward Error Correction (From Tomasi)
1) n = 4: 2^4 >= 12 + 4 +1
16 >= 17
n = 5: 2^5 >= 12 + 5 +1
32 >= 18
2) H101 H100 HH01 0H01 0
3) To determine the logic condition of Hamming bits,
express all bit positions that contain a 1 as an nbit binary number (ex. bit position 2 = 00010) and
XOR them together. The result will be the Hamming
code = 10110
1101 0100 1101 0001 0
FEC – Forward Error Correction (From Tomasi)
4)
1101 0100 1101 0001 0
Assume that an error occurs at bit position 3
1101 0100 1101 0011 0
5) At the receiver, determine the bit position in error,
extract the Hamming bits and XOR them with the
binary code for each data bit position that contain a 1.
Hamming code = 10110
bit position 2 = 00010
bit position 3 = 00011
Bit position 3 was received in
bit position 6 = 00110
error
bit position 12 = 01100
bit position 14 = 01110
bit position 16 = 10000
00011
EXERCISES
1. For each of the data unit of the following
sizes, find the minimum number of
redundancy bits needed to correct one single
bit error:
– 12, 16, 24, 64
2. Construct the hamming code for the bit
sequence 10011101