The Art of Error Correcting Coding

  • Abstract
  • Literature Map
  • Similar Papers
Abstract
Translate article icon Translate Article Star icon
Take notes icon Take Notes

Preface. Foreword. The ECC web site. 1. Introduction. 1.1 Error correcting coding: Basic concepts. 1.1.1 Block codes and convolutional codes. 1.1.2 Hamming distance, Hamming spheres and error correcting capability. 1.2 Linear block codes. 1.2.1 Generator and parity-check matrices. 1.2.2 The weight is the distance. 1.3 Encoding and decoding of linear block codes. 1.3.1 Encoding with G and H. 1.3.2 Standard array decoding. 1.3.3 Hamming spheres, decoding regions and the standard array. 1.4 Weight distribution and error performance. 1.4.1 Weight distribution and undetected error probability over a BSC. 1.4.2 Performance bounds over BSC, AWGN and fading channels. 1.5 General structure of a hard-decision decoder of linear codes. Problems. 2. Hamming, Golay and Reed-Muller codes. 2.1 Hamming codes. 2.1.1 Encoding and decoding procedures. 2.2 The binary Golay code. 2.2.1 Encoding. 2.2.2 Decoding. 2.2.3 Arithmetic decoding of the extended (24, 12, 8) Golay code. 2.3 Binary Reed-Muller codes. 2.3.1 Boolean polynomials and RM codes. 2.3.2 Finite geometries and majority-logic decoding. Problems. 3. Binary cyclic codes and BCH codes. 3.1 Binary cyclic codes. 3.1.1 Generator and parity-check polynomials. 3.1.2 The generator polynomial. 3.1.3 Encoding and decoding of binary cyclic codes. 3.1.4 The parity-check polynomial. 3.1.5 Shortened cyclic codes and CRC codes. 3.1.6 Fire codes. 3.2 General decoding of cyclic codes. 3.2.1 GF(2m) arithmetic. 3.3 Binary BCH codes. 3.3.1 BCH bound. 3.4 Polynomial codes. 3.5 Decoding of binary BCH codes. 3.5.1 General decoding algorithm for BCH codes. 3.5.2 The Berlekamp-Massey algorithm (BMA). 3.5.3 PGZ decoder. 3.5.4 Euclidean algorithm. 3.5.5 Chien search and error correction. 3.5.6 Errors-and-erasures decoding. 3.6 Weight distribution and performance bounds. 3.6.1 Error performance evaluation. Problems. 4. Nonbinary BCH codes: Reed-Solomon codes. 4.1 RS codes as polynomial codes. 4.2 From binary BCH to RS codes. 4.3 Decoding RS codes. 4.3.1 Remarks on decoding algorithms. 4.3.2 Errors-and-erasures decoding. 4.4 Weight distribution. Problems. 5. Binary convolutional codes. 5.1 Basic structure. 5.1.1 Recursive systematic convolutional codes. 5.1.2 Free distance. 5.2 Connections with block codes. 5.2.1 Zero-tail construction. 5.2.2 Direct-truncation construction. 5.2.3 Tail-biting construction. 5.2.4 Weight distributions. 5.3 Weight enumeration. 5.4 Performance bounds. 5.5 Decoding: Viterbi algorithm with Hamming metrics. 5.5.1 Maximum-likelihood decoding and metrics. 5.5.2 The Viterbi algorithm. 5.5.3 Implementation issues. 5.6 Punctured convolutional codes. 5.6.1 Implementation issues related to punctured convolutional codes. 5.6.2 RCPC codes. Problems. 6. Modifying and combining codes. 6.1 Modifying codes. 6.1.1 Shortening. 6.1.2 Extending. 6.1.3 Puncturing. 6.1.4 Augmenting, expurgating and lengthening. 6.2 Combining codes. 6.2.1 Time sharing of codes. 6.2.2 Direct sums of codes. 6.2.3 The |u|u + v|-construction and related techniques. 6.2.4 Products of codes. 6.2.5 Concatenated codes. 6.2.6 Generalized concatenated codes. 7. Soft-decision decoding. 7.1 Binary transmission over AWGN channels. 7.2 Viterbi algorithm with Euclidean metric. 7.3 Decoding binary linear block codes with a trellis. 7.4 The Chase algorithm. 7.5 Ordered statistics decoding. 7.6 Generalized minimum distance decoding. 7.6.1 Sufficient conditions for optimality. 7.7 List decoding. 7.8 Soft-output algorithms. 7.8.1 Soft-output Viterbi algorithm. 7.8.2 Maximum-a posteriori (MAP) algorithm. 7.8.3 Log-MAP algorithm. 7.8.4 Max-Log-MAP algorithm. 7.8.5 Soft-output OSD algorithm. Problems. 8. Iteratively decodable codes. 8.1 Iterative decoding. 8.2 Product codes. 8.2.1 Parallel concatenation: Turbo codes. 8.2.2 Serial concatenation. 8.2.3 Block product codes. 8.3 Low-density parity-check codes. 8.3.1 Tanner graphs. 8.3.2 Iterative hard-decision decoding: The bit-flip algorithm. 8.3.3 Iterative probabilistic decoding: Belief propagation. Problems. 9. Combining codes and digital modulation. 9.1 Motivation. 9.1.1 Examples of signal sets. 9.1.2 Coded modulation. 9.1.3 Distance considerations. 9.2 Trellis-coded modulation (TCM). 9.2.1 Set partitioning and trellis mapping. 9.2.2 Maximum-likelihood. 9.2.3 Distance considerations and error performance. 9.2.4 Pragmatic TCM and two-stage decoding. 9.3 Multilevel coded modulation. 9.3.1 Constructions and multistage decoding. 9.3.2 Unequal error protection with MCM. 9.4 Bit-interleaved coded modulation. 9.4.1 Gray mapping. 9.4.2 Metric generation: De-mapping. 9.4.3 Interleaving. 9.5 Turbo trellis-coded modulation. 9.5.1 Pragmatic turbo TCM. 9.5.2 Turbo TCM with symbol interleaving. 9.5.3 Turbo TCM with bit interleaving. Problems. Appendix A: Weight distributions of extended BCH codes. A.1 Length 8. A.2 Length 16. A.3 Length 32. A.4 Length 64. A.5 Length 128. Bibliography. Index.

