Types of Errors
Single-bit Error
Burst Error
Redundancy
Error Detection Methods
Simple Parity Check
Examples
Suppose the sender wants to send the word WORLD.
In ASCII, the five characters are coded as:
1110111
1101111
O
1110010
R
1101100
L
1100100
D
Actual Bits Sent:
11101110
11011110
11100100
11011000
11001001
Examples
Suppose the word WORLD is corrupted during
transmission
11111110 11011110 11101100 11011000 11001001 7 6 5 4 4 Here receiver knows that data is corrupted, discards them and asks for retransmission
Performance
This will work well for single bit as well as burst errors
as long as total number of bits changed is odd This will not work well when the total number of bits changed is even.
Two-Dimensional Parity Check
Performance
Two-dimensional parity check increases the likelihood
of detecting burst errors If 2 bits in data unit are damaged and two bits in exactly the same positions in another data are also damaged, the checker will not detect an error Ex: 11110000 and 11000011 changed: 01110001 and 01000010
Cyclic Redundancy Check
Cyclic Redundancy Check
Generating CRC
Cyclic Redundancy Check
Cyclic Redundancy Check
Divisor in the CRC generator is represented as
algebraic polynomial instead of 1s and 0s Reason:
Short Mathematically Proved
Performance of CRC
CRC can detect all burst errors that effect odd number
of bits CRC can detect all burst errors of length less than or equal to the degree of the polynomial CRC can detect, with very high probability, burst errors of length greater than the degree of the polynomial
Checksum
It is the third mechanism for error detection which is
also based on redundancy
Checksum
Example: Data: 10101001 00111001 Sender: The numbers are added using ones complement arithmetic
Hamming Code
Hamming Code
Hamming Code
Hamming Code
Hamming Code