The structure and properties of binary cyclic alphabets

A code which is to be used for error control on a real data system is necessarily restricted by the nature of the transmitting equipment. These restrictions have no connection with the primary function of the code; indeed, they frequently eliminate most of the codes about which anything is known at present. For example, the code to be used for error control by detection and retransmission on the trunks between data switching centers is required to be a cyclic (or truncated cyclic) code with 744 information places and 20 parity check bits. The computational problem in this case is to locate those cyclic codes which have exactly 20 parity checks and a block length of 764 or greater, and pick the one which is best suited for error control over a particular channel. This paper outlines a procedure for attacking such problems. It describes how to locate the cyclic codes with a fixed block length and a fixed number of parity checks, if any such exist, and gives some methods of finding the number of code words of each weight in a particular code. If one knows the statistics of the channel it is then possible to estimate the error control properties of the code. The procedure depends on an analysis of the algebraic structure of cyclic codes, which is given in Section II of this paper. Section I contains step-by-step instructions with no mathematical justification. It is hoped that the theory presented in Section II may be useful in other applications.