Error Detection and
Correction
Introduction
• Network must be able to transfer data from one device to another with
acceptable accuracy, so the system must guarantee the transmitted data
should be identical to received data.
• The data can be corrupted when transmitted from one hope to next which
can be detected by some applications.
• Data can be corrupted during transmission there are few application that
require to be error detected and corrected.
Types of Errors
• Whenever data is transmitted that subject to be unpredictable that causes
change in shape of signals, here we have discussed two types of errors
i. Single error: in single error only one bit of given data unit is changed
which either be from 0 to 1 or from 1 to 0
ii. Burst error: it means there are more than 2 data unit changed from 1 to 0
or 0 to 1
Single bit error
0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0
Burst error of length 8
0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1
0 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1
Corrupted bits
Corrupted bits
• Burst error: the duration of noise is
normally longer than the duration of
1 bit which means that noise affects
data.
• The number of bits affected depends
on the data rate and duration for
noise.
Single bit error: single bit errors are
least likely type or error because their
duration or noise is normally longer
than duration of 1 bit.
Single type of errors are the least likely
type of error in serial data
transmission.
Detection Vs Correction
o The correction of errors is more difficult than the detection.
o In error detection we only see if any error is occurred. The answer will be yes/no.
o In error correction, we need to know the exact number corrupted bits with their
location in the message.
o For single error we need 8-bit data unit whereas for 2 errors we need to consider
28 possibilities, so for a long size messages it is difficult to find more than 10 errors
in a data unit of 1000 bits.
Error detection scheme
• Some popular techniques of error detection are:
1. Simple parity check
2. Two dimensional parity check
3. Checksum
4. Cyclic redundancy check
Simple parity check
• It is the simplest technique for detecting and correcting errors.
• The parity of 8-bits transmitted word can be either even parity or
odd parity
• Even parity: it means that the number of 1’s should be even
(2,4,6).
• Odd parity: it means that the number of 1’s should be odd
(1.3.5).
Two dimensional parity check
• In simple parity check bits are calculated for each row. Parity
check bits are also calculated for al columns, then both are
sent along with data.
• At the receiving end these are compared with the parity bits
calculated on the received data.
Checksum
• For error detection by checksum data is divided into fixed size frames or segments
• Sender’s End: The sender adds the segment using 1’s complement arithmetic to get
the sum. Then the sum is also complemented to get the checksum and send it along
with data frames.
• Receiver’s End: at the receiver side perform same as sender add the incoming
segments using 1’s complement to get the sum and then complements it.
• After this if result is zero the received frames are accepted, otherwise they are
discarded
Cyclic redundancy check
• It is method of detecting errors in the communication channel
• This is the most widely used in real life applications.
• It can detect all odd errors, CRC uses generator polynomial which is
available in both sender and receiver side
• An example generator polynomial is of the form like x3
+ x + 1. This
generator polynomial represents key 1011
Error Correction
• As already discussed that error detection is more difficult than error detection, it involves the
sufficient redundant data to the information being sent to enable the receiver to both detect and
correct errors.
• Error-correction codes can be divided into block codes and convolution codes. Block codes work
on blocks of data of a fixed-size (e.g. packets). Convolutional codes work for bit streams of
arbitrary length. They tend to be more complex and more difficult to implement than block codes,
• Block codes are calculated for each individual frame or packet independently of one-another,
whereas convolutional codes encode the entire data stream for a message as one long code word,
and then transmit the message in segments.
THANK YOU

Error Detection and Correctiouionvn.pptx

  • 1.
  • 2.
    Introduction • Network mustbe able to transfer data from one device to another with acceptable accuracy, so the system must guarantee the transmitted data should be identical to received data. • The data can be corrupted when transmitted from one hope to next which can be detected by some applications. • Data can be corrupted during transmission there are few application that require to be error detected and corrected.
  • 3.
    Types of Errors •Whenever data is transmitted that subject to be unpredictable that causes change in shape of signals, here we have discussed two types of errors i. Single error: in single error only one bit of given data unit is changed which either be from 0 to 1 or from 1 to 0 ii. Burst error: it means there are more than 2 data unit changed from 1 to 0 or 0 to 1
  • 4.
    Single bit error 00 0 0 0 0 1 0 0 0 0 0 1 0 1 0 Burst error of length 8 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 Corrupted bits Corrupted bits
  • 5.
    • Burst error:the duration of noise is normally longer than the duration of 1 bit which means that noise affects data. • The number of bits affected depends on the data rate and duration for noise. Single bit error: single bit errors are least likely type or error because their duration or noise is normally longer than duration of 1 bit. Single type of errors are the least likely type of error in serial data transmission.
  • 6.
    Detection Vs Correction oThe correction of errors is more difficult than the detection. o In error detection we only see if any error is occurred. The answer will be yes/no. o In error correction, we need to know the exact number corrupted bits with their location in the message. o For single error we need 8-bit data unit whereas for 2 errors we need to consider 28 possibilities, so for a long size messages it is difficult to find more than 10 errors in a data unit of 1000 bits.
  • 7.
    Error detection scheme •Some popular techniques of error detection are: 1. Simple parity check 2. Two dimensional parity check 3. Checksum 4. Cyclic redundancy check
  • 8.
    Simple parity check •It is the simplest technique for detecting and correcting errors. • The parity of 8-bits transmitted word can be either even parity or odd parity • Even parity: it means that the number of 1’s should be even (2,4,6). • Odd parity: it means that the number of 1’s should be odd (1.3.5).
  • 9.
    Two dimensional paritycheck • In simple parity check bits are calculated for each row. Parity check bits are also calculated for al columns, then both are sent along with data. • At the receiving end these are compared with the parity bits calculated on the received data.
  • 10.
    Checksum • For errordetection by checksum data is divided into fixed size frames or segments • Sender’s End: The sender adds the segment using 1’s complement arithmetic to get the sum. Then the sum is also complemented to get the checksum and send it along with data frames. • Receiver’s End: at the receiver side perform same as sender add the incoming segments using 1’s complement to get the sum and then complements it. • After this if result is zero the received frames are accepted, otherwise they are discarded
  • 11.
    Cyclic redundancy check •It is method of detecting errors in the communication channel • This is the most widely used in real life applications. • It can detect all odd errors, CRC uses generator polynomial which is available in both sender and receiver side • An example generator polynomial is of the form like x3 + x + 1. This generator polynomial represents key 1011
  • 12.
    Error Correction • Asalready discussed that error detection is more difficult than error detection, it involves the sufficient redundant data to the information being sent to enable the receiver to both detect and correct errors. • Error-correction codes can be divided into block codes and convolution codes. Block codes work on blocks of data of a fixed-size (e.g. packets). Convolutional codes work for bit streams of arbitrary length. They tend to be more complex and more difficult to implement than block codes, • Block codes are calculated for each individual frame or packet independently of one-another, whereas convolutional codes encode the entire data stream for a message as one long code word, and then transmit the message in segments.
  • 13.