Subtopic Notes

2.2 Methods of error detection

2. Data transmission

Error can occur during data transmission due to interference. This may cause data loss, data gain or a change in data. Errors can be detected using the following methods.

Parity Checks

  • Check is done with the number of 1-bits in a byte
  • Types -
    • Even Parity - Even number of 1-bits
    • Odd Parity - Odd numbers of 1-bits
  • Example (Even Parity)
    • 1111 0110
    • The LMB (Left-Most Bit) is the parity bit. As the number of 1s is odd, the parity bit would be set to 1 to even it out.
  • Limitations
    • Cannot identify alteration in bits despite having correct number of 1-bits
    • When error is checked, the bit(s) changed cannot be identified

Parity Block Check

  • Used to overcome parity check’s limitation
  • Rows and columns used to identify the changes in bits
  • Example (Uses even parity)
Parity byte
11010111
10101010
01010111
Parity byte00101000

The ones marked in bold are mistakes. Hence the italliced 1 should be 0

Checksum

  • A value is calculated from a block of data using a specific algorithm
  • The checksum is sent along with the data
  • The receiver will calculate the checksum using the data
  • If the received checksum and calculated are the same, no error. If they don't match, request is made to resend data

Echo Check

  • A copy of the data is sent back to the sender.
  • The data is compared to ensure it matches.
  • If a mismatch occurs, an error is detected.

Check Digit

  • Check digits are calculated from all the other digits in the data using an algorithm
  • The check digit then becomes the last digit of the code.
  • Commonly used in identification numbers like credit card, ISBN (International Standard Book Numbers)
  • Might be used to check during data entry

Automatic Repeat Query (ARQ)

  • Uses acknowledgement and time out
  • If there is no error in receivers data, a positive acknowledgement is sent to sender
  • If there is an error found, a negative acknowledgement is sent to the sender. The data will now be resent.
  • The sender uses timeout and waits for acknowledgement. If no acknowledgement found after the timeout, data will be sent again