Low Complexity Two-Dimensional Weight-Constrained Codes
Two low complexity coding techniques are described for mapping arbitrary data to and from m x n binary arrays in which the Hamming weight of each row (respectively, column) is at most n/2 (respectively, m/2). One technique is based on flipping rows and columns of an arbitrary binary array until the Hamming weight constraint is satisfied in all rows and columns, and the other is based on a certain explicitly constructed "antipodal" matching between layers of the Boolean lattice. Both codes have a redundancy of roughly m+n and may have applications in next generation resistive memory technologies.
weight-constrained codes boolean lattice resistive memory two-dimensional coding