Similar Papers
  • Conference Article
  • 10.2991/iccsae-15.2016.98
Blind Recognition of Binary Primitive BCH Codes Based on Polynomial Roots Statistic of Finite Fields
  • Jan 1, 2016
  • Xinran Zhang + 2 more

We have recently proposed a problem about blind recognition of binary primitive BCH Codes.A model was established based on the polynomial roots statistic of finite fields.The roots probabilities of BCH codes were analyzed and the recognition method for binary BCH codes based on polynomial roots statistic of finite fields was proposed.In the paper we showed that the binary primitive BCH Codes could be completely recognized in theoretical analysis and simulation experiment showed the better performance of the recognition method though in high BER.

  • Research Article
  • Cite Count Icon 30
  • 10.1109/26.494301
Undetected error probabilities of binary primitive BCH codes for both error correction and detection
  • May 1, 1996
  • IEEE Transactions on Communications
  • Min-Goo Kim + 1 more

We investigate the undetected error probabilities for bounded-distance decoding of binary primitive BCH codes when they are used for both error correction and detection on a binary symmetric channel. We show that the undetected error probability of binary linear codes can be simplified and quantified if the weight distribution of the code is binomial-like. We obtain bounds on the undetected error probability of binary primitive BCH codes by applying the result to the code and show that the bounds are quantified by the deviation factor of the true weight distribution from the binomial-like weight distribution.

  • Book Chapter
  • Cite Count Icon 2
  • 10.1002/0471219282.eot191
Turbo Trellis‐Coded Modulation (TTCM) Employing Parity Bit Puncturing and Parallel Concatenation
  • Apr 15, 2003
  • Patrick Robertson + 1 more

