Subscribe

Issue No.08 - August (1999 vol.48)

pp: 794-814

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.795122

ABSTRACT

<p><b>Abstract</b>—A balanced code with <tmath>$k$</tmath> information bits and <tmath>$r$</tmath> check bits is a binary code of length <tmath>$n=k+r$</tmath> and cardinality <tmath>$2^k$</tmath> such that the number of <tmath>$1$</tmath>s in each code word is equal to <tmath>$\lfloor n/2 \rfloor$</tmath>. This paper describes the design of efficient balanced codes with parallel encoding and parallel decoding. In this case, since area and delay of such circuits are critical factors, another parameter is introduced in the definition of balanced code: the “number of balancing functions used in the code design,”<tmath>$p$</tmath>. Parallel encoding and decoding algorithms independent from the chosen balancing method are given and these can be implemented by a VLSI circuit of size <tmath>$O(pk)$</tmath> and depth <tmath>$O(\log p)$</tmath>. This paper also presents a new balancing method: the permutation method, which, for infinitely many values of <tmath>$k$</tmath> (such as, <tmath>$k=8,10,20,22,32,34,\ldots$</tmath>) is more efficient than Knuth's complementation method. This new method results in efficient balanced codes with <tmath>$k$</tmath> information bits, <tmath>$k$</tmath> even, <tmath>$r=2\lfloor k/12\rfloor+2$</tmath> check bits and <tmath>$p=6$</tmath> balancing functions. Further, Knuth's complementation method is generalized to obtain efficient code designs for any value of the parameters <tmath>$k$</tmath>, <tmath>$r$</tmath>, and <tmath>$p$</tmath>, provided that <tmath>$ k \leq 2\sum_{i=0}^m (\matrix{{r}\cr{i}})+ p(r-2m-1) - [(kr+k+r)\bmod2]$</tmath>, where <tmath>$m$</tmath> is such that <tmath>$(\matrix{{r}\cr{m-1}})< p \leq (\matrix{{r}\cr{m}})$</tmath>.</p>

INDEX TERMS

Balanced codes, constant weight codes, parallel encoding, parallel decoding, VLSI systems.

CITATION

Luca G. Tallini, Bella Bose, "Balanced Codes with Parallel Encoding and Decoding",

*IEEE Transactions on Computers*, vol.48, no. 8, pp. 794-814, August 1999, doi:10.1109/12.795122