Unit 5 Lecture 2 Error Control Error Detection & Error Correction.

Slides:



Advertisements
Similar presentations
Computer Interfacing and Protocols
Advertisements

10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Chapter 10 Error Detection and Correction
PART III DATA LINK LAYER. Position of the Data-Link Layer.
The Data Link Layer Chapter 3. Position of the data-link layer.
Error Detection and Correction
Chapter 10 Error Detection and Correction
Rutvi Shah1 ERROR CORRECTION & ERROR DETECTION Rutvi Shah2 Data can be corrupted during transmission. For reliable communication, errors must be detected.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
Shashank Srivastava Motilal Nehru National Institute Of Technology, Allahabad Error Detection and Correction : Data Link Layer.
1 Kyung Hee University Data Link Layer PART III. 2 Kyung Hee University Position of the data-link layer.
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.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
British Computer Society
CIT 307 Online Data Communications Error Detection Module 11 Kevin Siminski, Instructor.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Practical Session 10 Error Detecting and Correcting Codes.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Error Detection and Correction
Overview All data can be corrupted, for reliable communications we must be able to detect and correct errors implemented at the data link and transport.
Lecture 5 Checksum. 10.2CHECKSUM Checksum is an error-detecting technique that can be applied to a message of any length. In the Internet, the checksum.
Error Detection and Correction
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
Lecture Focus: Data Communications and Networking  Data Link Layer  Error Control Lecture 19 CSCS 311.
Error Detection.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Kyung Hee University Position of the data-link layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
Data Communications and Networking
1 Kyung Hee University Error Detection and Correction.
Error Detection & Correction  Data can be corrupted during transmission.  For reliable transmission, errors must be detected and corrected.  Error detection.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Hamming Distance & Hamming Code
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.
Part III: Data Link Layer Error Detection and Correction
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
10.1 Types of Errors 10.2 Detection 10.3 Error Correction.
Error Detection and Correction
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.
ERROR DETECTION AND CORRECTION
Data Link Layer.
ERROR CORRECTING CODES
Error Detection and Correction
DATA COMMUNICATION AND NETWORKINGS
CIS 321 Data Communications & Networking
Part III Datalink Layer 10.
Data Link Layer.
Error Detection Bit Error Rate(BER): It is the ratio of number Ne of errors appearing over a certain time interval t to the number Nt of 1 and 0 pulses.
Packetizing Error Detection
Packetizing Error Detection
PART III Data Link Layer.
Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted during transmission. For.
Chapter 7 Error Detection and Correction
Chapter 9 Error Detection and Correction
Packetizing Error Detection
DATA COMMUNICATION Lecture-33.
Chapter 9 Error Detection and Correction
Error Detection and Correction
DATA COMMUNICATION Lecture-34.
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Data Link Layer. Position of the data-link layer.
Presentation transcript:

Unit 5 Lecture 2 Error Control Error Detection & Error Correction

Methods of error control Error control involves two basic methods: 1.error detection 2.error correction

Detection versus Correction The correction of errors is more difficult than the detection. In error detection, we are only looking to see if any error has occurred. The answer is a simple yes or no. We are not even interested in the number of corrupted bits. A single-bit error is the same for us as a burst error. In error correction, we need to know the exact number of bits that are corrupted and, more importantly, their location in the message.

Issues in detecting & correcting errors Redundancy Coding Block Coding Convolution coding

10.5Redundancy The Redundancy is a central concept in detecting or correcting errors. To be able to detect or correct errors, we need to send some extra bits with our data. These redundant bits are added by the sender and removed by the receiver. Their presence allows the receiver to detect or correct corrupted bits. Extra added bits are called redundant because they are having no value in information and discarded as soon as the accuracy of transmission is determined.

Redundancy Figure

10.7Coding Redundancy is achieved through various coding schemes. The sender adds redundant bits through a process that creates a relationship between the redundant bits and the actual data bits. The receiver checks the relationships between the two sets of bits to detect errors. The ratio of redundant bits to data bits and the robustness of the process are important factors in any coding scheme.

Four types of redundancy checks are used in data communication 1. Vertical redundancy check (VRC) ( also called as parity check) 2. Longitudinal redundancy check (LRC) 3. Cyclic redundancy check (CRC) 4. Checksum First three methods VRC, LRC & CRC are implemented at Physical layer The fourth checksum method is used primarily by upper layer like transport layer

Figure: Detection Methods

VRC The most common & the least expensive mechanism for error detection is the vertical redundancy check(VRC) This method is also called as parity check In this method a redundant bit, called a parity bit, is appended to every data unit so that the total number of 1s in the unit (including parity bit) becomes even.

Parity checking In parity checking method, an additional bit called parity bit added to each data word. The additional bit is so chosen that the weight of the code word thus formed is either even or odd All the code words of a code set have the same parity which is decided in advance.

