En la transmisión de datos y las telecomunicaciones , el relleno de bits (también conocido, de forma poco común, como justificación positiva ) es la inserción de bits no informativos en los datos . Los bits rellenos no deben confundirse con los bits de sobrecarga .
El relleno de bits se utiliza para diversos fines, como por ejemplo para llevar flujos de bits que no necesariamente tienen las mismas tasas de bits o tasas de bits racionalmente relacionadas a una tasa común, o para llenar búferes o tramas . La ubicación de los bits de relleno se comunica al extremo receptor del enlace de datos , donde se eliminan estos bits adicionales para devolver los flujos de bits a sus tasas de bits o forma originales. El relleno de bits se puede utilizar para sincronizar varios canales antes de la multiplexación o para hacer coincidir la tasa de dos canales individuales entre sí.
Otro uso del relleno de bits es para la codificación con longitud de ejecución limitada : para limitar la cantidad de bits consecutivos del mismo valor en los datos que se van a transmitir. Se inserta un bit del valor opuesto después de la cantidad máxima permitida de bits consecutivos. Como se trata de una regla general, el receptor no necesita información adicional sobre la ubicación de los bits de relleno para realizar el desrelleno. Esto se hace para crear transiciones de señal adicionales para garantizar una recepción confiable o para escapar de palabras de código reservadas especiales, como secuencias de sincronización de trama , cuando los datos las contienen.
El relleno de bits no garantiza que la carga útil esté intacta ( es decir, que no esté corrompida por errores de transmisión); es simplemente una forma de intentar garantizar que la transmisión comience y termine en los lugares correctos. Se utilizan técnicas de detección y corrección de errores para comprobar si la trama está dañada después de su entrega y, si es necesario, se vuelve a enviar la trama.
El esquema de codificación NRZI transmite un bit 0 como transición de señal y un bit 1 como ausencia de cambios. En este caso, el relleno de bits se describe más fácilmente como la inserción de un bit 0 después de una larga serie de bits 1.
Se popularizó gracias al SDLC de IBM (más tarde rebautizado como HDLC ) y también se utiliza en USB de baja y máxima velocidad .
Después de una larga secuencia de bits 1 no habría transiciones en los datos transmitidos y sería posible que los relojes del transmisor y del receptor perdieran la sincronización. Al insertar un 0 después de cinco (SDLC) o seis (USB) bits 1 consecutivos, el transmisor garantiza un máximo de seis (SDLC) o siete (USB) tiempos de bit entre transiciones. El receptor puede sincronizar su reloj con las transiciones para garantizar una recuperación adecuada de los datos.
En SDLC, la secuencia de bits transmitida "01111110" que contiene seis bits 1 adyacentes es el byte de bandera . El relleno de bits garantiza que este patrón nunca pueda ocurrir en datos normales, por lo que se puede utilizar como marcador para el comienzo y el final de la trama sin posibilidad de confundirse con datos normales. [1]
La principal desventaja del relleno de bits es que la tasa de código es impredecible; depende de los datos que se transmiten.
Fuente: de la Norma Federal 1037C en apoyo de MIL-STD-188