170 likes | 432 Views
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES. Pesos y distancias de códigos binarios No todos los patrones de error se pueden decodificar correctamente. La capacidad de corrección de error de un código se analiza inicialmente mediante la definición de su estructura.
E N D
Pesos y distancias de códigos binarios No todos los patrones de error se pueden decodificar correctamente. La capacidad de corrección de error de un código se analiza inicialmente mediante la definición de su estructura. El peso de Hamming, w(U) de una palabra codificada se define como el número de elementos diferentes de cero en U. en nuestro caso de vectores binarios esto es equivalente al número de unos del vector. Por ejemplo; si U = 1 0 0 1 0 1 1 0 1, entonces, w(U) = 5
La distancia de Hamming entre dos palabras codificadas U y V, indicada como d(U,V) se define como el número de elementos en los cuales estos vectores se diferencian. Por ejemplo; Por las propiedades de la suma en módulo 2, podemos apreciar que la suma de dos vectores binarios es otro vector cuyos unos están localizados en aquellas posiciones en las cuales los dos vectores son diferentes;
Podemos ver entonces que la distancia de Hamming entre dos palabras codificadas es igual al peso de su suma, es decir d(U,V) = w(U+V). Además, el peso de Hamming de una palabra codificada es igual a su distancia de Hamming del vector de todos ceros. Distancia mínima de un código lineal Tenemos un conjunto de 2n palabras en un espacio Vn. Ahora considere el conjunto de distancias entre todos los pares de palabras codificadas de este espacio. Al miembro más pequeño de este conjunto de distancias se le llama la distancia mínima del código; dmin.
Esta distancia mínima, equivalente al eslabón más débil de una cadena, da una medida de la capacidad mínima del código, y por lo tanto nos dice que tan resistente es dicho código. La suma de dos palabras codificadas es otra palabra codificada perteneciente al subespacio. Esta propiedad de los códigos lineales nos dice que si U y V son palabras codificadas, entonces W = U + V también será una palabra codificada.
Como la distancia entre dos palabras codificadas es igual al peso de una tercera palabra codificada; d(U,V) = w(U,V) = w(W) Entonces la distancia mínima de un código lineal puede ser verificado sin examinar la distancia entre todas las combinaciones de pares de palabras codificadas. Solo hay que examinar el peso de cada palabra codificada (excluyendo todos ceros) en el subespacio; el menor peso corresponde a la distancia mínima, dmin.
Detección y Corrección de Errores La tarea del decodificador es que una vez recibido el vector r, se debe estimar la palabra codificada transmitida Ui. La estrategia del decodificador óptimo se puede expresar en términos del algoritmo de máxima probabilidad; Tome la decisión a favor de Ui si:
Para el canal simétrico binario la probabilidad de Ui con respecto a r es inversamente proporcional a la distancia entre r y Ui, por lo cual; Decida a favor de Ui si: En otras palabras, el decodificador determina la distancia entre r y cada una de las posibles palabras de código transmitidas Uj y selecciona como la más probable a Ui, para la cual; Donde M = 2k es el tamaño del conjunto de palabras codificadas. Si el valor mínimo no es único, la escogencia es arbitraria.
En la figura de la izquierda la distancia entre dos palabras codificadas U y V se muestra usando una línea calibrada con distancia de Hamming. Cada punto representa una palabra codificada corrupta. La parte a) muestra la recepción del vector r1, el cual está separado una distancia 1 de U, y una distancia 4 de V.
Un decodificador con corrección de error, seleccionara U después de recibir r1. Si r1 ha sido el resultado de la corrupción de un bit en el vector de código transmitido U, el decodificador habrá corregido el error en forma satisfactoria. Si r1 ha sido el resultado de un error de cuatro (4) bits en el vector transmitido V, el resultado será un error de decodificación.
De una manera similar, un error doble en la transmisión de U podría resultar en el vector recibido r2, el cual tiene una distancia dos de U y una distancia 3 de V. Aquí también el decodificador selecciona U después de recibir r2. Un error triple en la transmisión de U resultaría en el vector recibido r3, con distancias 3 y 2 de U y V respectivamente. El decodificador seleccionará a V habiendo recibido r3, lo que representa un error de decodificación.
De las figuras anteriores podemos ver que las capacidades de detección y corrección de errores de un código están relacionadas con la distancia mínima entre palabras codificadas. La línea de decisión (punteada) tiene la misma función que en la demodulación, en cuanto define regiones de decisión. El criterio de decisión de escoger U si r cae en la región 1 y escoger V si r cae en la región 2 muestra que este código (con dmin = 5) puede corregir dos errores.
En general, la capacidad de corrección de errores t, de un código se define como el máximo número de errores corregibles garantizado por palabra codificada, y se escribe como: En ocasiones, un código que corrige todas las posibles secuencias de t errores o menos, puede también corregir ciertas secuencias de t + 1 errores. En general, un código lineal (n,k) de corrección de t errores es capaz de corregir un total de 2n-k patrones de error.
Implementación del Decodificador Cuando el código es corto, como el caso del (6,3), el decodificador se puede implementar con circuitería simple. Tenga en cuenta los pasos que debe tomar: • Calcular el Síndrome • Localizar el patrón de error • Realizar la suma en módulo 2 entre el patrón de error y el vector recibido par remover el error. La expresión para cada uno de los dígitos del Síndrome, en términos de la palabra de código recibida es:
Y Usamos la expresión del síndrome para cablear el circuito de la Figura 1. La compuerta XOR realiza la operación de suma en módulo 2