### Available:*

Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|

Searching... | 30000010275381 | CP 027184 | Computer File Accompanies Open Access Book | Compact Disc Accompanies Open Access Book | Searching... |

### On Order

### Summary

### Summary

This practical resource provides engineers with a comprehensive understanding of error control coding, an essential and widely applied area in modern digital communications. The goal of error control coding is to encode information in such a way that even if the channel (or storage medium) introduces errors, the receiver can correct the errors and recover the original transmitted information. This book includes the most useful modern and classic codes, including block, Reed Solomon, convolutional, turbo, and LDPC codes. Professionals find clear guidance on code construction, decoding algorithms, and error correcting performances. Moreover, this unique book introduces computer simulations integrally to help readers master key concepts. Including a companion DVD with MATLAB programs and supported with over 540 equations, this hands-on reference provides an in-depth treatment of a wide range of practical implementation issues. DVD is included It contains carefully designed MATLAB programs that practitioners can apply to their projects in the field.

### Author Notes

Yuan Jiang is an independent consultant in the area of digital communications and signal processing. He has more than 15 years of experience working for leading high-tech companies, including Nortel Networks, Lucent Technologies, and Cadence Design Systems. He holds a B.S. and an M.S. from Zhejiang University in China and the State University of New York at Buffalo, respectively.

### Table of Contents

Preface | p. ix |

1 Error Control in Digital Communications and Storage | p. 1 |

1.1 Error Control Coding at a Glance | p. 1 |

1.1.1 Codes for Error Control | p. 1 |

1.1.2 Important Concepts | p. 5 |

1.2 Channel Capacity and Shannon's Theorem | p. 14 |

1.3 Considerations When Selecting Coding Schemes | p. 16 |

References | p. 17 |

Selected Bibliography | p. 17 |

2 Brief Introduction to Abstract Algebra | p. 19 |

2.1 Elementary Algebraic Structures | p. 19 |

2.1.1 Group | p. 19 |

2.1.2 Field | p. 22 |

2.2 Galois Field and Its Arithmetic | p. 25 |

2.2.1 Galois Field | p. 25 |

2.2.2 Arithmetic in GF (2 m ) | p. 33 |

2.3 Implementation of GF (2 m ) Arithmetic | p. 36 |

2.3.1 Arithmetic with Polynomial Representation | p. 36 |

2.3.2 Arithmetic with Power Representation | p. 39 |

2.3.3 A Special Case: Inversion | p. 40 |

Problems | p. 43 |

References | p. 44 |

Selected Bibliography | p. 44 |

3 Binary Block Codes | p. 45 |

3.1 Linear Block Codes | p. 45 |

3.1.1 Code Construction and Properties | p. 45 |

3.1.2 Decoding Methods | p. 51 |

3.1.3 Performance of Linear Block Codes | p. 60 |

3.1.4 Encoder and Decoder Designs | p. 65 |

3.1.5 Hamming Codes | p. 66 |

3.2 Cyclic Codes | p. 73 |

3.2.1 Basic Principles | p. 74 |

3.2.2 Shift Register-Based Encoder and Decoder | p. 81 |

3.2.3 Shortened Cyclic Codes and CRC | p. 91 |

3.3 BCH Codes | p. 95 |

3.3.1 Introduction | p. 97 |

3.3.2 BCH Bound and Vandermonde Matrix | p. 100 |

3.3.3 Decoding BCH Codes | p. 101 |

Problems | p. 110 |

References | p. 111 |

Selected Bibliography | p. 112 |

4 Reed-Solomon Codes | p. 113 |

4.1 Introduction to RS Codes | p. 113 |

4.1.1 Prelude: Nonbinary BCH Codes | p. 113 |

4.1.2 Reed-Solomon Codes | p. 117 |

4.2 Decoding of RS Codes | p. 123 |

4.2.1 General Remarks | p. 123 |

4.2.2 Determining the Error Location Polynomial | p. 124 |

4.2.3 Frequency-Domain Decoding | p. 135 |

4.2.4 Error and Erasure Decoding | p. 140 |

4.3 RS Decoder: From Algorithm to Architecture | p. 143 |

4.3.1 Syndrome Computation Circuit | p. 143 |

4.3.2 Architectures for Berlekamp-Massey Algorithm | p. 143 |

4.3.3 Circuit for Chien Search and Forney's Algorithm | p. 149 |

4.4 Standardized RS Codes | p. 149 |

Problems | p. 150 |

References | p. 151 |

5 Convolutional Codes | p. 153 |

5.1 Fundamentals of Convolutional Codes | p. 153 |

5.1.1 Code Generation and Representations | p. 153 |

5.1.2 Additional Matters | p. 161 |

5.2 Decoding of Convolutional Codes | p. 165 |

5.2.1 Optimum Convolutional Decoding and Viterbi Algorithm | p. 166 |

5.2.2 Sequential Decoding | p. 179 |

5.3 Designing Viterbi Decoders | p. 189 |

5.3.1 Typical Design Issues | p. 189 |

5.3.2 Design for High Performance | p. 197 |

5.4 Good Convolutional Codes | p. 201 |

5.4.1 Catastrophic Error Propagation | p. 202 |

5.4.2 Some Known Good Convolutional Codes | p. 202 |

5.5 Punctured Convolutional Codes | p. 202 |

Problems | p. 210 |

References | p. 210 |

Selected Bibliography | p. 212 |

6 Modern Codes | p. 213 |

6.1 Turbo Codes | p. 213 |

6.1.1 Code Concatenation | p. 213 |

6.1.2 Concatenating Codes in Parallel: Turbo Code | p. 218 |

6.1.3 Iterative Decoding of Turbo Codes | p. 228 |

6.1.4 Implementing MAP | p. 250 |

6.2 Low-Density Parity-Check Codes | p. 252 |

6.2.1 Codes with Sparse Parity-Check Matrix | p. 254 |

6.2.2 Decoding and Encoding Algorithms | p. 259 |

6.2.3 High-Level Architecture Design for LDPC Decoders | p. 270 |

Problems | p. 272 |

References | p. 274 |

Selected Bibliography | p. 276 |

About the Author | p. 277 |

Index | p. 279 |