Download presentation
Presentation is loading. Please wait.
Published byKathryn Harmon Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.