Reliability and Channel Coding

Slides:



Advertisements
Similar presentations
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Advertisements

Introduction to Information Technologies
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
NET0183 Networks and Communications Lectures 13 and 14 Channel Coding 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks Lecture powerpoints.
Reliability & Channel Coding
.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints Adapted from notes By Lami Kaya, © 2009 Pearson Education.
Chapter 6 Errors, Error Detection, and Error Control
Chapter 6 Errors, Error Detection, and Error Control.
Transmission Errors Error Detection and Correction
Error Detection and Correction
Transmission Errors1 Error Detection and Correction.
Long distance communication Multiplexing  Allow multiple signals to travel through one medium  Types Frequency division multiplexing Synchronous time.
Chapter 6: Errors, Error Detection, and Error Control
Chapter 6 Errors, Error Detection, and Error Control
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.
Reliability and Channel Coding
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
Error Detection and Correction
Transmission Errors Error Detection and Correction
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
British Computer Society
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints.
Data Link Layer: Error Detection and Correction
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
Chapter 6: Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Third Edition.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
TI Cellular Mobile Communication Systems Lecture 4 Engr. Shahryar Saleem Assistant Professor Department of Telecom Engineering University of Engineering.
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r.
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
Data Communications and Networking
Error-Detecting and Error-Correcting Codes
Hamming Distance & Hamming Code
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.
Practical Session 10 Computer Architecture and Assembly Language.
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Computer Architecture and Assembly Language
Introduction to Information Technologies
ERROR DETECTION AND CORRECTION
Error Detection and Correction
ERROR CORRECTING CODES
Chapter 4 Data Link Layer.
Subject Name: COMPUTER NETWORKS-1
Communication Networks: Technology & Protocols
DATA COMMUNICATION AND NETWORKINGS
The Three Main Sources of Transmission Errors
Advanced Computer Networks
Chapter 4 Data Link Layer
Dhanushiya. R I YEAR BSc COMPUTER TECHNOLOGY.  Error is a condition when the output information does not match with the input information. During transmission,
Chapter 4 Data Link Layer.
Chapter 7 Error Detection and Correction
Introduction to Information Technologies
Chapter Nine: Data Transmission
Computer Architecture and Assembly Language
Reliability and Channel Coding
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.
Error Detection and Correction
Presentation transcript:

Reliability and Channel Coding Chapter 8 Reliability and Channel Coding © Bobby Hoggard, Department of Computer Science, East Carolina University These slides may not be used or duplicated without permission

Causes of Transmission Errors Cause of Problem How to Avoid the Problem Device failure Careful monitoring of the network to detect device failures Equipment that does not meet engineering standards Extensive testing of the equipment when it's manufactured Physics of the universe Algorithms to detect and correct errors

