1 / 30

CS412 Introduction to Computer Networking & Telecommunication

CS412 Introduction to Computer Networking & Telecommunication. Error Correction/Detection. Topics. Introduction Error Correction Error Detection. Introduction. Transmission impairments (errors) Attenuation Loss of energy as signal propagates Delay Distortion

maudeb
Download Presentation

CS412 Introduction to Computer Networking & Telecommunication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection Chi-Cheng Lin, Winona State University

  2. Topics • Introduction • Error Correction • Error Detection

  3. Introduction • Transmission impairments (errors) • Attenuation • Loss of energy as signal propagates • Delay Distortion • Components travel at different speeds • Noise • Unwanted energy from other sources

  4. Figure 3.21Attenuation

  5. Figure 3.23Distortion

  6. Figure 3.24Noise

  7. Isolated and Burst Error • Isolated: 0 -> 1, or 1 -> 0 • Burst: errors in consecutive bits • 2 or more bits in the data unit have changed

  8. Isolated and Burst Error • Compare burst errors to isolated errors • Fewer error blocks given a fixed error rate • Example: error rate: 0.001 per bit (1 error out of 1000 bits) block size: 1000 bits burst size: 100 isolated error: an error contained in most blocks burst error: 1 or 2 error blocks out of 100 blocks • Error correction/detection much harder

  9. Error Correcting/Detecting Codes • Redundancy added to data • Error correction • Referred to as forward error correction • Detect and correct error • Error detection • Detect error and request retransmission • Codeword (n bits) • data + redundancy (m bits) (r bits) • n = m + r When to use which one?

  10. 10.3Redundancy

  11. Error Correction • Hamming Code • For m-bit data we need r-bit redundancy, where (m+r+1)  2r • Redundancy bits are placed in position of 2’s power • Example: If m = 7, then r = 4

  12. 10.15Redundancy bits calculation

  13. 10.16Example of redundancy bit calculation

  14. 10.17Error detection using Hamming code

  15. Correct Burst Errors • Organize k codewords into a (k x n) matrix • (k x r) check bits for (k x m) data • Transmit one column at a time • Reconstruct matrix after received • Correct burst errors of length k

  16. Correct Burst Errors n m k

  17. 10.18Burst error correction example

  18. Error Detection • Parity bit • Error detection • Added to data so that number of 1 bits in codeword is • Even (even parity) • Odd (odd parity) • E.g., ASCII of ‘H’ is 1001000, its codeword is • ________ if even parity is used • ________ if odd parity is used 01001000 11001000

  19. 10.5Even-parity concept

  20. Error Detection vs. Correction • Error-detecting and retransmission • More efficient than error-correction when error rate is low • Example: • error rate: 0.000001 per bit block size: 1000 bits check bits per block: Hamming code error correction: 10 Parity code error detection: 1 overhead for 1M data: e. c. 10000 bits e. d. 2001 bits

  21. Use Parity to Detect Burst Errors • Organize a block into (k x n) matrix • One parity for each column  one row of parities at the bottom • Transmit one row at a time • Can detect burst errors of length n

  22. Example Original data 11100111 11011101 00111001 10101001 Organized into 11100111 11011101 00111001 10101001 10101010  LRC Transmitted 11100111 11011101 00111001 10101001 10101010 Burst error 11100111 11010000 01001001 10101001 10101010 Error detected  whole block is discarded 11100111 11010000 0100001 10101001 10101010

  23. Error-Detecting Code - CRC • Bit stream is treated as polynomial w/ coefficients 0 and 1 • Example: • data: 10100111 polynomial: degree = 7 • Modulo 2 arithmetic is used • Example: 10011011 11110000 +11001010 -10100110 01010001 01010110 • XOR

  24. Error-Detecting Code - CRC • Use generator polynomial G(x) to calculate checksum • Frame: P(x) generator: G(x) degree of G(x) = d Transmitted: checksummed frame P(x)·xd + R(x) • It’s guaranteed that P(x)·xd + R(x) is divisible by G(x)!!

  25. Error-Detecting Code - CRC • Receiver divides checksummed frame by G(x) • If remainder is zero • No error, CRC is removed • Otherwise • Error, the frame is discarded

  26. 10.8Binary division in a CRC generator • Frame: • Generator: • Frame transmitted: 100100001

  27. 10.9Binary division in CRC checker

  28. CRC - Example 1 1 0 0 0 0 • Frame: • Generator:

  29. CRC Properties • Single error detection • Double error detection w/ carefully chosen G(x) • Odd number error detection if (x + 1) is a factor of G(x) • Detect burst error length  r for r check bits • Can be implemented in hardware using simple shift register circuit

  30. Table 10.1 Standard polynomials

More Related