1 códigos básicos de detección y corrección de errores por daniel quintana c
TRANSCRIPT
![Page 1: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/1.jpg)
1
Códigos Básicos de Detección y
Corrección de Errores
Por Daniel Quintana C.
![Page 2: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/2.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/3.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/4.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/5.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/6.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/7.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/8.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/9.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/10.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/11.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/12.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/13.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/14.jpg)
14
• Diagrama de estados:
0 1
2 3
Códigos Convolucionales
Los estados del encoder y las posibles transiciones
![Page 15: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/15.jpg)
15
Códigos Convolucionales
• Diagrama de Árbol:
B C
d ee
A
df
![Page 16: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/16.jpg)
16
• Diagrama Trellis:
B
d e
A
f
Códigos Convolucionales
Es la representación compacta del árbol
![Page 17: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/17.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/18.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/19.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/20.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/21.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/22.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/23.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/24.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/25.jpg)
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: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/26.jpg)
26
• Preguntas:
• ¿Como elegir m ?– N< m < 2N
• ¿Retardo?– Menor que Viterbi que es usualmente de 5N
Códigos Convolucionales
![Page 27: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/27.jpg)
27
Referencias
• “Wireless Communications” T.Rappaport
• “Digital Communications” John G. Proakis
• http://hideki.iis.u-tokyo.ac.jp/~robert/codes.html
![Page 28: 1 Códigos Básicos de Detección y Corrección de Errores Por Daniel Quintana C](https://reader031.vdocuments.site/reader031/viewer/2022020207/54d13dbc497959a0198b4d94/html5/thumbnails/28.jpg)
28
Fi n