Backward Error Correction, also known as an “Automatic Repeat Request” is an error correction technique in which a receiving device sends a request to the source device to re-send information. Backward Error Correction is used in situations where some of the transmitted data has been lost or corrupted during transit and the transmitting device must resend the information in order for the receiving device to understand the transmission. Backward Error Correction is the opposite of “Forward Error Correction”, in which a transmitting device simply sends redundant information to make up for any potential errors.
How Backward Error Correction Works
Backward Error Correction is dependent on a number of protocols and algorithms, such as parity bits, cyclic redundancy checks, and longitudinal redundancy checks, but relies on the same procedure. As usual, a transmitting device will send data to a receiving device. The receiving device will then run checks to ensure that all of the information is present, readable, and makes sense. If the received information does not make sense, is not all there, or cannot be read for any reason, the receiving device will send a request to the transmitting device to resend that data.
Backward Error Correction is often used instead of Forward Error Correction because it requires less bandwidth. However, because Backward Error Correction requires the receiving device to receive a signal before it requests redundant information, it requires more time than Forward Error Correction and may even use more bandwidth for individual transfers due to constant messaging between the two devices. While Forward Error Correction is usually preferred on systems that are prone to errors, such as long-distance communications systems, Backward Error Correction is ideal for systems that rarely have errors or only handle small amounts of data.