A data dependent scrambler for a communications channel that receives a
user data sequence including N symbols each with M bits includes a seed
finder that selects a scrambling seed and a first scrambler that receives
said user data sequence and said scrambling seed from said seed finder.
The first scrambler generates a scrambled user data sequence. A first
encoder identifies a string of X consecutive zeros in adjacent symbols of
the scrambled used data sequence and replaces one of the adjacent symbols
with an all-one symbol. The first encoder replaces the other of the
adjacent symbols with first bits representing a position of the string of
X consecutive zeros and second bits representing bits of the adjacent
symbols that are not in the string of X consecutive zeros.