2/28/03 1 The Virtues of Redundancy An Introduction to Error-Correcting Codes Paul H. Siegel Director, CMRR University of California, San Diego The Virtues.

Slides:



Advertisements
Similar presentations
Lecture 2: Basic Information Theory TSBK01 Image Coding and Data Compression Jörgen Ahlberg Div. of Sensor Technology Swedish Defence Research Agency (FOI)
Advertisements

Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Error Control Code.
Computer Networking Error Control Coding
Ch 2.7 Error Detection & Correction CS-147 Tu Hoang.
1/15 KLKSK Pertemuan III Analog & Digital Data Shannon Theorem xDSL.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Chapter 3: Channel Coding (part 1)
Lecture 40 CSE 331 Dec 11, Announcements Solutions to HW 10 and graded HW 9 at end of the lecture Review session on Monday: see blog for details.
CSE 501 Research Overview Atri Rudra
10/15/01 1 The Continuing Miracle of Information Storage Technology Paul H. Siegel Director, CMRR University of California, San Diego.
UCB Claude Shannon – In Memoriam Jean Walrand U.C. Berkeley
Fundamental limits in Information Theory Chapter 10 :
1 ITC242 – Introduction to Data Communications Week 10 Topic 16 Data link 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
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Noise, Information Theory, and Entropy
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.
Hamming Code A Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two bit errors,
Hamming It Up with Hamming Codes CSE 461 Section Week 3.
ChannelCoding Hafiz Malik Dept. of Electrical & Computer Engineering The University of Michigan-Dearborn
Syndrome Decoding of Linear Block Code
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Mathematics in Management Science
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Digital Logic Lecture 4 Binary Codes The Hashemite University Computer Engineering Department.
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
Error Control Coding and Applications
ECE 6332, Spring, 2014 Wireless Communication Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th, 2014.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Redundancy The object of coding is to introduce redundancy so that even if some of the information is lost or corrupted, it will still be possible to recover.
The Data Link Layer Goal –As reliable as possible, efficient communication Point-to-Point –single connection –bits arrive in order sent Not necessarily.
Networking and Communication Greg Drysdale Oct. 28, 2008 CS147 Section 3.
Introduction to Coding Theory. p2. Outline [1] Introduction [2] Basic assumptions [3] Correcting and detecting error patterns [4] Information rate [5]
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Communication System A communication system can be represented as in Figure. A message W, drawn from the index set {1, 2,..., M}, results in the signal.
Error Detection and Correction
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
§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
Coding Theory Efficient and Reliable Transfer of Information
ADVANTAGE of GENERATOR MATRIX:
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Channel Coding Binit Mohanty Ketan Rajawat. Recap…  Information is transmitted through channels (eg. Wires, optical fibres and even air)  Channels are.
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.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Elementary Coding Theory Including Hamming and Reed-Solomom Codes with Maple and MATLAB Richard Klima Appalachian State University Boone, North Carolina.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
ECE 101 An Introduction to Information Technology Information Coding.
Hamming Distance & Hamming Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Hamming (4,7) Code Binary Linear Codes Hamming Distance Weight of BLC
Lecture 20 CSE 331 July 30, Longest path problem Given G, does there exist a simple path of length n-1 ?
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Diana B. Llacza Sosaya Digital Communications Chosun University
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
RS – Reed Solomon Error correcting code. Error-correcting codes are clever ways of representing data so that one can recover the original information.
1 CSCD 433 Network Programming Fall 2016 Lecture 4 Digital Line Coding and other...
Data Communication and Networking Digital Transmission Chapter 4.
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Error Detection & Correction
Advanced Computer Networks
Information Redundancy Fault Tolerant Computing
RAID Redundant Array of Inexpensive (Independent) Disks
CS 325: CS Hardware and Software Organization and Architecture
Communicating Efficiently
Presentation transcript:

2/28/03 1 The Virtues of Redundancy An Introduction to Error-Correcting Codes Paul H. Siegel Director, CMRR University of California, San Diego The Virtues of Redundancy

ECE Staff Luncheon 2/28/03 2 Outline Information Storage and Transmission Repetition Codes Hamming Code (with a demo!) Shannon’s Coding Theorem Compact Audio Disk Code (another demo!) Summary live

