1350 THE BELL SYSTEM TECHNICAL JOURNAL, NOVEMBER 1957 



5 < c, increase the (10 — c)th digit by one; 



c = 5 implies a multiple error or a larger error. 



Since the value of c is used for correcting a received message, it is 

 called the corrector.* For the general case, a corrector is defined as 

 follows. 



In a message encoded to satisfy m separate checks, the result of cal- 

 culating the checks for the received message at the decoder is an m digit 

 word called the corrector. There are as many possible values of the cor- 

 rector as there are check states of the message, although all of the 

 values of the corrector need not correspond to a correctable error. 



It is important that, for a given transmitted message, every different 

 error will lead to a different value of the corrector; otherwise there will 

 be no way of knowing which correction corresponds to a particular value 

 of the corrector. The number of correctable errors may be far less than 

 the number of possible values of the corrector, so that not all of these 

 values may be useful for a code to correct a particular class of errors. 

 However, the number of corrector states sets an upper limit to the num- 

 ber of possible corrections. 



For many codes, it is convenient to associate a particular value of a 

 corrector for the condition that a particular digit has been received too 

 high by a single increment, for example, a 7 received as an 8. 



The characteristic of a digit for a particular code is defined as the value 

 of the corrector if that digit is incorrectly received, the error having 

 increased the value of the digit by + 1 , and all other digits are correctly 

 received. Obviously, this definition only applies to those codes having the 

 property that the value of the corrector is independent of the value of the 

 incorrect digit and of the other digits. 



A simple characteristic code encoder produces messages in which each 

 digit has a distinct characteristic as defined above. 



The Hamming code is an example of a simple characteristic code as 

 is the code previously described. In that example, the characteristic of Xi 

 is i. 



The advantage of a simple characteristic code for single small error 

 correction is obvious: the association between the calculated checks 

 and the correction to be performed is simple and does not depend on the 

 values of the digits of the message. 



The following example of a simple characteristic code will illustrate 

 this principle more fully. 



Consider a single small error correction code, working with a quinary 



* The terms corrector and characteristic were first used in a more restricted 

 sense in an article on binary coding by Gola3^* 



