example would be the use of a (15,11) Hamming code, shortened to overall efficiency (k/n) of the concatenated code is higher than that (12,8), for the byte-by-byte transmission of data. Shortening may or of any single code with the same error correcting ability. may not increase the minimum distance, and hence the error control ability, of the code. At its simplest, shortening the code consists simply of encoding Cyclic codes k' databits, of which k are the required data and k' k are zero. The main advantage arises when a systematic code is used, because then Cyclic codes are a very important class of linear block codes, for the first k' - k bits in the codeword can be set to zero and need not two reasons: firstly, cyclic codes are available for a wide range of be transmitted. In principle, the received codeword can then be error detecting and correcting requirements, including burst error lengthened to n' bits again by the reinsertion of k' - k zeros prior to correction; and secondly, the encoders and decoders can be im- decoding with the (n', k') decoder. plemented efficiently using feedback shift registers. In practice, however, the decoder should be modified, because errors in untransmitted bits are impossible. Consider the example of 14.5.1 a shortened Hamming code. The Hamming code can normally The mathematics of cyclic codes correct any single error. However, if on receiving a shortened codeword the decoder calculates a syndrome which would normally In the theory of cyclic codes, polynomial notation is used rather than imply an error in one of the untransmitted bits, that cannot be the the vector notation used earlier. In this notation the k digits of the true cause. The next most likely cause is a double error pattern in input data word are treated as the coefficients of a polynomial d(x). the transmitted bits. If there were only one double bit error pattern For example the 4-binary digit data word (1011) is represented by which could produce that syndrome, then the decoder could apply the polynomial of E