VRC Figure

Even-parity concept

Even and odd parity bits. P : Parity bit Even Parity PData word Odd Parity PData word

When a single error or an odd number of errors occurs during transmission, the parity of the code word changes. Parity of the code word is checked at the receiving end and violation of the parity rule indicate errors somewhere in the code word.

Error detection by change in parity Transmitted code word Even parity Received code word (single error) Odd parity (Error is detected) Received code word (double error) Even parity (Error is not detected) In parity check, a parity bit is added to every data unit so that the total number of 1s is even (or odd for odd-parity).

Note:

Example 1 Suppose the sender wants to send the word world. In ASCII the five characters are coded as The following shows the actual bits sent

Example 2 Now suppose the word world in Example 1 is received by the receiver without being corrupted in transmission The receiver counts the 1s in each character and comes up with even numbers (6, 6, 4, 4, 4). The data are accepted.

Example 3 Now suppose the word world in Example 1 is corrupted during transmission The receiver counts the 1s in each character and comes up with even and odd numbers (7, 6, 5, 4, 4). The receiver knows that the data are corrupted, discards them, and asks for retransmission.

Performance of VRC VRC can detect all single-bit errors. It can also detect burst errors as long as the total number of bits changed is odd (1, 3, 5, etc). Let’s say we have an even-parity data until where the total number of I’s including the parity bit, is 6: if any three bits change value, the resulting parity will be odd and the error will be detected : :9, :7, :5 all odd.

The VRC checker would return a result of 1 and the data unit would be rejected. The same holds true for any odd number of errors. Suppose, however, that two bits of the data unit are changed: :8, :6, :4. in each case the number of 1’s in the data unit is still even. The VRC checker will add them and return an even number although the data unit contains two errors.

VRC cannot detect errors where the total number of bits changed is even. If any two bits change in transmission, the changes cancel each other and the data unit will pass a parity check even though the data unit is damaged. The same holds true for any even number of errors. VRC can detect all single bit-single errors. It can detect burst errors only if the total number of errors in each data unit is odd.

HW implementation XOR GATE NOTGATE

VRC Generator/Parity Generator VRC Generator A VRC generator is a series of XOR gates. The number of gates in the generator is one less than the number of bits in the data unit. The final result is the even- parity bit. Figure shows how this process works. To generate an odd-parity bit, the output of the last XOR gate is passed through a NOT gate.

VRC Checker/Parity Checker The VRC checker at the receiving end has one extra XOR gate to accommodate the parity bit. The process is also the same: the output of each XOR gate is passed to the next XOR gate, where it is added to the next bit in the data unit. As with parity generation, an odd-parity checker is identical to an even-parity checker except for the addition of a NOT gate after the last XOR gate. If the final output is 0, the transmission is assumed to the intact, the parity bit is dropped, and the data are accepted. If the output is 1, the data are rejected. Figure shows an even-parity VRC checker.

Longitudinal Redundancy Check (LRC) In Longitudinal Redundancy Check (LRC), a block of bits is organized in a table (rows and columns) For example, instead of sending a block of 32 bits, We organize them in a table made of four rows and eight columns, as shown in figure, We then calculate the parity bit for each column and create a new row of eight bits, which are the parity bits for the whole block.

LRC Figure

In Longitudinal Redundancy Check (LRC), a block of bits is divided into rows and redundant rows of bits is added to the whole block

Example LRC Suppose the following block is sent (LRC) However, it is bit by a burst noise of length and some bits are corrupted (LRC)

When the receiver checks the LRC, some of the bits do not follow the even-parity rule and the whole block is discarded (the non matching bits are shown in bold) (LRC)

Performance of LRC LRC increases the likelihood of detecting burst errors. As we showed in the previous example, an LRC of n bits can easily detect a burst error of n bits. A burst error of more than n bits is also detected by LRC with a very high probability. There is, however, one pattern of errors that remains elusive. If two bits in one data unit are damaged and two bits in exactly the same positions in another data unit are also damaged, the LRC checker will not detect an error. Consider, for example, two data units : and If the first and last bits in each of them are changed, making the data units read and , the errors cannot be detected by LRC.

HW implementation of LRC LRC Generator Figure shows how the LRC is calculated. The least significant bits are added together and their parity found; then the second bits are added and their parity found, and so on. The final bit of the LRC is both the parity bit for the LRC data unit itself and the parity bit for all the VRC parity bits in the block.

LRC Checker An LRC checker works like an LRC generator, but we need extra XOR gates, Figure shows an LRC checker.

Block Parity Two Dimensional Parity check When a large no of binary words are being transmitted or received in succession, the resulting collection of bits is considered as block of data & is represented in rows & columns. The parity bit is produced for each row & column of such block of data It uses the concept of VRC & LRC together

VRC and LRC

Example of Block Parity/Two Dimensional Parity

Two-dimensional parity