Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection."— Presentation transcript:

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

2 2 Topics l Introduction l Error Correction l Error Detection

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

4 4 Figure 3.21 Attenuation

5 5 Figure 3.23 Distortion

6 6 Figure 3.24 Noise

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

8 8 Isolated and Burst Error l 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 9 Error Correcting/Detecting Codes l Redundancy added to data l Error correction  Referred to as forward error correction  Detect and correct error l Error detection  Detect error and request retransmission l Codeword (n bits)  data + redundancy (m bits) (r bits)  n = m + r When to use which one?

10 10 10.3 Redundancy

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

12 12 10.15 Redundancy bits calculation

13 13 10.16 Example of redundancy bit calculation

14 14 10.17 Error detection using Hamming code

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

16 16 Correct Burst Errors k m n

17 17 10.18 Burst error correction example

18 18 Error Detection l 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 19 10.5 Even-parity concept

20 20 Error Detection vs. Correction l Error-detecting and retransmission  More efficient than error-correction when error rate is low l 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 21 Use Parity to Detect Burst Errors l Organize a block into (k x n) matrix l One parity for each column  one row of parities at the bottom l Transmit one row at a time l Can detect burst errors of length  n

22 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 23 Error-Detecting Code - CRC l Bit stream is treated as polynomial w/ coefficients 0 and 1 l Example:  data: 10100111 polynomial: degree = 7 l Modulo 2 arithmetic is used  Example: 10011011 11110000 +11001010 -10100110 01010001 01010110  XOR

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

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

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

27 27 10.9 Binary division in CRC checker

28 28 CRC - Example 1 1 0 0 0 0 l Frame: l Generator:

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

30 30 Table 10.1 Standard polynomials NamePolynomialApplication CRC-8x 8 + x 2 + x + 1ATM header CRC-10x 10 + x 9 + x 5 + x 4 + x 2 + 1ATM AAL ITU-16x 16 + x 12 + x 5 + 1HDLC ITU-32 x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1 LANs


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

Similar presentations


Ads by Google