Stuart Hansen University of Wisconsin - Parkside.

Slides:



Advertisements
Similar presentations
I/O Errors 1 Computer Organization II © McQuain RAID Redundant Array of Inexpensive (Independent) Disks – Use multiple smaller disks (c.f.
Advertisements

Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Hamming Code.
parity bit is 1: data should have an odd number of 1's
Cyclic Code.
CSCI 4717/5717 Computer Architecture
Number of transistors per chip continues to follow Moore’s Law; but the transistors are going into multiple cores, bigger cache, bridge technology, etc.
ERROR CORRECTION.
The Binary Numbering Systems
Parity Generator and Checker
Unit 13 Analysis of Clocked Sequential Circuits Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
CSCI 4550/8556 Computer Networks Comer, Chapter 7: Packets, Frames, And Error Detection.
CSCI 3 Chapter 1.8 Data Compression. Chapter 1.8 Data Compression  For the purpose of storing or transferring data, it is often helpful to reduce the.
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
CS352- Link Layer Dept. of Computer Science Rutgers University.
Faculty of Computer Science © 2006 CMPUT 229 Special-Purpose Codes Binary, BCD, Hamming, Gray, EDC, ECC.
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.
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Cosc 2150: Computer Organization
“Data can be corrupted during transmission. For reliable communication, errors must be detected and corrected.”
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
CS151 Introduction to Digital Design
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
ENEE244-02xx Digital Logic Design Lecture 3. Announcements Homework 1 due next class (Thursday, September 11) First recitation quiz will be next Monday,
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Chapter 7 - Packets, Frames and Error Detection 1. Concepts of Packets 2. Motivation for Packet Switching 3. Framing 4. Frame Formats 5. Transmission Errors.
DIGITAL COMMUNICATIONS Linear Block Codes
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Detection (§3.2.2)
VLSI AND INTELLIGENT SYTEMS LABORATORY 12 Bit Hamming Code Error Detector/Corrector December 2nd, 2003 Department of Electrical and Computer Engineering.
ERROR DETECTING AND CORRECTING CODES -BY R.W. HAMMING PRESENTED BY- BALAKRISHNA DHARMANA.
CS 111 – Sept. 13 Error detection Error correction Review/practice chapter 1 questions Commitment: –Please read sections 2.1 and 2.2.
Error-Detecting and Error-Correcting Codes
Cryptography and Coding Theory
Sense making in linear algebra Lee Peng Yee Bangkok
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Reasons to  Binary With Mrs
ECE 101 An Introduction to Information Technology Information Coding.
Computer Architecture Error Correcting Codes Ralph Grishman Oct (Text pp and B-65-67) NYU.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
Digital Systems: Number Systems and Codes Wen-Hung Liao, Ph.D.
University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Yu Hen Hu and Yong-Chang Kim Fall 2002 Chapter 1 – Digital Computers and.
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.
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
parity bit is 1: data should have an odd number of 1's
Cyclic Redundancy Check (CRC)
Vladimir Stojanovic & Nicholas Weaver
Error Correcting Code.
Advanced Computer Networks
OCR AS Level F451: Data transmission
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.
Dhanushiya. R I YEAR BSc COMPUTER TECHNOLOGY.  Error is a condition when the output information does not match with the input information. During transmission,
Digital Systems: Number Systems and Codes
Sequential circuits and Digital System Reliability
Digital Logic & Design Lecture 05
Dr. Clincy Professor of CS
RAID Redundant Array of Inexpensive (Independent) Disks
CS 325: CS Hardware and Software Organization and Architecture
parity bit is 1: data should have an odd number of 1's
Error Detection and Correction
Presentation transcript:

Stuart Hansen University of Wisconsin - Parkside

Curricular Fit Late CS 2 or early Data Structures Discrete Math background is required Matrix Multiplication Binary data representations

Historical Background Early computer input would frequently contain errors 1950 Richard Hamming invented the error correcting algorithm that now bears his name Early ACM guidelines included a Files course, which often covered error correcting codes

How Hamming Codes Work One parity bit can tell us an error occurred Multiple parity bits can also tell us where it occurred O(lg(n)) bits needed to detect and correct one bit errors

Hamming (7, 4) 7 bits total 4 data bits 3 parity bits Can find and correct 1 bit errors or Can find but not correct 2 bit errors

Hamming Bits Table

Example Byte Two data blocks, 1011 and Expand the first block to 7 bits: _ _ 1 _ Bit 1 is 0, because b3+b5+b7 is even. Bit 2 is 1, b3+b6+b7 is odd. bit 4 is 0, because b5+b6+b7 is even. Our 7 bit block is: Repeat for right block giving

Detecting Errors Re-Check each parity bit Bits 1 and 4 are incorrect = 5, so the error occurred in bit 5

Matrices and Hamming Codes Can both encode and detect errors using modular matrix multiplication Code generation matrix G

Hamming Niftiness Students still like to know how things work. Assignment integrates binary data representations, matrix multiplication and programming. Alternative data representations are intriguing.

Watch out! Inelegancies (Java’s) Integer.toBinaryString() Integer math rather than bitwise operators Students want to see the 0 s and 1 s

Variations on a Theme Input can be: String of 0s and 1s Integers Arbitrary sequence of bytes Processing can be: Brute force Matrix multiplication Output can be: Bytes Bitstream

Improvising on a Theme 1. Hamming (7,4) leaves one bit empty per byte. This bit can be used for a parity check of the entire code block Allows program to distinguish between 1 and 2 bit errors 2. Hamming (15, 11) etc. 3. Reed-Solomon and other error correcting codes.

Questions?