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

HDB3-Kodierung eines seriellen Datenstroms

Kurzdefinition

[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]
Anzahl von Pulsen seit letzter Ersetzung
Letzter Puls Ungerade Gerade
Negativ 000− +00+
Positiv 000+ −00−

Trivialerklärung

[Bearbeiten | Quelltext 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:

Sender

[Bearbeiten | Quelltext bearbeiten]

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 | Quelltext 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 | Quelltext bearbeiten]
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 | Quelltext bearbeiten]

Nachteile

[Bearbeiten | Quelltext bearbeiten]

Anwendung

[Bearbeiten | Quelltext bearbeiten]

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