  Line codes make it possible to mitigate interference, to prevent short
pulses, and to generate streams of bipolar signals with no direct-current (DC)
power content through balancing. They find application in magnetic recording
(MR) devices, in Flash devices, in optical recording devices, and in some
computer standards. This paper introduces a new family of fixed-length, binary
constrained codes, named lexicographically-ordered constrained codes (LOCO
codes), for bipolar non-return-to-zero signaling. LOCO codes are
capacity-achieving, the lexicographic indexing enables simple, practical
encoding and decoding, and this simplicity is demonstrated through analysis of
circuit complexity. LOCO codes are easy to balance, and their inherent symmetry
minimizes the rate loss with respect to unbalanced codes having the same
constraints. Furthermore, LOCO codes that forbid certain patterns can be used
to alleviate inter-symbol interference in MR systems and inter-cell
interference in Flash systems. Numerical results demonstrate a gain of up to
10% in rate achieved by LOCO codes with respect to other practical constrained
codes, including run-length-limited codes, designed for the same purpose.
Simulation results suggest that it is possible to achieve a channel density
gain of about 20% in MR systems by using a LOCO code to encode only the parity
bits, limiting the rate loss, of a low-density parity-check code before
writing.
