According to embodiments of the invention, a 
communications system includes an error correction 
encoder that error correction encodes a 
bitstream according to an error 
correction code. The 
system also includes a variable symbol generator that generates a symbol according to a selected one of a plurality of selectable 
signal constellations from a group of bits of the error correction encoded 
bitstream. The 
system further includes a spreader that spreads the symbol according to a spreading code, and a 
transmitter that transmits the spread symbol in a communications medium. Preferably, the plurality of selectable 
signal constellations includes at least two 
signal constellations of different order. In other embodiments, the error correction 
encoder includes a variable error-correction 
encoder that encodes the 
bitstream according to a selected error 
correction code of a plurality of selectable error correction codes. In still other embodiments, the spreader includes a variable spreader that spreads the symbol according to a selected spreading code of a plurality of selectable orthogonal spreading codes including at least two spreading codes of different lengths. A controller may select the error 
correction code used by the variable error correction encoder, the signal 
constellation used by the variable symbol generator, and the spreading code used by the variable spreader to provide a desired 
information transmission rate for the bitstream. Related methods are also described.