Digital Communication Systems by Simon Haykin-113

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Haykin_ch10_pp3.

fm Page 653 Friday, January 4, 2013 5:03 PM

10.12 Turbo Codes 653

As indicated in Figure 10.29b, the decoding process is initiated by setting the a


posteriori extrinsic L-value
L̃ 2  m j  = 0 for j = 0 (10.126)

The decoding process is stopped when it reaches a point at which no further improvement
in performance is attainable. At this point, an estimate of the message vector m is
computed by hard-limiting the a priori L-value at the output of decoder 2, yielding
m̂ = sgn  L 2  m   (10.127)
To conclude the discussion on turbo decoding, two other points are noteworthy:
0
1. Although the noisy vector of systematic bits r is applied only to decoder 1, its
influence on decoder 2 manifests itself indirectly through the a posteriori extrinsic
L-value, L̃ 1  m  , computed by decoder 1.
2. Equations (10.122) and (10.125) assume that the a posteriori extrinsic L-values,
L̃ 1  m  and L̃ 2  m  , passed between decoders 1 and 2, are statistically independent
of the message vector m. In reality, however, this condition applies only to the first
iteration of the decoding process. Thereafter, the extrinsic information becomes less
helpful in realizing successively more reliable estimates of the message vector m.

EXAMPLE 9 UMTS Codec Using Binary PSK Modulation13


In this example, we study the Universal Mobile Telecommunications Systems (UMTS)
standard’s codec. To simplify the study, binary PSK modulation is used for data transmission
over an AWGN channel. The basic RSC encoder of the UMTS turbo codes is as follows:
code-rate r = 13
constraint length  =4
memory length m=3
The UMTS Turbo Encoder
Figure 10.30a shows the block diagram of the UMTS turbo encoder, which consists of two
identical concatenated RSC encoders, operating in parallel with an interleaver separating
them. To be specific:
• Each encoder is made up of a linear feedback shift register (LFSR) whose number of
flip-flops m = 3; in each LFSR, therefore, we have a finite-state machine with
2m = 23 = 8 states
• The encoding process is initialized by setting each LFSR to the all-zero state.
• To activate the encoding process, the two switches in Figure 10.30a are closed,
thereby applying the message vector m to the top RSC encoder and applying the
interleaved version of m, namely n, to the bottom RSC encoder. The length of m is
denoted by K.
• Each RSC constituent encoder produces a sequence of parity-check bits, the length
of which is K + m.
• Once the encoding process is completed, a set of m bits is appended to each block of
encoded bits, so as to force each LFSR back to the initial all-zero state.
Haykin_ch10_pp3.fm Page 654 Friday, January 4, 2013 5:03 PM

654 Chapter 10 Error-Control Coding

c(0)
RSC encoder 1

c(1)
Input message
sequence
m

Encoded
output
t(1)
c
π
c(2)

RSC encoder 2
t(2)
(a)

Lp(r(0)) r(0)
Estimate of
message
vector Lp(z(1)) z(1)
m
La,1

Decoder 1 Lp(r(1)) r(1)


Noisy
channel
Extrinsic output
information 1 r
π π –1 π

Lp(z(2)) z(2)

La,2

Decoder 2 Lp(c(2)) r(2)

Extrinsic
information 2
(b)

Figure 10.30 Block diagram of UMTS codec. (a) Encoder, (b) Decoder. Notes: 1. The received
vectors {r(0), z(1), r(1), z(2), r(2)} correspond to the transmitted vectors {c(0), t(0), c(1), t(2), c(2)}.
–1
2. The block labeled  : interleaver. The block labeled  : de-interleaver.
Haykin_ch10_pp3.fm Page 655 Friday, January 4, 2013 5:03 PM

10.12 Turbo Codes 655

From this description, it is apparent that the overall code-rate of the turbo code is lower
than the UMTS code-rate, namely 13, as shown by
K
r overall = ---------------------
3K + 4m
Note that if we set the memory length m = 0, the code rate roverall is increased again to 13.
On the basis of this description, each block of the multiplexed output of the turbo
encoder is composed as follows:
c(0) vector of systematic bits (i.e., message bits), followed by
c(1) and c(2) pair of vectors, representing the parity-check bits produced by the
top and bottom RSC encoders, respectively, then followed by
(1) (2)
t and t pair of vectors, representing encoder termination-tail bits for forcing
the top and bottom RSC constituent encoders back to all-zero state,
respectively.
In the UMTS standard, the block length of the turbo code lies in the range [40, 5114].