In this contribution we explain the principles of Turbo Trellis Coded Modulation (TTCM), a bandwidth efficient channel coding scheme that has an overall structure similar to binary Turbo codes but employs Trellis Coded Modulation (TCM) as component codes. The combination of Turbo codes with powerful bandwidth efficient component codes leads to a straightforward encoder structure and allows iterative decoding in analogy to the binary Turbo decoder. However, certain special conditions are to be met at the encoder, and the iterative decoder needs to be adapted to the decoding of the component TCM codes and to the puncturing used in the code construction. We present simulation results for TTCM schemes for 8‐PSK, 16‐QAM and 64‐QAM modulation schemes with varying overall bandwidth efficiencies. These results show that TTCM is very powerful yet of modest complexity since simple component codes are used. Because TTCM relies onpuncturedTCM component codes, search results based on the best minimal distance of these punctured component codes are also presented. In the Appendix we summarize the derivation of the symbol‐by‐symbol component decoder; the reader will also find implementation guidelines based on processing in the logarithmic domain as well as a number of online and traditional references.

  • Research Article
  • Cite Count Icon 135
  • 10.1109/18.312184
Maximum-likelihood soft decision decoding of BCH codes
  • Mar 1, 1994
  • IEEE Transactions on Information Theory
  • A Vardy + 1 more

The problem of efficient maximum-likelihood soft decision decoding of binary BCH codes is considered. It is known that those primitive BCH codes whose designed distance is one less than a power of two, contain subcodes of high dimension which consist of a direct-sum of several identical codes. The authors show that the same kind of direct-sum structure exists in all the primitive BCH codes, as well as in the BCH codes of composite block length. They also introduce a related structure termed the concurring-sum, and then establish its existence in the primitive binary BCH codes. Both structures are employed to upper bound the number of states in the minimal trellis of BCH codes, and develop efficient algorithms for maximum-likelihood soft decision decoding of these codes. >

  • Research Article
  • Cite Count Icon 3
  • 10.1109/18.782167
On minimum Lee weights of Hensel lifts of some binary BCH codes
  • Jan 1, 1999
  • IEEE Transactions on Information Theory
  • Hao Chen

Motivated by the paper of Calderbank, McGuire, Kumar, and Helleseth (see ibid., vol.42, no.1, p.217-26, Jan. 1996) we prove the following result: for any given positive integer l/spl ges/3, the minimum Lee weights of Hensel lifts (to Z/sub 4/) of binary primitive BCH codes of length 2/sup m/-1 and designed distance 2/sup l/-1 is just 2/sup l/-1 when (a) m can be divided by l or (b) m is sufficiently large. For Hensel lifts of binary primitive BCH codes of arbitrary designed distance /spl delta//spl ges/4, we also prove that their minimum Lee weight d/sub L//spl les/2([log/sub 2//spl delta/]+1)-1 when m is sufficiently large. Moreover, a result about minimum Lee weights of certain Z/sub 4/ codes defined by Galois rings, which is similar to the result in Calderbank et al., is proved.

  • PDF Download Icon
  • Research Article
  • Cite Count Icon 4
  • 10.1590/s0001-37652013000300002
A decoding method of an n length binary BCH code through (n + 1)n length binary cyclic code
  • Sep 1, 2013
  • Anais da Academia Brasileira de Ciências
  • Tariq Shah + 2 more

For a given binary BCH code Cn of length n = 2 s - 1 generated by a polynomial of degree r there is no binary BCH code of length (n + 1)n generated by a generalized polynomial of degree 2r. However, it does exist a binary cyclic code C (n+1)n of length (n + 1)n such that the binary BCH code Cn is embedded in C (n+1)n . Accordingly a high code rate is attained through a binary cyclic code C (n+1)n for a binary BCH code Cn . Furthermore, an algorithm proposed facilitates in a decoding of a binary BCH code Cn through the decoding of a binary cyclic code C (n+1)n , while the codes Cn and C (n+1)n have the same minimum hamming distance.

  • Research Article
  • Cite Count Icon 10
  • 10.1109/tit.2022.3184168
On Hard and Soft Decision Decoding of BCH Codes
  • Nov 1, 2022
  • IEEE Transactions on Information Theory
  • Martin Bossert + 2 more

