Channel Coding in Optical Communication Systems

In this paper, an overview of various types of error-correcting codes is present. Three generations of forward error correction methods used in optical communication systems are listed and described. Forward error correction schemes proposed for use in future high-speed optical networks can be found in the third generation of codes.


Introduction
Forward Error Correction (FEC) is an important part of modern communication systems. Throughout history new types of channel codes and FEC schemes with higher error-correcting performance were introduced. In section 2 of this paper, an overview of different types of channel codes is shown. Methods of error correction used in optical networks are described and divided into generations in section 3. FEC schemes proposed to be used in future optical networks are also mentioned in section 3.

Overview of Channel Coding Methods
In 1948 Claude Shannon published his influential paper A Mathematical Theory of Communication on the limits of reliable transmission of data over noisy channels, which founded the fields of channel coding, source coding, and information theory. Shannon established the mathematical foundations for information transmission and derived the fundamental limits for digital communication systems. He formulated the basic problem of reliable transmission of information in statistical terms, using probabilistic models for information sources and communication channels [1][2][3].
Hamming codes are the first error-correcting codes. They are a class of linear block codes and were invented by Richard Hamming in 1950. Before them only a few simple error-detecting schemes were used e.g. parity bit, two-out-of-five codes, repetition codes. For each natural number m larger than 1, there exists a (2 m -1, 2 m -1m) Hamming code. Every Hamming code is able to correct one error and detect two errors in each code word. The first introduced Hamming code had code word length of 7 bits and data word length of 4 bits, denoted (7,4). Nowadays Hamming codes are still used in some types of ECC memories [2], [4][5].
In 1954 David E. Muller described a class of multiple-error-correcting codes [6] and Irving S. Reed proposed the first algorithm for decoding these codes (known as majority decoding) [7]. Today this class of binary linear block codes is called Reed-Muller codes. Their advantage is simple description and simple decoding algorithm [2].
Convolutional codes are a class of linear time-invariant tree codes and can be generated by a linear shift-register circuit that performs a convolution operation on the data sequence. They were first introduced in 1955 by Peter Elias. Convolutional codes were first decoded by sequential decoding, but they became popular only after the Viterbi algorithm was developed in 1967 by Andrew Viterbi. This algorithm is much simpler, but is preferred for convolutional codes of modest complexity. However it is impractical for stronger convolutional codes. Convolutional codes are used in various applications, e.g. multiple wireless systems, mobile communications and satellite communications [4], [8].
BCH codes are a wide class of linear block error-correcting codes. Reed-Muller codes and popular Reed-Solomon codes are both subclasses of BCH codes. They were invented in 1960 by Raj Bose and D. K. Ray-Chaudhuri [9] and independently by Alexis Hocquenghem in 1959 [10]. BCH codes played a fundamental role in research on algebraic coding techniques. There exist various simple methods for their encoding and decoding (e.g. syndrome decoding). They are used in applications such as satellite communications, compact disc players, DVDs, disk drives, solid-state drives and two-dimensional bar codes [2].
Reed-Solomon codes are a class of non-binary cyclic linear block codes and were introduced in 1960 by Irving S. Reed and Gustave Solomon [11]. They can correct multiple errors and are also effective against burst errors. Reed-Solomon codes are often used in concatenation with convolutional codes for added efficiency. Reed-Solomon codes are used in compact discs, DVDs, Blu-ray discs, data storage devices, data transmission technologies such as DSL and WiMax, broadcast systems such as DVB and ATSC, and satellite communications [2], [12].
Turbo codes are powerful forward error correction codes that are able perform very close to the Shannon limit. They were first publicly introduced in 1993 by Claude Berrou et al. [13]. Optimal algorithm for their decoding, the BCJR algorithm (named by its inventors: L. Bahl, J. Cocke, F. Jelinek and J. Raviv [14]), was originally intended for decoding of convolutional codes, but it was too complex compared to Viterbi algorithm with similar error-correcting performance. BCJR algorithm was therefore mostly ignored until the introduction of turbo codes. Turbo codes use several principles to achieve their performance: interleaving, iterative decoding, MAP (Maximum A Posteriori) algorithm, soft-decision decoding, concatenation of channel codes. Recursive convolutional codes are also an integral part of turbo codes. There also exists a class of block turbo codes known as TPC (Turbo Product Codes). Turbo codes are used in UMTS and LTE mobile communications, satellite communications, IEEE 802.11 (WiFi) and IEEE 802.16 (WiMax) standards [2], [5].
LDPC (Low Density Parity Check) codes are a class of linear block codes that are able to perform close to the Shannon limit. LDPC codes were developed by Robert L. Gallager in 1960 [15]. However, they were impractical to implement at the time, so they were forgotten until his work was rediscovered in 1996. Their architecture is efficient and supports parallelism in decoding, computational simplicity and various code rates. They can also employ several principles used in turbo codes to achieve high error-correcting performance. Multiple algorithms can be used for their decoding. LDPC codes are used for various applications, including satellite communications, Deep Space Network, DVB-S2 (Digital Video Broadcasting) standard, 802.11 standards [2].
In 2009 a new class of linear block error-correcting codes known as polar codes were introduced by Erdal Arikan. Polar codes can provably achieve capacity of binary symmetric memoryless channels and can be encoded and decoded with low complexity. These codes and their performance in concatenation with other channel codes are still being studied today [14].

