$m$ -ary Balanced Codes With Parallel Decoding
Danilo Pelusi, Samir Elmougy, Luca G. Tallini, Bella Bose · IEEE Transactions on Information Theory · 2015
An m-ary block code, m = 2, 3, 4,..., of length n ϵ IN is called balanced if, and only if, every codeword is balanced; that is, the real sum of the codeword components, or weight, is equal to ⌊(m - 1)n/2⌋. This paper presents efficient encoding schemes to m-ary balanced codes with parallel (hence, fast) decoding. In fact, the decoding time complexity is O(1) digit operations. These schemes are a generalization to the m-ary alphabet of Knuth's complementation method with parallel decoding. Let (nw)mindicate the number of m-ary words w of length n and weight w ϵ(0,1, ... , (m - 1)n}. For any m ϵ IN, m ≥ 2, a simple implementation of the method is given which uses r ϵ IN check digits to balance k ≤ {(⌊(m-1)r/2⌋)m- (m mod 2 + [(m - 1)k] mod 2}}/(m - 1) information digits with an encoding time complexity of O(mk logmk) digit operations. A refined implementation of the parallel decoding method is also given with r check digits and k ≤ (mr-1)/(m -1) information digits, where the encoding time complexity is O(k√logmk). Thus, the proposed codes are less redundant than the m-ary balanced codes with parallel decoding found in the literature and yet maintain the same complexity.