# HDB3

HDB3 es un código binario de telecomunicaciones principalmente usado en Japón, Europa y Australia y está basado en el código AMI, usando una de sus características principales que es invertir la polaridad de los unos para eliminar la componente continua.
Consiste en sustituir secuencias de bits que provocan niveles de tensión constantes por otras que garantizan la anulación de la componente continua y la sincronización del receptor. La longitud de la secuencia queda inalterada, por lo que la velocidad de transmisión de datos es la misma; además el receptor debe ser capaz de reconocer estas secuencias de datos especiales.

## Explicación

El código HDB3 cumple las propiedades que debe reunir un código de línea para codificar señales en banda base:
El espectro de frecuencias carece de componente continua y su ancho de banda está optimizado.
El sincronismo de bit se garantiza con la alternancia de polaridad de los “unos”, e insertando impulsos de sincronización en las secuencias de “ceros”.
Los códigos HDBN (High Density Bipolar) limitan el número de ceros consecutivos que se pueden transmitir.
-HDB3 no admite más de 3 ceros consecutivos. Coloca un impulso (positivo o negativo) en el lugar del 4.º cero.
- El receptor tiene que interpretar este impulso como un cero. Para ello es preciso diferenciarlo de los impulsos normales que representan a los “unos”.
- El impulso del 4.º cero se genera y transmite con la misma polaridad que la del impulso precedente. Se denomina por ello V “impulso de violación de polaridad” (el receptor reconoce esta violación porque detecta 2 impulsos seguidos con la misma polaridad).
- Para mantener la componente de corriente continua con valor nulo, se han de transmitir alternativamente tantas violaciones positivas como negativas.
- Para mantener siempre alternada la polaridad de las violaciones V, es necesario en algunos casos insertar un impulso B “de relleno” (cuando la polaridad del impulso que precede a la violación V, no permite conseguir dicha alternancia).
Si no se insertaran los impulsos B, las violaciones de polaridad V del 4.º cero serían obligatoriamente del mismo signo.
En HDB3 se denomina impulso a los estados eléctricos positivos o negativos, distintos de “cero”. Cuando aparecen más de tres ceros consecutivos estos se agrupan de 4 en 4, y se sustituye cada grupo de 0000 por una de las secuencias siguientes de impulsos: B00V o 000V.
-B indica un impulso con distinto signo que el impulso anterior. Por tanto, B mantiene la ley de alternancia de impulsos, o ley de polaridad, con el resto de los impulsos transmitidos.
-V indica un impulso del mismo signo que el impulso que le precede, violando por tanto la ley de bipolaridad.
El grupo 0000 se sustituye por B00V cuando es par el número de impulsos entre la violación V anterior y la que se va a introducir. El grupo 0000 se sustituye por 000V cuando es impar el número de impulsos entre la violación V anterior y la que se va a introducir.

## Detección de errores

La detección elemental de los errores de transmisión típicos del ruido, se realiza simplemente comprobando que los impulsos recibidos por el receptor cumplen las reglas de polaridad establecidas por la codificación HDB3. La figura muestra las consecuencias de dos errores diferentes. La pérdida de un impulso se detecta porque aparecen 4 ceros consecutivos que no permite el HDB3, y también la inserción de un “uno”, porque las dos violaciones positivas quedan con la misma polaridad.
Sin embargo en la figura siguiente se puede ver que hay errores que no se detectan y que incluso se propagan generando aún más errores.