Error detection and correction
(also forward error correction)
Error detection and correction definition
Error detection utilizes additional bits of data that detect whether errors appear in the originally transmitted data. Then, the error correction technique detects and corrects the errors that may appear in two ways. The receiver may ask the sender to resend all of the data again, which is backward error correction. If the receiver applies the error correction method, that will automatically fix any errors, which is forward error correction. These techniques are essential because they ensure the accuracy and reliability of data transmission and storage.
Error detection techniques
- Simple parity check. The single parity check makes the numbers of 1s even. If the data block has an even number of 1s, the error detection method adds a parity bit of 0, whereas if it has an odd number of 1s, it receives a parity bit of 1.
- Two-dimensional parity check. This error detection method calculates parity check bits for each data row and column, and the parity bits transmit simultaneously with the data. When the data gets to the receiver, the two-dimensional parity checker compares the parity bits with the initially calculated bits. If the computed bits don’t match the received parity bits, then there is an error in the data transmission.
- Checksum. This error detection method divides the data into equal segments. Then, it sums up the segments using a 1s complement to do a checksum. The same process happens on the receiver side, and if the sum is 0, then the data is correct. However, if the sum is not 0, there is a data error.
- Cyclic redundancy check. With the cyclic redundancy check, the sender divides the sent data bits, calculates what’s left to the end of the original data, and forms a codeword. The receiver gets the codeword, and if the remaining bits are only 0s, then the data is correct. On the other hand, if the remaining bits are not only 0s, it indicates a data error.
Error correction techniques
- Even parity. If the total number of 1s is even, then the parity bit will have a value of 0, and if the total number of 1s is odd, the parity will be 1. It shows that there aren’t any errors.
- Odd parity. If there are no errors, the parity sum will be 1 if the total number of 1’s in the data is even, whereas if the total sum is 0 then the number of 1s in the data is odd.