Error detection and correction

related topics
{system, computer, user}
{math, number, function}
{rate, high, increase}
{ship, engine, design}
{math, energy, light}

In information theory and coding theory with applications in computer science and telecommunication, error detection and correction or error control are techniques that enable reliable delivery of digital data over unreliable communication channels. Many communication channels are subject to channel noise, and thus errors may be introduced during transmission from the source to a receiver. Error detection techniques allow detecting such errors, while error correction enables reconstruction of the original data.

The general definitions of the terms are as follows:

  • Error detection is the detection of errors caused by noise or other impairments during transmission from the transmitter to the receiver.[1]
  • Error correction is the detection of errors and reconstruction of the original, error-free data.

Error correction may generally be realized in two different ways:

  • Automatic repeat request (ARQ) (sometimes also referred to as backward error correction): This is an error control technique whereby an error detection scheme is combined with requests for retransmission of erroneous data. Every block of data received is checked using the error detection code used, and if the check fails, retransmission of the data is requested – this may be done repeatedly, until the data can be verified.
  • Forward error correction (FEC): The sender encodes the data using an error-correcting code (ECC) prior to transmission. The additional information (redundancy) added by the code is used by the receiver to recover the original data. In general, the reconstructed data is what is deemed the "most likely" original data.

ARQ and FEC may be combined, such that minor errors are corrected without retransmission, and major errors are corrected via a request for retransmission: this is called hybrid automatic repeat-request (HARQ).


Full article ▸

related documents
Command-line interface
Thread (computer science)
Lossless data compression
Very long instruction word
Linux kernel
Spanning tree protocol
Memory leak
Plan 9 from Bell Labs
Hypertext Transfer Protocol
Vector processor
IBM System i
Computer file
Open Shortest Path First
Transaction Processing Facility
Trillian (software)
High-Level Data Link Control