Introduction to Turbo Processing
In recent years, iterative (turbo) processing techniques have
received considerable attention, stimulated by the discovery of powerful turbo
codes [35, 36]. The turbo principle can be applied successfully to many
detection/decoding problems, such as serial concatenated decoding, equalization,
coded modulation, multiuser detection, and joint source and channel decoding [169, 379, 448]. We start the discussion in this
chapter by illustrating the general concept of turbo processing for concatenated
systems using a simple example.
A typical communications system in general consists of a
cascade of subsystems with different signal processing functionalities.
Consider, for example, the simple communication system employing channel coding
and signaling over an intersymbol interference (ISI) channel, as shown in Fig. 6.1. In a conventional receiver, the
demodulator makes hard decisions about the transmitted bits {b[i]} based on the
received signal r(t), which are then passed to the channel decoder to
decode the transmitted information. The problem with this approach is that by
making hard decisions of the bits, information loss is incurred in each
subsystem (i.e., demodulator and decoder). This is because while the subsystem
only indicates whether it believes that a given bit is a 0 or a 1, it usually
has sufficient information to estimate the degree of confidence in its
decisions. One straightforward way to reduce the loss of information, and the
resulting loss in performance, is to pass the confidence level along with the
decision (i.e., to render soft decisions). This is often done when passing
information from a demodulator to a channel decoder, which is known to result in
approximately a 2-dB performance gain in the additive white Gaussian noise
(AWGN) channel [396]. However, even if optimal
bit-by-bit soft decisions are passed between all the subsystems in the receiver,
the overall performance can still be far from optimal. This is due to the fact
that while later stages (e.g., the channel decoder) can use the information
gleaned from previous stages (e.g., the demodulator), the reverse is not
generally true. While the optimal performance can be achieved by performing a
joint detection, taking all receiver processing into account simultaneously
(e.g., maximum likelihood detection based on the supertrellis of both the
channel code and the ISI channel), the complexity of such a joint approach is
usually prohibitive. This motivates an iterative (turbo) processing approach
which allows earlier stages (e.g., the demodulator) to refine their processing
based on information obtained from later stages (e.g., the channel decoder).
To employ turbo processing in the system shown in Fig. 6.1, both the demodulator and channel
decoder are of the maximum a posteriori
probability (MAP) type. The function of a MAP demodulator is to produce soft
decisions which reflect the probability that a given bit is a 0 or a 1. At the
lth iteration, the information available to the
MAP demodulator consists of the received signal r(t) and the a priori probabilities of the input bits, the latter of
which are obtained by the MAP channel decoder based on its output from the
(l – 1)th iteration. The MAP demodulator uses
this information, combined with knowledge of the chosen modulation and of the
channel structure, to produce the a posteriori
probabilities (APPs) of the channel bits:
Equation 6.1
Equation 6.2
for all {b[i]}i.
Consider the log-likelihood ratio (LLR) formed from the a posteriori probabilities of (6.1) and (6.2):
Equation 6.3
It is seen from (6.3)
that the LLR is the sum of two distinct quantities. The first term,
(b[i]),
is the extrinsic information produced by the
first-stage subsystem in the receiver (i.e., the MAP demodulator), which is
information that the MAP demodulator gleans about b[i] from the received
signal r(t) and
the a priori probabilities of the other
transmitted bits, without using the a priori
probability of b[i]. The second term,
(b[i]), contains the
a priori probability of b[i]. Note that
typically, for the first iteration (l = 1), we
set P0(b[i] = 1) = P0(b[i] = 0) = ½ [i.e.,
for all
i]. The extrinsic information {
(b[i])} produced by the
MAP demodulator is sent to the second-stage subsystem (i.e., the MAP channel
decoder) as the a priori information for channel
decoding.
Based on the a priori
information provided by the MAP demodulator, and the channel code constraints,
the MAP channel decoder computes the a posteriori
LLR of each code bit:
Equation 6.4
The factorization (6.4)
will be shown in Section 6.2. Here again we
see that the output of the channel decoder is the sum of the extrinsic
information
obtained by the second-stage subsystem (i.e., the MAP channel
decoder) and the prior information
(b[i]) delivered by the
preceding stage (i.e., the MAP demodulator). The extrinsic information
is then fed back to the MAP demodulator as the a
priori information in the next [i.e., (l +
1)th] iteration. It is important to note that (6.3) and (6.4) hold
only if the inputs to the demodulator or the decoder are independent. Since both
the ISI channel and the channel encoder have memory, this independence
assumption will not be valid; therefore, interleaving (i.e., permutation of time
order) must be present between the demodulator and the decoder in order to
provide approximate independence. Finally, the turbo receiver structure for the
coded ISI system is illustrated in Fig.
6.2. This scheme was introduced in [105] and is termed a turbo equalizer. The name turbo is justified because both the demodulator and the
decoder use their processed output values as a
priori input for the next iteration, similar to the operation of a turbo
engine. Application of the turbo processing principle for joint demodulation and
decoding in fading channels can be found in [139, 181].
The turbo principle can similarly be applied in coded
multiple-access channels, resulting in procedures known as turbo multiuser detectors. In this chapter we discuss
applications of such techniques in a variety of multiple-access communication
systems with different coding schemes (convolutional codes, turbo codes,
space-time codes), signaling structures [CDMA, TDMA, space-division
multiple-access (SDMA)] and channel conditions (AWGN, fading, multipath).
The rest of this chapter is organized as follows. In Section 6.2
we present a maximum a posteriori (MAP) decoding
algorithm for convolutional codes. In Section 6.3 we discuss
turbo multiuser detectors in synchronous CDMA systems. In Section 6.4 we treat the
problem of turbo multiuser detection in the presence of unknown interferers. In
Section
6.5 we discuss turbo multiuser detection in general asynchronous CDMA
systems with multipath fading channels. In Section 6.6 we discuss
turbo multiuser detection for turbo-coded CDMA systems. In Sections 6.7 and 6.8 we
discuss applications of turbo multiuser detection in space-time block-coded
systems and space-time trellis-coded systems, respectively. Some mathematical
proofs and derivations are given in Section 6.9.
The following is a list of the algorithms appearing in this
chapter.
-
Algorithm 6.1: MAP
decoding algorithm for convolutional codes
-
Algorithm 6.2:
Low-complexity SISO multiuser detector—synchronous CDMA
-
Algorithm 6.3:
Group-blind SISO multiuser detector—synchronous CDMA
-
Algorithm 6.4: SISO
multiuser detector—multipath fading channel