1 / 19

Practical Session 11

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 word to the other. Binary case: Number of 1’s in the XOR between the words.

Download Presentation

Practical Session 11

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Practical Session 11 Codes

  2. Hamming Distance • General case: The distance between two code words is the amount of 1-bit changes required to reach from one word to the other. • Binary case: Number of 1’s in the XOR between the words. • Hamming Distance is the minimum distance between the code words.

  3. Hamming Distance • Intuition (code graph): • Example: d=2 00 01 10 11

  4. Error Detection • Hamming Distance: d. • Can Detect d-1 errors.

  5. Fixing Erasures • Can fix d-1 erasures.

  6. Error Correction • Can fix Errors

  7. Example • Given four “data” words, can we use 5-bit code words for fixing 1 error? • Answer: Yes. We need a hamming distance of 3 to fix 1 error. We can create code words with independent graph “spheres”.

  8. Parity Check • The most basic error check. • Used to test one character. • Appended to the end of the message. • Can detect 1 error. • Example (Even parity): 10010100 1 10010000 1

  9. Block Character Checksum • Uses vertical and horizontal parity bits to detect double errors. • Used for transmitting a block of characters. • BCC is used to detect two errors. • Odd parity calculated for each row. • Even parity calculated for each column.

  10. BCC - Example • Two errors in the character ‘N’. • Parity doesn’t change. • BCC changed.

  11. Cyclic Redundancy Check • A CRC is an error-detecting code • An n-bit CRC, applied to a data block of arbitrary length, will detect any single error burst not longer than n bits • Will detect a fraction 1-2-n of all longer error bursts • The simplest error-detection system, the parity bit, is in fact a trivial CRC: it uses the two-bit-long divisor 11.

  12. Calculation Steps - Sending • A generator is chosen. • This is a sequence of bits, of which the first and last are 1. • This sequence is used with the bits of the message to calculate a check sequence which has 1 fewer bits than the generator. • The check sequence is appended to the original message

  13. Calculation Steps - Receiving • At the receiver, the same calculation is performed on the message and check sequence combined. • If the result is 0 no transmission error is assumed to have occurred.

  14. Example • Compute 8-bit CRC for an 8-bit message: ‘W’. • ASCII for ‘W’: 8710 = 5716 • Select Generator: CRC-8-ATM • Polynomial: x8 + x2 + x + 1 • Corresponds to: 100000111 • Two different orders are possible for the message. • Msbit-first: 010101112= x6 + x4 + x2 + x + 1 • Lsbit-first: 111010102= x7 + x6 + x5 + x3 + x

  15. Example – Generating CRC Code • We will focus on Msbit-first order. • Append 8 bits to message: • 0101011100000000 • Perform long-division of message by generator. • Quotient is not needed. • Instead of subtraction perform simple XOR. • CRC code is the remainder.

  16. Example – Generating CRC Code 0101011100000000 100000111 xor 100000111 001011011000000 xor 100000111 0011010110000 xor 100000111 01010101100 xor 100000111 0010100010 CRC Code: 10100010

  17. Example – Checking Message • Similar to generating the CRC code. • Append CRC code to the message (instead of 0’s): 0101011110100010 • Perform long division by the generator. • If the reminder is not 0: An error occurred.

  18. Example – Checking Message 0101011110100010 100000111 Result: 00000000

  19. CRC Polynomials (Common)

More Related