La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C."— Transcripción de la presentación:

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

2 2 Códigos de Bloque Conceptos Básicos informaciónparidad k n n-k Código(n,k) Rc = k / n Se adhieren con el objeto de detectar o corregir errores

3 3 distancia de códigoLa capacidad de un código de detectar o corregir errores depende de la distancia de código Códigos de Bloque d = 4 peso de un códigoEL peso 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

4 4 Propiedades: Linealidad: 1 C C 2 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

5 5 Campos FinitosLas técnicas de codificación y decodificación hacen uso de las construcciones matemáticas conocidas como Campos Finitos GF(p)Para cualquier número p, existe un campo finito que contiene p elementos: GF(p) Extensión del campo de GF(p) En la práctica: caso binario: GF(2) Códigos de Bloque

6 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

7 7 Código Golay: es un código binario lineal (23,12). Posee d min =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

8 8 La palabra código resultante será: c(p)=g(p)·x(p); c(p) de grado menor que n Códigos de Bloque ABCDE k n

9 9 códigos no-binariosCó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 no-binarios, que usan m bits por símbolo de código. Códigos de Bloque

10 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 d min = 2E+1 Códigos de Bloque

11 11 Conceptos Básicos Códigos Convolucionales Secuencia de información Secuencia de Inform. codificada Encoder Mapeo altamente estructurado. Puede lograr mayor ganancia de Código que los códigos de bloque.

12 12 Códigos Convolucionales k bits de datos N etapas kkk n Codificación N:= restricción de longitud (poder y complejidad) Rc = k / n (n,k)

13 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

14 14 Diagrama de estados: Códigos Convolucionales Los estados del encoder y las posibles transiciones

15 15 Códigos Convolucionales Diagrama de Árbol: B C d e e A d f

16 16 Diagrama Trellis: B de A f Códigos Convolucionales Es la representación compacta del árbol

17 17 Decodificación Códigos Convolucionales ABCDE Encoder ABCDE Decoder Tx Rx k Estimar la información de entrada al encoder con el mínimo nº de errores Estimar el camino a través del trellis que siguió el encoder

18 18 Algoritmo de Viterbi: Códigos Convolucionales B de A f 1 V(S 0,0 )=0, i=1 2 Se calculan las medidas para las rutas que entran a cada nodo V(S A, 1 ) = 3 4 Se borran las ramas que no sobreviven

19 19 Códigos Convolucionales Algoritmo de Viterbi: 1 V(S 0,0 )=0, i=1 2 Se calculan las medidas para las rutas que entran a cada nodo de A 3 3 V(S A, 1 ) = 3 4 Se borran las ramas que no sobreviven 5 si i < L+ m i = i + 1 y vuelve a 2

20 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

21 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

22 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

23 23 Algoritmo de Stack: Códigos Convolucionales Ruta 1 Ruta 2 Ruta 3 V(ruta1)>V(ruta2)>V(ruta3) Ruta 1-1 Ruta 1-2 Ruta 1-3 Ruta 1-4 Ruta 1-5 Ruta 1-6 B C e d fde A Se reordenan según la métrica y se descartan las que estén por debajo de alguna porción de la métrica de la ruta top.

24 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

25 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 n j j+m B C d e e A d f j

26 26 Preguntas: ¿Como elegir m ? –N< m < 2N ¿Retardo? –Menor que Viterbi que es usualmente de 5N Códigos Convolucionales

27 27 Referencias Wireless Communications T.Rappaport Digital Communications John G. Proakis

28 28


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

Presentaciones similares


Anuncios Google