Error Detection Methods
Error Detection Methods
Ashok
Roll No. : 14MCA003
Assignment - 1
Most common and inexpensive mechanism error detection which also called parity
check.
A redundant bit (parity bit) is appended to every data unit so that the total number of 1s in
the unit becomes even, if there is even-parity check used.
There are even-parity check and odd-parity check. For odd-parity check, the total number
of 1s in the unit is odd.
Suppose we want to transmit the binary data unit 1100001, adding the number of 1s gives us 3,
an odd number. Before transmitting, a parity generator counts the 1s and appends the parity bit (a
1 in this case) to the end. The total number of 1 becomes 4 now (even number). The system now
transmits the entire appended unit across the network link.
When the data unit is reached its destination, the receiver puts all eight bits through an
even-parity checking function. If the receiver sees 11100001, it counts and gets four 1s,
an even number.
But if the receiver sees 11100101, or total number of 1s is odd. The receiver knows that
an error has been occurred into the data somewhere and therefore rejects the whole unit.
For the odd-parity checking, the principle is same but the calculation is different.
The advantages of VRC are it can detect all single-bit errors. It also can detect burst
errors as long as the total number of bits changed is odd (1,3,5, etc). The same holds true
for any odd number of errors.
The limitation is it cannot detect errors where the total number of bits changed is even,
where the two bits of the data unit are changed. In this case, the total number of 1s is still
even. The VRC checker will add them and return an even number although the data unit
contains two errors. Then the unit will pass a parity check even through the data unit is
damaged. The same holds true for any even number of errors.
LRC increases the likelihood of detecting burst error. An LRC of n bits can easily detects a burst
error of n bits.
However, if two bits in one data unit are damaged and two bits in exactly the same positions in
another data unit are also damaged, the LRC checker will not detect an error.
Notice that although the 5th bit and the 7th bit for 1st and 2 nd data unit have been changed but the
LRC calculated by receiver is still the same as the LRC received. Thus the receiver checker
cannot detect this burst error.
At the other end, the receiver performs division operation on codewords using the same CRC
divisor. If the remainder contains all zeros the data bits are accepted, otherwise it is considered as
there some data corruption occurred in transit.
CHECKSUM
This error detection method is used by the higher-layer protocols (TCP/IP).
It is based on the concept of redundancy.
Checksum Generator
In the sender,
The Checksum generator subdivides the data unit into equal segments of n bits (usually
16).
These segments are added together using one's complement arithmetic in such a way that
the total is also n bits long.
The total (sum) is then complemented and appended to the end of the original data unit as
redundancy bits, called the checksum field.
If the result is zero, the data are accepted; otherwise, they are rejected.
Checksum Checker
If the extended data unit is intact, the total value found by adding the data segments and
the checksum field should be zero.
If the result is not zero, the packet contains an error and the receiver rejects it.
Performance
The checksum detects all errors involving an odd number of bits, as well as most errors
involving an even number of bits.
If one or more bits of a segment are damaged and the corresponding bit or bits of
opposite value in second segment are also damaged, the sums of those columns will not
change and the receiver will not detect a problem.
If the last digit of one segment is a 0 and it gets changed to a 1 in transit, then the last 1 in
another segment must be changed to a 0 if the error is to go undetected.
Checksum retains all carries; so, although two 0s becoming 1s would not alter the value
of their own column, they would change the value of the next higher column. But
anytime a bit inversion is balanced by an opposite bit inversion in the corresponding digit
of another data segment, the error is invisible.