The binary primitive BCH codes are cyclic and are constructed by choosing a subset of the cyclotomic cosets. Which subset is chosen determines the dimension, the minimum distance and the weight distribution of the BCH code. We construct possible BCH codes and determine their coderate, true minimum distance and the non-equivalent codes. A particular choice of cyclotomic cosets gives BCH codes which are, extended by one bit, equivalent to Reed-Muller codes, which is a known result from the sixties. We show that BCH codes have possibly better parameters than Reed-Muller codes, which are related in recent publications to polar codes. We study the decoding performance of these different BCH codes using information set decoding based on minimal weight codewords of the dual code. We show that information set decoding is possible even in case of a channel without reliability information since the decoding algorithm inherently calculates reliability information. Different BCH codes of the same rate are compared and different decoding performances and complexity are observed. Some examples of hard decision decoding of BCH codes have the same decoding performance as maximum likelihood decoding. All presented decoding methods can possibly be extended to include reliability information of a Gaussian channel for soft decision decoding. We show simulation results for soft decision list information set decoding and compare the performance to other methods.

  • Research Article
  • Cite Count Icon 5
  • 10.1134/s0032946008020038
Self-checking circuits and decoding algorithms for binary hamming and BCH codes and Reed-Solomon codes over GF(2 m )
  • Jun 1, 2008
  • Problems of Information Transmission
  • I M Boyarinov

We consider problems of detecting errors in combinational circuits and algorithms for the decoding of linear codes. We show that a totally self-checking combinatorial circuit for the decoding of a binary Hamming [n, k] code can be constructed if and only if n = 2 r ? 1, r = n?k. We introduce the notion of a totally self-checking combinational circuit detecting error clusters of size at most µ; for shortened Hamming [n,k] codes, we construct totally self-checking decoding combinational circuits detecting error clusters of size at most µ, 2 ? µ < n?k. We describe single-error protected and self-checking algorithms: the extended Euclidean algorithm and decoding algorithms for binary BCH codes and Reed-Solomon codes over GF(2 m ).

  • Conference Article
  • 10.1109/ita.2018.8503231
A Novel Coding Scheme for Encoding and Iterative Soft-Decision Decoding of Binary BCH Codes of Prime Lengths
  • Feb 1, 2018
  • Shu Lin + 3 more

A novel coding scheme is presented for encoding and iterative soft-decision decoding of binary BCH codes of prime lengths. The encoding of such a BCH code is performed on a collection of codewords which are mapped through Galois Fourier transform into a codeword of a nonbinary low-density parity-check (LDPC) code which has a binary parity-check matrix for transmission. Using this matrix, a binary iterative soft-decision decoding algorithm based on belief-propagation is applied to jointly decode a collection of codewords of the BCH code. The joint-decoding allows information sharing among the received vectors corresponding to the codewords in the collection during the iterative decoding process. For decoding a BCH code of prime length, the proposed decoding scheme not only requires low decoding complexity, but also yields superior performance. The proposed decoding scheme can achieve a joint-decoding gain over the maximum likelihood decoding of individual codewords.

  • Research Article
  • Cite Count Icon 111
  • 10.1109/49.661116
On iterative soft-decision decoding of linear binary block codes and product codes
  • Jan 1, 1998
  • IEEE Journal on Selected Areas in Communications
  • R Lucas + 2 more

Iterative decoding methods have gained interest, initiated by the results of the so-called "turbo" codes. The theoretical description of this decoding, however, seems to be difficult. Therefore, we study the iterative decoding of block codes. First, we discuss the iterative decoding algorithms developed by Gallager (1962), Battail et al. (1979), and Hagenauer et al. (1996). Based on their results, we propose a decoding algorithm which only uses parity check vectors of minimum weight. We give the relation of this iterative decoding to one-step majority-logic decoding, and interpret it as gradient optimization. It is shown that the used parity check set defines the region where the iterative decoding decides on a particular codeword. We make plausible that, in almost all cases, the iterative decoding converges to a codeword after some iterations. We derive a computationally efficient implementation using the minimal trellis representing the used parity check set. Simulations illustrate that our algorithm gives results close to soft decision maximum likelihood (SDML) decoding for many code classes like BCH codes. Reed-Muller codes, quadratic residue codes, double circulant codes, and cyclic finite geometry codes. We also present simulation results for product codes and parallel concatenated codes based on block codes.

  • Research Article
  • Cite Count Icon 57
  • 10.1109/18.605611
The weight distributions of extended binary primitive BCH codes of length 128
  • Jul 1, 1997
  • IEEE Transactions on Information Theory
  • Y Desaki + 2 more

