190 likes | 201 Views
Explore how Hamming codes help detect and correct computer errors, with practical examples and real-life applications. Learn about using extra bits for error correction and the concept of message parity checks.
E N D
http://faculty.chemeketa.edu/ascholer/cs160/Files/ecGrid.htmlhttp://faculty.chemeketa.edu/ascholer/cs160/Files/ecGrid.html
Error Detection and Correction Fixing 0101X011
Computer Errors • RAM isn't perfect
Computer Errors • Networks aren't either
Computer Errors • How the heck do you read 1s and 0's off this?
Pinpoint • How did I do it?
Pinpoint • Message / Check BitEvery Row & Col should have odd # of black squares
Pinpoint • How did I do it? Every Row & Col should have odd # of black squares
Real Life Checksum • Last digit of credit card number calculated to http://tywkiwdbi.blogspot.com/2012/06/checksum-number-on-credit-card.html
Real Life Stair Case • ISBN – books: http://www-math.ucdenver.edu/~wcherowi/jcorner/isbn.html
Hamming Code • Use extra bits to "space out" messages • 4 bit message with 3 error correction bits:
Hamming Code • 7 bits could be 27 = 128 codes • Only use 16 of them
Hamming Code • Every good message has distance of 3+ from other good messages:
Our Message • We get: 0110110 • Which message was it meant to be?
Errors • Assuming • Started with valid code word • Only one error • Then • 1 bit from one valid word • 2+ bits from another valid code word Valid Code A Valid Code B Valid Code C Error
Our Message • We get: 0110110 • Find the closest match: • The message was supposed to be 0110010
Hamming Code • Hamming Codes as pinpoint parity checks: http://www.systems.caltech.edu/EE/Faculty/rjm/SAMPLE_20040708.html
Hamming Code Overhead • Message size : 4 bits • Code word: 7 bits 75% overhead… 512bit message can be encoded with 522bits: 2% overhead!