## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

Channel coding lies at the heart of digital communication and data storage, and this detailed introduction describes the core theory as well as decoding algorithms, implementation details, and performance analyses. Known for their writing clarity, Professors Ryan and Lin provide the latest information on modern channel codes, including turbo and low-density parity-check (LDPC) codes. They also present detailed coverage of BCH codes, Reed-Solomon codes, convolutional codes, finite geometry codes, and product codes, providing a one-stop resource for both classical and modern coding techniques. Assuming no prior knowledge in the field of channel coding, the opening chapters begin with basic theory to introduce newcomers to the subject. Later chapters then extend to advanced topics such as code ensemble performance analyses and algebraic code design. 250 varied and stimulating end-of-chapter problems are also included to test and enhance learning, making this an essential resource for students and practitioners alike.

1. Cover
2. Title Page
4. Contents
5. Preface
6. 1 Coding and Capacity
1. 1.1 Digital Data Communication and Storage
2. 1.2 Channel-Coding Overview
3. 1.3 Channel-Code Archetype: The (7,4) Hamming Code
4. 1.4 Design Criteria and Performance Measures
5. 1.5 Channel-Capacity Formulas for Common Channel Models
6. Problems
7. References
7. 2 Finite Fields, Vector Spaces, Finite Geometries, and Graphs
1. 2.1 Sets and Binary Operations
2. 2.2 Groups
3. 2.3 Fields
4. 2.4 Vector Spaces
5. 2.6 Construction and Properties of Galois Fields
6. 2.7 Finite Geometries
7. 2.8 Graphs
8. Problems
9. References
10. Appendix A
8. 3 Linear Block Codes
1. 3.1 Introduction to Linear Block Codes
2. 3.2 Cyclic Codes
3. 3.3 BCH Codes
4. 3.3.1 Code Construction
5. 3.5 Product, Interleaved, and Concatenated Codes
6. 3.6 Quasi-Cyclic Codes
7. 3.7 Repetition and Single-Parity-Check Codes
8. Problems
9. References
9. 4 Convolutional Codes
1. 4.1 The Convolutional Code Archetype
2. 4.2 Algebraic Description of Convolutional Codes
3. 4.3 Encoder Realizations and Classifications
4. 4.4 Alternative Convolutional Code Representations
5. 4.5 Trellis-Based Decoders
6. 4.6 Performance Estimates for Trellis-Based Decoders
7. Problems
8. References
10. 5 Low-Density Parity-Check Codes
1. 5.1 Representations of LDPC Codes
2. 5.2 Classifications of LDPC Codes 5.2.1 Generalized LDPC Codes
3. 5.3 Message Passing and the Turbo Principle
4. 5.4 The Sum–Product Algorithm
5. 5.5 Reduced-Complexity SPA Approximations
6. 5.6 Iterative Decoders for Generalized LDPC Codes
7. 5.7 Decoding Algorithms for the BEC and the BSC
8. 5.8 Concluding Remarks
9. Problems
10. References
11. 6 Computer-Based Design of LDPC Codes
1. 6.1 The Original LDPC Codes
2. 6.2 The PEG and ACE Code-Design Algorithms
3. 6.3 Protograph LDPC Codes
4. 6.4 Multi-Edge-Type LDPC Codes
5. 6.5 Single-Accumulator-Based LDPC Codes
6. 6.6 Double-Accumulator-Based LDPC Codes
7. 6.7 Accumulator-Based Codes in Standards
8. 6.8 Generalized LDPC Codes
9. Problems
10. References
12. 7 Turbo Codes
1. 7.1 Parallel-Concatenated Convolutional Codes
2. 7.2 The PCCC Iterative Decoder
3. 7.3 Serial-Concatenated Convolutional Codes
4. 7.4 Turbo Product Codes
5. Problems
6. References
13. 8 Ensemble Enumerators for Turbo and LDPC Codes
1. 8.1 Notation
2. 8.2 Ensemble Enumerators for Parallel-Concatenated Codes
3. 8.3 Ensemble Enumerators for Serial-Concatenated Codes
4. 8.4 Enumerators for Selected Accumulator-Based Codes
5. 8.5 Enumerators for Protograph-Based LDPC Codes
6. Problems
7. References
14. 9 Ensemble Decoding Thresholds for LDPC and Turbo Codes
1. 9.1 Density Evolution for Regular LDPC Codes
2. 9.2 Density Evolution for Irregular LDPC Codes
3. 9.3 Quantized Density Evolution
4. 9.4 The Gaussian Approximation
5. 9.5 On the Universality of LDPC Codes
6. 9.6 EXIT Charts for LDPC Codes
7. 9.7 EXIT Charts for Turbo Codes
8. 9.8 The Area Property for EXIT Charts
9. Problems
10. References
15. 10 Finite-Geometry LDPC Codes
1. 10.1 Construction of LDPC Codes Based on Lines of Euclidean Geometries
2. 10.2 Construction of LDPC Codes Based on the Parallel Bundles of Lines in Euclidean Geometries
3. 10.3 Construction of LDPC Codes Based on Decomposition of Euclidean Geometries
4. 10.4 Construction of EG-LDPC Codes by Masking
5. 10.5 Construction of QC-EG-LDPC Codes by Circulant Decomposition
6. 10.6 Construction of Cyclic and QC-LDPC Codes Based on Projective Geometries
7. 10.7 One-Step Majority-Logic and Bit-Flipping Decoding Algorithms for FG-LDPC Codes
8. 10.8 Weighted BF Decoding: Algorithm 1
9. 10.9 Weighted BF Decoding: Algorithms 2 and 3
10. 10.10 Concluding Remarks
11. Problems
12. References
16. 11 Constructions of LDPC Codes Based on Finite Fields
17. 12 LDPC Codes Based on Combinatorial Designs, Graphs, and Superposition
1. 12.1 Balanced Incomplete Block Designs and LDPC Codes
2. 12.2 Class-I Bose BIBDs and QC-LDPC Codes
3. 12.3 Class-II Bose BIBDs and QC-LDPC Codes
4. 12.4 Construction of Type-II Bose BIBD-LDPC Codes by Dispersion
5. 12.5 A Trellis-Based Construction of LDPC Codes
6. 12.6 Construction of LDPC Codes Based on Progressive Edge-Growth Tanner Graphs
7. 12.7 Construction of LDPC Codes by Superposition
8. 12.8 Two Classes of LDPC Codes with Girth 8
9. Problems
10. References
18. 13 LDPC Codes for Binary Erasure Channels
19. 14 Nonbinary LDPC Codes
1. 14.1 Definitions
2. 14.2 Decoding of Nonbinary LDPC Codes
3. 14.3 Construction of Nonbinary LDPC Codes Based on Finite Geometries
4. 14.4 Constructions of Nonbinary QC-LDPC Codes Based on Finite Fields
5. 14.5 Construction of QC-EG-LDPC Codes Based on Parallel Flats in Euclidean Geometries and Matrix Dispersion
6. 14.6 Construction of Nonbinary QC-EG-LDPC Codes Based on Intersecting Flats in Euclidean Geometries and Matrix Dispersion
7. 14.7 Superposition–Dispersion Construction of Nonbinary QC-LDPC Codes
8. Problems
9. References
20. 15 LDPC Code Applications and Advanced Topics
1. 15.1 LDPC-Coded Modulation
2. 15.2 Turbo Equalization and LDPC Code Design for ISI Channels
3. 15.3 Estimation of LDPC Error Floors
4. 15.4 LDPC Decoder Design for Low Error Floors
5. 15.5 LDPC Convolutional Codes
6. 15.6 Fountain Codes
7. Problems
8. References
21. Index