0% found this document useful (0 votes)
6 views

Error Correction

The document discusses error correction techniques in data communication, focusing on checksum and cyclic redundancy check (CRC) methods. It explains how checksums are used for error detection by summing data segments and how CRC provides a more robust error detection mechanism. Additionally, it covers error correction methods, particularly Hamming Code, which uses parity bits to identify and correct errors in transmitted data.

Uploaded by

AWAIS SARWAR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Error Correction

The document discusses error correction techniques in data communication, focusing on checksum and cyclic redundancy check (CRC) methods. It explains how checksums are used for error detection by summing data segments and how CRC provides a more robust error detection mechanism. Additionally, it covers error correction methods, particularly Hamming Code, which uses parity bits to identify and correct errors in transmitted data.

Uploaded by

AWAIS SARWAR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Data Communication and

Computer Networks
Error Correction

Dr. Ehsan Munir


Department of Computer Science
COMSATS University Islamabad, Wah Campus
[email protected]

The slides are adapted from the publisher’s material


Data Communications and Networking by Behrouz A. Forouzan, 5 th edition
Data and Computer Communications by William Stallings, 8th Edition
Computer Networking: A Top-Down Approach by J F Kurose, K W Ross, 6th Edition
Computer Networks, by L. Peterson, and B. Davie, 5th edition
Outline
■ Error detection techniques
■ Checksum
■ Cyclic redundancy check
■ Error correction technique (Hamming Code)

2
Checksum
■ The sender’s end:
■ The data is divided into k segments each of m
bits
■ The segments are added using 1’s
complement arithmetic to get the sum
■ The sum is complemented to get the
checksum
■ The checksum segment is sent along with the
data segments

3
Sender

k=4, m = 8
10110011
10101011
01011010
11010101

4
Checksum
■ The receiver’s end:
■ all received segments are added using 1’s
complement arithmetic to get the sum
■ The sum is complemented.
■ If the result is zero, the received data is
accepted; otherwise discarded

5
Receiver

10110011
10101011
01011010
11010101
01110000

6
performance
■ The checksum detects all errors involving an
odd number of bits
■ It also detects most errors involving even
number of bits

7
Cyclic redundancy check
■ One of the most powerful and widely used
technique
■ Given a m-bit block of bit sequence the sender
generates n-bit sequence, known as frame
check sequence (FCS) so that the resulting
frame consisting of m + n bits is exactly
divisible by same predetermined number
■ the receiver divides the incoming frame by that
number, and if there is no remainder, assumer
there was no error
Basic scheme for CRC

9
Figure Division in CRC encoder

10
Figure Division in the CRC decoder for two cases

11
Table A CRC code with C(7, 4)

12
Performance
■ CRC can detect all single-bit errors
■ CRC can detect all double-bit errors
■ CRC can detect any odd number of errors
■ CRC can detect all burst errors of less than the
degree of the polynomial.
■ CRC detects most of the larger burst errors with a
high probability.
■ For example CRC-12 detects 99.97% of errors with a
length 12 or more.

13
Error Correction
■ Error Correction can be handled in two
ways.
■ One is when an error is discovered; the
receiver can ask the sender retransmit the
entire data unit. This is known as backward
error correction.
■ In the other, receiver can use an
error-correcting code, which automatically
corrects certain errors. This is known as
forward error correction

14
Error Correction
■ use more redundancy in the transmitted
data to not only detect but correct error
in the received data
■ Key Idea
■ Requirement for error detection: A code
in an error detecting code if and only if
the minimum distance between any two
code words is two

15
Error Correction
■ Requirement for error correction: For a
code to be error correcting the minimum
hamming distance between any two code
words must be more than two.
■ Number of additional bits be such that it
can point the position of the bit in error.
If k is the no of additional bits, then the
condition is 2k >= m+k+1

16
Hamming Code
■ To each group of m information bits k parity
bits are added to form (m+k) bit code
■ Location of each of the (m+k) digits is
assigned a decimal value.
■ The k parity bits are placed in positions 1, 2,
…, 2k-1

17
Hamming Code
■ K parity checks are performed on selected
digits of each codeword
■ At the receiving end the parity bits are
recalculated. The decimal value of the k
parity bits provides the bit-position in error, if
any.

18
2k >= m+k+1
2k-1

C3 C2 C1
0 0 0

19

You might also like