Abstract

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 ( <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">n</sup> <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">w</sub> ) <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> indicate 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) <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">r</sup> /2⌋) <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> - (m mod 2 + [(m - 1)k] mod 2}}/(m - 1) information digits with an encoding time complexity of O(mk log <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> k) digit operations. A refined implementation of the parallel decoding method is also given with r check digits and k ≤ (m <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">r</sup> -1)/(m -1) information digits, where the encoding time complexity is O(k√log <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> k). 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call