The UMTS Turbo Decoder


Figure 10.30b shows a block diagram of the UMTS decoder. Specifically, proceeding from
top to bottom on the right-hand side of the figure, we have five sequences of a posteriori L-
values computed in the receiver, namely Lp(c(0)), Lp(t(1)), Lp(c(1)), Lp(t(2)), and Lp(c(2));
these L-values correspond to the encoded sequences c(0), t(1), c(1), t(2), and c(2), respectively.
Considering, first, how decoder 1 operates in the receiver, we find from Figure 10.30b
that it receives two input sequences of L-values, the first one of which, namely the a
posteriori L-value Lp(c(1)), comes directly from the channel. The other input, the a priori
L-value denoted by La,1, is made up of three components:
1. The a posteriori L-value, Lp(c(0)), which accounts for the received systematic bits, c(0).
2. The reordered version of the extrinsic information produced by decoder 2, resulting
–1
from the de-interleaver  .
3. The a posteriori L-value, Lp(t(1)) attributed to the systematic vector of termination
bits, t(1), which is appended to the sum of components 1 and 2 to complete La,1.
In a corresponding but slightly different way, decoder 2 receives two input sequences of L-
values, the first one of which, namely the a posteriori L-value Lp(c(2)), comes directly from
the channel. The other input, a priori L-value La,2, is also made up of three components:
1. The reordered version of a posteriori L-value, Lp(c(0)) is due to the received vector
of systematic bits, c(0), where the reordering is produced by the interleaver to the left
of the de-interleaver  – 1.
2. The reordered version of extrinsic information is produced by decoder 1, where
the reordering is performed by the second interleaver,  , to the right of the de-
interleaver  – 1.
3. The a posteriori L-value, Lp(t(2)) is attributed to the systematic vector of
termination bits, t(2); this time, however, Lp(t(2)) is removed before it is interleaved
and passed to decoder 2.
Haykin_ch10_pp3.fm Page 656 Friday, January 4, 2013 5:03 PM

656 Chapter 10 Error-Control Coding

Simulation Results
In Figure 10.31, we have plotted the BER chart for the iterative decoding process, using
the turbo codec of Figure 10.30. The results were obtained for the case of 5000 systematic
bits, as follows:
• For a prescribed Eb N0 ratio, the bit errors were averaged over 50 Monte Carlo runs.
• Each point in the BER chart was the result of 100 bits per point-count in the
decoding process.
• The computations were repeated for different values of Eb N0.
The remarkable points to observe from Figure 10.31 are summarized here:
1. In the course of just four iterations, the BER of the UMTS decoder drops to 10–14 at
an SNR = 3 dB, which, for all practical purposes, is zero.
2. The steepness of the BER plot on iteration 4 is showing signs of the turbo cliff, but is
not there yet. Unfortunately, to get there would require a great deal more
computation.14 (The turbo cliff is illustrated in Figure 10.32 in the next section).

Rudimentary Comparison of Viterbi and MAP Algorithms


For a rather rudimentary but plausible approach, to address the issue of computational
complexity in a fair-minded way, consider a convolutional code that has m = 6 states and,
therefore, requires
26 = 64
ACS operations for Viterbi decoding.
To match this computational complexity, using the turbo decoder of Figure 10.29b with
16 ACS operations, we need the following number of decoding iterations:
64
------ = 4
16

5000-bit UMTS turbo code with BPSK modulation in an AWGN channel


100
Iteration 1

–2
10

10–4

10–6
BER

10–8

10–10 Iteration 4

Figure 10.31 10–12


The bit error rate (BER) diagram
for the UMTS-turbo decoder,
10–14
using 5000 systematic bits and –10 –9 –8 –7 –6 –5 –4 –3 –2
–3 dB SNR. SNR (in dB)
Haykin_ch10_pp3.fm Page 657 Friday, January 4, 2013 5:03 PM

10.13 EXIT Charts 657

Correspondingly, Figure 10.31 plots the BER chart for the turbo decoder for the sequences
of decoding iterations: 1, 2, 3, and 4. Of special interest is the BER chart for four
– 14
iterations, for which we find that the turbo decoder with BER  10 outperforms the
Viterbi decoder significantly for the same computational complexity, namely a total of 64
ACS operations.

10.13 EXIT Charts

