Coding Theory: A First Course

The preceding chapter covered the subject of general cyclic codes. The structure of cyclic codes was analyzed, and two simple decoding algorithms were introduced. In particular, we showed that a cyclic code is totally determined by its generator polynomial. However, in general it is difficult to obtain information on the minimum distance of a cyclic code from its generator polynomial, even though the former is completely determined by the latter. On the other hand, if we choose some special generator polynomials properly, then information on the minimum distance can be gained, and also simpler decoding algorithms could apply. In this chapter, by carefully choosing the generator polynomials, we obtain several important classes of cyclic codes, such as BCH codes, Reed Solomon codes and quadratic-residue codes. In addition to their structures, we also discuss a decoding algorithm for BCH codes.
The class of Bose, Chaudhuri and Hocquenghem (BCH) codes is, in fact, a generalization of the Hamming codes for multiple-error correction (recall that Hamming codes correct only one error). Binary BCH codes were first discovered by A. Hocquenghem [8] in 1959 and independently by R. C. Bose and D. K. Ray-Chaudhuri [1] in 1960. Generalizations of the binary BCH codes to q-ary codes were obtained by D. Gorenstein and N. Zierler [5] in 1961.
We defined the least common multiple lcm( f 1( x) , f 2( x)) of two nonzero polynomials f 1( x) , f 2( x