Turbo equalizer. In digital communications, a turbo equalizer is a type of receiver used to receive a message corrupted by a communication channel with intersymbol interference (ISI). It approaches the performance of a maximum a posteriori (MAP) receiver via iterative message passing between a soft-in soft-out (SISO) equalizer and a SISO decoder. It is related to turbo codes in that a turbo equalizer may be considered a type of iterative decoder if the channel is viewed as a non-redundant convolutional code.  The turbo equalizer is different from classic a turbo-like code, however, in that the 'channel code' adds no redundancy and therefore can only be used to remove non-gaussian noise.

History
Turbo codes were invented by Claude Berrou in 1990–1991.  In 1993, turbo codes were introduced publicly via a paper listing authors Berrou, Glavieux, and Thitimajshima.  In 1995 a novel extension of the turbo principle was applied to an equalizer by Douillard, Jézéquel, and Berrou.   In particular, they formulated the ISI receiver problem as a turbo code decoding problem, where the channel is thought of as a rate 1 convolutional code and the error correction coding is the second code.  In 1997, Glavieux,  Laot, and Labat demonstrated that a linear equalizer could be used in a turbo equalizer framework. This discovery made turbo equalization computationally efficient enough to be applied to a wide range of applications.

Overview

Standard communication system overview 
Before discussing turbo equalizers, it is necessary to understand the basic receiver in the context of a communication system. This is the topic of this section.

At the transmitter, information bits are encoded. Encoding adds redundancy by mapping the information bits  to a longer bit vector – the code bit vector . The encoded bits  are then interleaved. Interleaving permutes the order of the code bits  resulting in bits . The main reason for doing this is to insulate the information bits from bursty noise.  Next, the symbol mapper maps the bits  into complex symbols . These digital symbols are then converted into analog symbols with a D/A converter. Typically the signal is then up-converted to pass band frequencies by mixing it with a carrier signal. This is a necessary step for complex symbols. The signal is then ready to be transmitted through the channel.

At the receiver, the operations performed by the transmitter are reversed to recover , an estimate of the information bits. The down-converter mixes the signal back down to baseband. The A/D converter then samples the analog signal, making it digital. At this point,  is recovered. The signal  is what would be received if  were transmitted through the digital baseband equivalent of the channel plus noise. The signal is then equalized. The equalizer attempts to unravel the ISI in the received signal to recover the transmitted symbols. It then outputs the bits  associated with those symbols. The vector  may represent hard decisions on the bits or soft decisions. If the equalizer makes soft decisions, it outputs information relating to the probability of the bit being a 0 or a 1. If the equalizer makes hard decisions on the bits, it quantizes the soft bit decisions and outputs either a 0 or a 1. Next, the signal is deinterleaved which is a simple permutation transformation that undoes the transformation the interleaver executed. Finally, the bits are decoded by the decoder.  The decoder estimates  from .

A diagram of the communication system is shown below. In this diagram, the channel is the equivalent baseband channel, meaning that it encompasses the D/A, the up converter, the channel, the down converter, and the A/D.

Turbo equalizer overview

The block diagram of a communication system employing a turbo equalizer is shown below. The turbo equalizer encompasses the equalizer, the decoder, and the blocks in between.

The difference between a turbo equalizer and a standard equalizer is the feedback loop from the decoder to the equalizer. Due to the structure of the code, the decoder not only estimates the information bits , but it also discovers new information about the coded bits . The decoder is therefore able to output extrinsic information,  about the likelihood that a certain code bit stream was transmitted. Extrinsic information is new information that is not derived from information input to the block. This extrinsic information is then mapped back into information about the transmitted symbols  for use in the equalizer. These extrinsic symbol likelihoods, , are fed into the equalizer as a priori symbol probabilities. The equalizer uses this a priori information as well as the input signal  to estimate extrinsic probability information about the transmitted symbols. The a priori information fed to the equalizer is initialized to 0, meaning that the initial estimate  made by the turbo equalizer is identical to the estimate made by the standard receiver. The information  is then mapped back into information about  for use by the decoder. The turbo equalizer repeats this iterative process until a stopping criterion is reached.

Turbo equalization in practical systems

In practical turbo equalization implementations, an additional issue need to be considered. The channel state information (CSI) that the equalizer operates on comes from some channel estimation technique, and hence un-reliable. Firstly, in order to improve the reliability of the CSI, it is desirable to include the channel estimation block also into the turbo equalization loop, and parse soft or hard decision directed channel estimation within each turbo equalization iteration. Secondly, incorporating the presence of CSI uncertainty into the turbo equalizer design leads to a more robust approach with significant performance gains in practical scenarios.

References

Further reading 

 — primer on turbo equalization. Since it was written for the signal processing community in general, it is relatively accessible. 
 — offers a detailed, clear explanation of turbo equalization.

See also
Equalizer (communications)

Telecommunication theory
Signal processing