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 | ||||||||
|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | |
| 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | |
| Parity byte | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
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
