codigos convolucionales y hamming

28
1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C.

Upload: vidal-velasquez

Post on 04-Jul-2015

290 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Codigos Convolucionales y Hamming

1

Códigos Básicos de Detección y

Corrección de Errores

Por Daniel Quintana C.

Page 2: Codigos Convolucionales y Hamming

2

Códigos de Bloque• Conceptos Básicos

información paridad

k

n

n-k

Código(n,k)

Rc = k / n

Se adhieren conel objeto de detectar

o corregir errores

Page 3: Codigos Convolucionales y Hamming

3

• La capacidad de un código de detectar o corregir errores depende de la distancia de códigodistancia de código

Códigos de Bloque

101101100101111

d = 4

• EL peso de un códigopeso de un código está dado por el número de elementos distintos de cero de la palabra de código.

“Distancia mínima”

Parámetros importantes de un código: Rc, distancia y peso

Page 4: Codigos Convolucionales y Hamming

4

• Propiedades:

• Linealidad: 1C1 + 2C2 es palabra de código

debe contener al elemento cero.

• Sistemático: los bits de paridad se añaden al final

de los bits de información.

• Cíclico: es palabra código

también lo es

Códigos de Bloque] ,......, , [0 2 1C C C Cn n

] , ,..., , [1 0 3 2 n n nC C C C C

Page 5: Codigos Convolucionales y Hamming

5

• Las técnicas de codificación y decodificación hacen uso de las construcciones matemáticas conocidas como Campos Finitos Campos Finitos

• Para cualquier número p, existe un campo finito que contiene p elementos: GF(p)GF(p)

• Extensión del campo de GF(p) • En la práctica: caso binario: GF(2)

Códigos de Bloque

)( mpGF)2( mGF

},...,,,1,0{)2( 222 mmGF

Page 6: Codigos Convolucionales y Hamming

6

• Ejemplos de Códigos

• Código Hamming: fue el primer CCE. Existe el binario y el no-binario. El binario tiene la propiedad que:

• Código Hadamard: seleccionando las filas de la matriz Hadamard como palabras.

Códigos de Bloque

)12,12(),( mkn mm

mmin

NN

NN

d 2;2

1100

0110

0011

0000

Page 7: Codigos Convolucionales y Hamming

7

• Código Golay: es un código binario lineal (23,12). Posee dmin=7 capacidad de corregir 3 errores

• Código Cíclico: Se puede generar a partir de un polinomio generador g(p) de grado n-k:

Un mensaje polinomial x(p) puede ser definido como:

Códigos de Bloque

1...)( 11

1

pgpgppg knkn

kn

011

1 ...)( xpxpxpx nk

Page 8: Codigos Convolucionales y Hamming

8

La palabra código resultante será:

c(p)=g(p)·x(p); c(p) de grado menor que n

Códigos de Bloque

1)( 11

22

3 pgpgppgEDpCpBpAppx 1234)(

...)( 7 Appc

A B C D E

k n

Page 9: Codigos Convolucionales y Hamming

9

• Código BCH: es el más importante de todos dado que existe para un amplio rango de tasas, logrando una ganancia de código significativa y pudiendo ser implementado aún en altas velocidades.

El nº de errores que puede corregir:

Se puede generalizar para crear clases de códigos códigos no-binariosno-binarios, que usan m bits por símbolo de código.

Códigos de Bloque

3;2 1 mn m

2

12

m

t

Page 10: Codigos Convolucionales y Hamming

10

• Código Reed Solomon: Es un código no-binario que es capaz de corregir errores que se presentan en ráfagas.

El nº de símbolos de paridad que deben ser usados para corregir E errores es: n-k = 2E

dmin= 2E+1

Códigos de Bloque

12 mn

Page 11: Codigos Convolucionales y Hamming

11

• Conceptos Básicos

Códigos Convolucionales

Secuencia de información

Secuencia de

Inform. codificadaEncoder

• Mapeo altamente estructurado.• Puede lograr mayor ganancia de Código que los códigos de bloque.

Page 12: Codigos Convolucionales y Hamming

12

Códigos Convolucionales

k bits de

datos

N etapask kk1 11

+ ++

1 2 n

• Codificación

N:= restricción de longitud (poder y complejidad) Rc = k / n

(n,k)

Page 13: Codigos Convolucionales y Hamming

13

• Representación

• Matriz generadora: semi-infinita dado que la entrada es semi-infinita.

• Polinomio Generador: n vectores de dimensión 2k (uno para cada sumador) indican la conexión del encodificador a ése módulo.

• Tabla Lógica: muestra las salidas y el estado del encoder par la secuencia de entrada presente.

Códigos Convolucionales

Page 14: Codigos Convolucionales y Hamming

14

• Diagrama de estados:

0 1

2 3

Códigos Convolucionales

Los estados del encoder y las posibles transiciones

Page 15: Codigos Convolucionales y Hamming

15

Códigos Convolucionales

• Diagrama de Árbol:

B C

d ee

A

df

Page 16: Codigos Convolucionales y Hamming

16

• Diagrama Trellis:

B

d e

A

f

Códigos Convolucionales

Es la representación compacta del árbol

Page 17: Codigos Convolucionales y Hamming

17

• Decodificación

Códigos Convolucionales

ABCDE Encoder ABCDEDecoder

Tx Rxk

Estimar la información de entrada al encoder con el mínimo nº de errores

Estimar el camino a travésdel trellis que siguió el

encoder

Page 18: Codigos Convolucionales y Hamming

18

• Algoritmo de Viterbi:

Códigos Convolucionales

B

d e

A

f

1 V(S 0,0)=0 , i=1

2 Se calculan las medidas para lasrutas que entran a cada nodo

3 73 V(SA,1) = 3

4 Se borran las ramas que no sobreviven

Page 19: Codigos Convolucionales y Hamming

19

Códigos Convolucionales• Algoritmo de Viterbi:

1 V(S 0,0)=0 , i=1

2 Se calculan las medidas para lasrutas que entran a cada nodo

d e

A3

3 V(SA,1) = 3

4 Se borran las ramas que no sobreviven

5 si i < L+ m i = i + 1

y vuelve a 2

Page 20: Codigos Convolucionales y Hamming

20

• Una vez que todos los valores de los nodos se han calculado, se ha definido una única ruta de regreso y que corresponde a la salida decodificada.

• Cuando se implementa decodificación de decisión dura, la métrica es la distancia Hamming. Si la decodificación es de decisión suave se utiliza la distancia Euclidiana

Códigos Convolucionales

Page 21: Codigos Convolucionales y Hamming

21

• Decodificación secuencial de Fano:

Busca la ruta más probable examinando una a la vez.

Se incrementa la métrica de c/rama según la probabilidad de recibir la señal en esa rama, además de una constante que se agrega a cada rama.

constante la métrica para el camino correcto se incrementa en el promedio y las incorrectas se decrementan.

Códigos Convolucionales

Page 22: Codigos Convolucionales y Hamming

22

Comparando la métrica de la ruta observada con algún umbral, el algoritmo detecta y descarta rutas.

Comparación: Tasa de error similar a la de Viterbi

desventajas: retardo significativamente mayor

ventaja: requiere menos almacenaje

Códigos Convolucionales

Page 23: Codigos Convolucionales y Hamming

23

• Algoritmo de Stack:

Códigos Convolucionales

Ruta 1Ruta 2Ruta 3

V(ruta1)>V(ruta2)>V(ruta3)

Ruta 1-1Ruta 1-2Ruta 1-3Ruta 1-4Ruta 1-5Ruta 1-6

B C

edfd e

A

3 67

Se reordenan según la métrica y se descartan lasque estén por debajo de alguna porción de la métricade la ruta top.

Page 24: Codigos Convolucionales y Hamming

24

• Comparación con Viterbi: pocos cálculos de métricas, pero alto trabajo computacional en el reordenamiento de los stacks después de cada iteración.

• Con Fano: Computacional% más simple, dado que no se necesita recalcular la misma ruta. Por otra parte, requiere de más almacenaje que el algoritmo de Fano.

Códigos Convolucionales

Page 25: Codigos Convolucionales y Hamming

25

• Decodificación Realimetada:

– La decisión dura de si es un 1 o un 0 depende si la ruta de la mínima distancia Hamming, que comienza en la etapa j y termina en la etapa j+m, contiene un 0 o un 1en la rama que sale de la etapa j.

– Después de la decisión, solo la parte del árbol que sigue del bit seleccionado (de la etapa j) se mantiene y el resto se descarta. Se extiende en una rama la parte sobreviviente y se repite.

Códigos Convolucionales

+ ++1 2 n

j j+m B C

d ee

A

df

j

j+m

Page 26: Codigos Convolucionales y Hamming

26

• Preguntas:

• ¿Como elegir m ?– N< m < 2N

• ¿Retardo?– Menor que Viterbi que es usualmente de 5N

Códigos Convolucionales

Page 27: Codigos Convolucionales y Hamming

27

Referencias

• “Wireless Communications” T.Rappaport

• “Digital Communications” John G. Proakis

• http://hideki.iis.u-tokyo.ac.jp/~robert/codes.html

Page 28: Codigos Convolucionales y Hamming

28

Fi n