In previous work, a method was presented to compute the weight distribution of a linear block code by using its trellis diagram. In this correspondence, the method is improved by using the trellis structure of linear block codes. Another method with reduced computational complexity is also proposed which uses the invariant property of a code. With these methods, the weight distributions of all extended binary primitive BCH codes of length 128 are computed, except for those for which the formulas of the weight distribution are known. It turns out that (128,64,22) extended binary primitive BCH code is formally self-dual. The probability of an undetectable error for each code is computed and its monotonicity is examined.

  • Research Article
  • Cite Count Icon 9
  • 10.3934/amc.2021014
Ternary Primitive LCD BCH codes
  • May 10, 2021
  • Advances in Mathematics of Communications
  • Xinmei Huang + 3 more

Absolute coset leaders were first proposed by the authors which have advantages in constructing binary LCD BCH codes. As a continue work, in this paper we focus on ternary linear codes. Firstly, we find the largest, second largest, and third largest absolute coset leaders of ternary primitive BCH codes. Secondly, we present three classes of ternary primitive BCH codes and determine their weight distributions. Finally, we obtain some LCD BCH codes and calculate some weight distributions. However, the calculation of weight distributions of two of these codes is equivalent to that of Kloosterman sums.

  • Conference Article
  • Cite Count Icon 2
  • 10.1109/isit.1993.748410
A New Procedure for Decoding Cyclic and Bch Codes Up to Actual Minimum Distance
  • Aug 24, 2005
  • G.L Feng + 1 more

In this paper, a new procedure for decoding cyclic and BCH codes up to their actual minimum distance is presented. Previous algebraic decoding procedures for cyclic and BCH codes such as the Peterson decoding procedure and our procedure using nonrecurrent syndrome dependence relations can be regarded as special cases of this new decoding procedure. With the aid of a computer program, it has been verified that, using this new decoding procedure, all binary cyclic and BCH codes of length 63 or less can be decoded up to their actual minimum distance. The procedure incorporates an extension of our Fundamental Iterative Algorithm and the complexity of this decoding procedure is O(n/sup 3/).

  • Research Article
  • 10.5540/tema.2018.019.02.0369
Sequences of Primitive and Non-primitive BCH Codes
  • Sep 12, 2018
  • Asma Shaheen Ansari + 3 more

In this work, we introduce a method by which it is established that; how a sequence of non-primitive BCH codes can be obtained by a given primitive BCH code. For this, we rush to the out of routine assembling technique of BCH codes and use the structure of monoid rings instead of polynomial rings. Accordingly, it is gotten that there is a sequence $\{C_{b^{j}n}\}_{1\leq j\leq m}$, where $b^{j}n$ is the length of $C_{b^{j}n}$, of non-primitive binary BCH codes against a given binary BCH code $C_{n}$ of length $n$. Matlab based simulated algorithms for encoding and decoding for these type of codes are introduced. Matlab provides built in routines for construction of a primitive BCH code, but impose several constraints, like degree $s$ of primitive irreducible polynomial should be less than $16$. This work focuses on non-primitive irreducible polynomials having degree $bs$, which go far more than 16.

  • Conference Article
  • Cite Count Icon 1
  • 10.1109/isit.2006.261712
Simple MAP Decoding of Binary Cyclic Codes
  • Jul 1, 2006
  • Andrew Thangaraj

Soft decision decoding of block codes has traditionally and in recent times been a problem of great research interest. Though several sub-optimal soft decoders are becoming increasingly popular today, optimal soft decoders such as bitwise maximum a posteriori (MAP) decoders are of great value both for theoretical and practical purposes. In this work, we present a simple implementation of the MAP decoder for binary cyclic codes. The implementation is particularly easy and efficient for codes whose check polynomial is either an irreducible polynomial or a product of two irreducible polynomials. We illustrate the efficiency of the method by simulating the MAP decoder for the length 255 2-error-correcting binary BCH code. We also propose a suboptimal soft decision decoder based on the MAP decoder and present comparisons

Save Icon
Up Arrow
Open/Close
  • Ask R Discovery Star icon
  • Chat PDF Star icon

AI summaries and top papers from 250M+ research sources.