This popular textbook on error control coding has been thoroughly revised and updated to include all the important new developments in the field over the past 20 years. Three major new topics in the theory and application of coding are highlighted in this second edition: trellis and block coded modulation to achieve bandwidth efficiency; practical soft-decision decoding methods for block codes; soft-input, soft-output iterative decoding techniques for block and convolutional codes. A total of seven completely new chapters are devoted to these three topics. Chapter 9: Trellises for Linear Block Codes Chapter 10: Reliability-Based Soft-Decision Decoding Algorithms for Linear Block Codes Chapter 14: Trellis-Based Soft-Decision Decoding Algorithms for Linear Block Codes Chapter 16: Turbo Coding Chapter 17: Low-Density Parity Check Codes Chapter 18: Trellis Coded Modulation Chapter 19: Block Coded Modulation Continuing with the style that made the first edition so successful, the authors present the essential aspects of complex material in an easily understood manner requiring only a minimum of mathematical background. Many examples and performance curves are included to help illustrate important concepts. Extensive sets of exercises and references are given at the end of each chapter. This makes the book well suited as a text for a first course in coding theory at either the beginning graduate or advanced undergraduate level. Various choices of topics can be included in one semester. Alternately, most of the book can be covered in a two-semester sequence. Because of its comprehensive coverage of the fundamental theory and practical application of error control coding systems and its many lists of optimum codes, the book is also ideal as a reference for practicing digital system designers.Shu Lin is the author of 'Error Control Coding (2nd Edition)', published 2004 under ISBN 9780130426727 and ISBN 0130426725.