Book contents
- Frontmatter
- Contents
- Preface
- Notation
- Commonly used abbreviations
- 1 Channels, codes and capacity
- 2 Low-density parity-check codes
- 3 Low-density parity-check codes: properties and constructions
- 4 Convolutional codes
- 5 Turbo codes
- 6 Serial concatenation and RA codes
- 7 Density evolution and EXIT charts
- 8 Error floor analysis
- References
- Index
5 - Turbo codes
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Notation
- Commonly used abbreviations
- 1 Channels, codes and capacity
- 2 Low-density parity-check codes
- 3 Low-density parity-check codes: properties and constructions
- 4 Convolutional codes
- 5 Turbo codes
- 6 Serial concatenation and RA codes
- 7 Density evolution and EXIT charts
- 8 Error floor analysis
- References
- Index
Summary
Introduction
In this chapter we introduce turbo codes, the ground-breaking codes introduced by Berrou, Glavieux and Thitimajshima in 1993 [82], which sparked a complete rethink of how we do error correction. Turbo codes are the parallel concatenation of two convolutional codes which, at the receiver, share information between their respective decoders. Thus most of what we need for a turbo code has already been presented in the previous chapter. The turbo encoder uses two convolutional encoders (see Section 4.2) while the turbo decoder uses two copies of the log BCJR decoder (see Section 4.3).
The exceptional performance of turbo codes is due to the long pseudo-random interleaver, introduced below, which produces codes reminiscent of Shannon's noisy channel coding theorem, and to the low-complexity iterative algorithm that makes their implementation feasible.
In the first part of this chapter we discuss how the component convolutional codes and interleaver combine to form a turbo code. We then consider the properties of a turbo code that affect its iterative decoding performance and describe turbo code design strategies. Our aim here is to convey basic information about the encoding, decoding and design of turbo codes; a deeper understanding of these codes and of the decoding process is left to later chapters.
Turbo encoders
At the encoder, turbo codes use a parallel concatenation of two convolutional component encoders, as shown in Figure 5.1.
- Type
- Chapter
- Information
- Iterative Error CorrectionTurbo, Low-Density Parity-Check and Repeat-Accumulate Codes, pp. 165 - 200Publisher: Cambridge University PressPrint publication year: 2009
- 2
- Cited by