Channel Codes in Optical Communications
In first optical networks no forward error correction was used. At the time 10 -9 was the acceptable bit error rate. Channel codes used in fiber-optic communication are often divided into several generations. These will be described in the following paragraphs.

First Generation
First deployment of FEC (forward error correction) for optical transmission was in submarine systems developed in the early 1990s. First generation of channel codes for optics were linear block codes with hard-decision decoding, e.g. BCH (Bose-Chaudhuri-Hocquenghem) codes, RS (Reed-Solomon) codes or Hamming codes. Targeted overhead was typically 7% or less. Codes of this generation were successfully used in trans-Pacific and trans-Athlantic communication systems and provided data rates as high as 5Gbit/s. RS(255,239) code is the most popular code of this generation and has been used in broad range of long-haul communication systems. It is described in ITU-T recommendation G.975 (Forward error correction for submarine systems) [17]. Reed-Solomon codes are suitable for mitigation of burst errors because of their nonbinary structure. RS(255,239) code was also successfully used to mitigate BER fluctuations caused by the polarization dependency effect in optical fibers. Net coding gain (NCG) achieved with this code is close to 6 dB, its overhead is 6.69% and required value for measured input BER is 6 × 10 -5 . It can correct burst errors with maximum length of 1024 bits when advanced interleaving techniques are used. General expectation for this generation of codes is a coding gain near 6 dB at an output BER of 10 -12 [12], [18][19][20][21].

