Intel编译MIC提示错误:catastrophic error: *MIC* cannot open source file "stdio.h"

cxllyg 2016-02-15 11:21:24
在RedHat操作系统上,用Intel Parallel Studio XE Professional 版本下的icc命令编译MIC程序,提示catastrophic error: *MIC* cannot open source file "stdio.h",有大侠知道怎么回事吗
...全文
1412 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Error Correction Coding - Mathematical Methods and Algorithms (Source Files Contained).pdf Error Correction Coding Mathematical Methods and Algorithms Todd K. Moon Utah State University @ E ! C I E N C E A JOHN WILEY & SONS, INC., PUBLICATION Preface vii List of Program Files xxxi List of Laboratory Exercises XXXii List of Algorithms d V List of Figures XI List of Tables xlii List of Boxes Xliii Part I Introduction and Foundations 1 A Context for Error Correction Coding 2 1.1 F’urpose of This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Introduction: Where Are Codes? . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 The Communications System . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Basic Digital Communications . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4.1 Binary Phase-Shift Keying . . . . . . . . . . . . . . . . . . . . . . 10 1.4.2 More General Digital Modulation . . . . . . . . . . . . . . . . . . 11 1.5 Signal Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.1 The Gaussian Channel . . . . . . . . . . . . . . . . . . . . . . . . 14 1 S.2 MAP and ML Detection . . . . . . . . . . . . . . . . . . . . . . . 16 1.5.3 Special Case: Binary Detection . . . . . . . . . . . . . . . . . . . 18 1.5.4 Probability of Error for Binary Detection . . . . . . . . . . . . . . 19 1 S.5 Bounds on Performance: The Union Bound . . . . . . . . . . . . . 22 1.5.6 The Binary Symmetric Channel . . . . . . . . . . . . . . . . . . . 23 1 S.7 The BSC and the Gaussian Channel Model . . . . . . . . . . . . . 25 1.6 Memoryless Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.7 Simulation and Energy Considerations for Coded Signals . . . . . . . . . . 26 1.8 Some Important Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.8.1 Detection of Repetition Codes Over a BSC . . . . . . . . . . . . . 28 Soft-Decision Decoding of Repetition Codes Over the AWGN 1.8.3 Simulation of Results . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.8.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.9 HammingCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.9.1 Hard-Input Decoding Hamming Codes . . . . . . . . . . . . . . . 35 1.9.2 Other Representations of the Hamming Code . . . . . . . . . . . . 36 An Algebraic Representation . . . . . . . . . . . . . . . . . . . . . 37 A Polynomial Representation . . . . . . . . . . . . . . . . . . . . 37 1 A Trellis Representation . . . . . . . . . . . . . . . . . . . . . . . 38 The Tanner Graph Representation . . . . . . . . . . . . . . . . . . 38 1.10 The Basic Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.12 A Bit of Information Theory . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.12.1 Definitions for Discrete Random Variables . . . . . . . . . . . . . . 40 Entropy and Conditional Entropy . . . . . . . . . . . . . . . . . . 40 Relative Entropy. Mutual Information. and Channel Capacity . . . . 41 1.12.2 Definitions for Continuous Random Variables . . . . . . . . . . . . 43 1.12.3 The Channel Coding Theorem . . . . . . . . . . . . . . . . . . . . 45 1.12.4 “Proof“ of the Channel Coding Theorem . . . . . . . . . . . . . . . 45 1.12.5 Capacity for the Continuous-Time AWGN Channel . . . . . . . . . 49 1.12.6 Transmission at Capacity with Errors . . . . . . . . . . . . . . . . 51 1.12.7 The Implication of the Channel Coding Theorem . . . . . . . . . . 52 1.11 Historical Milestones of Coding Theory . . . . . . . . . . . . . . . . . . . 40 Lab 1 Simulating a Communications Channel . . . . . . . . . . . . . . . 53 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Use of Coding in Conjunction with the BSC . . . . . . . . . . . . . . . . . 53 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Resources and Implementation Suggestions . . . . . . . . . . . . . . . . . 54 1.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.14 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Part I1 Block Codes 61 2 Groups and Vector Spaces 62 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.2 Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.2.1 Subgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.2.2 Cyclic Groups and the Order of an Element . . . . . . . . . . . . . 66 2.2.3 Cosets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.2.4 Lagrange’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.2.5 Induced Operations; Isomorphism . . . . . . . . . . . . . . . . . . 69 2.2.6 Homomorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.3 Fields: A Prelude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.4 Review of Linear Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3 Linear Block Codes 83 3.1 Basic Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.2 The Generator Matrix Description of Linear Block Codes . . . . . . . . . . 84 3.2.1 Rudimentary Implementation . . . . . . . . . . . . . . . . . . . . . 86 3.3 The Parity Check Matrix and Dual Codes . . . . . . . . . . . . . . . . . . 86 3.3.1 Some Simple Bounds on Block Codes . . . . . . . . . . . . . . . . 88 3.4 Error Detection and Correction over Hard-Input Channels . . . . . . . . . . 90 3.4.1 Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.4.2 Error Correction: The Standard Array . . . . . . . . . . . . . . . . 90 3.6 Hamming Codes and Their Duals . . . . . . . . . . . . . . . . . . . . . . . 97 3.7 Performance of Linear Codes . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.7.1 Error detection performance . . . . . . . . . . . . . . . . . . . . . 99 3.7.2 Error Correction Performance . . . . . . . . . . . . . . . . . . . . 100 3.7.3 Performance for Soft-Decision Decoding . . . . . . . . . . . . . . 103 3.8 Erasure Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.8.1 Binary Erasure Decoding . . . . . . . . . . . . . . . . . . . . . . . 105 3.9 Modifications to Linear Codes . . . . . . . . . . . . . . . . . . . . . . . . 105 3.10 Best Known Linear Block Codes . . . . . . . . . . . . . . . . . . . . . . . 107 3.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 113 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.2 Basic Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.3 Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.3.1 Rings of Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.4 QuotientRings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.5 IdealsinRings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.6 Algebraic Description of Cyclic Codes . . . . . . . . . . . . . . . . . . . . 120 4.7 Nonsystematic Encoding and Parity Check . . . . . . . . . . . . . . . . . . 122 4.8 Systematic Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.9 Some Hardware Background . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.9.1 Computational Building Blocks . . . . . . . . . . . . . . . . . . . 126 4.9.2 Sequences and Power series . . . . . . . . . . . . . . . . . . . . . 127 4.9.3 Polynomial Multiplication . . . . . . . . . . . . . . . . . . . . . . 128 Last-Element-First Processing . . . . . . . . . . . . . . . . . . . . 128 First-Element-First Processing . . . . . . . . . . . . . . . . . . . . 128 4.9.4 Polynomial division . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Last-Element-First Processing . . . . . . . . . . . . . . . . . . . . 129 4.9.5 Simultaneous Polynomial Division and Multiplication . . . . . . . 132 First-Element-First Processing . . . . . . . . . . . . . . . . . . . . 132 4.10 Cyclic Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.1 1 Syndrome Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.12 Shortened Cyclic Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . Method 1: Simulating the Extra Clock Shifts . . . . . . . . . . . . 144 Method 2: Changing the Error Pattern Detection Circuit . . . . . . 147 4.13 Binary CRC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.13.1 Byte-Oriented Encoding and Decoding Algorithms . . . . . . . . . 150 4.13.2 CRC Protecting Data Files or Data Packets . . . . . . . . . . . . . 153 Appendix 4.A Linear Feedback Shift Registers . . . . . . . . . . . . . . . . . . . 154 Appendix 4.A. 1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . 154 Appendix 4.A.2 Connection With Polynomial Division Appendix 4.A.3 Some Algebraic Properties of Shift Sequences . . . . . . . 3.5 Weight Distributions of Codes and Their Duals . . . . . . . . . . . . . . . 95 4 Cyclic Codes, Rings, and Polynomials 143 . . . . . . . . . . . 157 160 Lab 2 Polynomial Division and Linear Feedback Shift Registers . . . 161 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Preliminary Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Programming Part: BinLFSR . . . . . . . . . . . . . . . . . . . . . . . . 161 Resources and Implementation Suggestions . . . . . . . . . . . . . . . . . 161 Programming Part: BinPolyDiv . . . . . . . . . . . . . . . . . . . . . . 162 Follow-On Ideas and Problems . . . . . . . . . . . . . . . . . . . . . . . . 162 Lab 3 CRC Encoding and Decoding . . . . . . . . . . . . . . . . . . . . . 162 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Preliminary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Resources and Implementation Suggestions . . . . . . . . . . . . . . . . . 163 4.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4.15 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5 Rudiments of Number Theory and Algebra 171 5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.2 Number Theoretic Preliminaries . . . . . . . . . . . . . . . . . . . . . . . 175 5.2.1 Divisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 5.2.3 The Sugiyama Algorithm . . . . . . . . . . . . . . . . . . . . . . . 182 5.2.4 Congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 5.2.5 The q!~ Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 5.2.6 Some Cryptographic Payoff . . . . . . . . . . . . . . . . . . . . . 186 Fermat's Little Theorem . . . . . . . . . . . . . . . . . . . . . . . 186 RSA Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 5.3 The Chinese Remainder Theorem . . . . . . . . . . . . . . . . . . . . . . . 188 5.3.1 The CRT and Interpolation . . . . . . . . . . . . . . . . . . . . . . 190 The Evaluation Homomorphism . . . . . . . . . . . . . . . . . . . 190 The Interpolation Problem . . . . . . . . . . . . . . . . . . . . . . 191 5.4 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 5.4.1 An Examination of IR and C . . . . . . . . . . . . . . . . . . . . . 194 5.4.2 Galois Field Construction: An Example . . . . . . . . . . . . . . . 196 5.4.3 Connection with Linear Feedback Shift Registers . . . . . . . . . . 199 5.5 Galois Fields: Mathematical Facts . . . . . . . . . . . . . . . . . . . . . . 200 5.6 Implementing Galois Field Arithmetic . . . . . . . . . . . . . . . . . . . . 204 5.6.1 Zech Logarithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 5.6.2 Hardware Implementations . . . . . . . . . . . . . . . . . . . . . . 205 5.7 Subfields of Galois Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 5.8 Irreducible and Primitive polynomials . . . . . . . . . . . . . . . . . . . . 207 5.9 Conjugate Elements and Minimal Polynomials . . . . . . . . . . . . . . . . 209 5.9.1 Minimal Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . 212 5.10 Factoring x" - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 5.1 1 Cyclotomic Cosets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Programming the Euclidean Algorithm . . . . . . . . . . . . . . . 223 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Preliminary Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Preliminary Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 5.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 5.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Lab 5 Programming Galois Field Arithmetic . . . . . . . . . . . . . . . . 224 6 BCH and Reed-Solomon Codes: Designer Cyclic Codes 235 6.1 BCHCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 6.1.1 Designing BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . 235 6.1.2 TheBCHBound . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 6.1.3 Weight Distributions for Some Binary BCH Codes . . . . . . . . . 239 6.1.4 Asymptotic Results for BCH Codes . . . . . . . . . . . . . . . . . 240 6.2 Reed-Solomon Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 6.2.1 Reed-Solomon Construction 1 . . . . . . . . . . . . . . . . . . . . 242 6.2.2 Reed-Solomon Construction 2 . . . . . . . . . . . . . . . . . . . . 243 6.2.3 Encoding Reed-Solomon Codes . . . . . . . . . . . . . . . . . . . 244 6.2.4 MDS Codes and Weight Distributions for RS Codes . . . . . . . . . 245 Decoding BCH and RS Codes: The General Outline . . . . . . . . . . . . . 247 6.3.1 Computation of the Syndrome . . . . . . . . . . . . . . . . . . . . 247 6.3.2 The Error Locator Polynomial . . . . . . . . . . . . . . . . . . . . 248 6.3.3 ChienSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 6.4 Finding the Error Locator Polynomial . . . . . . . . . . . . . . . . . . . . 250 6.4.2 Berlekamp-Massey Algorithm . . . . . . . . . . . . . . . . . . . . 253 Simplifications for Binary Codes . . . . . . . . . . . . . . . . . . . 259 6.5 Non-Binary BCH and RS Decoding . . . . . . . . . . . . . . . . . . . . . 261 6.5.1 Forney’s Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 262 6.6 Euclidean Algorithm for the Error Locator Polynomial . . . . . . . . . . . 266 Erasure Decoding for Nonbinary BCH or RS codes . . . . . . . . . . . . . 267 6.8 Galois Field Fourier Transform Methods . . . . . . . . . . . . . . . . . . . 269 6.8.1 Equivalence of the Two Reed-Solomon Code Constructions . . . . 274 6.8.2 Frequency-Domain Decoding . . . . . . . . . . . . . . . . . . . . 275 6.9 Variations and Extensions of Reed-Solomon Codes . . . . . . . . . . . . . 276 6.9.1 Simple Modifications . . . . . . . . . . . . . . . . . . . . . . . . . 276 6.9.3 GoppaCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Decoding Alternant Codes . . . . . . . . . . . . . . . . . . . . . . 280 The McEliece Public Key Cryptosystem . . . . . . . . . . . . . . . 280 Lab 6 Programming the Berlekamp-Massey Algorithm . . . . . . . . . 281 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Preliminary Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Resources and Implementation Suggestions Lab 7 programming the BCH Decoder . . . . . . . . . . . . . . . . . . . 283 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Preliminary Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Resources and Implementation Suggestions . . . . . . . . . . . . . . . . . 283 Follow-On Ideas and Problems . . . . . . . . . . . . . . . . . . . . . . . . 284 Lab 8 Reed-Solomon Encoding and Decoding . . . . . . . . . . . . . . 284 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Appendix 6.A Proof of Newton’s Identities . . . . . . . . . . . . . . . . . . . . . 285 6.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 6.1 1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 293 7.1 Introduction: Workload for Reed-Solomon Decoding . . . . . . . . . . . . 293 7.2 Derivations of Welch-Berlekamp Key Equation . . . . . . . . . . . . . . . 293 7.3 Finding the Error Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 7.4 Methods of Solving the WB Key Equation . . . . . . . . . . . . . . . . . . 302 7.4.1 Background: Modules . . . . . . . . . . . . . . . . . . . . . . . . 302 7.4.2 The Welch-Berlekamp Algorithm . . . . . . . . . . . . . . . . . . 303 7.4.3 Modular Solution of the WB Key Equation . . . . . . . . . . . . . 310 7.6.1 Bounded Distance, ML, and List Decoding . . . . . . . . . . . . . 322 Error Correction by Interpolation . . . . . . . . . . . . . . . . . . . 323 7.6.3 Polynomials in ?Lvo Variables . . . . . . . . . . . . . . . . . . . . 324 Degree and Monomial Order . . . . . . . . . . . . . . . . . . . . . 325 Zeros and Multiple Zeros . . . . . . . . . . . . . . . . . . . . . . . 328 7.6.4 The GS Decoder: The Main Theorems . . . . . . . . . . . . . . . . 330 The Interpolation Theorem . . . . . . . . . . . . . . . . . . . . . . 331 The Factorization Theorem . . . . . . . . . . . . . . . . . . . . . . 331 The Correction Distance . . . . . . . . . . . . . . . . . . . . . . . 333 The Number of Polynomials in the Decoding List . . . . . . . . . . 335 Algorithms for Computing the Interpolation Step . . . . . . . . . . 337 Finding Linearly Dependent Columns: The Feng-Tzeng Algorithm 338 Finding the Intersection of Kernels: The Katter Algorithm . . . . . 342 7.6.6 A Special Case: m = 1 and L = 1 . . . . . . . . . . . . . . . . . . 348 7.6.7 The Roth-Ruckenstein Algorithm . . . . . . . . . . . . . . . . . . 350 What to Do with Lists of Factors? . . . . . . . . . . . . . . . . . . 354 7.6.8 Soft-Decision Decoding of Reed-Solomon Codes . . . . . . . . . . 358 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 A Factorization Theorem . . . . . . . . . . . . . . . . . . . . . . . 360 Mapping from Reliability to Multiplicity . . . . . . . . . . . . . . 361 The Geometry of the Decoding Regions . . . . . . . . . . . . . . . 363 Computing the Reliability Matrix . . . . . . . . . . . . . . . . . . 364 7.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 7.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 8 Other Important Block Codes 369 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 8.2 Hadamard Matrices. Codes. and Transforms . . . . . . . . . . . . . . . . . 369 8.2.1 Introduction to Hadamard Matrices . . . . . . . . . . . . . . . . . 369 8.2.2 The Paley Construction of Hadamard Matrices . . . . . . . . . . . 371 8.2.3 Hadamard Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 8.3 Reed-Muller Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 8.3.1 Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 375 8.3.2 Definition of the Reed-Muller Codes . . . . . . . . . . . . . . . . . 376 8.3.3 Encoding and Decoding Algorithms for First-Order RM Codes . . . 379 Encoding RM (1. m) Codes . . . . . . . . . . . . . . . . . . . . . 379 Decoding RM(1, m) Codes . . . . . . . . . . . . . . . . . . . . . 379 Expediting Decoding Using the Fast Hadamard Transform . . . . . 382 The Reed Decoding Algorithm for RM(r. m) Codes, I 2 1 . . . . . 384 Details for an RM(2. 4) Code . . . . . . . . . . . . . . . . . . . . 384 8.3.5 Other Constructions of Reed-Muller Codes . . . . . . . . . . . . . 391 Building Long Codes from Short Codes: The Squaring Construction . . . . 392 8.3.4 A Geometric Viewpoint . . . . . . . . . . . . . . . . . . . . . . . 387 8.4 8.5 Quadratic Residue Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 8.6 Golaycodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 8.6.1 Decoding the Golay Code . . . . . . . . . . . . . . . . . . . . . . 400 Algebraic Decoding of the $23 Golay Code . . . . . . . . . . . . . 400 Arithmetic Decoding of the 524 Code . . . . . . . . . . . . . . . . 401 8.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 8.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 9 Bounds on Codes 406 9.1 The Gilbert-Varshamov Bound . . . . . . . . . . . . . . . . . . . . . . . . 409 9.2 The Plotkin Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 9.3 The Griesmer Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 9.4 The Linear Programming and Related Bounds . . . . . . . . . . . . . . . . 413 9.4.1 Krawtchouk Polynomials . . . . . . . . . . . . . . . . . . . . . . . 415 9.4.2 Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 9.4.3 Krawtchouk Polynomials and Characters . . . . . . . . . . . . . . 416 9.5 The McEliece-Rodemich-Rumsey-WelcBh ound . . . . . . . . . . . . . . . 418 9.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 9.7 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 10 Bursty Channels. Interleavers. and Concatenation 425 10.1 Introduction to Bursty Channels . . . . . . . . . . . . . . . . . . . . . . . 425 10.2 Interleavers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.3 An Application of Interleaved RS Codes: Compact Discs . . . . . . . . . . 427 10.4 Productcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 10.5 Reed-Solomon Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 10.6 Concatenated Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 10.7 Fire Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 10.7.1 Fire Code Definition . . . . . . . . . . . . . . . . . . . . . . . . . 433 10.7.2 Decoding Fire Codes: Error Trapping Decoding . . . . . . . . . . . 435 10.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 10.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 11 Soft-Decision Decoding Algorithms 439 1 1.2 Generalized Minimum Distance Decoding . . . . . . . . . . . . . . . . . . 441 11.1 Introduction and General Notation . . . . . . . . . . . . . . . . . . . . . . 439 1 1.2.1 Distance Measures and Properties . . . . . . . . . . . . . . . . . . 442 1 1.3 The Chase Decoding Algorithms . . . . . . . . . . . . . . . . . . . . . . . 445 11.4 Halting the Search: An Optimality Condition . . . . . . . . . . . . . . . . 445 1 1.5 Ordered Statistic Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . 447 1 1.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 1 1.7 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Part I11 Codes on Graphs 12 Convolutional Codes 452 12.1 Introduction and Basic Notation . . . . . . . . . . . . . . . . . . . . . . . 452 12.1.1 TheState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 12.2 Definition of Codes and Equivalent Codes . . . . . . . . . . . . . . . . . . 458 12.2.1 Catastrophic Encoders . . . . . . . . . . . . . . . . . . . . . . . . 461 12.2.2 Polynomial and Rational Encoders . . . . . . . . . . . . . . . . . . 464 12.2.3 Constraint Length and Minimal Encoders . . . . . . . . . . . . . . 465 12.2.4 Systematic Encoders . . . . . . . . . . . . . . . . . . . . . . . . . 468 12.3 Decoding Convolutional Codes . . . . . . . . . . . . . . . . . . . . . . . . 469 12.3.1 Introduction and Notation . . . . . . . . . . . . . . . . . . . . . . 469 12.3.2 The Viterbi Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 471 12.3.3 Some Implementation Issues . . . . . . . . . . . . . . . . . . . . . 481 The Basic Operation: Add-Compare-Select . . . . . . . . . . . . . 481 Decoding Streams of Data: Windows on the Trellis . . . . . . . . . 481 Output Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Hard and Soft Decoding; Quantization . . . . . . . . . . . . . . . . 484 Synchronization Issues . . . . . . . . . . . . . . . . . . . . . . . . 486 12.4 Some Performance Results . . . . . . . . . . . . . . . . . . . . . . . . . . 487 12.5 Error Analysis for Convolutional Codes . . . . . . . . . . . . . . . . . . . 491 12.5.1 Enumerating Paths Through the Trellis . . . . . . . . . . . . . . . . 493 Enumerating on More Complicated Graphs: Mason’s Rule . . . . . 496 12.5.2 Characterizing the Node Error Probability P, and the Bit Error Rate Pb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 12.5.3 A Bound on Pd for Discrete Channels . . . . . . . . . . . . . . . . 501 Performance Bound on the BSC . . . . . . . . . . . . . . . . . . . 503 12.5.4 A Bound on Pd for BPSK Signaling Over the AWGN Channel . . . 503 12.5.5 Asymptotic Coding Gain . . . . . . . . . . . . . . . . . . . . . . . 504 12.6 Tables of Good Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 12.7 Puncturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 Puncturing to Achieve Variable Rate . . . . . . . . . . . . . . . . . 509 12.8 SuboptimalDecodingAlgorithmsforConvolutionalCodes . . . . . . . . . 510 12.8.1 Tree Representations . . . . . . . . . . . . . . . . . . . . . . . . . 511 12.8.2 The Fano Metric . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 12.8.3 The Stack Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 515 12.8.4 The Fano Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 517 12.8.5 Other Issues for Sequential Decoding . . . . . . . . . . . . . . . . 520 12.9 Convolutional Codes as Block Codes . . . . . . . . . . . . . . . . . . . . . 522 12.10 Trellis Representations of Block and Cyclic Codes . . . . . . . . . . . . . . 523 12.10.1 Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 12.10.2 Cyclic Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 12.10.3 Trellis Decoding of Block Codes . . . . . . . . . . . . . . . . . . . 525 Programming Convolutional Encoders . . . . . . . . . . . . . . . 526 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 12.1 1 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 12.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 13 'Ikellis Coded Modulation 535 13.1 Adding Redundancy by Adding Signals . . . . . . . . . . . . . . . . . . . 535 13.2 Background on Signal Constellations . . . . . . . . . . . . . . . . . . . . . 535 13.3 TCM Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 The General Ungerboeck Coding Framework . . . . . . . . . . . . 544 13.3.2 The Set Partitioning Idea . . . . . . . . . . . . . . . . . . . . . . . 545 13.4 Some Error Analysis for TCM Codes . . . . . . . . . . . . . . . . . . . . . 546 13.4.1 General Considerations . . . . . . . . . . . . . . . . . . . . . . . . 546 A Description of the Error Events . . . . . . . . . . . . . . . . . . 548 13.4.3 Known Good TCM Codes . . . . . . . . . . . . . . . . . . . . . . 552 13.5 Decodmg TCM Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 13.6 Rotational Invariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 Differential Encoding . . . . . . . . . . . . . . . . . . . . . . . . . 558 Constellation Labels and Partitions . . . . . . . . . . . . . . . . . . 559 13.7 Multidimensional TCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 13.7.1 Some Advantages of Multidimensional TCM . . . . . . . . . . . . 562 13.7.2 Lattices and Sublattices . . . . . . . . . . . . . . . . . . . . . . . . 563 Basic Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 Common Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 Sublattices and Cosets . . . . . . . . . . . . . . . . . . . . . . . . 566 The Lattice Code Idea . . . . . . . . . . . . . . . . . . . . . . . . 567 Sources of Coding Gain in Lattice Codes . . . . . . . . . . . . . . 567 Some Good Lattice Codes . . . . . . . . . . . . . . . . . . . . . . 571 13.8 The V.34 Modem Standard . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Lab 11 Trellis-Coded Modulation Encoding and Decoding . . . . . . . . 578 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 13.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 13.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 Part IV Iteratively Decoded Codes 581 14 lbrbo Codes 582 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 14.2 Encoding Parallel Concatenated Codes . . . . . . . . . . . . . . . . . . . . 584 14.3 Turbo Decoding Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 586 14.3.1 The MAP Decoding Algorithm . . . . . . . . . . . . . . . . . . . . 588 14.3.2 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 14.3.3 Posterior Probability . . . . . . . . . . . . . . . . . . . . . . . . . 590 14.3.4 Computing at and pt . . . . . . . . . . . . . . . . . . . . . . . . . 592 14.3.6 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 14.3.7 Summary of the BCJR Algorithm . . . . . . . . . . . . . . . . . . 596 14.3.8 A MatrixNector Formulation . . . . . . . . . . . . . . . . . . . . . 597 14.3.9 Comparison of the Viterbi and BCJR Algorithms . . . . . . . . . . 598 14.3.10 The BCJR Algorithm for Systematic Codes . . . . . . . . . . . . . 598 14.3.11 Turbo Decoding Using the BCJR Algorithm . . . . . . . . . . . . . 600 The Terminal State of the Encoders . . . . . . . . . . . . . . . . . 602 14.3.12 Likelihood Ratio Decoding . . . . . . . . . . . . . . . . . . . . . . 602 Log Prior Ratio Ap. . . . . . . . . . . . . . . . . . . . . . . . . . 603 Log Posterior A,. . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 14.3.13 Statement of the Turbo Decoding Algorithm . . . . . . . . . . . . . 605 14.3.14 Turbo Decoding Stopping Criteria . . . . . . . . . . . . . . . . . . 605 The Cross Entropy Stopping Criterion . . . . . . . . . . . . . . . . 606 The Sign Change Ratio (SCR) Criterion . . . . . . . . . . . . . . . 607 The Hard Decision Aided (HDA) Criterion . . . . . . . . . . . . . 608 14.3.15 Modifications of the MAP Algorithm . . . . . . . . . . . . . . . . 608 The Max-Log-MAP Algorithm . . . . . . . . . . . . . . . . . . . . 608 14.3.16 Corrections to the Max-Log-MAP Algorithm . . . . . . . . . . . . 609 14.3.17 The Soft Output Viterbi Algorithm . . . . . . . . . . . . . . . . . . 610 14.4 On the Error Floor and Weight Distributions . . . . . . . . . . . . . . . . . 612 14.4.1 The Error Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 14.4.2 Spectral Thinning and Random Interleavers . . . . . . . . . . . . . 614 14.4.3 On Interleavers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 14.5 EXIT Chart Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 14.5.1 TheEXITChart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 Block Turbo Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 14.7 Turbo Equalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 14.7.1 Introduction to Turbo Equalization . . . . . . . . . . . . . . . . . . 626 14.7.2 The Framework for Turbo Equalization . . . . . . . . . . . . . . . 627 Lab 12 Turbo Code Decoding . . . . . . . . . . . . . . . . . . . . . . . . . 629 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 Programming Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 14.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 14.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 15 Low-Density Parity-Check Codes 634 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 15.2 LDPC Codes: Construction and Notation . . . . . . . . . . . . . . . . . . . 635 15.3 Tanner Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 15.4 Transmission Through a Gaussian Channel . . . . . . . . . . . . . . . . . . 638 15.5 Decoding LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640 15.5.1 The Vertical Step: Updating qmn(x) . . . . . . . . . . . . . . . . . 641 15.5.2 Horizontal Step: Updating rmn (x) . . . . . . . . . . . . . . . . . . 644 15.5.3 Terminating andInitializing the Decoding Algorithm . . . . . . . . 647 15.5.4 Summary of the Algorithm . . . . . . . . . . . . . . . . . . . . . . 648 15.5.5 Message Passing Viewpoint . . . . . . . . . . . . . . . . . . . . . 649 15.5.6 Likelihood Ratio Decoder Formulation . . . . . . . . . . . . . . . 649 15.6 Why Low-Density Parity-Check Codes? . . . . . . . . . . . . . . . . . . . 653 15.7 The Iterative Decoder on General Block Codes . . . . . . . . . . . . . . . . 654 15.8 Density Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 15.9 EXIT Charts for LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . 659 15.10 Irregular LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 15.10.1 Degree Distribution Pairs . . . . . . . . . . . . . . . . . . . . . . . 662 15.10.2 Some Good Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 664 15.10.3 Density Evolution for Irregular Codes . . . . . . . . . . . . . . . . 664 15.10.4 Computation and Optimization of Density Evolution . . . . . . . . 667 15.10.5 Using Irregular Codes . . . . . . . . . . . . . . . . . . . . . . . . 668 15.1 1 More on LDPC Code Construction 668 15.1 1.1 A Construction Based on Finite Geometries . . . . . . . . . . . . . 668 15.1 1.2 Constructions Based on Other Combinatoric Objects . . . . . . . . 669 15.12 Encoding LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 15.13 A Variation: Low-Density Generator Matrix Codes . . . . . . . . . . . . . 671 15.14 Serial Concatenated Codes; Repeat-Accumulate Codes . . . . . . . . . . . 671 15.14.1 Irregular RA Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 673 Lab 13 Programming an LDPC Decoder . . . . . . . . . . . . . . . . . . . 674 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 Numerical Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 15.15 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676 15.16 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 16.2 Operations in Semirings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 16.3 Functions on Local Domains . . . . . . . . . . . . . . . . . . . . . . . . . 681 16.4 Factor Graphs and Marginalization . . . . . . . . . . . . . . . . . . . . . . 686 Marginalizing on a Single Variable . . . . . . . . . . . . . . . . . . 687 16.4.2 Marginalizing on All Individual Variables . . . . . . . . . . . . . . 691 16.5 Applications to Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 16.5.1 Blockcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 16.5.2 ModificationstoMessagePassingfor Binary Variables . . . . . . . 695 16.5.3 Trellis Processing and the FonvardBackward Algorithm . . . . . . 696 16.5.4 Turbo Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Summary of Decoding Algorithms on Graphs . . . . . . . . . . . . . . . . 699 16.7 Transformations of Factor Graphs . . . . . . . . . . . . . . . . . . . . . . . 700 16.7.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 16.7.2 Stretching Variable Nodes . . . . . . . . . . . . . . . . . . . . . . 701 16.7.3 Exact Computation of Graphs with Cycles . . . . . . . . . . . . . . 702 16.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 16.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 16 Decoding Algorithms on Graphs 680 16.4.1 16.6 Part V Space-Time Coding 709 17 Fading Channels and Space-Time Codes 710 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 17.2 Fading Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 17.2.1 Rayleigh Fading . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 . . . . . . . . 714 17.3.1 The Narrowband MIMO Channel . . . . . . . . . . . . . . . . . . 716 17.3.2 Diversity Performance with Maximal-Ratio Combining . . . . . . . 717 17.4 Space-Time Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 17.4.1 The Alamouti Code . . . . . . . . . . . . . . . . . . . . . . . . . . 719 17.4.2 A More General Formulation . . . . . . . . . . . . . . . . . . . . . 721 17.4.3 Performance Calculation . . . . . . . . . . . . . . . . . . . . . . . 721 Real Orthogonal Designs . . . . . . . . . . . . . . . . . . . . . . . 723 EncodingandDecodingBasedonOrthogonalDesigns . . . . . . . 724 Generalized Real Orthogonal Designs . . . . . . . . . . . . . . . . 726 17.4.4 Complex Orthogonal Designs . . . . . . . . . . . . . . . . . . . . 727 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 Space-Time Trellis Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 17.5.1 Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729 17.6 How Many Antennas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 17.7 Estimating Channel Information . . . . . . . . . . . . . . . . . . . . . . . 733 17.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 17.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 A Log Likelihood Algebra 735 A.l Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 References Index 739 750
Homage to Alain Glavieux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Chapter 1. Information Theory. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Gérard BATTAIL 1.1. Introduction: the Shannon paradigm . . . . . . . . . . . . . . . . . . . . . 1 1.2. Principal coding functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1. Source coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2. Channel coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.3. Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.4. Standardization of the Shannon diagram blocks. . . . . . . . . . . . 8 1.2.5. Fundamental theorems. . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3. Quantitative measurement of information . . . . . . . . . . . . . . . . . . 9 1.3.1. Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.2. Measurement of self-information . . . . . . . . . . . . . . . . . . . . 10 1.3.3. Entropy of a source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.4. Mutual information measure . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.5. Channel capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3.6. Comments on the measurement of information . . . . . . . . . . . . 15 1.4. Source coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.2. Decodability, Kraft-McMillan inequality. . . . . . . . . . . . . . . . 16 1.4.3. Demonstration of the fundamental theorem . . . . . . . . . . . . . . 17 1.4.4. Outline of optimal algorithms of source coding . . . . . . . . . . . . 18 1.5. Channel coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.5.1. Introduction and statement of the fundamental theorem . . . . . . . 19 1.5.2. General comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5.3. Need for redundancy. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.5.4. Example of the binary symmetric channel . . . . . . . . . . . . . . . 21 1.5.4.1. Hamming’s metric . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.4.2. Decoding with minimal Hamming distance . . . . . . . . . . . . 22 1.5.4.4. Gilbert-Varshamov bound. . . . . . . . . . . . . . . . . . . . . . . 24 1.5.5. A geometrical interpretation . . . . . . . . . . . . . . . . . . . . . . . 25 1.5.6. Fundamental theorem: Gallager’s proof . . . . . . . . . . . . . . . . 26 1.5.6.1. Upper bound of the probability of error. . . . . . . . . . . . . . . 27 1.5.6.2. Use of random coding . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.5.6.3. Form of exponential limits . . . . . . . . . . . . . . . . . . . . . . 30 1.6. Channels with continuous noise. . . . . . . . . . . . . . . . . . . . . . . . 32 1.6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.6.2. A reference model in physical reality: the channel with Gaussian additive noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.6.3. Communication via a channel with additive white Gaussian noise. 35 1.6.3.1. Use of a finite alphabet, modulation. . . . . . . . . . . . . . . . . 35 1.6.3.2. Demodulation, decision margin . . . . . . . . . . . . . . . . . . . 36 1.6.4. Channel with fadings. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.7. Information theory and channel coding . . . . . . . . . . . . . . . . . . . 38 1.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Chapter 2. Block Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Alain POLI 2.1. Unstructured codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.1.1. The fundamental question of message redundancy . . . . . . . . . . 41 2.1.2. Unstructured codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.2.1. Code parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.2.2. Code, coding and decoding . . . . . . . . . . . . . . . . . . . . . . 43 2.1.2.3. Bounds of code parameters . . . . . . . . . . . . . . . . . . . . . . 44 2.2. Linear codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.2. Properties of linear codes . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.2.1. Minimum distance and minimum weight of a code. . . . . . . . 45 2.2.2.2. Linear code base, coding . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.2.3. Singleton bound. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.3. Dual code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.3.1. Reminders of the Gaussian method . . . . . . . . . . . . . . . . . 46 2.2.3.2. Lateral classes of a linear code C . . . . . . . . . . . . . . . . . . 47 2.2.3.3. Syndromes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.2.3.4. Decoding and syndromes . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.3.5. Lateral classes, syndromes and decoding. . . . . . . . . . . . . . 49 2.2.3.6. Parity check matrix and minimum code weight . . . . . . . . . . 49 2.2.3.7. Minimum distance of C and matrix H. . . . . . . . . . . . . . . . 50 2.2.4. Some linear codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.2.5. Decoding of linear codes . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.3. Finite fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.3.1. Basic concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.3.2. Polynomial modulo calculations: quotient ring . . . . . . . . . . . . 53 2.3.3. Irreducible polynomial modulo calculations: finite field. . . . . . . 54 2.3.4. Order and the opposite of an element of F2[X]/(p(X)) . . . . . . . . 54 2.3.4.1. Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.4.2. Properties of the order . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.4.3. Primitive elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.3.4.4. Use of the primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.4.5. How to find a primitive . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.4.6. Exponentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.3.5. Minimum polynomials. . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.3.6. The field of nth roots of unity . . . . . . . . . . . . . . . . . . . . . . . 60 2.3.7. Projective geometry in a finite field . . . . . . . . . . . . . . . . . . . 61 2.3.7.1. Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.3.7.2. Projective subspaces of order 1. . . . . . . . . . . . . . . . . . . . 61 2.3.7.3. Projective subspaces of order t . . . . . . . . . . . . . . . . . . . . 61 2.3.7.4. An example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.3.7.5. Cyclic codes and projective geometry. . . . . . . . . . . . . . . . 62 2.4. Cyclic codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.4.2. Base, coding, dual code and code annihilator . . . . . . . . . . . . . 63 2.4.2.1. Cyclic code base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.4.2.2. Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4.2.3. Annihilator and dual of a cyclic code C. . . . . . . . . . . . . . . 65 2.4.2.4. Cyclic code and error correcting capability: roots of g(X). . . . 66 2.4.2.5. The Vandermonde determinant. . . . . . . . . . . . . . . . . . . . 66 2.4.2.6. BCH theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.4.3. Certain cyclic codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.4.3.1. Hamming codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.4.3.2. BCH codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.4.3.3. Fire codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.4.3.4. RM codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.4.3.5. RS codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.4.3.6. Codes with true distance greater than their BCH distance . . . . 71 2.4.3.7. PG-codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.4.3.8. QR codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.4.4. Existence and construction of cyclic codes. . . . . . . . . . . . . . . 74 2.4.4.1. Existence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 2.4.4.2. Construction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2.4.4.3. Shortened codes and extended codes . . . . . . . . . . . . . . . . 79 2.4.4.4. Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 2.4.4.5. How should we look for a cyclic code?. . . . . . . . . . . . . . . 79 2.4.4.6. How should we look for a truncated cyclic code?. . . . . . . . . 81 2.4.5. Applications of cyclic codes . . . . . . . . . . . . . . . . . . . . . . . 82 2.5. Electronic circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.5.1. Basic gates for error correcting codes. . . . . . . . . . . . . . . . . . 82 2.5.2. Shift registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.5.3. Circuits for the correct codes . . . . . . . . . . . . . . . . . . . . . . . 83 2.5.3.1. Divisors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.5.3.2. Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 2.5.3.3. Multiplier-divisors . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 2.5.3.4. Encoder (systematic coding) . . . . . . . . . . . . . . . . . . . . . 84 2.5.3.5. Inverse calculation in Fq . . . . . . . . . . . . . . . . . . . . . . . . 85 2.5.3.6. Hsiao decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 2.5.3.7. Meggitt decoder (natural code). . . . . . . . . . . . . . . . . . . . 86 2.5.3.8. Meggitt decoder (shortened code) . . . . . . . . . . . . . . . . . . 87 2.5.4. Polynomial representation and representation to the power of a primitive representation for a field . . . . . . . . . . . . . . . . . . . . . . 87 2.6. Decoding of cyclic codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 2.6.1. Meggitt decoding (trapping of bursts). . . . . . . . . . . . . . . . . . 88 2.6.1.1. The principle of trapping of bursts. . . . . . . . . . . . . . . . . . 88 2.6.1.2. Trapping in the case of natural Fire codes . . . . . . . . . . . . . 88 2.6.1.3. Trapping in the case of shortened Fire codes. . . . . . . . . . . . 89 2.6.2. Decoding by the DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.6.2.1. Definition of the DFT . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.6.2.2. Some properties of the DFT. . . . . . . . . . . . . . . . . . . . . . 89 2.6.2.3. Decoding using the DFT. . . . . . . . . . . . . . . . . . . . . . . . 92 2.6.3. FG-decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.6.3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.6.3.2. Solving a system of polynomial equations with several variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 2.6.3.3. Two basic operations. . . . . . . . . . . . . . . . . . . . . . . . . . 96 2.6.3.4. The algorithm of B. Buchberger . . . . . . . . . . . . . . . . . . . 96 2.6.3.5. FG-decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 2.6.4. Berlekamp-Massey decoding. . . . . . . . . . . . . . . . . . . . . . . 99 2.6.4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 2.6.4.2. Existence of a key equation. . . . . . . . . . . . . . . . . . . . . . 100 2.6.4.3. The solution by successive stages . . . . . . . . . . . . . . . . . . 100 2.6.4.4. Some properties of dj. . . . . . . . . . . . . . . . . . . . . . . . . . 101 2.6.4.5. Property of an optimal solution (aj(X),bj(X)) at level j . . . . . . 101 2.6.4.6. Construction of the pair (a'j+1(X),b'j+1(X)) at the j stage . . . . . 102 2.6.4.7. Construction of an optimal solution (aj+1(X),bj+1(X)) . . . . . . . 103 2.6.4.8. The algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2.6.5. Majority decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 2.6.5.1. The mechanism of decoding, and the associated code . . . . . . 105 2.6.5.2. Trapping by words of C⊥ incidents between them . . . . . . . . 106 2.6.5.3. Codes decodable in one or two stages. . . . . . . . . . . . . . . . 106 2.6.5.4. How should the digital implementation be prepared?. . . . . . . 108 2.6.6. Hard decoding, soft decoding and chase decoding . . . . . . . . . . 110 2.6.6.1. Hard decoding and soft decoding . . . . . . . . . . . . . . . . . . 110 2.6.6.2. Chase decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 2.7. 2D codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 2.7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 2.7.2. Product codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 2.7.3. Minimum distance of 2D codes . . . . . . . . . . . . . . . . . . . . . 112 2.7.4. Practical examples of the use of 2D codes . . . . . . . . . . . . . . . 112 2.7.5. Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 2.7.6. Decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 2.8. Exercises on block codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 2.8.1. Unstructured codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 2.8.2. Linear codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 2.8.3. Finite bodies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2.8.4. Cyclic codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 2.8.4.1. Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 2.8.4.2. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2.8.5. Exercises on circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Chapter 3. Convolutional Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Alain GLAVIEUX and Sandrine VATON 3.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.2. State transition diagram, trellis, tree . . . . . . . . . . . . . . . . . . . . . 135 3.3. Transfer function and distance spectrum. . . . . . . . . . . . . . . . . . . 137 3.4. Perforated convolutional codes . . . . . . . . . . . . . . . . . . . . . . . . 140 3.5. Catastrophic codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.6. The decoding of convolutional codes . . . . . . . . . . . . . . . . . . . . 142 3.6.1. Viterbi algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.6.1.1. The term log p(S0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.6.1.2. The term log p(Sk|Sk−1) . . . . . . . . . . . . . . . . . . . . . . . . 145 3.6.1.3. The term log p(yk|Sk, Sk−1) . . . . . . . . . . . . . . . . . . . . . . . 145 3.6.1.4. Viterbi algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.6.1.5. Viterbi algorithm for transmissions with continuous data flow . 155 3.6.2. MAP criterion or BCJR algorithm. . . . . . . . . . . . . . . . . . . . 156 3.6.2.1. BCJR algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.6.2.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 3.6.3. SubMAP algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 3.6.3.1. Propagation of the Front filter . . . . . . . . . . . . . . . . . . . . 170 3.6.3.2. Propagation of the Back filter. . . . . . . . . . . . . . . . . . . . . 171 3.6.3.3. Calculation of the ψk(s, s’) quantities . . . . . . . . . . . . . . . . 171 3.6.3.4. Calculation of the joint probability of dk and y . . . . . . . . . . 171 3.7. Performance of convolutional codes . . . . . . . . . . . . . . . . . . . . . 172 3.7.1. Channel with binary input and continuous output . . . . . . . . . . 173 3.7.1.1. Gaussian channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 3.7.1.2. Rayleigh channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 3.7.2. Channel with binary input and output . . . . . . . . . . . . . . . . . 180 3.8. Distance spectrum of convolutional codes . . . . . . . . . . . . . . . . . 182 3.9. Recursive convolution codes . . . . . . . . . . . . . . . . . . . . . . . . . 184 Chapter 4. Coded Modulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Ezio BIGLIERI 4.1. Hamming distance and Euclidean distance . . . . . . . . . . . . . . . . . 197 4.2. Trellis code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 4.3. Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 4.4. Some examples of TCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 4.5. Choice of a TCM diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.6. TCM representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.7. TCM transparent to rotations . . . . . . . . . . . . . . . . . . . . . . . . . 209 4.7.1. Partitions transparent to rotations . . . . . . . . . . . . . . . . . . . . 211 4.7.2. Transparent trellis with rotations. . . . . . . . . . . . . . . . . . . . . 212 4.7.3. Transparent encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 4.7.4. General considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4.8. TCM error probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4.8.1. Upper limit of the probability of an error event . . . . . . . . . . . . 215 4.8.1.1. Enumeration of error events . . . . . . . . . . . . . . . . . . . . . 217 4.8.1.2. Interpretation and symmetry . . . . . . . . . . . . . . . . . . . . . 221 4.8.1.3. Asymptotic considerations . . . . . . . . . . . . . . . . . . . . . . 223 4.8.1.4. A tighter upper bound . . . . . . . . . . . . . . . . . . . . . . . . . 223 4.8.1.5. Bit error probability . . . . . . . . . . . . . . . . . . . . . . . . . . 224 4.8.1.6. Lower bound of the probability of error . . . . . . . . . . . . . . 225 4.8.2. Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.8.3. Calculation of δfree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.9. Power spectral density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 4.10. Multi-level coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 4.10.1. Block coded modulation . . . . . . . . . . . . . . . . . . . . . . . . . 235 4.10.2. Decoding of multilevel codes by stages . . . . . . . . . . . . . . . . 237 4.11. Probability of error for the BCM . . . . . . . . . . . . . . . . . . . . . . 238 4.11.1. Additive Gaussian channel . . . . . . . . . . . . . . . . . . . . . . . 239 4.11.2. Calculation of the transfer function . . . . . . . . . . . . . . . . . . 240 4.12. Coded modulations for channels with fading . . . . . . . . . . . . . . . 241 4.12.1. Modeling of channels with fading . . . . . . . . . . . . . . . . . . . 241 4.12.1.1. Delay spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 4.12.1.2. Doppler-frequency spread . . . . . . . . . . . . . . . . . . . . . . 244 4.12.1.3. Classification of channels with fading. . . . . . . . . . . . . . . 244 4.12.1.4. Examples of radio channels with fading. . . . . . . . . . . . . . 245 4.12.2. Rayleigh fading channel: Euclidean distance and Hamming distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 4.13. Bit interleaved coded modulation (BICM). . . . . . . . . . . . . . . . . 251 4.14. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Chapter 5. Turbocodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Claude BERROU, Catherine DOUILLARD, Michel JÉZÉQUEL and Annie PICART 5.1. History of turbocodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 5.1.1. Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 5.1.2. Negative feedback in the decoder . . . . . . . . . . . . . . . . . . . . 256 5.1.3. Recursive systematic codes . . . . . . . . . . . . . . . . . . . . . . . . 258 5.1.4. Extrinsic information. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 5.1.5. Parallel concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 5.1.6. Irregular interleaving. . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 5.2. A simple and convincing illustration of the turbo effect . . . . . . . . . 260 5.3. Turbocodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 5.3.1. Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 5.3.2. The termination of constituent codes . . . . . . . . . . . . . . . . . . 272 5.3.2.1. Recursive convolutional circular codes . . . . . . . . . . . . . . . 273 5.3.3. Decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 5.3.4. SISO decoding and extrinsic information. . . . . . . . . . . . . . . . 280 5.3.4.1. Notations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 5.3.4.2. Decoding using the MAP criterion. . . . . . . . . . . . . . . . . . 281 5.3.4.3. The simplified Max-Log-MAP algorithm . . . . . . . . . . . . . 284 5.4. The permutation function. . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 5.4.1. The regular permutation. . . . . . . . . . . . . . . . . . . . . . . . . . 288 5.4.2. Statistical approach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 5.4.3. Real permutations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 5.5. m-binary turbocodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 5.5.1. m-binary RSC encoders . . . . . . . . . . . . . . . . . . . . . . . . . . 298 5.5.2. m-binary turbocodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 5.5.3. Double-binary turbocodes with 8 states. . . . . . . . . . . . . . . . . 302 5.5.4. Double-binary turbocodes with 16 states . . . . . . . . . . . . . . . . 303 5.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Chapter 6. Block Turbocodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Ramesh PYNDIAH and Patrick ADDE 6.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 6.2. Concatenation of block codes . . . . . . . . . . . . . . . . . . . . . . . . . 308 6.2.1. Parallel concatenation of block codes . . . . . . . . . . . . . . . . . . 309 6.2.2. Serial concatenation of block codes . . . . . . . . . . . . . . . . . . . 313 6.2.3. Properties of product codes and theoretical performances. . . . . . 318 6.3. Soft decoding of block codes . . . . . . . . . . . . . . . . . . . . . . . . . 323 6.3.1. Soft decoding of block codes . . . . . . . . . . . . . . . . . . . . . . . 324 6.3.2. Soft decoding of block codes (Chase algorithm) . . . . . . . . . . . 326 6.3.3. Decoding of block codes by the Viterbi algorithm . . . . . . . . . . 334 6.3.4. Decoding of block codes by the Hartmann and Rudolph algorithm 338 6.4. Iterative decoding of product codes . . . . . . . . . . . . . . . . . . . . . 340 6.4.1. SISO decoding of a block code. . . . . . . . . . . . . . . . . . . . . . 341 6.4.2. Implementation of the weighting algorithm . . . . . . . . . . . . . . 345 6.4.3. Iterative decoding of product codes . . . . . . . . . . . . . . . . . . . 347 6.4.4. Comparison of the performances of BTC. . . . . . . . . . . . . . . . 349 6.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 6.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Chapter 7. Block Turbocodes in a Practical Setting . . . . . . . . . . . . . . . 373 Patrick ADDE and Ramesh PYNDIAH 7.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 7.2. Implementation of BTC: structure and complexity . . . . . . . . . . . . 373 7.2.1. Influence of integration constraints . . . . . . . . . . . . . . . . . . . 373 7.2.1.1. Quantification of data . . . . . . . . . . . . . . . . . . . . . . . . . 373 7.2.1.2. Choice of the scaling factor. . . . . . . . . . . . . . . . . . . . . . 375 7.2.2. General architecture and organization of the circuit . . . . . . . . . 376 7.2.2.1. Modular structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 7.2.2.2. Von Neumann architecture . . . . . . . . . . . . . . . . . . . . . . 378 7.2.3. Memorizing of data and results. . . . . . . . . . . . . . . . . . . . . . 380 7.2.3.1. Modular structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 7.2.3.2. Von Neumann architecture . . . . . . . . . . . . . . . . . . . . . . 381 7.2.4. Elementary decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 7.2.4.1. Decoding of BCH codes with soft inputs and outputs . . . . . . 384 7.2.4.2. Functional structure and sequencing. . . . . . . . . . . . . . . . . 385 7.2.4.3. Installation of a decoder on a silicon microchip . . . . . . . . . . 388 7.2.5. High flow structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 7.2.5.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 7.2.5.2. High flow turbodecoder in a practical setting . . . . . . . . . . . 395 7.3. Flexibility of turbo block codes . . . . . . . . . . . . . . . . . . . . . . . . 397 7.4. Hybrid turbocodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 7.4.1. Construction of the code. . . . . . . . . . . . . . . . . . . . . . . . . . 404 7.4.2. Binary error rates (BER) function of the signal-to-noise ratio in a Gaussian channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 7.4.3. Variation of the size of the blocks . . . . . . . . . . . . . . . . . . . . 408 7.4.4. Variation of the total rate . . . . . . . . . . . . . . . . . . . . . . . . . 409 7.5. Multidimensional turbocodes . . . . . . . . . . . . . . . . . . . . . . . . . 409 7.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 List of Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