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.
A simplistic example of FEC is to transmit each data bit 3 times, which is known as a (3,1) repetition code. Through a noisy channel, a receiver might see 8 versions of the output, see table below.
Triplet received | Interpreted as |
---|---|
000 | 0 (error free) |
001 | 0 |
010 | 0 |
100 | 0 |
111 | 1 (error free) |
110 | 1 |
101 | 1 |
011 | 1 |
This allows an error in any one of the three samples to be corrected by "majority vote" or "democratic voting". The correcting ability of this FEC is:
- Up to 1 bit of triplet in error, or
- up to 2 bits of triplet omitted (cases not shown in table).
Though simple to implement and widely used, this triple modular redundancy is a relatively inefficient FEC. Better FEC codes typically examine the last several dozen, or even the last several hundred, previously received bits to determine how to decode the current small handful of bits (typically in groups of 2 to 8 bits).
Read more about this topic: Forward Error Correction
Famous quotes containing the word works:
“My first childish doubt as to whether God could really be a good Protestant was suggested by my observation of the deplorable fact that the best voices available for combination with my mothers in the works of the great composers had been unaccountably vouchsafed to Roman Catholics.”
—George Bernard Shaw (18561950)