Richard W. Hamming Learning to Learn The Art of Doing Science and Engineering Session 12: Error-Correcting Codes Learning to Learn The Art of Doing Science.

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Error-Correcting codes
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Computer Interfacing and Protocols
Error Control Code.
Chapter 10 Shannon’s Theorem. Shannon’s Theorems First theorem:H(S) ≤ L n (S n )/n < H(S) + 1/n where L n is the length of a certain code. Second theorem:
Error-Correcting Codes
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
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,
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.
Number Systems and Codes
RAID Systems CS Introduction to Operating Systems.
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 It Up with Hamming Codes CSE 461 Section Week 3.
Session 11: Coding Theory II
CS3502: Data and Computer Networks DATA LINK LAYER - 1.
Math for Liberal Studies.  A binary code is a system for encoding data made up of 0’s and 1’s  Examples  Postnet (tall = 1, short = 0)  UPC (dark.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
ERROR CONTROL CODING Basic concepts Classes of codes: Block 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.
Practical Session 10 Error Detecting and Correcting Codes.
Dr. Richard Hamming’s Contributions to Computer Science and Telecommunications Dr. Charles C. Tappert Professor of Computer Science Seidenberg School of.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
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
Copyright © Curt Hill Error detection and correction Techniques to Increase the Reliability.
1 Rectangular Codes Triplication codes: m 1 m 2 m 3 m 1 m 1 m 1 m 2 m 2 m 2 m 3 m 3 m 3 Repeated 3 times At receiving end, a majority vote is taken.
ERROR DETECTING AND CORRECTING CODES -BY R.W. HAMMING PRESENTED BY- BALAKRISHNA DHARMANA.
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
Data Communications and Networking
Error-Detecting and Error-Correcting Codes
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Hamming Distance & Hamming Code
Computer Architecture Error Correcting Codes Ralph Grishman Oct (Text pp and B-65-67) NYU.
Error Detecting and Error Correcting Codes
Practical Session 10 Computer Architecture and Assembly Language.
CS Introduction to Operating Systems
Hamming Codes The Hamming Code is a Forward Error-correcting Code (FEC) that uses redundant bits to correct a single bit error For 4 bit codes, 3 redundant.
parity bit is 1: data should have an odd number of 1's
Hamming Code In 1950s: invented by Richard Hamming
Computer Architecture and Assembly Language
ERROR CORRECTING CODES
Subject Name: COMPUTER NETWORKS-1
Error detection and correction
Error Correcting Code.
Representing characters
Even/odd parity (1) Computers can sometimes make errors when they transmit data. Even/odd parity: is basic method for detecting if an odd number of bits.

Packetizing Error Detection
MAT 105 Spring 2008 Chapter 17: Binary Codes.
II. Linear Block Codes.
Packetizing Error Detection
Chapter 7 Error Detection and Correction
EEC-484/584 Computer Networks
Information Redundancy Fault Tolerant Computing
RAID Redundant Array of Inexpensive (Independent) Disks
Fundamentals of Data Representation
Packetizing Error Detection
LAB 7.
CS 325: CS Hardware and Software Organization and Architecture
Computer Architecture and Assembly Language
Error Detection and Correction
parity bit is 1: data should have an odd number of 1's
How to lie and get away with it
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:

Richard W. Hamming Learning to Learn The Art of Doing Science and Engineering Session 12: Error-Correcting Codes Learning to Learn The Art of Doing Science and Engineering Session 12: Error-Correcting Codes

How Great Things Are Done I invented error correcting codes. You know they are important. What follows is how it happened. I invented error correcting codes. You know they are important. What follows is how it happened.

Great Scientists Feinman, Metropolis, Oppenheimer, Bohr, Teller and Farame I met these people at Los AlamosI met these people at Los Alamos There, as a “janitor of science,” I just kept the machines goingThere, as a “janitor of science,” I just kept the machines going What was the difference between them and me?What was the difference between them and me? Pasteur quote: “Luck favors the prepared mind.”Pasteur quote: “Luck favors the prepared mind.” Study successes not mistakes!Study successes not mistakes! Feinman, Metropolis, Oppenheimer, Bohr, Teller and Farame I met these people at Los AlamosI met these people at Los Alamos There, as a “janitor of science,” I just kept the machines goingThere, as a “janitor of science,” I just kept the machines going What was the difference between them and me?What was the difference between them and me? Pasteur quote: “Luck favors the prepared mind.”Pasteur quote: “Luck favors the prepared mind.” Study successes not mistakes!Study successes not mistakes!

Extreme Interest in Matters When you’re up at bat, you think about hitting the ball. You don’t think about how. I can tell you what happened at the conscious level and a slight probing of the unconsciousI can tell you what happened at the conscious level and a slight probing of the unconscious The great stuff comes from people who care and care passionatelyThe great stuff comes from people who care and care passionately Many people are content to just do things wellMany people are content to just do things well Some great scientists sterilize themselves by inventing a great idea, but then forever dwell on itSome great scientists sterilize themselves by inventing a great idea, but then forever dwell on it When you’re up at bat, you think about hitting the ball. You don’t think about how. I can tell you what happened at the conscious level and a slight probing of the unconsciousI can tell you what happened at the conscious level and a slight probing of the unconscious The great stuff comes from people who care and care passionatelyThe great stuff comes from people who care and care passionately Many people are content to just do things wellMany people are content to just do things well Some great scientists sterilize themselves by inventing a great idea, but then forever dwell on itSome great scientists sterilize themselves by inventing a great idea, but then forever dwell on it

How It Happened Two out of five code relay computer, circa , could detect errors. If it detected an error, it would try three times before dropping the problem to pick up the next. Insight: if a machine can find out if there is an error, why can’t it find out where it is? Two out of five code relay computer, circa , could detect errors. If it detected an error, it would try three times before dropping the problem to pick up the next. Insight: if a machine can find out if there is an error, why can’t it find out where it is?

Error Correction Brute force method: Build three machines Build inter-comparing circuits Take the majority vote Not really feasible, too expensive! A better method: parity checks. Brute force method: Build three machines Build inter-comparing circuits Take the majority vote Not really feasible, too expensive! A better method: parity checks.

Rectangular Form Arrange the message bits of any message symbol in a rectangle. A single error will divulge its (row, column) coordinate. used for even parity

Redundancy Ratio The closer the rectangle is to a square, the lower the redundancy for the same amount of message. However, there is a risk of double error! Exercise your engineering judgment. The closer the rectangle is to a square, the lower the redundancy for the same amount of message. However, there is a risk of double error! Exercise your engineering judgment.

A Better Form - Triangular

A Cube of Bits Parity checks across entire planes and parity check on all three axes can provide coordinates of error. Cost: (3n – 2) parity checks for n 3 encoded message.

n Dimensions Review Lecture 9 No need to build n dimensions, just wire it that wayNo need to build n dimensions, just wire it that way An n-dimensional cube will have (n + 1) parity checksAn n-dimensional cube will have (n + 1) parity checks (n + 1) parity checks represent 2 n + 1 different things(n + 1) parity checks represent 2 n + 1 different things Need only 2 n points in a cube plus 1 result that the message is correctNeed only 2 n points in a cube plus 1 result that the message is correct This will be off by a factor of 2!This will be off by a factor of 2! Review Lecture 9 No need to build n dimensions, just wire it that wayNo need to build n dimensions, just wire it that way An n-dimensional cube will have (n + 1) parity checksAn n-dimensional cube will have (n + 1) parity checks (n + 1) parity checks represent 2 n + 1 different things(n + 1) parity checks represent 2 n + 1 different things Need only 2 n points in a cube plus 1 result that the message is correctNeed only 2 n points in a cube plus 1 result that the message is correct This will be off by a factor of 2!This will be off by a factor of 2!

SyndromeSyndrome Have the syndrome of the error name the place of the error – a binary number. Parity check bits involve ones in the position of the check.

Checking the Syndrome Approach An even parity example check of 4 message and 3 check positions must satisfy the condition:

Apply Parity Checks     1______  1______ Binary number 110  6 Binary number 110  6 This result locates the error. Flip 6 th bit, strip out check bits, regain original message!

Single Error Correct, Double Detect Add a single new parity check over the whole message Single-error correct (SEC) double-error detect (DED) is a good balanceSingle-error correct (SEC) double-error detect (DED) is a good balance For short message, redundancy of 4 message and four check bits, badFor short message, redundancy of 4 message and four check bits, bad If message is too long, you risk double uncorrectable error: SEC/DED will mistakenly overcorrect into a third error!If message is too long, you risk double uncorrectable error: SEC/DED will mistakenly overcorrect into a third error! Add a single new parity check over the whole message Single-error correct (SEC) double-error detect (DED) is a good balanceSingle-error correct (SEC) double-error detect (DED) is a good balance For short message, redundancy of 4 message and four check bits, badFor short message, redundancy of 4 message and four check bits, bad If message is too long, you risk double uncorrectable error: SEC/DED will mistakenly overcorrect into a third error!If message is too long, you risk double uncorrectable error: SEC/DED will mistakenly overcorrect into a third error!

Working in L1 Space

A Cube of Bits (Revisited) Vertices are fixed at 1 unit, 2 units and 3 units away from the origin

Higher Minimum Distance Codes k = sphere radius C(n, k) = # of points in a sphere of radius k 2 n = whole space This quotient represents the upper bound on the number of non-overlapping spheres and code points in the corresponding space.

Finding an Error Correcting Code Same as finding a set of code points in the n-dimensional space that has the required minimum distance between legal messages. Minimum distance function is both necessary and sufficientMinimum distance function is both necessary and sufficient Some error correction can be exchanged for more detection, i.e. give up one error correction and get two more in error detectionSome error correction can be exchanged for more detection, i.e. give up one error correction and get two more in error detection Same as finding a set of code points in the n-dimensional space that has the required minimum distance between legal messages. Minimum distance function is both necessary and sufficientMinimum distance function is both necessary and sufficient Some error correction can be exchanged for more detection, i.e. give up one error correction and get two more in error detectionSome error correction can be exchanged for more detection, i.e. give up one error correction and get two more in error detection

Why Error Correction? Space vehicles operating on possibly as low as 5 watts can have hundreds of errors in a single block of message. When you are not prepared to overcome “noise” or “deliberate jamming” then such codes are the only known answer. Space vehicles operating on possibly as low as 5 watts can have hundreds of errors in a single block of message. When you are not prepared to overcome “noise” or “deliberate jamming” then such codes are the only known answer.