Error Detection and Correction, Study notes of Data Communication Systems and Computer Networks

Error detection and correction techniques are vital in ensuring the reliable and accurate transmission of data over unreliable communication channels. These techniques identify and rectify errors during data transmission, preventing data corruption and improving overall data integrity. These notes provide extensive detail on the Types of Errors, Parity Checks, Checksums, Cyclic Redundancy Checks (CRC), and Hamming Code with step-by-step solved numericals and examples.

Typology: Study notes

2022/2023

Available from 08/02/2023

tannishtha-jain
tannishtha-jain 🇮🇳

3 documents

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
McGraw-Hill ©The McGraw-Hill Companies, Inc., 2000
ERROR DETECTION
AND
ERROR CORRECTION
COMPUTER NETWORKS
Computer Science and
Engineering
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download Error Detection and Correction and more Study notes Data Communication Systems and Computer Networks in PDF only on Docsity!

1 McGraw-Hill ©The McGraw-Hill Companies, Inc., 2000

ERROR DETECTION

AND

ERROR CORRECTION

COMPUTER NETWORKS

Computer Science and

Engineering

Topics discussed in this section Types of Errors Redundancy Detection Versus Correction Forward Error Correction Versus Retransmission Coding Modular Arithmetic errors be detected and corrected. Some applications require that Data can be corrupted during transmission. Let us first discuss some issues related, directly or indirectly, to error detection and correction.

INTRODUCTION

Burst Error

Figure 10.2 Burst error of length 8 A burst error means that 2 or more bits in the data unit have changed.

XOR

Figure 10.4 XORing of two single bits or two words An error-detecting code can detect only the types of errors for which it is designed; other types of errors may remain undetected.

Example 10. Find the minimum Hamming distance of the coding scheme in the given Table. Solution We first find all Hamming distances. The dmin in this case is 2.

Why? More than s-bit error is possible to detect, but not guaranteed. To guarantee the detection of up to s errors in all cases, the minimum Hamming distance in a block code must be dmin = s + 1. To guarantee the correction of up to t errorsin all cases, the minimum Hamming distance in a block code must be dmin = 2 t + 1.

Cyclic Redundancy Check Hardware Implementation Polynomials Cyclic Code Analysis Advantages of Cyclic Codes Other Cyclic Codes Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword is cyclically shifted (rotated), the result is another codeword.

10 - 4 CYCLIC CODES

Topics discussed in this section:

Figure 10.15 Division in CRC encoder

Figure 10.21 A polynomial to represent a binary word

The last error detection method we discuss here is called the checksum. The checksum is used on the Internet by several protocols although not at the data link layer. However, we briefly discuss it here to complete our discussion on error checking

Topics discussed in this section:

Idea One’s Complement Internet Checksum

10 - 5 CHECKSUM

Receiver site:

  1. The message (including checksum) is divided into 16 - bit words.
  2. All words are added using one’s complement addition.
  3. The sum is complemented and becomes the new checksum.
  4. If the value of the checksum is 0, the message is accepted; otherwise, it is rejected. Sender site:
  5. The message is divided into 16 - bit words.
  6. The value of the checksum word is set to 0.
  7. All words including the checksum are added using one’s complement addition.
  8. The sum is complemented and becomes the checksum.
  9. The checksum is sent with the data.

Internet Checksum

Example

  • Note
    • When adding numbers, a carryout from the most significant bit needs to be added to the result
  • Example: add two 16 - bit integers 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound (^1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 ) sum (^1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 ) checksum (^0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 )