Upcoming SlideShare
×

# Error detection.

1,421 views

Published on

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
1,421
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
97
0
Likes
1
Embeds 0
No embeds

No notes for slide

### Error detection.

1. 1. ERROR DETECTION  Bit errors are sometimes introduced into frames  Bit error simply means change from “ 0 to 1 ” or “ 1 to 0 ” This most of the time happens because of:  NOISE  Where noise is defined as the induction of unwanted signal into data
2. 2. ERROR DETECTION Data is transmitted in form of signals Process of translating binary data into signal is called  ENCONDING SCHEME Most commonly the signal travelling on a wire is an electrical or electromagnetic signal  Usually one bit is represented by one voltage value  And second bit by another voltage value  E.g. 1 = +5 Volt 0 = -5 Volt
3. 3. ERROR DETECTION Data 101010 10 10 10 1 01010  In simple words electricity is flowing between the two PCs  Whenever electricity or electrical signal is flowing through a wire  It creates electromagnetic field around it  Simply the area around the wire in which current has its affect is called electromagnetic field
4. 4. Data 101010 10 10 10 1 01010 10 10 10 1 0 01010 Noise
5. 5. ERROR DETECTION This type of noise is called electrical interference There are many other types of noise:  Thermal noise, Shot noise, Burst Noise, Flicker Noise Bit errors are introduced into frames because of noise Some strategy is needed to detect these errors  Parity  Checksum  CRC ( Cyclic Redundancy Check )
6. 6. ERROR DETECTION General steps in every error detection strategy:  Send extra information with data  This information is calculated from data  This information is generally called Redundant Information  Errors are detected in data by using Redundant Information  If error is detected in a frame   The frame is dropped Sender retransmits the frame
7. 7. ERROR DETECTION Every strategy has its own way of calculating redundant information and has its own name for it Even Parity Odd Parity Redundant Information Internet Checksum CRC Number
8. 8. ERROR DETECTION
9. 9. ERROR DETECTION Lets design a simple error detection strategy In simplest case we can think of sending two frames  Original data frame  Copy of data frame ( Redundant Information )  Receiver compares the two frames   If the two match there is no error  Frame is accepted and copy is discarded If the two do not match there is an error  Frame is rejected and both data and copy are discarded
10. 10. ERROR DETECTION 10 10 10 101010 Data Copy 10 10 Data 10 00 10 10 10 10 10 Copy  Receiver compares the two frames   If the two match there is no error  Frame is accepted and copy is discarded If the two do not match there is an error  Frame is rejected and both data and copy are discarded
11. 11. ERROR DETECTION Is this a good Error Detection Strategy? Too much redundant information
12. 12. ERROR DETECTION Parity Schemes  Even Parity  Check digit (1 or 0) is added to make sure there are an even number of 1s  Odd Parity  Check digit (1 or 0) is added to make sure there are an odd number of 1s  Two-Dimensional Parity  Add parity bits in both dimension i.e. row-wise and column-wise
13. 13. ERROR DETECTION 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0  Even Parity  With every 7 bits of data one parity bit is added to keep number of 1s even  When receiver receives the data, it checks the number of 1s  If number of 1s are even then, data is correct  If number of 1s are odd then there is an error
14. 14. ERROR DETECTION 1 0 0 0 0 1 1 1 1 1  Even Parity  If more then one bits are corrupted in such a way that number of 1s stay even, the error goes undetected
15. 15. ERROR DETECTION Is this a good Error Detection Strategy? Cannot detect all types of errors
16. 16. ERROR DETECTION 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0  Two-Dimensional Parity  Divides data into blocks, where every block contains 7 groups of 7 bits  Adds parity bits both column-wise and row-wise
17. 17. ERROR DETECTION Is this a good Error Detection Strategy? Can detect more types of errors as compared to simple parity schemes Sends more Redundant Information as compared to simple parity scheme
18. 18. ERROR DETECTION  When the logic for detecting errors is based on addition, such strategies may be called checksum  Internet Checksum Algorithm  Add up all the words of sending data and then transmit the result of that sum ( R.I ) with data  A word can be 1,2 or 4 bytes of data  The receiver performs the same calculation on the received data and compares the result with the received checksum  If answers match there is no error otherwise error detected
19. 19. ERROR DETECTION 1 1 1 1 1 1 1 1 Sum 1 0 1 0 0 1 1 1 • Add • Words 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 • Data • Sum Transmitted 1 0 1 0 1 0 0 1 Compare 1 1 0 1 0 1 0 1 0 • Recalculate • Sum 1 0 1 0 1 0 1 0
20. 20. ERROR DETECTION  This strategy is implemented at network layer  Sends less redundant information  A very weak strategy for Error Detection  If bits are corrupted in such a way that sum does not change error will go undetected
21. 21. ERROR DETECTION CRC ( Cyclic Redundancy Check)  Before communication sender and receiver agree on a divisor  Before sending the data CRC number is combined with data  It makes the data completely divisible by divisor On Receiver Side  If data is again completely divisible, no Error detected  If data is not completely divisible, Error is detected
22. 22. ERROR DETECTION CRC process is usually carried in polynomial form  Polynomial Form is used for two reasons   Polynomial mathematics is easy and efficient Long binary messages can be represented by short polynomials  Conversion Process     Start from right side and write “x” under each binary digit with powers in sequence Multiply them with binary digits Add all the terms Highest power in a polynomial is the DEGREE of polynomial
23. 23. 1 5 bits 0 Polynomial 1 1 Of 0 Degree 4
24. 24. 1 0 6 bits 1 Polynomial 0 Of 1 1 Degree 5
25. 25. 1 0 7 bits 0 Polynomial 0 0 Of 0 Degree 6 1
26. 26. ERROR DETECTION CRC Process:  n + 1 bits of data (Message) M(x) is represented by a polynomial of degree n For Calculating CRC:  Both sender and receiver choose a common divisor C(x) with degree k  Any number can be chosen as a divisor as long as k < n  Multiply M(x) into xk to obtain T(x), can also be called zero-extended message. T(x) = M(x) * xk  Divide T(x) by C(x) and find remainder.  Subtract Remainder from T(x). T(x) / C(x) => Remainder T(x) - Remainder  At this point we get data combined with CRC , which is completely divisible by divisor
27. 27. C(x) = 1101 M(x) = 10011010 x7 + x4 + x3 + x1 x 3 + x2 + 1 10011010 M(x) Where n=7 C (x) k=3 agreed ,k < n 101 (x10 + x7 + x6 + x4) / ( x3 + x2 + 1 ) = Remainder T(x) = M(x) * xk5 6 7 x3 + x2 + 1 x - x + x – x4 + x3 +1 x8 + x7 + x5 7 + x 4 + x 3 + x 1 ) * x3 T(x) = (x x3 + x2 + 1 CRC 101 T(x) – Remainder 3 43 Completely7 5 4 7.x3 + x4.x3 + x .x + x1.x3 T(x) = x x10 7 + x6 + x Divisible– x – T(x) x On x + Zero 2– Extended – x2 – 1 (x10 + x7 x10 6 + x4) x73+3 (– x1+3 1) + x + 4+3 + – Divisor – x7 – x6 – x4 T(x) = x7+3 + x x9 + x + x Message x10 + x7 + x6 7 x4 6 x2 4 1 Data + CRC + + + Remainder = 101 T(x) = x10 + 9 + x + x x 6 4 6 – x5 + 2x4 –x +x +x x 0 6 – 9 x8 000 10011010x –101– x T(x) = 10011010 x8 + 2x6 + x4 0 x6 + x 5 + x3 – 0 5 + x3 2x C(x) = 1101 Complete Division = No Error Incomplete Division = Error Detected
28. 28. ERROR DETECTION
29. 29. ERROR DETECTION BISYNC protocol uses two dimensional parity IP uses Internet Checksum HDLC, DDCMP, use CRC Ethernet and 802.5 networks use CRC-32, while HDLC uses CRC-CCITT. ATM uses CRC-8, CRC-10, and CRC-32.
30. 30. ERROR CORRECTION  Error correction are more complex schemes then detection  We need to know the exact position of corrupted bits  Hamming Codes:  Developed by Richard Hamming  Can correct up to one bit-error ( one we will study )  Takes help from simple parity  Redundant bits are placed at every 2K position  Data is placed in between redundant bits  Every redundant bit is responsible for checking bits at some position  CORRECTION comes after DETECTION
31. 31. ERROR CORRECTION R parity bits are required for 2R-R-1 data bits Parity bits are placed at position 2K i.e. 1,2,4,8,16,….. Parity bit at position k is responsible for every k bit(s) starting from position k and at a gap of k bits. e.g.  Parity bit 1 is responsible for bits at position [1], [3], [5], [7]……  Parity bit 2 is responsible for bits at position [2,3], [6,7], [10,11]……  Parity bit 4 is responsible for bits at position [4,5,6,7], [12,13,14,15]….. Data is placed in between the Redundant Bits. i.e. any position ≠ 2k  e.g. 3,5,6,7,9,10,11,12,13,14,15,17…….
32. 32. ERROR CORRECTION Sender:  Separate parity checking is done for every redundant bit and the bits that it is responsible for  By using even parity, number of 1s are kept even Receiver:  Recalculates parity bit in received data for every redundant bit and its responsible bits  By combining these recalculated parity bits we get the position of corrupted bit  The bit at that position is simply flipped
33. 33. ERROR CORRECTION  R parity bits are required for 2R-R-1 data bits  E.g. for 7 data bits.  For R = 1, 21 – 1 – 1 = 0  For R = 2, 22 – 2 – 1 = 1  For R = 3, 23 – 3 – 1 = 4  For R = 4, 24 – 4 – 1 = 11  So total of 11 bits with 7 data bits and 4 parity bits  Parity bits are placed at position 2k and data bits between them
34. 34. ERROR CORRECTION  Parity bit at position k is responsible for every k bit(s) starting from position k and at a gap of k bits.
35. 35. Insert Data at position ≠ 2k 1 0 0 1 1 0 1 Data 1 0 0 1 1 1 0 0 Separate Parity Checking Flip Bit Receiver Sender 1 1 0 Combine Bits = Position Transmission Recalculate Parity Bits 0 1 0 1 1 0 11 10 9 8 7 6 5 1 0 0 4 1 3 0 2 1 1 0 0 1 1 1 Position =7
36. 36. Insert Data at position ≠ 2k 1 0 0 1 1 0 1 Data 1 0 0 1 1 1 0 0 Separate Parity Checking Flip Bit Receiver Sender 1 1 0 Combine Bits = Position Transmission Recalculate Parity Bits 1 0 0 1 1 1 0 11 10 9 8 7 6 5 0 4 1 3 0 2 1 1 0 0 0 0 Position = 0
37. 37. HAMMING DISTANCE To find the hamming distance we exclusively or every code word with the code word below it The minimum distance is then called  dmin = Hamming Distance Any error detection scheme having a minimum hamming distance of dmin is guaranteed to:  Detect errors up to : dmin – 1  Correct errors up to: (dmin – 1) / 2