Forward Error Correction

Forward error correction (FEC) refers to the process of correcting errors mathematically at the receiving end of a transmission path, rather than calling for a retransmit of the errored data. Retransmitting data to correct errors uses the available bandwidth to repeatedly send the same information, and the user perceives extremely slow throughput. FEC results in greater effective throughput of user data because valuable bandwidth is not being used to retransmit errored data. However, in the event that the transmission does not contain any errors, FEC does take away some bandwidth by adding unnecessary overhead.

When errors can be corrected without retransmitting the data, the errors are reported as corrected errors. When the algorithm cannot correct errors, they are reported as uncorrected errors. The ratio of corrected to uncorrected errors shows the relative effectiveness of the error correction algorithm, or the relative intensity of the errors.

Two main functions are related to FEC: FEC bytes and interleaving.

FEC Bytes

FEC bytes are also called check bytes or redundancy bytes. FEC bytes are added to the user data stream to produce a means of calculating the presence of errored data and generating a corrected frame without having to retransmit the data. The appropriate number of provisioned FEC bytes generally depends on the type of errors being detected and corrected. The more FEC bytes that are added to the data stream, the more bandwidth the users' data shares with the FEC bytes. In normal DSL operation, this is not usually a problem, but in this instance, the modems are training at a slightly higher line rate to provide the same user bandwidth (throughput), including the additional FEC bytes.

The tradeoff of adding FEC overhead is being able to correct errors without retransmission versus the displacement of user data, but it is generally observed that much better throughput is achieved by increased efficiency in FEC rather than by retransmitting errored data.

In many systems, the selectable number of FEC bytes is 0 (none), 2, 4, 8, 12, or 16. As a basic and general rule, more FEC bytes means more effective error correction. But, in error-free transmission paths, an unnecessarily high number of FEC bytes serves only to occupy additional bandwidth. Sixteen FEC bytes per frame use a higher percentage of bandwidth at a transmission rate of 256 kbps than the same number of FEC bytes at a transmission rate of 8 Mbps. Theoretically, the presence and number of FEC bytes at 256 kbps is more apparent to the user (as reduced bandwidth) than the same number of FEC bytes at 8 Mbps. But again, most systems simply train at a slightly higher line rate to accommodate the additional check bytes, and the net result is that the users' available bandwidth (and throughput) is the same. Most systems calculate and subtract the FEC overhead before reporting the DSL rate, so that the reported DSL rate is actually the users' available bandwidth. Of course, if ATM and IP are transmitted on the DSL line, the ATM and IP overhead must be manually subtracted from the available (and reported) DSL rate.

Some chipsets optimize the number of FEC bytes versus the requested ATM transmission rate. For example, if a downstream rate of 8.032 Mbps and 16 FEC bytes is specified in the line configuration, but the error rate is within the 10-7 limit, the chipset might set the number of FEC bytes to a lower number to create the requested user bandwidth. When DMT performance stats are reviewed, the chipset reports the actual number of FEC bytes rather than what was specified in the configuration.

Before specifying the most efficient number of FEC bytes (and the most efficient interleave delay), you must determine the pattern of errors occurring on the transmission path.


Interleaving is the process of scrambling user data in a precise sequence. The purpose of interleaving is to avoid having consecutive errors delivered to the Reed-Solomon (RS) FEC algorithm at the receiving end of the circuit. RS is more effective on single errors or errors that are more spaced in time (not consecutive).

If a noise burst occurs on the copper transmission line, several consecutive data bits can be affected, which results in consecutive bit errors. Because the data is interleaved at the transmitter, de-interleaving the data at the receiver produces not only the original bit sequence, but separates the errored bits over time. (The errored bits appear in separate bytes.) Therefore, the errored bits are no longer consecutive and the RS FEC process is more effective.


In many systems, interleaving can be set to 0 (off, none), 1, 2, 4, 8, or 16 milliseconds of interleave delay or depth. The more time allocated to interleaving, the more data can be interleaved. But increasing interleaving delay causes additional latency or delay in the time that the data is transmitted and the time that it is available to the receiving user.

As a general rule, the more interleaving delay that is used, the better the RS algorithm can correct consecutive errors. The increased latency normally causes no problem for general data transmission, but digitized voice over a high-latency path results in an extremely unpleasant echo. For this reason, a minimum interleave delay (or no interleaving) is always used on data channels that carry voice traffic. As delay is added to voice transmissions, the problem of echo increases radically and requires additional treatment. Two-way video conferencing can also experience some undesirable effects from excessive latency in the data stream.

A relatively high error rate can usually be tolerated during voice conversations because the human ear might not even detect the errors. Additional consideration of minimized latency versus error correction might be required when analog data or fax is also running on the voice channel. Conversely, greater latency (delay) is not particularly detrimental to data transmission. Increasing latency does not usually reduce the transmission speed (throughput), but it can incur some additional processor overhead. Again, effective FEC (partially resulting from increased interleaving) can contribute significantly to achieving maximum throughput in a noisy environment, which produces higher throughput than when no interleaving is used.

During competitive testing of DSLAMs in a noise-free environment, some vendors set the interleaving delay to 0 to reduce latency in the transmission path, even though this is not normally done for data services over DSL lines.

+1 0


  • rudolph
    How to calculate fec telecommunication?
    1 year ago
  • Monika
    What causes rs fec corrections?
    3 months ago

Post a comment