Error Control
Error Control
ERROR CONTROL
INTRODUCTION
• Noise is one of the main problem in any
communication system, in which affects the
reliability of a communication system.
• Data can be corrupted during transmission. For
reliable communication, errors must be detected and
corrected.
Types of Errors
1. Single bit error
Frame is received with more than one bit corrupted but not
successive.
3. Burst error
Receiver 1 VRC
Sender
VERTICAL REDUNDANCY CHECK
Example 1: Given the data message below determine
the VRC (used odd parity) and write the data stream
to be transmitted.
LSB MSB LSB MSB LSB MSB
1110110 1101111 1110010
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.
LONGITUDINAL REDUNDANCY
CHECK(LRC)
• In this method , a block of bits is organized in table(rows and
columns) and calculate the parity bit (even or odd parity) for
each column.
• It is also known as 2-D parity check
• Detects transmission errors about 95 to 98%
LRC Example
1110011111100111
1101110111011101
00111001 00111001
10101001 10101001
11100111
11011101
00111001
10101001
LRC 10101010
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.
VERTICAL AND LONGITUDINAL
REDUNDANCY CHECK
Example: Determine the VRC and LRC for the following ASCII-
encoded message: THE WORLD. Use odd parity for VRC and
even parity for LRC.
CYCLIC REDUNDANCY CHECK(CRC)
• It is an error detection technique to detect changes to raw
data and is used widely in today’s computer networks.
• Also known as polynomial codes
• Approximately 99.95% of all transmission errors are
detected.
STANDARD POLYNOMIAL
Name Polynomial
CRC-8 x8 + x2 + x + 1
CRC-10 x10 + x9 + x5 + x4 + x2 + 1
CRC-16 (ITU) x16 + x12 + x5 + 1
CRC-32 (ITU) x32 + x26 + x23 + x22 + x16 + x12 + x11 +
x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Procedure in finding for the CRC code:
1. Data polynomial is multiplied by the highest term of
the CRC generating polynomial.
2. Convert the data, CRC generating polynomial and the
result of procedure 1 to its equivalent binary number.
3. Divide the binary equivalent (result of procedure 1)
with the binary equivalent of the CRC generating
polynomial.
4. The remainder of the division done in procedure 3 is
the CRC code. (Take note the number of bits of the
CRC code must be equivalent to the highest exponent
of the CRC generating polynomial.
Example: Determine the CRC code or block check
sequence (BCS) for the following data and CRC
generating polynomials:
data G(x) = x7 + x5 + x4 + x2 + x1 + x0
CRC P(x) = x5 + x4 + x1 + x0
CHECKSUM
• An error-detection method in a the transmitter
computes a numerical value according to the
number of set or unset bits in a message and sends
it along with each message frame.
Example: Determine the checksum of the transmitted
data message.
10011001 11100010 00100100 10000100
Another Example:
If the data transmitted along with checksum is
10101001 00111001 00011101. But the data
received at destination is 10111001 10111001
00011101. Determine whether there is a transmission
error occurred.
ERROR CORRECTION
Methods
1. Symbol substitution
2. Retransmission
3. Forward error correction
Symbol Substitution
• It is designed to be used in a human environment
• If a character is received in error, a unique
character that is undefined by the character code,
such as reverse question mark is substituted for the
bad character.
Retransmission
• It is resending a message when it is received in
error.
• The most reliable method of error correction.
• Not the most efficient method of error correction
Forward Error Correction (FEC)
• It is the only error correction scheme that actually
detects and corrects transmission errors at the
receive end without calling for retransmission.
Hamming Code
• A popular error correcting code developed by
Richard Wesley Hamming.