Alternate mark inversion
De AMI-code (Alternate Mark Inversion) is een ternaire lijncodering voor transport van gedigitaliseerde data.
Ternair wil in dit geval zeggen dat er bij deze code drie signaalwaarden worden gebruikt (-, 0 en +) om de twee mogelijke waarden van een bit te coderen. Een 'logische' 0 wordt daarbij als fysieke 0 gecodeerd, en een 1 wordt afwisselend door een + en een - (een 'Mark') gecodeerd. Daardoor wordt voorkomen dat er een gelijkspanningscomponent ontstaat.
Indien een logische 1 door eenzelfde ternaire symbool als de vorige logische 1 wordt gecodeerd, spreekt men van een inbreuk op het AMI-principe. Door bewust een inbreuk op het AMI-principe aan te brengen, kan bij een verdeling van de te transporteren gegevens in datablokken, een scheiding worden gemaakt tussen de verschillende datablokken.
Omdat er bij lange rijen opeenvolgende nullen aan de ontvangstzijde problemen met de synchronisatie ontstaan, worden 2 opeenvolgende nullen gecodeerd door een nul gevolgd door een 'omgekeerde 1'.
Een gemodificeerde variant van de AMI-code wordt bij ISDN toegepast.