What is Forward Error Correction (FEC)?

NADDOD Quinn InfiniBand Network Architect Aug 23, 2023

With the development of fiber optic communication, there is a growing demand for increased transmission capacity and distance. Optical transceivers are evolving towards speeds of 100G, 200G, 400G, and even 800G.


However, high-speed long-distance optical communication is limited by noise, chromatic dispersion, non-linear effects, and polarization mode dispersion (PMD). Although various compensation techniques can mitigate the effects on optical signal transmission, doing so comes at a high cost.


Additionally, there is no ideal digital channel in practical transmission, and signals will always experience distortion and non-uniform time delays in various media, resulting in errors and jitter. FEC encoding and decoding techniques can effectively improve error performance.


What is FEC?

FEC (Forward Error Correction) technology, along with channel coding, is a technique used to control the error rate (packet loss, corruption) of received data packets when transmitting data in channels with low reliability and strong noise interference.


In optical communication systems, once an error occurs in the link, the signal cannot be transmitted further. FEC technology involves encoding the signal to be transmitted into a code with a certain error correction capability at the FEC encoder at the transmitting end. The FEC decoder at the receiving end decodes the received sequence. If the number of errors generated during transmission is within its error correction capability (non-continuous errors), the errors are located and corrected. Therefore, FEC can effectively reduce the error rate, improve the reliability of signals in the system, and extend the transmission distance.


Our world is filled with noise. Noise affects everything, including data transmission and communication systems, and cannot be escaped. The receiver of an optical communication system is directly impacted by noise, making it more challenging to understand the received information.


Technically, when waves are transmitted through optical fibers, noise affects the intensity of the light, and over long-distance transmissions, optical dispersion introduces significant impairments to the signal.


Whenever there is the influence of noise or optical dispersion distortion, the optical pulses degrade and lose their meaning as 0 or 1, and the receiver converts the received optical pulses into voltages. When the noise is too high, the receiver erroneously interprets the data, reading 0 as 1, or 1 as 0.


This is where FEC comes into play, as it reduces the impact of noise on the transmission quality of an optical communication system. By adding redundant information to the bitstream before transmission, this method can detect and correct partial errors that may exist in the bitstream.


The data blocks are constrained by specific functions whose outputs generate parity bits. The overhead consists of redundant bits, including parity bits. Subsequently, the original data blocks are concatenated with this new data to generate FEC codewords. These FEC codewords are then transmitted along the transmission line.


At the receiving end, the same FEC mode needs to be configured on the equipment so that the FEC decoder mechanism at the receiver knows what functionalities to apply to the FEC codewords. This allows the receiver's FEC decoder mechanism to select functionalities to regenerate the data and accurately remove the FEC overhead. As a result, the original data bitstream is produced, which is then sent to higher network layers.

FEC Decoding


Types of FEC

FEC Type


FEC codes can detect and correct a limited number of errors without the need for retransmitting the data stream. FEC codes are classified into two types: block codes and convolutional codes. Block codes are categorized as hard-decision FEC, while convolutional codes are classified as soft-decision FEC.


Block codes use fixed-size blocks to correct errors. The most common type of block code is Reed-Solomon. Hard-decision FEC algorithms employ fixed-length codes to determine whether each symbol corresponds to 0 or 1.


Convolutional codes are used in soft-decision FEC algorithms. They use variable-length symbol streams and introduce confidence factors for 0 or 1 decisions. This means that the receiver can interpret a bit as 0 or 1 based on the magnitude of the signal, whether it falls within the confidence interval for 0 or 1. These codes improve the overall reachability of optical transmission systems by 30-40%.


However, soft-decision FEC has a drawback: it incurs a 15-30% overhead, three times larger than that of hard-decision block codes. Branches of soft-decision FEC algorithms include Trellis codes.


Reed-Solomon codes are the most widely used error detection mechanism in the communication industry today. Reed-Solomon codes operate on data blocks represented as a group of finite field elements called symbols, and they can detect and correct various symbol errors.


The two most common FEC schemes in today's communication links are RS-FEC (528, 514) and RS-FEC (544, 514). RS-FEC (544, 514) is used for 400G PAM4 optical transceiver links and 100G PAM4 (CAU-2) links, while RS-FEC (528, 514) is used for 100G NRZ links.


Here are the differences between the two RS-FEC schemes:

