Richard Arias N

download Richard Arias N

of 8

description

Codigo Hamming

Transcript of Richard Arias N

Richard Arias NauraCdigo de HammingCdigo de correccin de errores fcil de implementar.Idea: Incluir ms bits de redundancia y distribuirlos. Bits errneos distintos, resultados distintos y se pueden identificar bits errneos.Nomenclatura: (no de bits totales, no bits informacin).Ejemplo: (8,7)= 8 bits totales de los que 7 llevan informacin.-Ejemplo #11. Algoritmo Posiciones potencia de 2 son bits de paridad (20=1,2,4,8,16). Resto son datos. Cada bit de paridad calcula paridad de un conjunto de datos (no todos) determinados por la posicin del bit de paridad. Bit 1 (p1:0001) calcula paridad bits datos con LSB a 1.Ejemplo: (11,7) p: bit de paridad datos: 0101001 d: bit de datos

P1P2D1P3D2D3D4P4D5D6D7

Posicin0001(1)0010(2)0011(3)0100(4)0101(5)0110(6)0111(7)1000(8)1001(9)1010(10)1011(11)

Palabra original0101001

P1101101

P2000101

P30101

P41001

Palabra+paridad10001011001

Codificacin:Palabra almacenada: 10001011001Introducimos un error en un bit: 10001011000P1P2D1P3D2D3D4P4D5D6D7Calculo paridadParidad almacenadaComprobacin

Pos0001(1)0010(2)0011(3)0100(4)0101(5)0110(6)0111(7)1000(8)1001(9)1010(10)1011(11)

Pal0101000

P100110001Error(1)

P210010010Error(1)

P3010100Ok(0)

P4000001Error(1)

Comprobacin paridad1011 = 11 = error bit 11 = 10001011001 = 0101001 (datos)

-Ejemplo #2Algoritmo(9,5)11 bits totales solo 5 llevan informacin p: bit de paridad datos: 01010 d: bit de datosP1P2D1P3D2D3D4P4D5

Posicin0001(1)0010(2)0011(3)0100(4)0101(5)0110(6)0111(7)1000(8)1001(9)

Palabra original01010

P110110

P21001

P30101

P410

Palabra+paridad110010110

Codificacin:Palabra almacenada: 110010110Introducimos un error en un bit: 110010111P1P2D1P3D2D3D4P4D5Calculo paridadParidad almacenadaComprobacin

Pos0001(1)0010(2)0011(3)0100(4)0101(5)0110(6)0111(7)1000(8)1001(9)

Pal01011

P10011101Error(1)

P2100111Ok(0))

P3010100Ok(0))

P40001Error(1)

Comprobacin paridad1001 = 9 = error bit 9 = 110010110 = 01010 (datos)

Algoritmo de ViterbiEs uno de los dos tipos de decodificacin que se pueden emplear con la codificacin convolucional.Muy usado para: Reconocimiento de voz Biologa molecular Fonemas Palabras Codificadores entre otrosDecodificacin ptima: En cuanto las secuencias son un poco largas buscar la ms probable entre todas las posibles resulta inviable. Ideas fundamentales del algoritmo de Viterbi A cada rama de la rejilla se le asocia una etiqueta con la distancia entre los bits recibidos por el canal y los de la salida del codificador correspondiente a esa rama. Para calcular la mtrica de una secuencia solo hay que sumar las etiquetas rama a rama.Funcionamiento El algoritmo es secuencial recorre el diagrama de izquierda a derecha. Para cada estado se calculan las distancias acumuladas por todos los caminos posibles. Se selecciona la rama correspondiente al camino de la mnima distancia (se poda el diagrama). Si dos ramas entrantes al estado poseen la misma distancia acumulada se elige uno de los caminos al azar. El algoritmo almacena el camino de mnima distancia que llegue a cada estado, de tal forma que toma la decisin al final de la secuencia.

Ejemplo de funcionamiento

Conclusin Implementa la decodificacin optima sin necesidad de realizar una bsqueda exhaustiva. Se basa en una sencilla clculo de distancias. Necesita gran capacidad de almacenamiento.

Ejercicio #2Sea M un modelo con: Q = {1, 2, 3, F} = {a, b, c} 1 = 2 = 1/2, 3 = 0

1. Halla el trellis para la cadena abc. 2. Obtn la secuencia ptima de estados asociada.