# Construction of binary, balanced, error-correcting codes

## Abstract

Summary form only given, as follows. A binary word of length 2l is called balanced if it contains exactly l zeros and l ones. A concatenation of n balanced words is a balanced word of length 2ln with maximum run-length 2l. The maximal value of the digital sum variation is l. Let u1, u2, ..., uL be a numbering of all balanced words of length 2l. The authors consider codes defined by C = {ui1, ui2, ..., uin) | (i1, i2, ..., in) ε I}, where I is an L-ary code with a minimum Hamming distance e + 1. since it takes an uneven number of errors to change a balanced word of length 2l into another one and since all other error patterns change a balance word into a nonbalanced word, it follows that e bit-errors in a word in C result in f nonbalanced components and g erroneous balanced components with f + 2g ≤ e. Since I has minimum distance e + 1, all these errors can be corrected. By taking I = {(i1, i2, ..., in) | i1 + i2 + ... + in ≠ 0 mod L/2}, one obtains a very good 1-error-correcting, balanced code. A general construction of e-error-correcting, balanced codes are given of which the above construction is a special case.