Download to View - Animated Examples
------------------------------------------------------------
Error detection uses the concept of redundancy, which means adding extra bits for detecting error at the destination.
Parity Check is one of the Error Correcting Codes.
2. Content
Why we need Error Detection?
What are the Errors?
What are the Error Detection Mechanisms?
Parity Check
Single Parity Check
Two Dimensional Parity Check
Drawbacks of Parity
2
3. Error Detection
• Data can be corrupted during transmission. Even with best prevention
methods.
• For a reliable communication, errors must be detected and corrected.
• Error detection and correction are implemented either at data link layer or
the transport layer of the OSI model.
3
4. Types of Errors
• Single bit error :-
- Only one bit in the data unit has changed.
4
0 changed to 1
Received Sent
5. Types of Errors
• Burst error :-
- It means that two or more bits in the data unit has changed.
5
Sent
Received
Bits corrupted by Burst Error
6. Error Detection Codes
• Error detecting code is to include only enough redundancy to allow the receiver to
deduce that an error occurred, but not which error, and have it request a re-
transmission.
• Used in Low Noisy Channels – Fiber Optics
• Error detection uses the concept of redundancy, which means adding extra bits
for detecting error at the destination
• To detect an error, something extra has to be added to the data/signal
• This extra is an error detection code
• 3 Techniques are there: Parity Check, Check Sum, CRC
6
7. Parity Check
• The Simplest method Available - it’s a linear, systematic block code
• 2 Parity Check Methods are there:
• Simple Parity - For Single bit Errors
• Two Dimensional - For Burst Errors
• How to use Parity Methods?
• Parity Generate – Sender’s Side
• Parity Detect – Receiver’s Side
7
8. Single Parity Check(VRC)
Vertical Redundancy Check
• In Single parity check, a parity bit is added to every data unit so that the total
number of 1s is even or odd.
11010011 1
• Therefore, the total number of bits transmitted would be 9 bits.
( 8 bits of information + 1 bit parity = n data bits into n+1 bits)
8
Information(1 byte – 8 bits)
Additional Bit added(PARITY BIT)
9. Single Parity check(Cont.)
Parity Generation
• There are two ways to generate a Single parity bit.
• One is called Even parity and the other is Odd parity.
• What is even parity?
• the total number of 1’s transmitted must be even.
• What is odd parity?
• the total number of 1’s transmitted must be odd
9
10. Parity Generation-VRC
• Parity bit is chosen so that the number of 1 bits in the code-word
is even (or odd)
• computing the (even) parity bit as the modulo 2 sum or XOR of
the data bits.
• use XOR and XNOR logic gates in circuits to generate parity bits
in practically (in devices).
10
11. How is the even parity bit generated?
Total number of ‘1’s should be even.
If the byte that we want to transmit is:
• Step 1: count the number of 1’s in the byte.
• Answer: 5
• Step 2: compute the parity value.
• Since the total number of 1’s is 5, the even parity bit will have a value of 1.
• If the number of bits are already even, the parity bit will be ‘0’.
11
1 0 1 0 1 1 0 1
1 0 1 0 1 1 0 1 1
12. How is the odd parity bit generated?
Total number of ‘1’s should be odd.
If the byte that we want to transmit is:
• Step 1: count the number of 1’s in the byte.
• Answer: 4
• Step 2: compute the parity value.
• Since the total number of 1’s is 4, the odd parity bit will have a value of 1.
• If the number of bits are already odd, the parity bit will be ‘0’.
12
1 0 1 0 1 1 0 0
1 0 1 0 1 1 0 0 1
13. Single Parity check(Cont.)
Parity Detection
13
Drop Redundant Bit
and
Accept Data
Reject DataEven
Count Number of ‘1’ s in Received Data
Yes
No
Request Re -Transmission
Odd
• In Even parity Concept• In Odd parity Concept
14. 1 1 0 0 1 0 0 0 11 0 1 0 1 1 0 1 1
Drawbacks of Single Parity Check
• Only can detect single bit errors ; Single bit errors are rare.
• Can not detect errors, if 2 bits are interchanged.
14
1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1
5+1=6 5+1=6
5+1=6 3+1=4
15. Two Dimensional Parity Check(LRC)
Longitudinal Redundancy Check
• In two-dimensional parity check, a block of bits is divided into rows and a
redundant row of bits is added to the whole block.
• Even Parity Concept
15
16. Two Dimensional Parity check(Cont.)
Parity Generation
• A block of bits is organized in a table (rows & columns) a parity bit is
calculated for each row and column.
• Compute (m + n + 1) parity bits and send (mn + m + n + 1) bits
1) Adds a parity bit to each character then adds a row of parity bits after a block of
characters
2) The row of parity bits is actually a parity bit for each “column” of characters
3) The row of parity bits plus the column parity bits add a great amount of
redundancy to a block of characters
• Lets see this with an example:
16
17. Two Dimensional Parity Generation
Even Parity Concept
17
1100111 1011101 0111001 0101001
1 1 0 0 1 1 1
1 0 1 1 1 0 1
0 1 1 1 0 0 1
0 1 0 1 0 0 1
Original Data
1100111 1011101 0111001 0101001
Row Parity
No ‘1’s : 5
No ‘1’s : 5
No ‘1’s : 4
No ‘1’s : 3
No ‘1’s : 3
1
1
1
0
1
1 0 1
0 1 0 1 0 1 0 1
10101010
Column Parity
This will Send
18. Drawbacks of 2D Parity Check
• 4- and more bit errors can be detected in some cases
• 1 affect 2 , 2 affect 3, 3 affect 4, 4 affect 4 – so Can not detect in this case
• Disadvantage: too many check bits !!!
• Can not detect errors, if 2 bits in one data unit are changed and 2 bits in exactly
the same position in another data unit is changed.
18
19. Drawbacks
• Both simple parity and 2D parity do not catch all the errors.
• Simple parity only catches odd numbers of bit errors, and can not
catch if 2 bits interchanged.
• 2D parity is better at catching errors, but requires too many check
bits added to a block of data.
• Can not use in 4 bit errors and more bit errors in some cases.
19
20. Summary
• Parity checking is a means of checking if the communication of a sequence of bits
has been correctly received.
• Parity bit is an extra bit that is attached to the data bits/Signal that is being
transferred from one location to another.
• The two types of most commonly used parity checking are:
Single Parity Check 2D Parity Check
• odd parity
• even parity
• Single Parity bit checking can detect single error only, double errors will not be
detected. Even the 2D parity is not efficient and can not use in some cases.
20
When you receive a parcel from a friend, how would you know that the contents are what your friend has send to you?
One way is to call your friend up and confirm with him what he has sent to you.
Another way is for your friend to include a packing list detailing what is in the parcel, and you can tally the items in the parcel with the packing list.
In the same way when your computer/ printer receives a message, how would your computer/printer know that the received message is correct?
One way is for the computer to double check with the sending computer what he has received, just like you calling up your friend to check the contents of the parcel.
Another way is for the sending computer to include some information in the message, so that by examining the information you are able to know whether the received message is correct. (Like the packing list).