Single-error-correcting codes for magnetic recording

Magnetic and magneto-optical data recording uses a transition from one direction of magnetization to another to represent 1, and an absence of transition to represent 0. Due to physical and technological reasons the number of zeroes between two successive transitions is limited by a minimum d and a maximum k. Codes that satisfy these constraints are known as (d,k) run-length-limited modulation codes. A construction is suggested of a code which corrects single bit-shift errors in (d,k) modulation codes. The codes are nearly optimal in redundancy. The encoding and decoding procedures are linear in the codeword length.