Kod HDB3 (High Density Bipolar of order 3) należy do kodów bipolarnych i jest modyfikacją zasady AMI. W AMI bity "1" są kodowane impulsami o naprzemiennej polaryzacji (+, −, +, −…), a bity "0" jako brak impulsu. Problem AMI pojawia się przy długich sekwencjach zer: brak przejść utrudnia odzysk zegara (synchronizację) i może pogarszać własności transmisyjne.
HDB3 rozwiązuje to przez podstawienia zer: gdy wystąpi odpowiednio długi ciąg zer, wstawia się specjalny wzorzec impulsów, w którym pojawia się tzw. naruszenie reguły AMI (impuls o tej samej polaryzacji co poprzednia "1") oraz impuls wyrównujący, zależnie od parzystości liczby impulsów od ostatniego naruszenia. W praktyce na wykresie czasowym widać więc, że po serii zer pojawiają się impulsy, mimo że w danych powinny być "0", a ich polaryzacje nie zawsze są ściśle naprzemienne.
- Dlaczego HDB3 jest poprawne: przebieg odpowiada kodowi bipolarnemu z celowymi odstępstwami (naruszeniami) używanymi do zapewnienia przejść przy zerach.
- Dlaczego NRZ jest błędne: NRZ nie ma typowych impulsów bipolarnych zależnych od historii jedynek; zwykle utrzymuje poziom dla "1" i inny dla "0" (lub brak powrotu do zera), więc nie daje charakterystycznej naprzemienności i naruszeń.
- Dlaczego AMI jest błędne: w czystym AMI nie powinno być naruszeń naprzemienności dla kolejnych "1", a długie ciągi zer pozostają "puste" (bez wymuszonych impulsów).
- Dlaczego AMImod jest błędne: ogólna "modyfikacja AMI" może oznaczać różne warianty; aby wybrać ją poprawnie, wykres musiałby odpowiadać konkretnym regułom danego wariantu. Gdy na przebiegu widać typowe podstawienia zer charakterystyczne dla HDB3, właściwą odpowiedzią pozostaje HDB3.
Wskazówka egzaminacyjna: identyfikując kod z wykresu, najpierw sprawdź, czy sygnał jest bipolarny (dodatnie i ujemne impulsy), potem czy "1" są naprzemienne (AMI), a na końcu czy przy długich zerach pojawiają się wymuszone impulsy (HDB3).