Error Detect

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 32

ERROR

CORRECTION
&
ERROR
DETECTION 1
• Data can be corrupted during transmission.
For 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.

2
TYPES OF ERRORS
• Single bit error :-
- Only one bit in the data unit has changed.

• Burst error :-
- It means that two or more bits in the data
unit has changed.

3
Single bit Error
0 changed to 1

0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0
Received Sent

Burst Error
Sent

0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Bits corrupted by Burst Error

0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1
Received
4
ERROR DETECTION
• 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.

• Error detection uses the concept of


redundancy, which means adding extra bits for
detecting error at the destination.

5
Redundancy
• Instead of repeating the entire data stream, a
shorter group of bits may be appended to the
end of each unit. This technique is called
Redundancy because the extra bit are
redundant to the information. They are
discarded as soon as the accuracy of the
transmission has been determined.

6
7
• There are basically four types of redundancy
checks. They are:

1. VRC (Vertical Redundancy Check).


2. LRC (Longitudinal Redundancy Check).
3. CRC (Cyclical Redundancy Check).

8
ERROR DETECTION

• VERTICAL REDUNDUNCY CHECK

• LONGITUDINAL REDUNDANCY CHECK

• CYCLIC REDUNDANCY CHECK

9
VERTICAL
REDUNDANCY CHECK
It is also known as parity check
It is least expensive mechanism for error
detection
In this technique,the redundant bit called
parity bit is appended to every data unit
so that the total number of 1s in the unit
becomes even (including parity bit)

10
VERTICAL
REDUNDANCY CHECK

1100001 Data
Checking function

1100001 | 1 Even – parity


Is total number generator
of 1s even ?

Receiver 1 VRC

Sender
11
VERTICAL REDUNDANCY CHECK
• Example :

1110110 1101111 1110010

- After adding the parity bit

11101101 11011110 11100100

12
VERTICAL REDUNDANCY CHECK

• VRC can detect all single – bit errors


• It can detect burst errors if the total number of
errors in each data unit is odd.
• VRC can not detect errors where the total
number of bits changed is even.

13
LONGITUDINAL REDUNDANCY CHECK(LRC)

In this method , a block of bits is


organized in table(rows and columns)
calculate the parity bit for each column
and the set of this parity bit is also
sending with original data.
From the block of parity we can check
the redundancy.

14
LRC Example

11100111 11011101 00111001 10101001

11100111
11011101
00111001
10101001

LRC 10101010

11100111 1101101 00111001 10101001 10101010

Original data plus LRC

15
LRC Example

Suppose the following block is sent :


10101001 00111001 11011101 11100111 10101010
(LRC)
However,it is hit by burst of length eight and some bits are corrupted
(Yellow bits are changed) :
10100011 10001001 11011101 11100111 10101010
(LRC)
When the receiver checks the LRC,some of the bits are not
follow even parity rule and whole block is discarded
(the non matching bits are shown in red ) :
10100011 10001001 11011101 11100111 10101010

16
Advantage :
-> LRC of n bits can easily detect burst
error of n bits.

Disadvantage :
-> If two bits in one data units are damaged and two
bits in exactly same position in another data unit
are also damaged , the LRC checker will not detect
the error.

17
CYCLIC REDUNDANCY CHECK (CRC)

• In this method , a sequence of redundant bits ,


called the CRC or the CRC remainder, is appended to the end of the
unit so that the resulting data unit become exactly divisible by a
second, predetermined binary number. At its destination , the
incoming data unit is divided by the same number. If at this step there
is no remainder ,the data unit assume to be correct and is accepted,
otherwise it indicate that data unit has been damaged in transmission
and therefore must be rejected.

The redundancy bits is used by CRC are derived by dividing the data
unit by a predetermined divisor. The remainder is the CRC.
18
• CRC generator and checker

DATA CRC DATA 00…0


N bits

DIVISOR DATA CRC DIVIS0R


N+1 bits

REMAINDER CRC
Zero accept
N bits
Nonzero reject
Receiver Sender
19
Divisor

The divisor is determined according to the algebraic


polynomial.
for e.g.
A polynomial is

X^7 + x^5 + x^2 + x + 1


generation of divisor from polynomial

X^7 + X^5 + X^2 + X + 1


X^6 X^4 X^3

1 0 1 0 0 1 1 1
20
A polynomial should be selected according to
the following rule:-
1. It should not be divisible by x.
2. It should be divisible by x+1.

21
• Example :-
• The CRC generator at sender end :
111101
1101 100100 0 0 0
1101
1000
1101
1010
1101
1110
1101
0110
0000
1100
1101
001 22
The CRC checker at receiver end :
111101
1101 100100 0 0 1
1101
1000
1101
1010
1101
1110
1101
0110
0000
1101
1101
23
000
ERROR CORRECTION
• Error correcting code is to include enough redundant
information along with each block of data sent to
enable the receiver to deduce what the transmitted
character must have been.

• Error Correction must be handled in two ways :


- When an error is discovered, the receiver can
have the sender retransmit the entire data unit.
- Receiver can use an error correcting code,
which automatically corrects certain errors.

24
• There are two types of Error Correcting
techniques :

1. Single bit error correction.


2. Burst error correction.

• Error Correction can be done with the help


of HAMMING CODE.

25
HAMMING CODE
• It is a technique developed by R.W.Hamming.
• Hamming code can be applied to data units of
any length and uses the relationship between
data and redundancy bits. For eg.

26
• A 7 bit ASCII code requires 4 Redundancy bits
that can be added to the end of the data unit
or interspersed with the original data bits.

• These bits are placed in positions 1,2,4 and 8.


We refer to these bits as r1,r2,r4 and r8.

27
Positions of Redundancy Bits in Hamming Code

11 10 9 8 7 6 5 4 3 2 1

d d d r d d d r d r r

Redundancy Bits

28
• In the Hamming code, each r bit is the VRC bit for
one combination of data bits :
- r1 is the one combination of data bits.
- r2 is another combination of data bits.
and so on.

• The combination used to calculate each of the four


values for a 7 bit data sequence are as follows :
- r1 : bits 1,3,5,7,9,11.
- r2 : bits 2,3,6,7,10,11.
- r4 : bits 4,5,6,7.
- r8 : bits 8,9,10,11.
29
Data : 1 0 0 1 1 0 1

Data 1 0 0 1 1 0 1

Adding r1 1 0 0 1 1 0 1 1

Adding r2 1 0 0 1 1 0 1 0 1

Adding r4 1 0 0 1 1 0 0 1 0 1

Adding r8 1 0 0 1 1 1 0 0 1 0 1
11 10 9 8 7 6 5 4 3 2 1

30
Code : 1 0 0 1 1 1 0 0 1 0 1
1 0 0 1 1 1 0 0 1 0 1 Sent

Error

1 0 0 1 0 1 0 0 1 0 1 Received

31
1 0 0 1 0 1 0 0 1 0 1
11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1
11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1
11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1
11 10 9 8 7 6 5 4 3 2 1

The bit in position 7 is in error 0 1 1 1


32

You might also like