Código de sincronización automática - Self-synchronizing code
En la teoría de la codificación , especialmente en las telecomunicaciones , un código de sincronización automática es un código decodificable de forma única en el que el flujo de símbolos formado por una parte de una palabra de código , o por la parte superpuesta de dos palabras de código adyacentes, no es una palabra de código válida. . Dicho de otra manera, un conjunto de cadenas (llamadas "palabras de código") sobre un alfabeto se denomina código de sincronización automática si para cada cadena obtenida mediante la concatenación de dos palabras de código, la subcadena comienza en el segundo símbolo y termina en el penúltimo. El símbolo no contiene ninguna palabra de código como subcadena. Cada código de sincronización automática es un código de prefijo , pero no todos los códigos de prefijo son de sincronización automática.
Otros términos para el código de sincronización automática son código sincronizado o, de manera ambigua, código sin comas . Un código de autosincronización permite el encuadre adecuado de las palabras de código transmitidas siempre que no se produzcan errores no corregidos en el flujo de símbolos ; no se requiere sincronización externa . Los códigos de sincronización automática también permiten la recuperación de errores no corregidos en la transmisión; con la mayoría de los códigos de prefijo, un error no corregido en un solo bit puede propagar más errores en la secuencia y corromper los datos subsiguientes .
La importancia de los códigos de sincronización automática no se limita a la transmisión de datos . La autosincronización también facilita algunos casos de recuperación de datos , por ejemplo, de un texto codificado digitalmente .
Ejemplos de
- El código de prefijo {00, 11} se sincroniza automáticamente porque 0, 1, 01 y 10 no son códigos.
-
UTF-8 se sincroniza automáticamente porque sus bytes
11xxxxxx
iniciales (10xxxxxx
) y finales ( ) tienen diferentes patrones de bits. - Control de enlace de datos de alto nivel (HDLC)
- Procedimientos avanzados de control de comunicación de datos (ADCCP)
- Codificación de Fibonacci
Contraejemplos:
- El código de prefijo { ab , ba } no se sincroniza automáticamente porque abab contiene ba .
- El código de prefijo b ∗ a (usando la estrella de Kleene ) no se sincroniza automáticamente (aunque cualquier palabra de código nueva simplemente comienza después de een a ) porque la palabra de código ba contiene la palabra de código a .
Ver también
- Poco deslizamiento
- Código de coma
- Señal de reloj automático
- Relleno consistente de bytes de sobrecarga
Referencias
- Berstel, Jean; Perrin, Dominique (1985), Teoría de los códigos , Matemáticas puras y aplicadas, 117 , Academic Press, Zbl 0587.68066
- Berstel, Jean; Perrin, Dominique; Reutenauer, Christophe (2010). Códigos y autómatas . Enciclopedia de Matemáticas y sus Aplicaciones. 129 . Cambridge: Cambridge University Press . ISBN 978-0-521-88831-8 . Zbl 1187.94001 .
- Este artículo incorpora material de dominio público del documento de la Administración de Servicios Generales : "Norma Federal 1037C" . (en apoyo de MIL-STD-188 )