Error Detection and Correction
Error Detection and Correction
and Correction
• Types of Errors
• Detection
• Correction
Basic concepts
Networks must be able to transfer data from
one device to another with complete accuracy.
Data can be corrupted during transmission.
For reliable communication, errors must be
detected and corrected.
Error detection and correction
are implemented either at the data link
layer or the transport layer of the OSI
model.
Types of Errors
Single-bit error
Single bit errors are the least likely type of
errors in serial data transmission because
the noise must have a very short duration
which is very rare. However this kind of
errors can happen in parallel transmission.
Example:
If data is sent at 1Mbps then each bit lasts
only 1/1,000,000 sec. or 1 μs.
For a single-bit error to occur, the noise
must have a duration of only 1 μs, which is
very rare.
Burst error
The term burst error means that two or
more bits in the data unit have changed
from 1 to 0 or from 0 to 1.
+ 1]
Sender Side:
Therefore, the remainder is 001 and hence the encoded
data sent is 100100001.
Binary Division
Polynomial
Polynomial and Divisor
Standard Polynomials
CRC : DIGITAL LOGIC METHOD
10101001 subunit 1
00111001 subunit 2
11100010 sum (using 1s complement)
00011101 checksum (complement of
sum)
Receiver Site :
10101001 subunit 1
00111001 subunit 2
00011101 checksum
11111111
.
sum
00000000 sum's complement
Result is zero, it means no error
Performance
The checksum detects all errors involving an
odd number of bits.
It detects 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 a second segment are also damaged, the
sums of those columns will not change and the
receiver will not detect a problem.
Block Codes
• The purpose of block coding is to add
redundant information to the data, which
can be used to detect and correct errors that
may occur during transmission or storage.
• Block coding is often used in conjunction
with error correction codes (ECCs) to
provide a more robust way of transmitting
and storing data.
Error Correction
It can be handled in two ways:
1) receiver can have the sender retransmit the
entire data unit.
2) The receiver can use an error-correcting
code, which automatically corrects certain
errors.
This block is passed through an FEC decoder,
with one of four possible outcomes:
• No errors
• Detectable, correctable errors
• Detectable, not correctable errors
• Undetectable errors
Single-bit error correction
To correct an error, the receiver reverses the value
of the altered bit. To do so, it must know which bit
is in error.
Number of redundancy bits needed
• Let data bits = m
• Redundancy bits = r
Total message sent = m+r
The value of r must satisfy the following relation:
2r ≥ m+r+1
Error Correction
Block Code Principles
• Hamming Distance
suppose that a codeword block is received with the bit pattern
00100. This is not a valid codeword, and so the receiver has
detected an error. Can the error be corrected?
Hamming Code