Coding for magnetic channels
Several new approaches and refinements to modulation coding for magnetic channels are proposed. The approaches may be grouped into four general categories: noiseless source coding of binary to (d,k) sequences, block (d,k) coding, (d,k) codes with a null at DC, and coding for likely error events.
Variable rate noiseless source (d,k) codes are generated with a restriction on the minimum rate of the codes. The codes achieve a minimum rate equal to that of the commonly accepted code rate for a given (d,k) constraint, and an average rate for random binary data nearly equal to the constraint's information carrying capacity. Example codes are produced for (d,k) = (1,3), (1,7), and (2,7) constraints.
An application of graph theory to produce efficient construction of independent block (d,k) codes is presented. The method gives a systematic approach to determine a cycle of multiple block (d,k) codes with optional concatenation. It is shown that independent block (d,k) codes must have periodic embedded sequences of d zeroes. The channel capacity of (d,k) codes with periodic embedded sequences is determined.
The block (d,k) code construction is extended to produce two families of error detecting (d,k) codes. The first family has the ability to detect when an error in timing recovery has caused an encoded block to become offset in time by a single bit cell. The second has the ability to detect when a single NRZI one is misdetected and erroneously appears in an adjacent bit cell.
A non-traditional approach to counting the accumulated charge of (d,k) sequences is used to produce modulation codes with a spectral null at DC. The channel capacity of these codes is derived and tabulated. Several example codes are produced, including a new 8/10 modulation code.
Using a Lorentzian channel model and the techniques of maximum likelihood sequence estimation, the performance of proposed and standard modulation codes is compared. It is shown that proposed codes display improved coding gain at densities of interest. Additional examples of codes which eliminate likely error events are presented.