1. A method of transmitting a plurality of bits, comprising the steps of: (a) partitioning the bits among n subsets; (b) encoding each said subset as a respective symbol; (c) selecting a balancing vector, in accordance with said symbols, from a set of size 2 p of codewords of length n in {−1,1}, where p<n; (d) multiplying each said symbol by a corresponding element of said balancing vector; and (e) transmitting said symbols.