200 likes | 453 Views
MATRIZ DE CHEQUEO DE PARIDAD. Matriz de Chequeo de Paridad Definiremos una matriz H , a la cual llamaremos la matriz de chequeo de paridad, la cual nos permitirá decodificar los vectores recibidos.
E N D
Matriz de Chequeo de Paridad Definiremos una matriz H, a la cual llamaremos la matriz de chequeo de paridad, la cual nos permitirá decodificar los vectores recibidos. Para cada matriz generadora G existirá una matriz H de tal forma que las filas de G son ortogonales a las filas de H; es decir, GHT = 0. HT es una matriz cuyas filas son las columnas de H y viceversa. Para cumplir con las condiciones de ortogonalidad de un código sistemático, las componentes de la matriz H se escriben como;
Y la matriz HT se escribe como: El producto UHT para cada palabra codificada U (generada por G) y la matriz HT es; Una vez que se ha obtenido la matriz H se usa esta para probar si un vector recibido hace parte del conjunto de palabras codificadas. U es una palabra codificada generada por G, si y solo si, UHT = 0.
Prueba de Síndrome Tenemos un vector recibido, al cual llamaremos r (una de las 2n n-tuplas posibles). Este vector r es el resultado de la transmisión de U = u1, u2, …, un (una de las 2k n-tuplas). Podemos entonces describir r como: Donde e = e1, e2, … , en es un vector de error ó patrón de error causado por el canal. Hay un total de 2n-1 patrones de error potenciales diferentes de cero en el espacio de 2n n-tuplas.
El síndrome de r se define como: El síndrome es el resultado de un chequeo de paridad realizado en r para determinar si es un miembro del conjunto de palabras codificadas. Si es así, el síndrome tendrá un valor de cero; 0. Si r contiene errores detectables, el síndrome tendrá un valor diferente de cero. Si r contiene errores corregibles, el síndrome tendrá un valor diferente de cero que puede distinguir el patrón de error particular.
Dependiendo de cómo se haya implementado el decodificador, FEC ó ARQ, este tomará una acción para localizar el error y corregirlo (FEC), o hará una petición de retransmisión (ARQ). El síndrome de r se puede escribir como: Pero el primer término es cero. De tal forma que:
La prueba del síndrome puede ser realizada en el vector codificado erróneo, ó en el patrón de error que lo causa, teniendo en ambos casos el mismo resultado. La matriz de chequeo de paridad debe cumplir con dos propiedades: • Ninguna columna de H puede tener solo ceros, porque un error en la palabra codificada correspondiente no afectaría al síndrome y no podría ser detectado. • Todas la columnas de H deben ser únicas, porque si existiesen dos iguales los errores en las dos palabras codificadas correspondientes no sería distinguibles.
Ejemplo. Tenemos la palabra codificada U = 1 0 1 1 1 0, la cual es transmitida. Como resultado se recibe el vector r = 0 0 1 1 1 0 El primer bit de la izquierda se recibe con error. Encuentre el valor del vector síndrome S = rHT y verifique que es igual a eHT.
Solución: S = rHT Síndrome del vector codificado corrupto eHT = Síndrome del patrón de error
Corrección de error. Hemos detectado un error sencillo y hemos demostrado que la prueba de síndrome realizada tanto en la palabra codificada corrupta como en el patrón de error que lo causa, tienen el mismo valor. Esto nos lleva a que no solamente podemos detectar los errores, sino que el hecho de tener una correspondencia uno a uno entre los patrones de error corregibles y los síndromes, podemos corregir esos errores.
Primero vamos a organizar en un arreglo las 2n n-tuplas que representan los posibles vectores recibidos. A este arreglo lo llamaremos arreglo estándar. La primera fila contiene todas las palabras codificadas, comenzando con la de todos ceros, y la primera columna contiene todos los patrones de error corregibles. A cada fila la llamaremos un coset (abreviatura de “conjunto de números que tiene una característica común”). Cada coset tiene en su primera columna un patron de error, el cual es llamado el coset líder, seguido de las palabras códificadas modificadas (perturbadas) por ese patrón de error.
Formato de arreglo estándar para un código (n,k) La palabra codificada U1 esta compuesta por todos ceros y cumple doble función; es una palabra codificada y además, como patrón de error, representa el hecho de no haber errores, es decir, r = U. El arreglo contiene todas la 2n n-tuplas en el espacio Vn. Cada n-tupla aparece una sola vez. No falta ninguna, y ninguna se repite.
El algoritmo de decodificación esta encargado de reemplazar un vector corrupto (cualquier n-tupla excepto las de la primera fila) por una palabra codificada válida que se encuentra en la parte superior de la columna del vector corrupto. Suponga que se transmite una palabra codificada Ui a través de un canal ruidoso, y como resultado se recibe un vector corrupto Ui + ej. Si el patrón de error ej, causado por el canal es un coset líder, el vector recibido será decodificado correctamente, en caso contrario la decodificación será errónea.
Síndrome de un coset. Si ej es el coset líder ó patrón de error del coset j-esimo, entonces Ui + ej es una n-tupla en ese coset. El síndrome de esa n-tupla se puede escribir como: Como es un vector codificado, y entonces: Que es lo que tienen en común los miembros de cualquier fila (coset)? Todos los miembros de un coset tienen el mismo síndrome. El síndrome de cada coset es diferente a los demás.
Corrección de error El procedimiento para la corrección de error es el siguiente: • Calcular el síndrome de r usando S = rHT. • Localizar el patrón de error (coset líder) ej, cuyo síndrome es igual a rHT. • Se asume que este patrón de error es la corrupción causada por el canal. • El vector correcto recibido, o palabra codificada, se identifica como U = r + ej. Se puede decir que se ha recuperado la palabra codificada correcta restando el error.
Localizando el patrón de error Retomando el ejemplo (6,3) manejado hasta ahora, podemos organizar las 26 = 6-tuplas en un arreglo estándar.
Las palabras codificadas válidas son los 8 vectores de la primera fila. Y los patrones de error corregibles son los siete coset líderes de la primera columna. Todos los patrones de error de un bit son corregibles. Todavía queda cierta capacidad de corrección de errores que no ha sido incluida. Y también falta un coset líder por asignar. Se escoge este último coset de una forma algo arbitraria para llenar el arreglo. Ahora calculamos el síndrome correspondiente a cada una de las secuencias de error corregibles calculando ejHT para cada coset líder;
El resultado se muestra en la siguiente tabla. Como cada síndrome en la tabla es único, el decodificador puede identificar el patrón de error e al cual corresponde.
Ejemplo de corrección de error. Se ha transmitido la palabra codificada U = 1 0 1 1 1 0 y se ha recibido el vector r = 0 0 1 1 1 0. Muestre de que manera el decodificador puede corregir el error. Se calcula el síndrome de r; Usando la tabla Síndrome - Patrón de error, tenemos que el patrón de error para este síndrome es: El vector corregido se calcula mediante: