A plurality of bits is transmitted by partitioning the bits among n subsets; encoding each subset as a respective symbol; selecting a balancing vector, in accordance with the symbols, from a set of size 2p of codewords of length n in {−1,1}; multiplying each symbol by a corresponding element of the balancing vector; and transmitting the symbols substantially simultaneously. Preferably, the set of codewords has a strength of at most about 2 ln └n┘. The balancing vector is selected either deterministically or probabilistically.