Error Detection and Correction Parity Schemes: Modulo 2 addition (XOR) Word parity Block Parity.

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Computer Interfacing and Protocols
Introduction to Information Technologies
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Traceroute Assignment. Base64 Encoding The SMTP protocol only allows 7 bit ASCII data, so how can you send me a picture of Avril Lavigne, which is an.
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Chapter 11 Algebraic Coding Theory. Single Error Detection M = (1, 1, …, 1) is the m  1 parity check matrix for single error detection. If c = (0, 1,
Error detection and correction
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.
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
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
EEC-484/584 Computer Networks Lecture 7 Wenbing Zhao
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
Data link layer: services
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
It is physically impossible for any data recording or transmission medium to be 100% perfect 100% of the time over its entire expected useful life. As.
COM342 Networks and Data Communications
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
British Computer Society
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
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.
Lecture 6: Framing and Error Detection-Data Link Layer Functions
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
Chapter 10. Error Detection and Correction
Practical Session 10 Error Detecting and Correcting Codes.
Data Integrity © Prof. Aiman Hanna Department of Computer Science Concordia University Montreal, Canada.
ADVANTAGE of GENERATOR MATRIX:
CSCI 465 D ata Communications and Networks Lecture 9 Martin van Bommel CSCI 465 Data Communications & Networks 1.
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 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 and Correction
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
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.
Part III: Data Link Layer Error Detection and Correction
Practical Session 10 Computer Architecture and Assembly Language.
Reliability of Disk Systems. Reliability So far, we looked at ways to improve the performance of disk systems. Next, we will look at ways to improve the.
Dr. Clincy Professor of CS
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
Modulo-2 Digital coding uses modulo-2 arithmetic where addition becomes the following operations: 0+0= =0 0+1= =1 It performs the.
2.8 Error Detection and Correction
Error Detection & Correction
Computer Architecture and Assembly Language
Introduction to Information Technologies
Cyclic Redundancy Check (CRC)
Dr. Clincy Professor of CS
Advanced Computer Networks
CIS 321 Data Communications & Networking
Error Detection and Correction
Part III Datalink Layer 10.
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, August 2010.
Chapter 7 Error Detection and Correction
EEC-484/584 Computer Networks
Introduction to Information Technologies
EEC-484/584 Computer Networks
COMPUTER NETWORKS CS610 Lecture-5 Hammad Khalid Khan.
Error Detection and Correction
Error Detection and Correction
Computer Architecture and Assembly Language
Error Detection and Correction
2.8 Error Detection and Correction
Presentation transcript:

Error Detection and Correction Parity Schemes: Modulo 2 addition (XOR) Word parity Block Parity

CRC Error Correction CRC error correction schemes are mechanized using the binary symbol alphabet {0,1} and modulo 2 arithmetic. However the math behind it is applicable with any symbol alphabet and any legitimate algebra. We will explore the method using normal, decimal arithmetic. Consider a message: [m N-1,m N-2, m 1,m 0 ] where the m i are symbols selected from the symbol alphabet M = {0,1,2,3,..,8,9}. The number of symbols in the alphabet is x = 10, each symbol carries 3.32 bits of information. If we were to see the actual digits written out, we would intuitively associate a value with the message, represented by the polynomial: M(x) = m N-1 x N-1 + m N-2 x N m 1 x 1 + m 0 x 0 We are going to append two check digits to the message, [c 1,c 0 ]. The polynomial representing the check digits is of order C = 2: C(x) = c 1 x 1 + c 0 x 0

The Message digits must be shifted to the left to make room for the check digits, do the final data word will be represented by the polynomial: D(x) = x c M(x) + C(x) =M’(x) + C(x) Here’s the trick. We want to pick C(x) such that D(x) represents a number which is evenly divisible by some other number, G, called the generator, represented by the “generator polynomial” G(x). Stated mathematically: Where R 0 (x) =0 is the remainder polynomial after division. Consider for a moment performing the division with the check digits set to zero: Where R 1 (x) is the remainder polynomial after division. If we set C(x) = G(x) – R 1 (x), then we can write...

And we have zero remainder, as desired. When the message is received at the destination, it is divided by the generator, and if the remainder is zero, we may be certain that a single digit error did not occur. If the generator is judiciously chosen, when an error occurs, the remainder will uniquely identify which digit was corrupted. Consideration of the number of check digits There must be a unique remainder for every possible error that can occur. In a binary code (x = 2), there is one possible error for each digit in D(x). Since the remainder must be less than G, it is clear that G > N + C. Since the order of G must be equal to the order of C(x) i.e. C, the maximum value for G is x C -1. Thus or,

Example We’ll consider an example using decimal arithmetic. We will construct a message of 5 digits. For simplicity, we will consider the only possible transmission errors to consist of increasing or decreasing each digit by one, so two possible errors per digit in the message (including check digits), so G > 2(N+C), and G < 10 C. Thus, for this scheme: or, So C = 2 digits will work, and G > 14. Lets try G = 17 (prime numbers usually work well). We need to verify that each possible error creates a unique remainder, so lets pick a typical message, determine the check digits, introduce each possible error, and see if we get a unique remainder. If we don’t, we have to try another generator.

Verification The remainders for each possible error are: These are all unique, so we gave a good generator. The sorted remainders, and their corresponding corrections are:

x x xx x0xx xxxx011000x0xxxx100110xxxxxx x101xxxxxx0 Modulo 2 Division

x x0xxxx Initial StateAfter 5 Shifts Final State xxxxxxx xxxxx Manipulate the Structure: Data Flip Again ++ 0 Data Flip Over (1)

Notes on Generator Choice Generator must have one more digit than Check Digits. Generator must be of the form: 1 X X … X 1