Comunicación digital: codificación de control de errores
El ruido o error es el principal problema en la señal, lo que perturba la confiabilidad del sistema de comunicación. Error control codinges el procedimiento de codificación que se realiza para controlar la aparición de errores. Estas técnicas ayudan en la detección y corrección de errores.
Hay muchos códigos de corrección de errores diferentes según los principios matemáticos que se les apliquen. Pero, históricamente, estos códigos se han clasificado enLinear block codes y Convolution codes.
Códigos de bloque lineal
En los códigos de bloques lineales, los bits de paridad y los bits de mensaje tienen una combinación lineal, lo que significa que la palabra de código resultante es la combinación lineal de dos palabras de código cualesquiera.
Consideremos algunos bloques de datos, que contienen kbits en cada bloque. Estos bits se mapean con los bloques que tienennbits en cada bloque. aquín es mayor que k. El transmisor agrega bits redundantes que son(n-k)bits. El radiok/n es el code rate. Se denota porr y el valor de r es r < 1.
los (n-k) bits añadidos aquí, son parity bits. Los bits de paridad ayudan en la detección y corrección de errores, y también en la localización de los datos. En los datos que se transmiten, los bits más a la izquierda de la palabra de código corresponden a los bits del mensaje, y los bits más a la derecha de la palabra de código corresponden a los bits de paridad.
Código sistemático
Cualquier código de bloque lineal puede ser un código sistemático, hasta que sea alterado. Por tanto, un código de bloque inalterado se llamasystematic code.
A continuación se muestra la representación del structure of code word, según su asignación.
Si el mensaje no se modifica, se llama código sistemático. Es decir, el cifrado de los datos no debería cambiarlos.
Códigos de convolución
Hasta ahora, en los códigos lineales, hemos discutido que se prefiere el código inalterado sistemático. Aquí, los datos de totaln bits si se transmiten, k los bits son bits de mensaje y (n-k) los bits son bits de paridad.
En el proceso de codificación, los bits de paridad se restan de todos los datos y se codifican los bits del mensaje. Ahora, los bits de paridad se agregan nuevamente y todos los datos se codifican nuevamente.
La siguiente figura cita un ejemplo de bloques de datos y flujo de datos, utilizados para la transmisión de información.
Todo el proceso, mencionado anteriormente, es tedioso y tiene inconvenientes. La asignación de búfer es un problema principal aquí, cuando el sistema está ocupado.
Este inconveniente se borra en los códigos de convolución. Donde a todo el flujo de datos se le asignan símbolos y luego se transmite. Como los datos son un flujo de bits, no es necesario un búfer para su almacenamiento.
Códigos Hamming
La propiedad de linealidad de la palabra de código es que la suma de dos palabras de código también es una palabra de código. Los códigos Hamming son el tipo delinear error correcting códigos, que pueden detectar errores de hasta dos bits o pueden corregir errores de un bit sin la detección de errores no corregidos.
Al usar los códigos de Hamming, se usan bits de paridad adicionales para identificar un error de un solo bit. Para pasar de un patrón de un bit al otro, se deben cambiar pocos bits en los datos. Este número de bits puede denominarseHamming distance. Si la paridad tiene una distancia de 2, se puede detectar un cambio de un bit. Pero esto no se puede corregir. Además, no se pueden detectar cambios de dos bits.
Sin embargo, el código Hamming es un procedimiento mejor que los discutidos anteriormente en la detección y corrección de errores.
Códigos BCH
Los códigos BCH llevan el nombre de los inventores Bose, Chaudari y Hocquenghem. Durante el diseño del código BCH, existe control sobre el número de símbolos a corregir y, por tanto, es posible la corrección de múltiples bits. Los códigos BCH son una técnica poderosa para corregir errores.
Para cualquier número entero positivo m ≥ 3 y t < 2m-1existe un código binario BCH. A continuación se muestran los parámetros de dicho código.
Longitud del bloque n = 2m-1
Número de dígitos de control de paridad n - k ≤ mt
Distancia minima dmin ≥ 2t + 1
Este código se puede llamar como t-error-correcting BCH code.
Códigos cíclicos
La propiedad cíclica de las palabras de código es que cualquier desplazamiento cíclico de una palabra de código también es una palabra de código. Los códigos cíclicos siguen esta propiedad cíclica.
Para un código lineal C, si cada palabra de código, es decir, C = (C1, C2, ...... Cn)de C tiene un desplazamiento cíclico a la derecha de componentes, se convierte en una palabra de código. Este cambio de derecha es igual an-1Desplazamientos cíclicos a la izquierda. Por lo tanto, es invariante bajo cualquier cambio. Entonces, el código linealC, ya que es invariante bajo cualquier cambio, se puede llamar como Cyclic code.
Los códigos cíclicos se utilizan para corregir errores. Se utilizan principalmente para corregir errores dobles y errores de ráfaga.
Por lo tanto, estos son algunos códigos de corrección de errores que deben detectarse en el receptor. Estos códigos evitan que se introduzcan errores y perturben la comunicación. También evitan que la señal sea intervenida por receptores no deseados. Existe una clase de técnicas de señalización para lograr esto, que se comentan en el próximo capítulo.