ECE Staff Luncheon 2/28/03 3 Information We all generate and use information: Text Music Images Scientific Measurements

ECE Staff Luncheon 2/28/03 4 Information Storage We often store the information for later use: Disk drive Tape drive Zip/diskette drive CD-R/W

ECE Staff Luncheon 2/28/03 5 Information Storage And we want our storage devices to be: Reliable (no errors!) Compact (lots of storage capacity in a small space!) Inexpensive (almost free!)

ECE Staff Luncheon 2/28/03 6 Information Transmission We also send our information to others: Fax Wireless telephony Satellite broadcast

ECE Staff Luncheon 2/28/03 7 Information Transmission And we want the transmission system to be: Reliable (no errors!) Fast (instant downloads!) Inexpensive (almost free!)

ECE Staff Luncheon 2/28/03 8 Data Storage and Transmission Data storage and data transmission are two sides of the same coin – communication systems. A data storage system communicates information through time, i.e., “from now to then.” A data transmission system communicates information through space, i.e., “from here to there.”

ECE Staff Luncheon 2/28/03 9 Communication System INFORMATION SOURCE TRANSMITTER RECEIVER DESTINATION MESSAGE SIGNAL RECEIVED SIGNAL MESSAGE CHANNEL

ECE Staff Luncheon 2/28/03 10 Digitized Information We often represent the information digitally, as a sequence of numbers. Each number is converted to a unique string of bits (0’s and 1’s). The 0’s and 1’s are converted to an electrical signal that is used to store or transmit the information.

ECE Staff Luncheon 2/28/03 11 “Noisy” Channels When we retrieve or receive the signal, it gets converted back to a sequence of 0’s and 1’s. But an evil force is at work in the channel… NOISE! Electrical and magnetic devices can distort the electrical signal, and the recovered sequence of bits may have errors:  sent received

ECE Staff Luncheon 2/28/03 12 A Noisy Communication System INFORMATION SOURCE TRANSMITTER RECEIVER DESTINATION MESSAGE SIGNAL RECEIVED SIGNAL MESSAGE NOISE SOURCE CHANNEL

ECE Staff Luncheon 2/28/03 13 Coding to the Rescue To combat the effects of noise, we use an Error Correction Code (ECC). The ECC adds redundancy in a special way that allows us to correct the bit errors caused by the noisy channel. Data Compression Code Error Correction Code Noisy Channel Remove redundancyAdd redundancy

ECE Staff Luncheon 2/28/03 14 Repetition The simplest form of redundancy is: Repetition! Sender Receiver “0” Did she say “1” ? I said “0”Sounded like “0” One more time: “0” Sounded like “0”again She was sending “0”

ECE Staff Luncheon 2/28/ Repetition Code Encoding rule: Repeat each bit 3 times Example:  Decoding rule: Majority vote! Examples of received codewords:  Error-free!  Error!

ECE Staff Luncheon 2/28/03 16 How good is this 3-repetition code? The code can correct 1 bit error per 3-bit codeword. The price we pay in redundancy is measured by the efficiency or rate of the code, denoted by R: R= #information bits / # bits in codeword For the 3-repetition code: R=33%

ECE Staff Luncheon 2/28/03 17 How good is this 3-repetition code? Suppose that, on average, the noisy channel flips 1 code bit in 100 Then, on average, the 3-repetition code makes only 1 information bit error in 3333 bits!

ECE Staff Luncheon 2/28/03 18 Can we do better? How about repeat 5 times? On average, only 1 bit error in 100,000 bits. How about repeat 7 times? On average, only 1 bit error in 2,857,142 bits If we let the number of repetitions grow and grow, we can approach perfect reliability !

ECE Staff Luncheon 2/28/03 19 What’s the catch???? The catch is: As the number of repetitions grows to infinity, the transmission rate shrinks to zero!!! This means: slow data transmission / low storage density. Is there a better (more efficient) error correcting code?

ECE Staff Luncheon 2/28/03 20 Hamming Code Invented by Richard W. Hamming in bit codewords: 4 information bits, 3 redundant bits. Corrects 1 bit error per codeword (like 3-repetition code) Code efficiency: R = 4/7  57% (compared to rate R  33% for 3-repetition code)