In an idealized BER chart exemplified by that in Figure 10.32, we may identify three
distinct regions, described as follows:
a. Low BER region, for which the Eb N0 ratio is correspondingly low.
b. Waterfall region, also referred to as the turbo cliff in the turbo coding literature,
which is characterized by a persistent reduction in BER over the span of a small
fraction of dB in SNR.
c. BER floor region, where a rather small improvement in decoding performance is
achieved for medium to large values of SNRs.
As informative as the BER chart of Figure 10.32 is, from a practical perspective it has a
serious drawback. Simply put, the BER chart lacks insight into the underlying dynamics
(i.e., convergence behavior) of iterative decoding algorithms, particularly around the
turbo-cliff region. Furthermore, since the BER occurs at low BERs, excessive simulation
runs are required.
The question is: how do we overcome this serious drawback of the BER chart? The
answer lies in using the extrinsic information chart, or EXIT chart for short, which was
formally introduced by ten Brink (2001).
The EXIT chart is insightful because it provides a graphical procedure for visualizing
the underlying dynamics of the turbo decoding process for a prescribed Eb N0. Moreover,

Threshold Eb /N0
10–0

10–1

10–2 Turbo cliff

10–3
BER

10–4

10–5

10–6 Error floor

10–7
0 0.5 1 1.5 2 2.5
Eb /N0

Figure 10.32 Idealized BER chart for turbo decoding.


Haykin_ch10_pp3.fm Page 658 Friday, January 4, 2013 5:03 PM

658 Chapter 10 Error-Control Coding

the procedure provides a tool for the design of turbo codes characterized by good
performance in the turbo-cliff region. In any event, development of the EXIT chart
exploits the idea of mutual information in Shannon’s information theory, which was
discussed previously in Chapter 5.

Development of the EXIT Chart


Consider a constituent decoder in the turbo decoder of Figure 10.29b, which is, for
convenience of presentation, labeled decoder 1; the other constituent decoder is labeled
decoder 2. Let I1(mj; La(mj)) denote the mutual information between a transmitted message
bit mj and the a priori L-value La(mj) for a prescribed Eb N0. Correspondingly, let Lp(mj)
denote the a posteriori L-value of message bit mj and let I2(mj; Lp(mj)) denote the mutual
information between mj and Lp(mj) for the same Eb N0. Then, with I2(mj; Lp(mj)) viewed as
a function f I1(mj; La(mj), we may express the extrinsic information transfer characteristic
of constituent decoder 1 for some operator T() and the prescribed Eb N0 as follows:
I2(mj; Lp(mj)) = T(I1(mj; La(mj)) (10.128)
In the continuum, it is shown that both mutual informations, I1 and I2, lie within the range
[0,1]. Thus, a plot of I2(mj; Lp(mj)) versus I1(mj; La(mj)), depicted in Figure 10.33a, displays
graphically the extrinsic information transfer characteristic of the constituent decoder 1.
Since the two constituent decoders are similar and they are connected together
sequentially inside a closed feedback loop, it follows that the extrinsic information transfer
characteristic of constituent decoder 2 is the mirror image of the curve in Figure 10.33a
with respect to the straight line I1 = I2, as shown in Figure 10.33b. With this relationship in
mind, we may go on to put the transfer characteristic curves of the two constituent
decoders side by side, but keeping the same horizontal and vertical axes of Figure 10.33a.
We thus get the composite picture depicted in Figure 10.33c. In effect, this latter figure
represents the input–output extrinsic transfer characteristic of the two constituent decoders
working together in a turbo-decoding algorithm for the prescribed Eb N0.
To elaborate on the practical utility of Figure 10.33a, suppose that the iterative turbo-
decoding algorithm begins with I 11  = 0 , representing the initial condition of constituent
decoder 1 for the first iteration in the decoding process. Then, in proceeding forward, we
keep the following two points in mind:
• First, the a posteriori L-value of constituent decoder 1 becomes the a priori L-value
of constituent decoder 2, and similarly when these two decoders are interchanged, as
we proceed from one iteration to the next.
• Second, the message bits m1, m2, m3, ... occur on consecutive iterations.
Hence, we will experience the following sequence of extrinsic information transfers
between the two constituent decoders from one message bit to the next one for some
prescribed Eb N0:
1
Initial condition: I 1  m 1  = 0.

Iteration 1: message bit, m1


1 1
Decoder 1: I 1  m 1  defines I 2  m 1  .
1 2
Decoder 2: I 2  m 1  initiates I 1  m 2  for iteration 2.

You might also like