Review.

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

Cyclic Code.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Error Detection and Correction
Transmission Errors Error Detection and Correction
Chapter 10 Error Detection and Correction
Error Detection and Correction
Fundamentals of Computer Networks ECE 478/578 Lecture #4: Error Detection and Correction Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Error Detection and Correction
Transmission Errors1 Error Detection and Correction.
The OSI Reference Model
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 11 Introduction to Computer Networks.
Data Communications Chapter 7 Error Detection. Despite the best prevention techniques, errors may still happen. To detect an error, something extra has.
Chapter 2 : Direct Link Networks (Continued). So far... Modulation and Encoding Link layer protocols Error Detection -- Parity Check.
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.
Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
Shashank Srivastava Motilal Nehru National Institute Of Technology, Allahabad Error Detection and Correction : Data Link Layer.
Transmission Errors Error Detection and Correction
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
1 Part III Packet Transmission Chapter 7 Packets, Frames, and Error Detection.
Data Link Layer: Error Detection and Correction
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Chapter 10. Error Detection and Correction
Data Link Layer. Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
ECE453 – Introduction to Computer Networks Lecture 4 – Data Link Layer (I)
Data Integrity © Prof. Aiman Hanna Department of Computer Science Concordia University Montreal, Canada.
COMPUTER NETWORKS Ms. Mrinmoyee Mukherjee Assistant Professor St. Francis Institute of Technology, Mount Poinsur, S.V.P Road, Borivli (west), Mumbai
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
1 © Unitec New Zealand CRC calculation and Hammings code.
Error Detection.
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 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.
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
Error Detection and Correction
Transmission Errors Error Detection and Correction.
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.
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection.
Dr. Clincy Professor of CS
Modulo-2 Digital coding uses modulo-2 arithmetic where addition becomes the following operations: 0+0= =0 0+1= =1 It performs the.
Data Link Layer Objective: to achieve reliable and efficient communication between 2 adjacent machines Data link layer design issues services provided.
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
Communication Networks: Technology & Protocols
: An Introduction to Computer Networks
Dr. Clincy Professor of CS
Advanced Computer Networks
Chapter 10 Error Detection And Correction
EEC-484/584 Computer Networks
Chapter 9 Error Detection and Correction
Data Link Layer Objective: to achieve reliable and efficient communication between 2 adjacent machines Data link layer design issues services provided.
Transmission Errors Error Detection and Correction
Cyclic Code.
Error Detection Neil Tang 9/26/2008
Data Link Layer Objective: to achieve reliable and efficient communication between 2 adjacent machines Data link layer design issues services provided.
Protocols and the TCP/IP Suite
EEC-484/584 Computer Networks
Chapter 9 Error Detection and Correction
Error Detection and Correction
Transmission Errors Error Detection and Correction
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Chapter 10 Error Detection and Correction
Presentation transcript:

Review

Error correction and error detection. What is an error? Bits missed or altered. How to find an error? Make sure that when errors occur, the resulting message is invalid. E.g: two bits message 00, 01, 10, 11 or 00, 11?

How to design codes that have error correction/detection capability? How to find an error? Introducing redundancy -- using 2 bits message to send 1 bit information in the previous example. Message = information bits + redundant bits (checksum). How to design codes that have error correction/detection capability? Hamming distance between two code words: the number of different bits between the two code words. E.g 010101 and 111000? Hamming distance = ? Hamming distance of a complete code: the minimum Hamming distance any of the two codewords in the code. E.g 010101, 111000, 000111, 111111 Hamming_distance= ?

Relation between Hamming distance of a code and the code’s error detection/correction capability Hamming distance = N How many bits of errors can be detected? How many bits of errors can be corrected? Example: 00000000, 00001111, 11110000, 11111111. Hamming distance = ? How many bits of errors can be detected? How many bits of errors can be corrected? Example 2: Parity code (Even parity code)? Let number of information bits = 2, How to construct the even parity code? Hamming distance = ?

Error correction code: How many (r) redundant bits do we need to correct a single error for the m information bits? A message contains m+r bits total number of possible codewords: 2^(m+r) total number of valid codewords = 2^(m) To correct single error, each single error must results in a different (invalid) codeword. Total number of (invalid) codewords for one bit error = (m+r)2^m total number of valid codewords plus the total number of (invalid) codewords for single bit error must be less than the total number of possible codewords. 2^m+(m+r)2^m <= 2^(r+m) m+r+1 <= 2^r

Error correction code: How many (r) redundant bits do we need to correct single error for the m information bits? m+r+1 <= 2^r m = 1, r = 2 m = 2, r = 3 m = 3, r = 3 …… m = 1000, r = 10 This formula gives the lower bound of the redundant bits to correct a single error. Hamming code achieves this lower bound (Chapter 3.2.1). How many redundant bits are needed to detect a single error?

Error correction code/error detection code: which code is more efficient? Consider only the single bit error: Assumption: error rate 10^(-6), one error in 1 million bits packet size 1000 bits for information, total 1000 packets. Error correction: 1000* (1000+10) Error detection: 1000*(1000+1) + (1000+1) Error correction code is in general NOT efficient!!!

Error detection code: parity code: detect single error, not good enough. To detect N errors, we need to have a code whose hamming distance >=N+1. How to get this kind of code? The most commonly used error detection code is called polynomial code, or cyclic redundancy code or CRC code. A bit stream is treated as a polynomial with coefficients 0s and 1s k bits => k-terms polynomial 11001 ---> x^4+x^3+0*x^2+0*x^1+x^0 The sender and the receiver have a generator polynomial G(X) with degree r Add the checksum bits to make sure that the final message is divisible by G(X).

How to compute the checksum? Let r be the degree of G(x). Append r zero to the low-order end of data bits (m bits) so that the frame contains m+r bits corresponding to x^r*M(x) Using modulo 2 division to divide the bit stream corresponding to x^r*M(x) by the bit stream string corresponding to G(x). Add the remainder back to the frame x^r*M(x). Example: Data: 1101011011, Generator: 10011 What would be the final data frame?

The power of the CRC code Depends on the selection of the generator, G(x) T(x): frame polynomial, E(x) error polynomial G(x) generator polynomial T(x) + E(x) / G(x) == E(x) / G(x) Single error: E(x) = x^j G(x) has more than two terms, guarantee to detect single error. Double error: E(x) = x^j+x^k=x^k(x^(j-k)+1) x^k+1 (k<32768) cannot be divisiable by x^15+x^14+1. x+1 cannot divide any polynomial with odd number of terms (detect all odd number of errors). x^r+…+ can detect all less than r number of burst errors.

Three standard polynomials: CRC-12 = x^12+x^11+x^3+x^2+x+1 CRC-16 = x^16+x^15+x^2+1 CRC-CCITT = x^16+x^12+x^5+1 What is the hamming distance for the code generated by CRC-16?