Error Detection and
Correction
Error Detection and Correction
1. Types of Errors
2. Detection
3. Error Correction
Error Detection and Correction
Data can be corrupted during transmission. For reliable
communication, error must be detected and corrected.
1. Type of Errors
Single-Bit Error
~ is when only one bit in the data unit has changed
Multiple-Bit Error
~ is when two or more nonconsecutive bits in the data
unit have changed
Burst Error
~ means that 2 or more consecutive bits in the data unit
have changed
2. Detection
Error detection uses the concept of redundancy, which
means adding extra bits for detecting errors at the
destination
Redundancy
Detection methods
Parity Check
A parity bit is added to every data unit so that the total number
of 1s(including the parity bit) becomes even for even-parity
check or odd for odd-parity check
Simple parity check
Detection -examples
Example 1
Suppose the sender wants to send the word world. In
ASCII the five characters are coded as
1110111 1101111 1110010 1101100 1100100
The following shows the actual bits sent
11101110 11011110 11100100 11011000 11001001
Example 2
Now suppose the word world in Example 1 is received by
the receiver without being corrupted in transmission.
11101110 11011110 11100100 11011000
11001001
The receiver counts the 1s in each character and comes
up with even numbers (6, 6, 4, 4, 4). The data is accepted.
Example 3
Now suppose the word world in Example 1 is corrupted
during transmission.
11111110 11011110 11101100 11011000
11001001
The receiver counts the 1s in each character and comes
up with even and odd numbers (7, 6, 5, 4, 4). The
receiver knows that the data are corrupted, discards
them, and asks for retransmission.
Two –Dimensional Parity Check
CRC(Cyclic Redundancy Check)
~ is based on binary division.
CRC example
A polynomial representing a divisor
Detection(cont’d)
Checksum
~ is based on the concept of redundancy(VRC, LRC, CRC
….)
Detection(cont’d)
( at a sender)
Original data : 10101001 00111001
10101001
00111001
--------------
11100010 Sum
00011101 Checksum
10101001 00111001 00011101
Detection(cont’d)
Example ( at a receiver)
Received data : 10101001 00111001 00011101
10101001
00111001
00011101
---------------
11111111 Sum
00000000 Complement
3. Error Correction
~ can be handled in two ways
when an error is discovered, the receiver can have the
sender retransmit the entire data unit.
a receiver can use an error-correcting code, which
automatically corrects certain errors.
Error Correction(cont’d)
Redundancy Bits
~ to calculate the number of redundancy bits (R) required
to correct a given number of data bit (M)
Error Correction(cont’d)
If the total number of bits in a transmittable unit is m+r,
then r must be able to indicate at least m+r+1 different
states
2r m + r + 1
ex) For value of m is 7(ASCII), the smallest r value that
can satisfy this equation is 4
24 7 + 4 + 1
Error Correction(cont’d)
Hamming Code
~ developed by R.W.Hamming
positions of redundancy bits in Hamming code
Error Correction(cont’d)
each r bit is the VRC bit for one combination of data
bits
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
Error Correction(cont’d)
Redundancy bits calculation(cont’d)
Error Correction(cont’d)
Redundancy bits calculation
Error Correction(cont’d)
Calculating the r values
Calculating Even Parity
Error Correction(cont’d)
Error Detection and Correction
Error Correction(cont’d)
Error detection using Hamming Code