500 likes | 514 Views
http://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?. A message. 4 bit message:.
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?
A message • 4 bit message:
A message • 4 bit message: • An errror:
Trick 1 : Repetition • To avoid misunderstanding, repeat yourself…
Trick 1 : Repetition • An error:
Trick 1 : Repetition • Most common message wins:
Trick 1 : Repetition • What if every message is wrong:
Trick 1 : Repetition • Most common bit wins: Corrected
Trick 1 : Repetition • More errors: "Corrected"
Trick 1 : Repetition • Best 3 out of 5? Corrected
Overhead • Message size : 4 bits • Including repetition : 12 bits
Overhead • Message size : 4 bits • Including repetition : 12 bits 200% overhead 10Mb download is now 30Mb!
Trick 2 : Redundancy • Redundancy : more information than strictly required • Common linguistic trick: He took his seat She took her seat They took their seats
Trick 2 : Redundancy • Redundancy : more information than strictly required • Common linguistic trick: He took his seat She took her seat They took theirseats
Trick 2 : Redundancy • Repetion is redundancy • Can we be redundant more efficently?
Hamming Distance • Hamming Distance : number of different bits
Normal Binary • 4 bits : 16 possible values:
Normal Binary • Using all patterns – any error looks like a different message • 1 bit errors for 1010
Normal Binary • Only use half the patterns • All "good" patterns have a distance of 2 from each other
Normal Binary • "Good" patterns have distance of 2:1 bit error is obviously an error • 1 bit errors for 1010
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 code with distance of 1
Errors • Assuming 1 error bit, we can identify correct message:
Hamming Code Overhead • Message size : 4 bits • Code word: 7 bits 75% overhead… 512bit message can be encoded with 522bits: 2% overhead!
Trick 3 : Checksums • Parity • Odd or even number of 1's • 1 extra bit used to make odd num of 1's datacheckbit 1001100100 00001 11100
Trick 3 : Checksums • Message: 00001 • All 1 bit errors: 10001 01001001010001100000
Trick 3 : Checksums • Checksum for decimal number: • Add digits, mod by 10: Message: 46756 • 4 + 6 + 7 + 5 + 6 = 28 • 28 mod (clock size) 10 = 8 Coded message: 467568
Trick 3 : Checksums Coded message: 467568 Error message: 461568 Check: 461568 • 4 + 6 + 1 + 5 + 6 = 22 • 22 mod (clock size) 10 = 2!!! we have a problem
Two Errors Coded message: 467568 Error message: 421568 Check: 421568 • 4 + 2 + 1 + 5 + 6 = 18 • 18 mod (clock size) 10 = 8!!! we missed it
Staircse Code • Multiply each digit by its place: 12345Message: 46756 • 4 x 1+ 6 x 2+ 7 x 3+ 5 x 4+ 6 x 5= 87 • 87 mod (clock size) 10 = 7 Coded message: 467567
Two Errors w Stair Case Coded message: 467567 Error message: 421567 12345Check: 421567 • 4 x 1 + 2 x 2 + 1 x 3 + 5 x 4 + 6 x 5 = 61 • 61 mod (clock size) 10 = 1!!! we caught it
Real Life Stair Case • ISBN – books: http://www-math.ucdenver.edu/~wcherowi/jcorner/isbn.html
Trick 4: Pinpoint • How did I do it?
Trick 4: Pinpoint • How did I do it? Every Row & Col should have odd # of black squares
Trick 4: Pinpoint • How did I do it? Every Row & Col should have odd # of black squares
Trick 4: Pinpoint • Message / Checksum
Trick 4 : Pinpoint • With decimal values:
Trick 4 : Pinpoint • With decimal values:
Trick 4 : Pinpoint • With decimal values: 4 9
Trick 4 : Pinpoint • With decimal values: 4 off by 2 9 off by 2
Hamming Code • Hamming Codes as pinpoint parity checks: http://www.systems.caltech.edu/EE/Faculty/rjm/SAMPLE_20040708.html
Real Life Checksum • Last digit of credit card number calculated to http://tywkiwdbi.blogspot.com/2012/06/checksum-number-on-credit-card.html