RS-FEC (528, 514) encoding starts with a data field of 514 symbols, with each symbol consisting of 10 bits. It adds 14 parity symbols to form an encoded codeword of 528 symbols. On the other hand, RS-FEC (544, 514) uses 30 parity symbols to form an encoded codeword of 544 symbols.


Due to the closer spacing between voltage levels in PAM-4 signals compared to NRZ signals, the eye diagram amplitude is approximately one-third of that of NRZ signals. It is slightly larger and incurs more overhead. As a result, the SNR (Signal-to-Noise Ratio) of PAM-4 signals decreases, making them more susceptible to noise. To compensate for the lower SNR, KP-FEC (KP-Folded FEC) is designed with higher coding gain. KP-FEC has the potential to correct up to 15 symbols per codeword, while KR-FEC (KR-Reed FEC) can correct a maximum of 7 symbols.

Advantages & Disadvantages

FEC (Forward Error Correction) has several advantages and disadvantages that need to be considered due to the multifaceted nature of things.



  • Cost-effective: FEC's main function is to correct transmission errors, allowing us to achieve better results using the same hardware components without the need for more expensive lasers and receivers.
  • Real-time operation: FEC can correct codes within seconds using simple algorithms.
  • Increased interconnect distance: FEC helps in receiving signals at greater distances. For example, using SD-FEC can achieve a distance increase of up to 30-40% on a 100G link.
  • Reduced Bit Error Rate (BER).
  • If errors are detected, FEC does not require retransmitting the entire frame. It only detects and corrects a few redundant bits, saving bandwidth that would have been used for retransmission.



  • Increased latency: FEC introduces overhead bytes into the payload, which can result in longer transmission times from point A to point B as the payload is reduced.
  • Link configuration may require additional modifications as both ends of the link must use the same type of FEC. Therefore, this should be kept in mind when interconnecting different brands of equipment.


Overall, the advantages of using Forward Error Correction outweigh the disadvantages in most cases. However, it may not be suitable for every optical transceiver. The implementation and use of FEC are typically determined by the system using the optical transceiver and the type of transceiver itself.


FEC Considerations

Match FEC at both ends of the link. One simple factor to consider when using FEC is that matching FEC types must be used between the switches and optical transceivers on both ends of the link.


For example, if the optical transceiver supports RS-FEC, the host device it is inserted into must also support RS-FEC, and the other end of the link must follow the same principle.


However, if one side of the link supports RS-FEC and the other side supports SD-FEC, the FEC functionality will not work, and the link will not operate with FEC enabled. Similarly, if FEC is enabled on one side of the link but disabled on the other side, the link will not function.


Which Optical Transceivers Have FEC?

RS-FEC for 25G Forward Error Correction

Reed-Solomon FEC is used in many 25G SFP28 optical transceivers to increase the range in 25G-CSR, 25G-LR, 25G-ER, and BIDI scenarios.


NRZ 100G Forward Error Correction

For 100G optical transceivers, RS-FEC (528, 514) is typically required on the host platform to achieve maximum transmission distance. For example, in the case of 100G QSFP28 ER4, the transmission distance without FEC is 30km, but with FEC enabled, it can reach 40km using single-mode duplex LC fiber jumpers.


Although FEC provides the advantages of forward error correction and increased transmission distance, it inevitably introduces some packet latency during the error correction process. Therefore, not all high-speed optical transceivers are recommended to have this feature enabled. For example, according to IEEE standards, it is not recommended to enable FEC on the host side for 100G QSFP28 LR4 optical transceivers.

100G QSFP28 ER4


100G PAM4 Forward Error Correction

100G PAM4 transceivers (100GBASE-DR, 100GBASE-FR, 100GBASE-LR, and 100G-ER) incorporate RS FEC (544, 514) PAM4 (KP1) within the optical transceiver's digital signal processor (DSP) chip. When these transceivers are detected by the host, FEC is disabled on the host platform.


PAM4 200G and 400G Forward Error Correction

To achieve optimal performance, FEC (544, 514) must be enabled on the host device for PAM4-based 200G and 400G QSFP-DD transceivers.



Transmission Distance

200G QSFP56 DR4



200G QSFP56 FR4



200G QSFP56 LR4



200G QSFP56 SR4














In conclusion, with the increasing demand for system bandwidth and overall network speeds, error correction must be considered for long-distance transmissions. Forward Error Correction allows you to receive high-quality signals without being affected by noise. Noise can distort the signal, and FEC can provide longer transmission distances using cost-effective components.


FEC technology has become a popular topic, and we can expect it to become even more popular as speeds and optical modulation technologies continue to advance.