ECE Staff Luncheon 2/28/03 21 Hamming Code

ECE Staff Luncheon 2/28/03 22 Hamming Code: Encoder Simple encoding rule: 1. Insert data bits in 1,2,3,4. 2. Insert “parity” bits in 5,6,7 to ensure an even number of 1’s in each circle.

ECE Staff Luncheon 2/28/03 23 Hamming Code Information: Parity bit 5: 1 Parity bit 6: 0 Parity bit 7: 1 Codeword:

ECE Staff Luncheon 2/28/03 24 Hamming Code: Decoder Simple decoding rule: 1. Check the parity of each circle – is the number of 1’s even or odd ? The pattern of parities is called the syndrome. 2. Look up the syndrome in the decoding table

ECE Staff Luncheon 2/28/03 25 Hamming Code: Decoding Table Syndrome Flipped bit eveneveneven None! oddoddodd1 oddevenodd2 oddoddeven3 evenoddodd4 oddeveneven5 evenoddeven6 evenevenodd

ECE Staff Luncheon 2/28/03 26 How good is the Hamming code? Suppose that, on average, the noisy channel flips 1 bit in 100 Then, on average, the Hamming code makes On average, only 1 error in 1111 !! ( Not as good as 3-repetition, but efficiency is 57% compared to 33%)

ECE Staff Luncheon 2/28/03 27 Matrix description of Hamming Code Bit # Red circle Green circle Blue circle This is the “parity-check matrix” for the code. Encoding and decoding can be described algebraically

ECE Staff Luncheon 2/28/03 28 Practical ECC Lots of “algebraic” codes can be designed by choosing different parity-check matrices. Many useful and powerful codes have been found and are used in many data transmission and data storage applications.

ECE Staff Luncheon 2/28/03 29 Compact Disc ECC The compact disk uses a powerful code with 75% efficiency It can correct a burst of about 4000 bits, which corresponds to a scratch of length about 1-tenth of an inch (2.5 mm). Using the redundancy in musical signals, the CD player can “fix” a burst of 12,300 bits - a scratch of length about 3-tenths of an inch (7.5 mm)!

ECE Staff Luncheon 2/28/03 30 CD Demonstration (Warning: do not attempt this at home!) 2.5 mm thick 8 mm thick line 4 mm thick line

ECE Staff Luncheon 2/28/03 31 How “good” can a code be? What is the best tradeoff between efficiency (transmission speed / storage density) and error- correcting capability (reliability)? Does the efficiency have to go to zero in order for the average number of decoder errors to approach zero (as in the repetition codes)? Amazingly, the answer is NO !

ECE Staff Luncheon 2/28/03 32 Shannon’s Coding Theorem A mathematical result proved by Claude E. Shannon (Bell Labs) - in 1948 (coincidentally!) For any noisy channel, there is a maximum achievable efficiency (larger than 0), called the channel capacity, and denoted by C. For any rate R smaller than C, there exist codes that can approach perfect reliability! For any rate R greater than C, perfect reliability is IMPOSSIBLE !

ECE Staff Luncheon 2/28/03 33 Shannon’s Coding Theorem C= Perfect Reliability Impossible Region Achievable Region For the channel that flips 1 bit in 100 bits, the capacity is C = 91.92% !!! More Errors Higher rate R H 3R 5R 7R

ECE Staff Luncheon 2/28/03 34 Claude E. Shannon (CMRR Lobby)

ECE Staff Luncheon 2/28/03 35 The Inscription

ECE Staff Luncheon 2/28/03 36 The Formula on the “Paper” The paper shows the formula for the capacity of a discrete noisy channel [Shannon, 1948]

ECE Staff Luncheon 2/28/03 37 Capacity-approaching codes Shannon proved that lots of such “good” codes exist… but he did not show how to construct the encoders and decoders! Finding such practical good codes has been the “holy grail” of coding theorists since Turbo codes (1993) and Low-Density Parity-Check codes (2001) finally have come close to achieving Shannon’s theoretical limits !!! Hooray!! Are coding theorists out of work? No way….

ECE Staff Luncheon 2/28/03 38 Summary Coding theory is fun and useful! You’ve been a nice audience – Thanks!