Professional Documents
Culture Documents
The HDB3 code is a bipolar signaling technique (i.e. relies on the transmission of both
positive and negative pulses). It is based on Alternate Mark Inversion (AMI), but extends
this by inserting violation codes whenever there is a run of 4 or more 0's. This and similar
(more complex) codes have replaced AMI in modern distribution networks.
The encoding rules follow those for AMI, except that a sequence of four consecutive 0's
are encoding using a special "violation" bit. This bit has the same polarity as the last 1-bit
which was sent using the AMI encoding rule. The purpose of this is to prevent long runs
of 0's in the data stream which may otherwise prevent a DPLL from tracking the centre of
each bit. Such a code is sometimes called a "run length limited" code, since it limits the
runs of 0's which would otherwise be produced by AMI.
The receiver removes all Violation pulses, but in addition a violation preceded by two
zeros and a pulse is treated as the "BOOV" pattern and both the viloation and balancing
pulse are removed from the receieved bit stream. This restores the original bit stream.
"10000110"
encoded in HDB3 is
"+000V-+0"
"1010000011000011000000"
"+0-000-0+-+00+-+-00-00"