Bose–Chaudhuri–Hocquenghem (BCH) code[1]

Description

Cyclic \(q\)-ary code, with \(n\) and \(q\) relatively coprime, whose zeroes are consecutive powers of a primitive \(n\)th root of unity \(\alpha\). More precisely, the generator polynomial of a BCH code of designed distance \(\delta\geq 1\) is the lowest-degree monic polynomial with zeroes \(\{\alpha^b,\alpha^{b+1},\cdots,\alpha^{b+\delta-2}\}\) for some \(b\geq 0\). BCH codes are called narrow-sense when \(b=1\), and are called primitive when \(n=q^r-1\) for some \(r\geq 2\).

The code dimension is related to the multiplicative order of \(q\) modulo \(n\), i.e., the smallest integer \(m\) such that \(n\) divides \(q^m-1\). The dimension of a BCH code is at least \(n-m(\delta-1)\). The field \(GF(q^m)\) is the smallest field containing the above root of unity \(\alpha\), and is the splitting field of the polynomial \(x^n-1\) (see Cyclic-to-polynomial correspondence).

Protection

By the BCH bound, BCH code with designed distance \(\delta\) has true minimum distance \(d\geq\delta\). BCH codes with different designed distances may coincide, and the largest possible designed distance for a given code is the Bose distance; the true distance may still be larger than that.

Rate

Primitive BCH codes are asymptotically bad [2; pg. 269].

Decoding

Berlekamp-Massey decoder with runtime of order \(O(n^2)\) [3][4][5] and modification by Burton [6]; see also [7][8].Gorenstein-Peterson-Zierler decoder with runtime of order \(O(n^3)\) [9][1] (see exposition in Ref. [10]).Sugiyama et al. modification of the extended Euclidean algorithm [11][12].Guruswami-Sudan list decoder [13] and modification by Koetter-Vardy for soft-decision decoding [14].

Realizations

DVDs, disk drives, and two-dimensional bar codes [15].

Notes

See books [2][16][17] for expositions on BCH codes and code tables.See Kaiserslautern database [18] for explicit codes.See corresponding MinT database entry [19].

Parents

Cousins

  • Classical Goppa code — Narrow-sense BCH codes are Goppa codes with \(L=\{1,\alpha^{-1},\cdots,\alpha^{1-n}\}\) and \(G(x)=x^{\delta-1}\) ([17], pg. 522).
  • Binary BCH code
  • Galois-qudit BCH code
  • Qubit BCH code — BCH codes are used to construct qubit BCH codes via the CSS and stabilizer-over-\(GF(4)\) constructions.
  • Reed-Solomon (RS) code — Narrow-sense RS codes are BCH codes ([20], Remark 15.3.21; [17], Thms. 5.2.1 and 5.2.3). Moreover, an RS code can be represented as a union of cosets, with each coset being an interleaver of several binary BCH codes [21].

References

[1]
D. Gorenstein and N. Zierler, “A Class of Error-Correcting Codes in $p^m $ Symbols”, Journal of the Society for Industrial and Applied Mathematics 9, 207 (1961). DOI
[2]
F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
[3]
E. Berlekamp, “Nonbinary BCH decoding (Abstr.)”, IEEE Transactions on Information Theory 14, 242 (1968). DOI
[4]
J. Massey, “Shift-register synthesis and BCH decoding”, IEEE Transactions on Information Theory 15, 122 (1969). DOI
[5]
E. R. Berlekamp, Algebraic Coding Theory, McGraw-Hill, 1968
[6]
H. Burton, “Inversionless decoding of binary BCH codes”, IEEE Transactions on Information Theory 17, 464 (1971). DOI
[7]
W. W. Peterson and E. J. Weldon, Error-correcting codes. MIT press 1972.
[8]
R. Gallager, Information Theory and Reliable Communication (Springer Vienna, 1972). DOI
[9]
W. Peterson, “Encoding and error-correction procedures for the Bose-Chaudhuri codes”, IEEE Transactions on Information Theory 6, 459 (1960). DOI
[10]
R.E. Blahut, Theory and practice of error-control codes, Addison-Wesley 1983.
[11]
Y. Sugiyama et al., “A method for solving key equation for decoding goppa codes”, Information and Control 27, 87 (1975). DOI
[12]
R. McEliece, The Theory of Information and Coding (Cambridge University Press, 2002). DOI
[13]
V. Guruswami and M. Sudan, “Improved decoding of Reed-Solomon and algebraic-geometric codes”, Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280). DOI
[14]
R. Koetter and A. Vardy, “Algebraic soft-decision decoding of reed-solomon codes”, IEEE Transactions on Information Theory 49, 2809 (2003). DOI
[15]
S. Zhu, Z. Sun, and X. Kai, “A Class of Narrow-Sense BCH Codes”, IEEE Transactions on Information Theory 65, 4699 (2019). DOI
[16]
S. Lin and D. J. Costello, Error Control Coding, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 2004.
[17]
W. C. Huffman and V. Pless, Fundamentals of Error-correcting Codes (Cambridge University Press, 2003). DOI
[18]
Michael Helmling, Stefan Scholl, Florian Gensheimer, Tobias Dietz, Kira Kraft, Stefan Ruzika, and Norbert Wehn. Database of Channel Codes and ML Simulation Results. URL, 2022.
[19]
Rudolf Schürer and Wolfgang Ch. Schmid. “Cyclic Codes (BCH-Bound).” From MinT—the database of optimal net, code, OA, and OOA parameters. Version: 2015-09-03. http://mint.sbg.ac.at/desc_CCyclic-BCHBound.html
[20]
W. C. Huffman, J.-L. Kim, and P. Solé, Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021). DOI
[21]
A. Vardy and Y. Be'ery, “Bit-level soft-decision decoding of Reed-Solomon codes”, IEEE Transactions on Communications 39, 440 (1991). DOI

Zoo code information

Internal code ID: q-ary_bch

Your contribution is welcome!

on github.com (edit & pull request)

edit on this site

Zoo Code ID: q-ary_bch

Cite as:
“Bose–Chaudhuri–Hocquenghem (BCH) code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/q-ary_bch
BibTeX:
@incollection{eczoo_q-ary_bch, title={Bose–Chaudhuri–Hocquenghem (BCH) code}, booktitle={The Error Correction Zoo}, year={2022}, editor={Albert, Victor V. and Faist, Philippe}, url={https://errorcorrectionzoo.org/c/q-ary_bch} }
Share via:
Twitter |  | E-mail
Permanent link:
https://errorcorrectionzoo.org/c/q-ary_bch

Cite as:

“Bose–Chaudhuri–Hocquenghem (BCH) code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/q-ary_bch

Github: https://github.com/errorcorrectionzoo/eczoo_data/tree/main/codes/classical/q-ary_digits/cyclic/q-ary_bch.yml.