Forward error correction

related topics
{system, computer, user}
{math, number, function}
{rate, high, increase}
{government, party, election}

In telecommunication and information theory, forward error correction (FEC) (also called channel coding[1]) is a system of error control for data transmission, whereby the sender adds systematically generated redundant data to its messages, also known as an error-correcting code. The American mathematician Richard Hamming pioneered this field in the 1940's and invented the first FEC code, the Hamming (7,4) code, in 1950.

The carefully designed redundancy allows the receiver to detect and correct a limited number of errors occurring anywhere in the message without the need to ask the sender for additional data. FEC gives the receiver an ability to correct errors without needing a reverse channel to request retransmission of data, but this advantage is at the cost of a fixed higher forward channel bandwidth. FEC is therefore applied in situations where retransmissions are relatively costly, or impossible such as when broadcasting to multiple receivers. In particular, FEC information is usually added to mass storage devices to enable recovery of corrupted data.

FEC processing in a receiver may be applied to a digital bit stream or in the demodulation of a digitally modulated carrier. For the latter, FEC is an integral part of the initial analog-to-digital conversion in the receiver. The Viterbi decoder implements a soft-decision algorithm to demodulate digital data from an analog signal corrupted by noise. Many FEC coders can also generate a bit-error rate (BER) signal which can be used as feedback to fine-tune the analog receiving electronics.

The maximum fractions of errors or of missing bits that can be corrected is determined by the design of the FEC code, so different forward error correcting codes are suitable for different conditions.

Contents

How it works

FEC is accomplished by adding redundancy to the transmitted information using a predetermined algorithm. A redundant bit may be a complex function of many original information bits. The original information may or may not appear literally in the encoded output; codes that include the unmodified input in the output are systematic, while those that do not are non-systematic.

Full article ▸

related documents
MX record
VESA BIOS Extensions
Context switch
Pulse dialing
Digital Private Network Signalling System
NS320xx
Xfce
Resource Interchange File Format
Slackware
Virtual circuit
Xerox Network Services
Communications system
Linear timecode
Sampling rate
RF modulator
MAC address
Intel 4004
Repeater
Motorola 68000 family
Real-time Transport Protocol
Ku band
Firmware
Lossy compression
Maximum transmission unit
Logic analyzer
Émile Baudot
JPEG 2000
Comparator
Local area network
Encapsulated PostScript