Issue No. 05 - May (1998 vol. 47)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.677239
<p><b>Abstract</b>—A constant weight, <it>w</it>, code with <it>k</it> information bits and <it>r</it> check bits is a binary code of length <it>n</it> = <it>k</it> + <it>r</it> and cardinality 2<super><it>k</it></super> such that the number of 1s in each code word is equal to <it>w</it>. When <tmath>$w = \lfloor n/2 \rfloor,$</tmath> the code is called balanced. This paper describes the design of balanced and constant weight codes with parallel encoding and parallel decoding. Infinite families of efficient constant weight codes are given with the parameters <it>k</it>, <it>r</it>, and the "number of balancing functions used in the code design," <it>p</it>. The larger <it>p</it> grows, the smaller <it>r</it> will be; and the codes can be encoded and decoded with VLSI circuits whose sizes and depths are proportional to <it>pk</it> and log<sub>2</sub><it>p</it>, respectively. For example, a design is given for a constant weight <it>w</it> = 33 code with <it>k</it> = 64 information bits, <it>r</it> = 10 check bits, and <it>p</it> = 8 balancing functions. This code can be implemented by a VLSI circuit using less than 4,054 transistors with a depth of less than 30 transistors.</p>
Constant weight codes, balanced codes, parallel encoding, parallel decoding, VLSI systems.
Luca G. Tallini, Bella Bose, "Design of Balanced and Constant Weight Codes for VLSI Systems", IEEE Transactions on Computers, vol. 47, no. , pp. 556-572, May 1998, doi:10.1109/12.677239