As bandwidth demands increase and the tolerance for errors and latency decreases, designers of data-communication systems are looking for new ways to expand available bandwidth and improve the quality of transmission. One solution isn't actually new, but has been around for a while. Nevertheless, it could prove quite useful. Called forward error correction (FEC), this design technology has been used for years to enable efficient, high-quality data communication over noisy channels, such as those found in satellite and digital cellular-communications applications.
Recently, there have been significant advances in FEC technology that allow today's systems to approach the Shannon limit. Theoretically, this is the maximum level of information content for any given channel. These advances are being used successfully to reduce cost and increase performance in a variety of wireless communications systems including satellites, wireless LANs, and fiber communications. In addition, high-speed silicon ASICs for FEC applications have been developed, promising to further revolutionize communication systems design.
The big attraction of FEC technology is how it adds redundant information to a data stream. This enables a receiver to identify and correct errors without the need for retransmission.
As the capabilities of FEC increase, the number of errors that can be corrected also increases. The advantage is obvious. Noisy channels create a relatively large number of errors. The ability to correct these errors means that the noisy channel can be used reliably. This enhancement can be parlayed into several system improvements, including bandwidth efficiency, extended range, higher data rate, and greater power efficiency, as well as increased data reliability.
FEC requires that data first be encoded. The original user data to be transmitted over the channel is called information bits, while the data after the addition of error-correction information is called coded bits.
For k information bits, the encoding process results in n coded bits where n > k. All n bits are transmitted. At the receiver, channel measurements are made and estimates of the transmitted n bits are generated. An FEC decoder utilizes these n bit estimates, along with knowledge of how all n bits were created, to generate estimates of the k information bits. The decoding process effectively detects and corrects errors in the n-channel bit estimates while recovering the original k information bits.
Because the decoder only uses the information received and never requests a retransmission, the flow of data is always moving forward. The process is, therefore, known as forward error correction.
The FEC decoding process doesn't need to generate n-bit estimates as an intermediate step. In a well-designed decoder, quantized channel-measurement data is taken as the decoder input. This raw channel measurement data consists of n metrics where each metric corresponds to the likelihood that a particular bit is a logical 1. Furthermore, the likelihood that a given bit is a logical 0 is related to this number. These metrics are usually represented by 3- or 4-bit integers called soft decision metrics. The decoder output is an estimate of the k information bits. Typically, decoding with soft decision metrics is computationally intensive. Very often, it's performed on a decoder ASIC that's specifically designed for the task.
A code's performance is strongly dependent on the data transmission channel. In order to facilitate the comparison of one code with another, a model is used where noise is added to antipodal signals. In this model, the noise is additive white Gaussian noise (AWGN). Unrelated noise samples are added to antipodal channel symbols (Fig. 1). The variance of the noise is related to the power spectral density of the noise (No). Antipodal signaling, a mapping where the 1s and 0s will be transmitted, are sent as +Z and -Z. For example, Z could represent 1 V on a transmission wire. So, 1s and 0s would be transmitted as +1 V and -1 V, respectively. The received energy per transmitted data bit (Eb) is proportional to Z2. An important parameter in the system is the signal-to-noise ratio, Eb/No. The AWGN model accurately represents many types of real channels. Many times, channels exhibiting other types of impairments have AWGN-like impairment as well.
FEC codes come in two primary types, convolutional and block. In a simple convolutional encoder, a sequence of information bits passes through a shift register, and two output bits are generated per information bit (Fig. 2). Then, the two output bits are transmitted. Essentially, the decoder estimates the state of the encoder for each set of two channel symbols it receives. If the decoder accurately knows the encoder's state sequence, then it knows the original information sequence too.