AMI code
The AMI code ( A lternate M ark I nversion ) is a pseudoternary line code for transmission of data .
Ternary means that with this code three signal values (-, 0, +) are used to code the two states of a bit . A logical 0 is transmitted as a physical 0, a 1 alternating with - or +. This avoids a direct current component. In the case of long zero sequences, however, it has only little clock information, so that clock recovery is difficult for the receiver . That is why it is mostly only used in this form with a scrambler . B8ZS and HDB3 are modifications of the AMI code in which the clock information is retained with the aid of deliberate code rule violations .
The AMI code process was primarily required to be able to send signals via existing transformers in the public telephone network - i.e. to receive pure alternating current that can be transformed or transmitted in the existing network.
If a logical 1 is transmitted through the same status as the previous 1, it is referred to as a code rule violation. By deliberately violating the code rules, different frames can be separated in a frame-based transmission.
The modified AMI code is a variant of the AMI code with reverse assignment of the bits to be coded. The logical 1 is transmitted here as a physical 0, while the logical 0 is transmitted alternately by - or +. This variant is used on the S 0 bus in ISDN , among other things .