Combined error correcting/modulation recording codes
Abstract (summary)
In magnetic recording systems, a common technique for mitigating effects of intersymbol interference and maintaining bit synchronization, is to impose run-length constraints on the recorded data sequences. Here, we examine the problem of constructing combined RLL/FEC (run-length limited, forward error-correcting) codes for the class of input-restricted, binary symmetric channel described by the parameters (d,k), where d is the minimum, and k the maximum number of 0's in any allowable channel input sequence.
First, we characterize the Hamming weight distribution for C$\sp{\rm n}$(d,k), (the set of all binary n-tuples which satisfy the specified (d,k) constraint) in terms of a generating function for enumerating the number of n-tuples of Hamming weight w in C$\sp{\rm n}$(d,k). We then give a simple condition for identifying a maximal concatenable subset of C$\sp{\rm n}$(d,k). Next, we derive some Hamming distance bounds for C$\sp{\rm n}$(d,k). We then make use of these results to construct a class of RLL/FEC trellis codes. In particular, we present a general algorithm for constructing a non-catastrophic, single error-correcting trellis code for an M-ary data alphabet using a set of 2M channel symbols. Further, we construct two ad hoc RLL/FEC trellis codes and compare their performance on an input-restricted, binary symmetyric channel to a pair of 'equivalent' concatenated RLL/FEC codes.
Finally, we give some results for two other classes of input-restricted, binary channels. First, we present a bit stuffing code for a noiseless, binary channel characterized by the parameters (d,k;c), where d and k specify the minimum and maximum run-lengths of 0's, and c specifies a maximum running charge constraint. Second, we derive an expression for the (noiseless) capacity of an input-restricted, binary channel characterized by the parameters (d,k,e,l), where d and k specify the minimum and maximum run-lengths of 0's, and e and l specify the minimum and maximum run-lengths of 1's. For this class of channels, we also derive a generating function for enumerating the number of n-tuples of Hamming weight w.