Error Detection and Correction

Slides:



Advertisements
Similar presentations
Networks: Transmission Errors1 Transmission Errors Error Detection and Correction.
Advertisements

Applied Algorithmics - week7
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Introduction to Information Technologies
Data and Computer Communications
Reliability & Channel Coding
Transmission Errors Error Detection and Correction
Chapter 10 Error Detection and Correction
ELEN 602 Lecture 4 Review of last lecture –Communication basics More on transmission media Errors in Transmission.
Error Detection and Correction
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Error Detection and Correction
PART III DATA LINK LAYER. Position of the Data-Link Layer.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 12 Introduction to Computer Networks.
Transmission Errors1 Error Detection and Correction.
EEC-484/584 Computer Networks Lecture 7 Wenbing Zhao (Part of the slides are based on materials supplied by Dr. Louise Moser at UCSB and.
7/2/2015Errors1 Transmission errors are a way of life. In the digital world an error means that a bit value is flipped. An error can be isolated to a single.
Error Detection and Correction
Transmission Errors Error Detection and Correction
Data link layer: services
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
CSC 535 Communication Networks I Section 3.8 Error Detection and Correction Dr. Cheer-Sun Yang.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer: Error Detection and Correction
Chapter 3 Digital Transmission Fundamentals Line Coding Error Detection and Correction.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Cyclic Redundancy Check CRC Chapter CYCLIC CODES Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
PREPARED BY: ENGR. JO-ANN C. VIÑAS
10/27/ Data Link Layer - Lin 1 CPET/ECET Data Link Layer Data Communications and Networking Fall 2004 Professor Paul I-Hai Lin Electrical.
Computer Networks Lecture 2: Data Link Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn 2015 by S.
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
CSCI 465 D ata Communications and Networks Lecture 9 Martin van Bommel CSCI 465 Data Communications & Networks 1.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Review.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction
Digital Transmission Fundamentals
Transmission Errors Error Detection and Correction.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Network Layer4-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection.
Coding and Error Control
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Applied Algorithmics - week8
Error Detection and Correction (Pengesanan dan Pembetulan ralat)
Subject Name: COMPUTER NETWORKS-1
DATA COMMUNICATION AND NETWORKINGS
Advanced Computer Networks
Part III Datalink Layer 10.
Chapter 10 Error Detection And Correction
Chapter 3 Digital Transmission Fundamentals
EEC-484/584 Computer Networks
Lecture 3 Digital Transmission Fundamentals
Transmission Errors Error Detection and Correction
Coding and Error Control
Protocols and the TCP/IP Suite
EEC-484/584 Computer Networks
Transmission Errors Error Detection and Correction
Chapter 10 Error Detection and Correction
Presentation transcript:

Error Detection and Correction Transmission Errors Error Detection and Correction Networks: Transmission Errors

Networks: Transmission Errors Transmission errors are caused by: thermal noise {Shannon} impulse noise (e..g, arcing relays) signal distortion during transmission (attenuation) crosstalk voice amplitude signal compression (companding) quantization noise (PCM) jitter (variations in signal timings) receiver and transmitter out of synch. Networks: Transmission Errors

Error Detection and Correction error detection :: adding enough “extra” bits to deduce that there is an error but not enough bits to correct the error. If only error detection is employed in a network transmission  retransmission is necessary to recover the frame (data link layer) or the packet (network layer). At the data link layer, this is referred to as ARQ (Automatic Repeat reQuest). Networks: Transmission Errors

Error Detection and Correction error correction :: requires enough additional (redundant) bits to deduce what the correct bits must have been. Examples Hamming Codes FEC = Forward Error Correction found in MPEG-4 for streaming multimedia. Networks: Transmission Errors

Networks: Transmission Errors Hamming Codes codeword :: a legal dataword consisting of m data bits and r redundant bits. Error detection involves determining if the received message matches one of the legal codewords. Hamming distance :: the number of bit positions in which two bit patterns differ. Starting with a complete list of legal codewords, we need to find the two codewords whose Hamming distance is the smallest. This determines the Hamming distance of the code. Networks: Transmission Errors

Error Correcting Codes Note Check bits occupy power of 2 slots Figure 3-7. Use of a Hamming code to correct burst errors. Networks: Transmission Errors

Networks: Transmission Errors A code with poor distance properties (b) A code with good distance properties x o x o x = codewords o = non-codewords Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.51 Networks: Transmission Errors

Networks: Transmission Errors Hamming Codes To detect d single bit errors, you need a d+1 code distance. To correct d single bit errors, you need a 2d+1 code distance. In general, the price for redundant bits is too expensive to do error correction for network messages. Network protocols use error detection and ARQ. Networks: Transmission Errors

Networks: Transmission Errors Error Detection Remember – errors in network transmissions are bursty. The percentage of damage due to errors is lower. It is harder to detect and correct network errors. Linear codes Single parity check code :: take k information bits and appends a single check bit to form a codeword. Two-dimensional parity checks IP Checksum Polynomial Codes Example: CRC (Cyclic Redundancy Checking) Networks: Transmission Errors

General Error Detection System All inputs to channel satisfy pattern/condition Channel output Deliver user information or set error alarm User information Pattern Checking Encoder Channel Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.49 Networks: Transmission Errors

Error Detection System Using Check Bits Networks: Transmission Errors Received information bits Information bits Recalculate check bits Channel Calculate check bits Compare Information accepted if check bits match Check bits Received check bits Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.50 Networks: Transmission Errors

Two-dimensional Parity Check Code Networks: Transmission Errors 1 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 Last column consists of check bits for each row Bottom row consists of check bit for each column Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.52 Networks: Transmission Errors

Networks: Transmission Errors 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 One error Two errors 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 Three errors Four errors Arrows indicate failed check bits Figure 3.53 Networks: Transmission Errors Copyright ©2000 The McGraw Hill Companies

Networks: Transmission Errors Internet Checksum Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.54 Networks: Transmission Errors

Polynomial Codes [LG&W pp. 161-167] Used extensively. Implemented using shift-register circuits for speed advantages. Also called CRC (cyclic redundancy checking) because these codes generate check bits. Polynomial codes :: bit strings are treated as representations of polynomials with ONLY binary coefficients (0’s and 1’s). Networks: Transmission Errors

Networks: Transmission Errors Polynomial Codes The k bits of a message are regarded as the coefficient list for an information polynomial of degree k-1. I :: i(x) = i xk-1 + i xk-2 + … + i x + i k-1 k-2 1 0 Example: 1 0 1 1 0 0 0 i(x) = x6 + x4 + x3 Networks: Transmission Errors

Networks: Transmission Errors Polynomial Notation Encoding process takes i(x) produces a codeword polynomial b(x) that contains information bits and additional check bits that satisfy a pattern. Let the codeword have n bits with k information bits and n-k check bits. We need a generator polynomial of degree n-k of the form G = g(x) = xn-k + g xn-k-1 + … + g x + 1 n-k-1 1 Note – the first and last coefficient are always 1. Networks: Transmission Errors

Networks: Transmission Errors CRC Codeword k information bits n-k check bits n bit codeword Networks: Transmission Errors

Polynomial Arithmetic Addition: Multiplication: = q(x) quotient x3 + x2 + x Division: x3 + x + 1 ) x6 + x5 x6 + x4 + x3 dividend divisor x5 + x4 + x3 x5 + x3 + x2 3 35 ) 122 x4 + x2 105 x4 + x2 + x 17 x = r(x) remainder Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.55 Networks: Transmission Errors

