Der HDB3-Code (High Density Bipolar) ist ein Leitungscode aus dem Bereich der Telekommunikation.

HDB3-Kodierung eines seriellen Datenstroms

Kurzdefinition

Bearbeiten

Der HDB3-Code basiert auf dem AMI-Code, bei welchem allerdings lange Nullfolgen zum Synchronisationsverlust führen können. Zur Vermeidung von Synchronitätsverlusten werden beim HDB3-Code sogenannte Codeverletzungsregeln genutzt. So wird die vierte Null in Folge durch eine Eins in falscher Polarität ersetzt.

Ersetzungstabelle

Bearbeiten
Anzahl von Pulsen seit letzter Ersetzung
Letzter Puls Ungerade Gerade
Negativ 000− +00+
Positiv 000+ −00−

Trivialerklärung

Bearbeiten

HDB3 bedeutet, dass niemals vier Nullen hintereinander übertragen werden. Falls vier Nullen übertragen werden müssen, so wird die AMI-Code-Regel verletzt und eine Null mit einer "falschen Eins" übertragen. Falsche Eins bedeutet hierbei, dass sie das "falsche" Vorzeichen hat (nämlich dasselbe wie die letzte Eins). An sich würde das schon genügen, um die Übertragung von beliebig vielen Nullen und Einsen hintereinander zu ermöglichen. Bei bestimmten Kombinationen von Nullen und Einsen verschiebt sich dabei jedoch der Gleichspannungsanteil des Signals. Um dem entgegenzuwirken, wird HDB3 verwendet. Vereinfacht ausgedrückt, funktioniert der HDB3-Code folgendermaßen:

Der Sender merkt sich, in welche Richtung (Plus oder Minus) die letzte Eins ging. Wenn jetzt die nächste "falsche Eins" (also vier Nullen) übertragen werden muss, wird nach der oben angeführten Ersetzungstabelle vorgegangen.

Diese vier Sequenzen entsprechen dabei viermal Null.

Empfänger

Bearbeiten

Der Empfänger wertet eine positive oder negative Spannung als Eins. Kommt es jetzt zu einer Verletzung der AMI-Code-Regel (zwei Einsen mit selber Polarität), wird diese falsche Eins als Null gewertet. Kommt jedoch eine solche Verletzung nicht nach drei Nullen, sondern nach zwei, wird auch die erste Eins, die eigentlich als richtige Eins auf der Leitung war, als Null gewertet (die zweite falsche Null auch).

Beispiele

Bearbeiten
  • Signale, welche in AMI und HDB3 codiert sind. Beide haben als Startvoraussetzung, dass die letzte übertragene 1 negativ ( - ) war, und dass die letzte Codeverletzung vor einem Bit stattfand. (Das Signal vor dem hier gezeigten war zum Beispiel ++–.)
  • Zur Erklärung der Art der Codeverletzungen ist eine zusätzliche Zeile eingefügt die die zu Englisch balancing (B) und violating (V) Ersetzungspulse enthält.
Input 10000110
AMI +0000−+0
HDB3 +B00V−+0
HDB3 +−00−+−0
Input 101000001100001100000001
AMI +0−00000+−0000+−0000000+
HDB3 +0−000V0+−B00V−+B00V000+
HDB3 +0−000−0+−+00+−+−00−000+
Input 101000010000110000111000011110000101
AMI +0−0000+0000−+0000−+−0000+−+−0000+0−
HDB3 +0-000V+000V-+B00V-+-000V+-+-B00V+0-
HDB3 +0-000-+000+-+-00-+-+000+-+-+-00-+0-
Input 10000000000
AMI +000000000
HDB3 +B00VB00V00
HDB3 +-00-+00+00

Vorteile

Bearbeiten

Nachteile

Bearbeiten
  • Wie beim AMI-Code ist ein Leitungstreiber notwendig, der die drei verschiedenen Pegel erzeugen kann. Verglichen mit einer einfachen binären Übertragung ist auch eine entsprechend aufwändigere Empfangsschaltung notwendig.

Anwendung

Bearbeiten

Der HDB3-Leitungscode wird unter anderem auf PCM30-Übertragungsstrecken eingesetzt.