Turbo Coding presents a unified view of the revolutionary field of turbo error control coding, summarizing recent results in the areas of encoder structure and performance analysis. The book also introduces new material, including a general theory for the analysis and design of interleavers, and a unified framework for the analysis and design of decoding algorithms. Turbo Coding explains the basics of turbo error control coding in a straightforward manner, while making its potential impact on the design of digital communication systems as clear as possible. Chapters have been provided on the structure and performance of convolutional codes, interleaver design, and the structure and function of iterative decoders. The book also provides insight into the theory that underlies turbo error control, and briefly summarizes some of the ongoing research efforts. Recent efforts to develop a general theory that unites the Viterbi and BCJR algorithms are discussed in detail. A chapter is provided on the newly discovered connection between iterative decoding and belief propagation in graphs, showing that this leads to parallel algorithms that outperform currently used turbo decoding algorithms. Turbo Coding is a primary resource for both researchers and teachers in the field of error control coding.