An Alternative to Runlength-limiting Codes: Turn Timing Errors into Substitution Errors

David J C MacKay

Standard runlength-limiting codes -- nonlinear codes defined by trellises -- have the disadvantage that they disconnect the outer error-correcting code from the bit-by-bit likelihoods that come out of the channel.

The normal motivation for runlength limits is to prevent loss of synchronization between the transmitter and receiver. I suggest mapping the user data to transmitted symbols in such a way that timing errors lead not to errors of synchronization, but to symbol errors.

In magnetic recording channels with high bit densities, there may be constraints not only on the maximum runlength but also on the number of successive transitions permitted. The coding method proposed here is compatible with these constraints.

postscript (Cambridge UK).

postscript (Canada mirror).


related papers.
David MacKay's: home page, publications. bibtex file.
Canadian mirrors: home page, publications. bibtex file.