Kodowanie liniowe polega na zamianie ciągu bitów na przebieg elektryczny przystosowany do transmisji. Wśród odpowiedzi są zarówno kody dwupoziomowe (NRZ, CMI), jak i trójpoziomowe (AMI, HDB3). Na rysunku sygnał przyjmuje trzy poziomy: dodatni, zerowy i ujemny, więc już sama liczba poziomów wskazuje na rodzinę rozwiązań bipolarnych.
W kodzie AMI bity "1" są impulsami o naprzemiennej polaryzacji (+, potem -, potem + itd.), a bity "0" są brakiem impulsu (poziom 0). To powoduje problem praktyczny: długie sekwencje zer nie zawierają przejść i utrudniają odbiornikowi utrzymanie synchronizacji zegara.
HDB3 jest modyfikacją AMI zaprojektowaną właśnie po to, aby uniknąć długich odcinków bez impulsów. Gdy pojawiają się cztery kolejne zera, kod wprowadza specjalne wstawki (np. B00V lub 000V), czyli impulsy bilansujące i impulsy naruszenia. Kluczowa cecha diagnostyczna brzmi: w HDB3 w sekwencjach zer pojawiają się impulsy, mimo że w danych binarnych są tam zera.
Na przedstawionym przebiegu w długim fragmencie zer widoczne są dodatkowe impulsy (naruszenia), których nie da się wyjaśnić samą regułą AMI. To jednoznacznie wskazuje na HDB3.
- Odpowiedź "NRZ" jest błędna, bo NRZ jest kodowaniem dwupoziomowym i nie daje trzeciego poziomu napięcia.
- Odpowiedź "CMI" jest błędna, bo CMI również jest kodowaniem dwupoziomowym i ma inną zasadę przejść niż bipolarny przebieg z polaryzacją +/−.
- Odpowiedź "AMI" jest błędna, bo w AMI zera nie powodują impulsów; długie zera to długi poziom 0. Tu w "zerach" występują impulsy wstawione dla synchronizacji.
W praktyce podczas pomiarów (np. oscyloskopem) rozróżnienie AMI i HDB3 wykonuje się właśnie przez obserwację, czy w sekwencjach wielu zer pojawiają się impulsy podtrzymujące synchronizację.