Second Generation
This generation of codes focuses mainly on serially concatenated channel codes. Information bits are first encoded by the inner encoder and its output is encoded by the outer encoder. Concatenation of codes is also possible in a parallel way. These schemes allow for higher coding gain by increasing minimum Hamming distance. If inner code enables minimum distance d and outer code enables minimum distance D, the concatenation scheme of these codes results in minimum distance of at least D × d.
Another important part of these coding schemes is interleaving with iterative and convolutional decoding techniques. These improvements allow technology to support 10G and 40G transmission systems. Hard-decision decoding is used in this generation of codes and recommended coding overhead is still 7% or less. Required input BER for these schemes is usually close to 3.8 × 10 -3 and in many cases they achieve net coding gain higher than 8 dB at an output BER equal to 10 -15 . ITU-T G.975.1 recommendation [22] (Forward error correction for high  [12], [18][19][20][21].

Third Generation
Forward error correction schemes designed for future 100G optical transmission systems belong to the third generation of codes for optical communications. They are also suitable for 40G or even 400G long-haul transmission systems. Most of these are soft-decision FEC schemes. Mathematics and advantages of soft-decision decoding have been known for years, but their use in optical systems is now possible thanks to coherent detection and advancements in integrated circuit technologies. Limiting factor of optical networks was their very high transmission rates. Soft-decision codes are computationally intensive and limitations in ASIC (Application-Specific Integrated Circuit) and in other technologies prevented their hardware implementation.
Recommended code overhead was raised from 7% of previous generations to 20% or more (by Optical Internetworking Forum). Expected net coding gain is at least 10-11 dB at a 10 -15 output BER, considering 20% overhead and soft-decision FEC. Channel codes are mostly judged by their net coding gain and some hard-decision FEC codes are also suitable for next generation optical networks. However in case of high net coding gain their BER performance is inferior to the soft-decision codes. Their usage can be desirable e.g. in cases when cheaper hardware implementation (thanks to less complex components) is more important than better BER performance. These hard-decision channel codes with high net coding gain can be considered 2.5th generation of codes for optical communications.
Long-haul optical transmission systems need FEC solutions with high net coding gain in order to ensure required BER with lower OSNR (Optical Signal-to-Noise Ratio). Requirements for measured pre-FEC BER (or input BER) of third generation codes are close to 2 × 10 -2 . It should be mentioned, that most of the FEC codes guarantee their error correcting performance in uncorrelated channels like AWGN (Additive White Gaussian Noise). Their correction ability can be worse in a non-linear channel like optical fiber and also in the presence of error bursts.
Most of the third generation FEC solutions use iterative decoding and are based on LDPC (Low Density Parity Check) codes and Turbo Product Codes (TPC), which are also called Block Turbo Codes (BTC). Both of these code types can perform close the Shannon limit. Important part of these FEC schemes are techniques for further improvement of error-correcting performance such as interleaving, iterative decoding and soft-decision decoding. Iteratively decoded LDPC codes usually outperform turbo product codes in terms of BER performance, but hardware implementation of LDPC encoders and decoders is usually more complex than those of TPC, but their complexity is still comparable.
PCCC (Parallel Concatenated Convolutional Codes), which were first presented in 1993 in [11], and SCCC (Serial Concatenated Convolutional Codes) are classes of turbo codes that are based on convolutional codes. These are used in multitude of wireless systems, but generally aren't suitable for optical communication systems for the following reasons. Hardware complexity of their decoders is high when compared to LDPC and TPC codes, which makes their hardware implementation difficult in networks with very high transmission rates. A notable disadvantage of convolutional turbo codes is the fact that by design their coding rates are low. This makes them impractical for high-speed optical networks, because a redundant overhead of no more than 25% is highly desirable in optical communications at 10 Gb/s or more.
Some of the third generation FEC schemes also use BCH codes, RS codes and convolutional codes as a part of their design, such as various interleaved-concatenated coding concepts [12], [18][19][20][21].
In 2010 a field trial of a 100 Gb/s DWDM channel upgrade of an installed 900 km link took place. More advanced modulation format was needed to achieve higher spectral efficiency. The chosen modulation format was PM-QPSK (Polarization Multiplexed QPSK), also called DP-QPSK (Dual Polarization QPSK) or PDM-QPSK (Polarization Division Multiplexed QPSK). Different information is transmitted in each orthogonal polarization plane with this 8-state modulation format and it is capable of achieving 100 Gb/s bit rate in a single WDM channel. However its modulators and demodulators are very complex and expensive. Modulation formats with more constellation points are considered for future use (e.g. M-QAM), but with higher spectral efficiency the SNR requirements are growing. These requirements can be met by using FEC. The field trial proved that 100 Gb/s-channel upgrade for existing 10 Gb/s and 40 Gb/s DWDM systems is possible as far as forward error correction is used to reach desired bit error rates. FEC schemes designed for such 100G DWDM systems are listed in Tab. 2 [23][24].

Conclusions
A general overview of error-correcting codes was presented in this paper. FEC codes from the early ones such as the Hamming codes and the popular ones such as Reed-Solomon codes to the modern codes like turbo and LDPC codes are mentioned and described. Various methods of forward error correction used in high-speed optical networks are listed along with their performance and requirements for error correction in each generation of optical networks. Several hard-decision and soft-decision FEC schemes intended for use in future optical networks are also present, where LDPC-based schemes and TPC-based schemes are the most promising candidates for these networks.