En teoría de la codificación , especialmente en telecomunicaciones , un código autosincronizado es un código decodificable de forma única en el que la secuencia de símbolos formada por una porción de una palabra clave, o por la porción superpuesta de dos palabras clave adyacentes, no es una palabra clave válida. [ 1 ] Dicho de otro modo, un conjunto de cadenas (llamadas palabras clave ) sobre un alfabeto se denomina código autosincronizado si, para cada cadena obtenida al concatenar dos palabras clave, la subcadena que comienza en el segundo símbolo y termina en el penúltimo no contiene ninguna palabra clave como subcadena. Todo código autosincronizado es un código de prefijo , pero no todos los códigos de prefijo son autosincronizados.
Otros términos para el código autosincronizado son código sincronizado [ 2 ] o, de forma ambigua, código sin comas [ 3 ] . Un código autosincronizado permite el correcto encuadre 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 autosincronizados también permiten la recuperación de errores no corregidos en el flujo; con la mayoría de los códigos de prefijo, un error no corregido en un solo bit puede propagar errores más adelante en el flujo y corromper los datos subsiguientes .
La importancia de los códigos autosincronizados 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
- UTF-8 es autosincronizable porque el byte inicial (
11xxxxxx) y los bytes subsiguientes (10xxxxxx) de un punto de código multibyte tienen patrones de bits diferentes. - 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 {00, 11} no es autosincronizable; mientras que 0, 1, 01 y 10 no son códigos, 00 y 11 sí lo son.
- El código de prefijo { ab , ba } no es autosincronizable porque abab contiene ba .
- El código de prefijo b ∗ a (usando la estrella de Kleene ) no es autosincronizable (aunque cualquier nueva palabra de código simplemente comienza después de a ) porque la palabra de código ba contiene la palabra de código a .
Véase también
Referencias
- ↑ "Código autosincronizado – Glosario" .
- ↑ Berstel, Jean; Perrin, Dominique; Reutenauer, Christophe (2010). Códigos y autómatas . Enciclopedia de Matemáticas y sus Aplicaciones. Vol. 129. Cambridge, Reino Unido: Cambridge University Press . pág. 137. ISBN 978-0-521-88831-8. Zbl 1187.94001 .
- ↑ Berstel, Jean; Perrin, Dominique (1985). Teoría de códigos . Matemáticas puras y aplicadas. Vol. 117. Academic Press . pág. 377. Zbl 0587.68066 .
Lecturas adicionales
- «Código autosincronizado» . Norma Federal 1037C: Telecomunicaciones: Glosario de términos de telecomunicaciones . Administración de Servicios Generales . 6 de agosto de 1996. Archivado del original el 22 de enero de 2022.
- MIL-STD-188
- Códigos de línea
- Sincronización