Turbo Coding for Satellite and Wireless Communications

The original turbo code [6] is the combination of two parallel Recursive Systematic Convolutional (RSC) codes concatenated by a pseudo-random interleaver, and an iterative MAP decoder. The turbo coding/decoding principle is illustrated in Figure 2.6. II represents the interleaver between Encoder 1 and Encoder 2 and II ?1 represents deinterleaver between Decoder 2 and Decoder 1.
According to the turbo coding principle, the turbo code design issues include component code design, trellis termination method, interleaving strategy and implementation complexity based on the system design space for turbo codes shown in Figure 2.7 [61].
The system design space comprises a service-dependent and an implementation-dependent part [61]. The components of the turbo encoder directly define the service-dependent part of the system design space: component codes, the interleaver, the puncturer and the modulator. Though the required number of iterations is implementation-dependent, this number may also depend on the service to realize different qualities of service. For static iterations, the number of iterations is predetermined. Dynamic iterations depend on when the soft-output values L 2( ) stabilize.
A general binary convolutional turbo encoder structure using two component encoders is illustrated in Figure 2.8 as an example. It consists of three basic building blocks: an interleaver II, the component encoders, and a puncturing device with a multiplexing unit to compose the codeword. The interleaver is a device...