En teoría de codificación , un código sistemático es cualquier código de corrección de errores en el que los datos de entrada están integrados en la salida codificada. Por el contrario, en un código no sistemático la salida no contiene los símbolos de entrada.
Los códigos sistemáticos tienen la ventaja de que los datos de paridad se pueden añadir simplemente al bloque de origen y los receptores no necesitan recuperar los símbolos de origen originales si se reciben correctamente; esto es útil, por ejemplo, si la codificación de corrección de errores se combina con una función hash para determinar rápidamente la exactitud de los símbolos de origen recibidos, o en casos en los que se producen errores en los borrados y, por tanto, un símbolo recibido siempre es correcto. Además, para fines de ingeniería, como la sincronización y la supervisión, es deseable obtener estimaciones razonablemente buenas de los símbolos de origen recibidos sin pasar por el largo proceso de decodificación que puede llevarse a cabo en un sitio remoto en un momento posterior. [1]
Propiedades
Todo código lineal no sistemático se puede transformar en un código sistemático con esencialmente las mismas propiedades (es decir, distancia mínima). [1] [2]
Debido a las ventajas citadas anteriormente, los códigos de corrección de errores lineales se implementan generalmente como códigos sistemáticos. Sin embargo, para ciertos algoritmos de decodificación, como la decodificación secuencial o la decodificación de máxima verosimilitud, una estructura no sistemática puede aumentar el rendimiento en términos de probabilidad de error de decodificación no detectado cuando la distancia libre mínima del código es mayor. [1] [3]
Para un código lineal sistemático , la matriz generadora , , siempre se puede escribir como , donde es la matriz identidad de tamaño .
Ejemplos
- Las sumas de comprobación y las funciones hash , combinadas con los datos de entrada, pueden verse como códigos sistemáticos de detección de errores.
- Los códigos lineales generalmente se implementan como códigos de corrección de errores sistemáticos (por ejemplo, los códigos Reed-Solomon en CD ).
- Los códigos convolucionales se implementan como códigos sistemáticos o no sistemáticos. Los códigos convolucionales no sistemáticos pueden ofrecer un mejor rendimiento en la decodificación de máxima verosimilitud ( Viterbi ).
- En DVB-H , para una mayor protección contra errores y eficiencia energética para los receptores móviles, se emplea un código Reed-Solomon sistemático como código de borrado sobre los paquetes dentro de una ráfaga de datos , donde cada paquete está protegido con un CRC : los datos en paquetes verificados cuentan como símbolos recibidos correctamente y, si todos se reciben correctamente, se puede omitir la evaluación de los datos de paridad adicionales y los dispositivos receptores pueden apagar la recepción hasta el inicio de la siguiente ráfaga.
- Los códigos fuente pueden ser sistemáticos o no sistemáticos: como no presentan una tasa de código fija , el conjunto de símbolos fuente disminuye entre el conjunto de salida posible.
Notas
- ^ abc James L. Massey , Daniel J. Costello, Jr. (1971). "Códigos convolucionales no sistemáticos para decodificación secuencial en aplicaciones espaciales". IEEE Transactions on Communication Technology . 19 (5): 806–813. doi :10.1109/TCOM.1971.1090720. S2CID 51650729.
{{cite journal}}
: CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Richard E. Blahut (2003). Códigos algebraicos para la transmisión de datos (2.ª ed.). Cambridge. Univ. Press. págs. 53-54. ISBN 978-0-521-55374-2.
- ^ Shu Lin; Daniel J. Costello, Jr. (1983). Codificación de control de errores: fundamentos y aplicaciones . Prentice Hall . págs. 278–280. ISBN 0-13-283796-X.
Referencias
- Shu Lin; Daniel J. Costello, Jr. (1983). Codificación de control de errores: fundamentos y aplicaciones . Prentice Hall . Págs. 278–280. ISBN. 0-13-283796-X.