Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Cyclic Code.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Information and Coding Theory
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Cellular Communications
Chapter 10 Error Detection and Correction
DIGITAL COMMUNICATION Coding
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Practical Session 11 Codes. Hamming Distance General case: The distance between two code words is the amount of 1-bit changes required to reach from one.
Error detection and correction
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
exercise in the previous class (1)
Hamming It Up with Hamming Codes CSE 461 Section Week 3.
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
Syndrome Decoding of Linear Block Code
Linear Codes.
Error Detection and Correction
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
AN ORTHOGONAL PROJECTION
British Computer Society
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Data Link Layer: Error Detection and Correction
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
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.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Practical Session 10 Error Detecting and Correcting Codes.
Unit 5 Lecture 2 Error Control Error Detection & Error Correction.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Error Detection and Correction
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
ADVANTAGE of GENERATOR MATRIX:
Linear Block Code 指導教授:黃文傑 博士 學生:吳濟廷
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Detection (§3.2.2)
Information Theory Linear Block Codes Jalal Al Roumy.
Error Detection and Correction
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming Code
Some Computation Problems in Coding Theory
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
Hamming Distance & Hamming Code
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
Practical Session 10 Computer Architecture and Assembly Language.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
ECE 442 COMMUNICATION SYSTEM DESIGN LECTURE 10. LINEAR BLOCK CODES Husheng Li Dept. of EECS The University of Tennessee.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Part 2 Linear block codes
Subject Name: COMPUTER NETWORKS-1
DATA COMMUNICATION AND NETWORKINGS
II. Linear Block Codes.
Information Redundancy Fault Tolerant Computing
Cyclic Code.
II. Linear Block Codes.
Error Detection and Correction
Reliability and Channel Coding
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
Chapter 10 Error Detection and Correction
Presentation transcript:

Error Control Code

Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that a received bit is right In physical layer, what we do is, given k data bits, add n-k redundant bits and make it into a n -bit codeword. We send the codeword to the receiver. If some bits in the codeword is wrong, the receiver should be able to do some calculation and find out – There is something wrong – Or, these things are wrong (for binary codes, this is enough) – Or, these things should be corrected as this for non-binary codes – (this is called Block Code)

Error Control Codes You want a code to – Use as few redundant bits as possible – Can detect or correct as many error bits as possible

Error Control Code Repetition code is the simplest, but requires a lot of redundant bits, and the error correction power is questionable for the amount of extra bits used Checksum does not require a lot of redundant bits, but can only tell you “something is wrong” and cannot tell you what is wrong

(7,4) Hamming Code The best example for introductory purpose and is also used in many applications. (7,4) Hamming code. Given 4 information bits, (i0,i1,i2,i3), code it into 7 bits C=(c0,c1,c2,c3,c4,c5,c6). The first four bits are just copies of the information bits, e.g., c0=i0. Then produce three parity checking bits c4, c5, and c6 as (additions are in the binary field): – c4=i0+i1+i2 – c5=i1+i2+i3 – c6=i0+i1+i3 For example, (1,0,1,1) coded to (1,0,1,1,0,0,0). Is capable of correcting one bit error.

Generator matrix Matrix representation. C=IG where G is called the generator matrix.

Parity check matrix It can be verified that CH=(0,0,0) for all codeword C

Error Correction Given this, suppose you receive R=C+E. You multiply R with H:S=RH=(C+E)H=CH+EH=EH. S is called the syndrome. If there is only one `1’ in E, S will be one of the rows of H. Because each row is unique, you know which bit in E is `1’. The decoding scheme is: – Compute the syndrome – If S=(0,0,0), do nothing. If S!=(0,0,0), output one error bit.

How G is chosen How is G chosen such that it can correct one error? The key is – First: ANY linear combinations of the row vectors of G has weight at least 3 (having at least three `1’s) ANY codeword is a linear combination of the row vectors So a codeword has weight at least 3. Second: The sum of any two codeword is still a codeword So the distance (number of bits that differ) is also at least 3. So if one bit is wrong, won’t confuse it with other codeword. Because if there is only one bit wrong, the received vector will have one bit difference with the original codeword C0. If it is also only one bit away from another codeword C1, it means that C0 and C1 have at most two bit difference, a contradiction.

Error Detection What if there are 2 error bits? Can the code correct it? Can the code detect it? What if there are 3 error bits? Can the code correct it? Can the code detect it?

Exercise

Answer: (a). The error vector is a codeword.

The existence of H We didn’t compare a received vector with all codewords. We used H. The existence of H is no coincidence (need some basic linear algebra). Let Ω be the space of all 7-bit vectors. The codeword space is a subspace of Ω spanned by the row vectors of G. There must be a subspace orthogonal to the codeword space spanned by 3 vectors. So, we can take these 3 vectors and make them the column vectors of H. Given we have chosen a correct G (can correct 1 error), any vector with only one `1’ bit or two `1’ bits multiplied with H will result in a non-zero vector.

A Useful Website