# ERROR CORRECTION.

## Presentation on theme: "ERROR CORRECTION."— Presentation transcript:

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 , 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)
16 >= 17 n = 5: 2^5 >= 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 n-bit binary number (ex. bit position 2 = 00010) and XOR them together. The result will be the Hamming code = 10110

FEC – Forward Error Correction (From Tomasi)
4) Assume that an error occurs at bit position 3 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 = bit position = bit position = bit position = bit position 12 = bit position 14 = bit position 16 = 00011 Bit position 3 was received in error

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 3. A receiver receives the code When it uses the hamming encoding algorithm, the result is Which bit is in error? What is the correct code?