Categories of Transmission Errors Category Description Results In Interference Electromagnetic radiation emitted from devices, and from background cosmic radiation causing noise; disturbs signals traveling across wires Spike in voltage, causing single-bit errors Distortion Properties of wires that block certain frequencies while allowing others Longer duration interference causing Burst errors or Erasure Attenuation Weakening signal; The further distance a signal travels, the weaker it gets Erasure Type of Error Description Single-bit error A single bit (out of a block of bits) gets changed – a 1 changes to 0 or 0 to 1 Burst error Multiple bits (in a block of bits) get changed Erasure The signal is ambiguous (can't determine if it is a 0 or 1)

Strategies for Handling Channel Errors FEC – Forward Error Correction Add extra bits to the data to help determine if an error has occurred & possibily to help rebuild the data ARQ – Automatic Repeat Request Sender and receiver communicate with messages to determine if an error has occurred, and if so, to resend the data

Forward Error Correction Techniques Block Error Codes Divide the data into blocks Attach extra information to each block (called redundancy or check bits) Blocks are independent of each other Convolutional Error Codes Treats data as a series of bits Compute a code over a continuous series The code for a series of bits depends on the current input and some of the previous bits

Single Parity Check Sender and receiver decide in advance whether to use even parity or odd parity How it works: Divide the data in to blocks of 8-bit units Add a parity bit (also called a check bit) to each block The parity bit value is determined such that the total number of 1's in the block (including the parity bit) is even or odd (depending on what was previously agreed upon) This algorithm is designed to detect errors, but not correct them This algorithm cannot detect all errors

Example: Single Parity Check Original Data # of 1's Even Parity Odd Parity 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 5 1 Sent (using even parity) Received 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 0 1 1 odd number of 1's 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 even number of 1's This algorithm is guaranteed to detect only single-bit errors Cannot detect the error if an even number of bits get changed (burst error) Technically, it can detect if an odd number of bits get changed

Hamming Distance for Words The number of bits that must be changed in order to turn one piece of data into another Example 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 vs Hamming Distance = 3 3 bits must change to turn one of these values into the other Can be computed by calculating the XOR of the two words and counting the bits in the result: 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 XOR =

Codewords 2n codewords 2n codewords 2n - 2m 2m 2m valid data words The data bits + the extra check bits added for error detection 2n codewords 2n codewords 2n - 2m invalid codewords 2m valid codewords 2m valid data words

Codeword Example 512 codewords 29 codewords 512 codewords Simple Parity Check – consists of 9-bit codewords 512 codewords 29 codewords 512 codewords 512-256 = 256 invalid codewords 256 valid codewords 28 valid data words 256 valid data words 8 bits of data, 1 check bit

Hamming Distance for Algorithm Given an algorithm to produce check bits, we can produce a list of all valid codewords Feed all possible data words into the algorithm From this list, find the 2 codewords which have the minimum Hamming distance this is the Hamming Distance for the Algorithm this defines the weakest point in the algorithm this defines the guarantee for the algorithm All possible 2-bit data values 00 01 10 11 Single Parity Check Algorithm (with odd parity) 001 010 100 111 All of the valid codewords

Hamming Distance for Single Parity Data Codeword 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 d (0 0 1, 0 1 0) = 2 d (0 0 1, 1 0 0) = 2 d (0 0 1, 1 1 1) = 2 d (0 1 0, 1 0 0) = 2 d (0 1 0, 1 1 1) = 2 minimum codeword distance d (1 0 0, 1 1 1) = 2 data parity Hamming distance for the simple parity check algorithm is 2

What Does Hamming Distance Determine? To detect d single-bit errors: Need an algorithm with a distance of: d + 1 To correct d single-bit errors: Need an algorithm with a distance of: 2d + 1 Key point: with d number of errors, the received codeword is closer to the original codeword than to any other codeword in the list

Detection/Correction Distance Example Algorithm with Distance = 12 Detects: <= 11 errors 12 = 11 + 1 Corrects: <= 5 errors 11 = 2 * 5 + 1 correcting 6 errors requires distance of 13 6 valid codeword distance = 12 valid codeword send valid codeword invalid codeword received distance = 5 distance = 7

Hamming Distance for Simple Parity Data Codeword 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 d (0 0 1, 0 1 0) = 2 This algorithm can detect: 1 error d (0 0 1, 1 0 0) = 2 2 = 1 + 1 d (0 0 1, 1 1 1) = 2 algorithm distance number of errors d (0 1 0, 1 0 0) = 2 d (0 1 0, 1 1 1) = 2 This algorithm can correct: None d (1 0 0, 1 1 1) = 2 3 = 2 * 1 + 1 distance needed minimum number of errors Hamming distance for the simple parity check algorithm is 2

Correction Algorithm Example We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 0 0 0 0 0 0 0 0 0 0 2) 0 0 0 0 0 1 1 1 1 1 3) 1 1 1 1 1 0 0 0 0 0 4) 1 1 1 1 1 1 1 1 1 1 5 What is the algorithm's distance? d (1, 2) = 5 d (1, 3) = 5 <=9 How many single-bit errors can be detected? d (1, 4) = 10 <=2 How many single-bit errors can be corrected? d (2, 3) = 10 d (2, 4) = 5 Algorithm overhead (data bit –to– check bit ratio): d (3, 4) = 5 2 data bits 8 check bits 10 bits total 400%

Correction Algorithm Example We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 0 0 0 0 0 0 0 0 0 0 2) 0 0 0 0 0 1 1 1 1 1 3) 1 1 1 1 1 0 0 0 0 0 4) 1 1 1 1 1 1 1 1 1 1 Transmitted: 0 0 0 0 0 1 1 1 1 1 Received: 0 0 0 0 0 0 0 1 1 1 d (r, 1) = 3 d (r, 2) = 2 Assume data was: 0 0 0 0 0 1 1 1 1 1 d (r, 3) = 8 d (r, 5) = 7

Correction Algorithm Example We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 0 0 0 0 0 0 0 0 0 0 2) 0 0 0 0 0 1 1 1 1 1 3) 1 1 1 1 1 0 0 0 0 0 4) 1 1 1 1 1 1 1 1 1 1 Transmitted: 0 0 0 0 0 1 1 1 1 1 Received: 0 0 0 0 0 0 0 0 1 1 d (r, 1) = 2 Assume data was: 0 0 0 0 0 1 1 1 1 1 How many single-bit errors can be corrected? <=2 d (r, 2) = 3 How many single-bit errors occurred? 3 d (r, 3) = 7 Number of errors exceeded the algorithm's limit d (r, 5) = 8

Hamming Algorithm An algorithm with low overhead, that can correct one single-bit error Data Bits Check Bits Overhead 1 2 200% 2 - 4 3 150 - 75% 5 - 11 4 80 - 36% 12 - 26 5 42 - 19% 27 - 57 6 22 - 11% 58 - 120 7 12 - 6% 121 - 247 8 7 - 3%