A Practical Method for Approaching the Channel Capacity of Constrained Channels


Kees A. Schouhamer Immink

ABSTRACT

A new coding technique is proposed that translates user information into a constrained sequence using very long codewords. Huge error propagation resulting from the use of long codewords is avoided by reversing the conventional hierarchy of the error control code and the constrained code. The new technique is exemplified by focusing on (d,k)-constrained codes. A storage-effective enumerative encoding scheme is proposed for translating user data into long dk sequences and vice versa. For dk runlength-limited codes, estimates are given of the relationship between coding efficiency versus encoder and decoder complexity. We will show that for most common d,k values a code rate of less than 0.5% below channel capacity can be obtained by using hardware mainly consisting of a ROM look-up table of size 1 kbyte. For selected values of d and k, the size of the look-up table is much smaller. The paper is concluded by an illustrative numerical example of a rate 256/466, (d =2, k =15) code, which provides a serviceable 10% increase in rate with respect to its traditional rate 1/2, (2,7) counterpart.

Key Words: enumerative coding, constrained code, recording code, run-length-limited



Last updated: 12-April-97