Kod AMI, czyli Alternate Mark Inversion, rozpoznaje się po tym, że logiczne zera są przesyłane jako poziom 0, a logiczne jedynki pojawiają się naprzemiennie raz jako impuls dodatni +1, raz jako impuls ujemny -1. Właśnie tak wygląda Sygnał 2: każda kolejna „jedynka” zmienia polaryzację, a między nimi mogą występować odcinki na poziomie zerowym. To jest najważniejsza cecha tego kodu liniowego, nie sama obecność trzech poziomów napięcia. W praktyce AMI stosowano m.in. w transmisji cyfrowej w torach telekomunikacyjnych, a jego odmiany i modyfikacje, takie jak HDB3 albo B8ZS, spotyka się przy systemach zgodnych z zaleceniami ITU-T, np. G.703 dla interfejsów 2 Mbit/s. Dużą zaletą AMI jest ograniczenie składowej stałej, bo impulsy dodatnie i ujemne statystycznie się równoważą. Moim zdaniem to jeden z tych kodów, które najłatwiej rozpoznać na oscyloskopie, ale tylko wtedy, gdy patrzy się na kolejność znaków, a nie na sam „ładny” kształt przebiegu.
W kodzie AMI nie wystarczy, że przebieg ma poziomy +1, 0 i -1. To częsty błąd, bo na rysunku każdy sygnał trójpoziomowy może na pierwszy rzut oka wyglądać „telekomunikacyjnie”. Kluczowa zasada jest taka: każda kolejna jedynka binarna, nazywana w starszej terminologii mark, musi mieć przeciwną polaryzację niż poprzednia jedynka. Zera binarne pozostają na poziomie 0, bez impulsu dodatniego ani ujemnego. Jeśli w przebiegu pojawiają się dwie jedynki pod rząd o tej samej polaryzacji, to nie jest poprawny czysty AMI, tylko albo inny kod liniowy, albo błąd transmisji, albo celowe naruszenie stosowane w kodach pochodnych, np. HDB3. W Sygnałach 1, 3 i 4 widać właśnie takie problemy: impulsy nie zachowują konsekwentnej naprzemienności, czasem zmienia się też sposób interpretacji poziomu zerowego lub amplitudy sugerują inne kodowanie. Myślenie typu „jest plus, minus i zero, więc to AMI” prowadzi tu na manowce. W realnej diagnostyce, np. przy oglądaniu sygnału z interfejsu PCM lub traktu E1 na oscyloskopie, technik sprawdza nie tylko poziomy napięć, ale też regułę polaryzacji impulsów, synchronizację bitową i ewentualne naruszenia kodowe. Z mojego doświadczenia właśnie ta drobna kontrola kolejnych impulsów najczęściej odróżnia dobrą odpowiedź od zgadywania po obrazku.