NON-BINARY ERROR CORRECTION CODES 1345 



One approach toward creating a simple association between the infor- 

 mation and the message is to use some of the digits of the message for 

 conveying information directly. The Hamming Code' uses this tech- 

 nique. 



An information digit is a digit of a message that is produced directly 

 by the information source; in a base b code, an information digit may 

 have b different values, the choice between these values representing the 

 information that is to be sent. 



A check digit is a digit of a message that is calculated as a function of 

 the information digits by the encoder. It is sometimes convenient to 

 represent or calculate a check digit in terms of a recursive formula using 

 previously calculated check digits as well as information digits. In a 

 base b code, a check digit may have b check states. When more than one 

 check digit is used, each different combination of check digits corre- 

 sponds to a different check state for the message; a message with tn 

 check digits will have 6" message check states. 



A systematic^ code encoder generates messages containing only infor- 

 mation digits and check digits. The information source generates only 

 base 6 information digits. The Hamming Code is a systematic code. 



Section II offers a general method for obtaining single error detection 

 codes for both small and unrestricted errors. The idea of mixed digits 

 (digits which are, in a sense, neither information nor check digits, but a 

 combination of both) is introduced, and it is shown how mixed digits 

 may lead to more efficient coding systems. This idea is believed to be 

 novel. Code systems which use mixed digits are called semi-systematic 

 codes. Semi-systematic codes are used extensively throughout this 

 paper. 



Section III offers a general method for obtaining single small error 

 correction codes, including both systematic and semi-systematic codes. 



Section IV offers a general method for obtaining the more complicated 

 single unrestricted error correction codes. The problem is diAided into 

 two parts. Section 4.1 describes codes for correcting single unrestricted 

 errors in case b, the base of the channel, is a prime number.* Section 4.2 

 describes a special technique for obtaining the more complex codes for 

 correcting single unrestricted errors in the event 6 is a composite num- 

 ber. 



Section V offers a general method for obtaining semi-systematic codes 

 for correcting single small errors and detecting double small errors. No 

 general solution has been found for obtaining single error correction or 

 double error detection codes for the case of unrestricted errors. Xo gen- 



* This class of codes was previously described in u brief summary liy Golay.® 



