Forward error correction
Forward error correction (from English forward error correction , short FEC ; sometimes also English error detection and correction , short EDAC ) is a technique that serves to reduce the error rate when storing or transmitting digital data, and represents an error correction method. If forward error correction is used in a transmission system, the transmitter encodes the data to be transmitted in a redundant manner so that the receiver can recognize and correct transmission errors without asking the transmitter. Forward error correction is used, for example, on compact discs (CD), in digital television (DVB) and in mobile communications .
Forward error correction takes place within the framework of channel coding and is part of coding theory . The digital and initially source- coded signal is selectively added redundancy in a channel encoder on the transmitter side , which is intended to enable the channel decoder in the receiver to correct errors that have occurred on the transmission channel .
The addition of a checksum to the data to be transmitted is not sufficient to enable forward error correction. It only allows the recipient to see that an error has occurred; the recipient must then request the sender to retransmit the faulty data block. Such a procedure is known as "backward error correction", "requested correction transfer" or "automatic repeat request"; it is standardized in ARQ protocols (Automatic Repeat-reQuest) and is used, for example, in the TCP protocol.
FEC algorithms can be fundamentally divided according to whether they act on data blocks of fixed length ( block code ) or on a continuous data stream such as convolutional codes . Examples of block codes are the simple Hamming code or the BCH codes , which can be parameterized much more widely, and the related Reed-Solomon codes . Convolutional codes are often decoded using the Viterbi algorithm .
The FEC often occurs in a chained manner, the data runs serially through several coding layers, and sections that have already been coded can be made more robust against interference with additional algorithms. In digital video broadcasting (DVB), block code ( Reed-Solomon code ), convolutional code and byte interleaving are used at the level of the transport stream with blocks of 188 bytes. The same applies to the encodings in the Global System for Mobile Communications (GSM), which expand the 260-bit blocks of the speech codec with block code and convolutional code to 456 bits, and protect against burst errors with double interleaving.
In addition to the FEC for channel coding, FEC for block protection occur on other levels. The transmitted MPEG data stream of a DVB channel itself contains longer packets that can be independently secured with FEC bytes, regardless of the transmission medium. Something similar occurs for compressing speech codecs, which can contain error correction as well as error detection. At this level, almost only FEC block codes appear; the additionally calculated FEC bytes are inserted into the packet structure here.
Error correction can be used in channel coding on noisy transmission routes such as radio to compensate for any errors immediately after transmission . The more frequently errors can occur during transmission, the higher the redundancy that is selected when selecting the FEC method. The attached FEC data are correspondingly larger, which reduces the bandwidth of a transmission link for the actual user data accordingly.
Another application is optical data transmission in SDH networks or in optical transport networks . There, the use of the error-correcting FEC compensates for the decreasing signal-to-noise ratio with increasing fiber length. As a special function of optical transponders with FEC, the receiver can dynamically adapt to the input signal during operation: By evaluating the number of correctable errors when various operating parameters alternate, an optimal FEC length can be determined. With Digital Video Broadcasting (DVB), the Viterbi-FEC can be selected for each transmitted station, the possible values are FEC 1/2, 2/3, 3/4, 5/6, 7/8 and 9/10. This n / m scheme means that m gross bits have to be used for n net bits. The Viterbi-FEC 9/10 is not used for terrestrial broadcasting ( DVB-T ) because radio is very susceptible to interference.
In the field of data communication, forward error correction is preferable to backward error correction in the case of very fast networks and long signal propagation times - for example when accessing distant geostationary earth satellites.
- Todd K. Moon: Error Correction Coding . Wiley-Interscience, 2008, ISBN 0-471-64800-0 .
- James F. Kurose, Keith W. Ross: Computer Networks. The top-down approach, 4th edition, Pearson Education, Munich 2008, ISBN 978-3-8273-7330-4 .
- Ulrich Freyer: News transmission technology. Basics, components, processes and systems of telecommunications technology . 1st edition. Carl Hanser Verlag, Munich 2009, ISBN 978-3-446-41462-4 .
- Michael Dickreiter , Volker Dittel, Wolfgang Hoeg, Martin Wöhr (eds.): Manual of the recording studio technology . 8th revised and expanded edition, 2 volumes, Walter de Gruyter, Berlin / Boston 2014, ISBN 978-3-11-028978-7 .
- Forward Error Correction (accessed September 21, 2017)
- Introduction to Coding Theory (accessed September 21, 2017)
- Error models in multimedia streams (accessed September 21, 2017)
- Analysis and implementation of an open streaming protocol based on P2P (accessed on September 21, 2017)