AMI coding was used extensively in first-generation PCM networks, but suffers the drawback that a long run of 0's produces no transitions in the data stream (and therefore does not contain sufficient transitions to guarantee lock of a DPLL). Successful transmission therefore relies on the user not wishing to send long runs of 0's and this type of encoding is not therefore transparent to the sequence of bits being sent.
The HDB3 encoding scheme is one of many which have been developed to provide regular transitions irrespective of the pattern of data being carried.
Example of AMI encoding:
The pattern of bits " 1 0 0 0 0 1 1 0 " encodes to " + 0 0 0 0 - + " (the corresponding encoding using HDB3 is " + 0 0 0 + - + ").