Deterministic Rateless Codes for BSC
A rateless code encodes a finite length information word into an infinitely long codeword such that longer prefixes of the codeword can tolerate a larger fraction of errors. A rateless code achieves capacity for a family of channels if, for every channel in the family, reliable communication is obtained by a prefix of the code whose rate is arbitrarily close to the channel's capacity. As a result, a universal encoder can communicate over all channels in the family while simultaneously achieving optimal communication overhead.
In this paper, we construct the first deterministic rateless code for the binary symmetric channel. Our code can be encoded and decoded in O(β) time per bit and in almost logarithmic parallel time of O(β·logn), where β is any (arbitrarily slow) super-constant function. Furthermore, the error probability of our code is almost exponentially small exp(-Ω(n/β)). Previous rateless codes are probabilistic (i.e., based on code ensembles), require polynomial time per bit for decoding, and have inferior asymptotic error probabilities.
Our main technical contribution is a constructive proof for the existence of an infinite generating matrix that each of its prefixes induce a weight distribution that approximates the expected weight distribution of a random linear code.