2Two ways of handling error correction The receiver can have the sender retransmit the entire data unitThe receiver can use an error-correcting codeTo correct the errorLocate the invalid bit or bits
3Error Correctionr – 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 errorr bits can indicate 2^r statesTherefore, 2^r >= m + r +1
10FEC – Forward Error Correction (From Tomasi) 2^n >= m + n +1n = number of Hamming bitsm = number of bits in the data character1) 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.
11FEC – Forward Error Correction (From Tomasi) 16 >= 17n = 5: 2^5 >=32 >= 182) H101 H100 HH01 0H01 03) 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
12FEC – Forward Error Correction (From Tomasi) 4)Assume that an error occurs at bit position 35) 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 =00011Bit position 3 was received in error
13EXERCISES1. 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, 642. Construct the hamming code for the bit sequence3. 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?