Networks: Transmission Errors CRC Algorithm CRC Steps: 1) Multiply i(x) by xn-k (puts zeros in (n-k) low order positions) 2) Divide xn-k i(x) by g(x) 3) Add remainder r(x) to xn-k i(x) (puts check bits in the n-k low order positions): quotient remainder xn-ki(x) = g(x) q(x) + r(x) b(x) = xn-ki(x) + r(x) transmitted codeword Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.56 Networks: Transmission Errors

Networks: Transmission Errors Information: (1,1,0,0) i(x) = x3 + x2 Generator polynomial: g(x)= x3 + x + 1 Encoding: x3i(x) = x6 + x5 x3 + x2 + x 1110 x3 + x + 1 ) x6 + x5 1011 ) 1100000 x6 + x4 + x3 1011 x5 + x4 + x3 1110 x5 + x3 + x2 1011 x4 + x2 1010 x4 + x2 + x 1011 x 010 Transmitted codeword: b(x) = x6 + x5 + x b = (1,1,0,0,0,1,0) Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.57 Networks: Transmission Errors

Networks: Transmission Errors Cyclic Redundancy Checking Figure 3-8. Calculation of the polynomial code checksum. Networks: Transmission Errors

Generator Polynomial Properties for Detecting Errors GOAL :: minimize the occurrence of an error going undetected. Undetected means E(x) / G(x) has no remainder. Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.61 Networks: Transmission Errors 23 23

Generator Polynomial Properties for Detecting Errors 1. Single bit errors: e(x) = xi 0  i  n-1 If g(x) has more than one term, it cannot divide e(x) 2. Double bit errors: e(x) = xi + xj 0  i < j  n-1 = xi (1 + xj-i ) If g(x) is primitive polynomial, it will not divide (1 + xj-i ) for j-i  2n-k1 3. Odd number of bit errors: e(1) = 1 If number of errors is odd. If g(x) has (x+1) as a factor, then g(1) = 0 and all codewords have an even number of 1s. Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.60 Networks: Transmission Errors

Generator Polynomial Properties for Detecting Errors ith position Error bursts of length L: 0000110 • • • •0001101100 • • • 0 e(x) = xi d(x) where deg(d(x)) = L-1 g(x) has degree n-k; g(x) cannot divide d(x) if deg(g(x))> deg(d(x)) If L = (n-k) or less: all errors will be detected If L = (n-k+1): deg(d(x)) = deg(g(x)) i.e. d(x) = g(x) is the only undetectable error pattern, fraction of bursts which are undetectable = 1/2L-2 If L > (n-k+1) : fraction of bursts which are undetectable = 1/2n-k error pattern d(x) Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 3.61 Networks: Transmission Errors

Standard Generating Polynomials CRC-16 = X16 + X15 + X2 + 1 CRC-CCITT = X16 + X12 + X5 + 1 CRC-32 = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1 IEEE 802 LAN standard Networks: Transmission Errors

Networks: Transmission Errors Basic ARQ with CRC Error-free packet sequence Information frames Packet sequence Transmitter Receiver Station A Station B Control frames Header CRC CRC Header Control frame Information packet Copyright ©2000 The McGraw Hill Companies Information Frame Leon-Garcia & Widjaja: Communication Networks Figure 5.8 Networks: Transmission Errors