Fire codes are a widely used class of algebraically constructed burst dm 2 21 + 1 (14.26) error correcting cyclic codes, which require a minimum of 3b 1 parity bits to correct bursts of up to b bits in length. Other, more Such a code can therefore be used as a t-error-correcting code. efficient, burst error correcting cyclic codes, found by computer Detailed discussion of both the algebraic basis of BCH codes and search, are also available. the decoder algorithms is described in many textbooks. Primitive BCH codes include cyclic forms of the Hamming SEC codes, and 14.5.6 Shortening cyclic codes non-primitive BCH codes include a cyclic form of the (23, 12) Golay TEC code. Cyclic codes may be shortened; the design of a systematic cyclic The two main procedures used in decoding are: coder is unaffected by this, except that only k bits are clocked in rather than k' before the control line is switched to output the parity 1. Peterson's direct solution, suitable for up to about 6-error-cor- check bits. In the decoder, the same approach of simply reducing the rection. number of clocks can be used for syndrome polynomial calculation; 2. The Berlekamp/Massey algorithm, an iterative algorithm ap- however, if error correction is to be carried out the error pattern plicable to any BCH code. detector must be modified to deal with the missing leading bits, and the fact that there cannot be errors in those missing bits. Some decoder algorithms have also been developed for specific BCH codes, for example, the Kasami algorithm for the (23, 12) TEC code. 14.6 Convolutional codes 14.5.4 Reed-Solomon codes A convolutional coder operates on the source data stream using a 'sliding window' and produces a continuous stream of encoded Reed-Solomon (RS) codes are an important subclass of non-binary symbols. Many of the concepts related to block codes also apply to BCH codes. RS codes have a true minimum distance which is the convolutional codes; they can for example be systematic or unsys- maximum possible for a linear (n, k) code, as in 