Rateless codes are good codes of infinite length that have the property that prefixes of such codes are themselves good codes. This makes them attractive for applications in which the channel quality is uncertain, where systems transmit as much of a codeword as necessary for decoding to be possible. While low complexity rateless codes are known to exist for the erasure channel, this paper shows they can also be constructed for any Gaussian channel. We consider two classes of such codes. The first class employs a structure whereby the transmission is block-structured, and is applicable when the time at which decoding will begin is known to the transmitter. In the first block, the bits to be sent are divided into several groups, each of which is binary encoded and the results are superimposed to form a layered code. In subsequent blocks, the binary codewords from the first block are simply repeated, but with a random dither. The associated decoder structure employs successive cancellation together with maximal ratio combining. An efficient recursion is developed for the power allocation in each block to ensure the rateless property. When the time at which decoding will begin is not known, we develop a variant on this approach whereby the layering is accomplished by faster-than-Nyquist signaling and where the successive cancellation is implemented by a block-structured decision feedback equalizer that is used in conjunction with an interleaver. This architecture leads to the necessary symmetric power allocation. Both approaches require very low complexity, and can be used to come within any desired fraction of capacity on an unknown Gaussian channel by choosing a good binary "base" code of sufficiently low rate. We quantify the tradeoffs, which reveal, for example, that to achieve 90% of capacity requires a code of rate roughly 1/7.
展开▼