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. . [1] 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 El penúltimo 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 se sincronizan automáticamente.
Otros términos para el código de sincronización automática son código sincronizado [2] o, ambiguamente, código sin comas . [3] Un código de sincronización automática permite el encuadre adecuado de las palabras de código transmitidas siempre que no se produzcan errores sin corregir 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 de control de comunicación de datos avanzados (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
Referencias
- ^ https://glossary.atis.org/glossary/self-synchronizing-code/?char=S&page_number=22&sort=ASC
- ^ Berstel et al (2010) p. 137
- ^ Berstel y Perrin (1985) p. 377
- 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 )