Page 359 - Satellite Communications, Fourth Edition
P. 359

Error Control Coding  339

                              codes, (known as Turbo Product codes or TPCs, see Comtech, 2002).
                              However the more common arrangement is to use parallel concatenation
                              using convolution encoders. Because of the continuous nature of convo-
                              lution coding, data and code sequences rather than words are involved.
                              The convolution encoders shown in Fig. 11.11 (Burr, 2001) are recursive
                              convolution encoders. They differ from the convolution encoder of Fig. 11.2
                              in that feedback is employed. (This recursive feedback is part of the
                              encoding process and is quite separate from the iterative feedback to be
                              described shortly, which gives turbo codes their name). It can be shown
                              that the recursive feedback (see Burr, 2001) assists in maintaining a
                              large minimum Hamming distance (see Sec. 11.2) for code sequences.
                              Another difference between the encoders of Fig. 11.11 and that of Fig. 11.2
                              is that the data sequence is fed directly to the multiplexer of Fig. 11.11,
                              making the output systematic (see Sec. 11.2).
                                Parity-1 bits are generated directly from the data bits and parity-2 bits
                              from the interleaved data bits, so that two independent streams of parity
                              bits are generated. Interleaving as described in Sec. 11.5, was used there
                              as a means of combating bursty errors. With turbo encoding the purpose
                              of interleaving is different, it is used to provide independent parity bits
                              for the same input. A number of different methods of interleaving are
                              available, and the design of the interleaver is a crucial aspect of turbo
                              code design.
                                The output coded sequence is data, parity-1, parity-2. Since each
                              encoder generates a parity bit for every data bit the code rate is 1/3.
                              This is relatively low but can be increased by puncturing, as described
                              in Sec. 11.4 and shown in Fig. 11.11. For example, one parity bit might
                              be discarded in turn from each of the encoders, resulting in a 1/2 code
                              rate. Other rates are possible with puncturing. If puncturing is used
                              with the encoder, dummy bits are inserted at the decoder to replace


                              data                                      data

                                                            +
                                                               parity 1
                                      +                                        multiplexer  code sequence
                                                                        puncture
                                             +

                                  p
                                                               parity 2
                                                            +
                                      +
                                             +

                              Figure 11.11 A turbo encoder with puncturing. The   symbol indicates an interleaver,
                              and the  {  symbol indicates modulo-2 addition. (Courtesy of A Burr and the IEEE.)
   354   355   356   357   358   359   360   361   362   363   364