Códigos para Control de Errores. Algoritmo de Viterbi

Anuncio
Códigos para Control de
Errores. Algoritmo de Viterbi
Dr. Ing. Nestor Ruben Barraza
Departamento de Electrónica
Facultad de Ingenierı́a
Códigos para Control de Errores. Algoritmo de Viterbi– p. 1
Contenido
Concepto de canal ruidoso
Códigos para Control de Errores. Algoritmo de Viterbi– p. 2
Contenido
Concepto de canal ruidoso
Objetivos de la codificación
Códigos para Control de Errores. Algoritmo de Viterbi– p. 2
Contenido
Concepto de canal ruidoso
Objetivos de la codificación
Códigos Convolucionales
Códigos para Control de Errores. Algoritmo de Viterbi– p. 2
Contenido
Concepto de canal ruidoso
Objetivos de la codificación
Códigos Convolucionales
Decodificador de Viterbi
Códigos para Control de Errores. Algoritmo de Viterbi– p. 2
Contenido
Concepto de canal ruidoso
Objetivos de la codificación
Códigos Convolucionales
Decodificador de Viterbi
Conclusiones
Códigos para Control de Errores. Algoritmo de Viterbi– p. 2
Canal Ruidoso
Códigos para Control de Errores. Algoritmo de Viterbi– p. 3
Canal Ruidoso
Teorema de la Codificación del Canal. Shannon (1948)
Códigos para Control de Errores. Algoritmo de Viterbi– p. 3
Canal Ruidoso
Teorema de la Codificación del Canal. Shannon (1948)
Códigos para Control de Errores. Algoritmo de Viterbi– p. 3
Tipos de Codificación
Códigos de Bloque
Códigos Convolucionales
Códigos para Control de Errores. Algoritmo de Viterbi– p. 4
Convolucionales
Elias (1955)
Corrección de Errores en tiempo real
Códigos para Control de Errores. Algoritmo de Viterbi– p. 5
Convolucionales
Elias (1955)
Corrección de Errores en tiempo real
Convierte toda la cadena de bits en una
simple palabra de código
Códigos para Control de Errores. Algoritmo de Viterbi– p. 5
Convolucionales
Elias (1955)
Corrección de Errores en tiempo real
Convierte toda la cadena de bits en una
simple palabra de código
El bit codificado depende tambien de bits de
entrada pasados
Códigos para Control de Errores. Algoritmo de Viterbi– p. 5
Convolucionales
Elias (1955)
Corrección de Errores en tiempo real
Convierte toda la cadena de bits en una
simple palabra de código
El bit codificado depende tambien de bits de
entrada pasados
Ampliamente difundido en Comunicaciones.
TDMA/GSM, Wireless
Códigos para Control de Errores. Algoritmo de Viterbi– p. 5
Convolucionales
Elias (1955)
Corrección de Errores en tiempo real
Convierte toda la cadena de bits en una
simple palabra de código
El bit codificado depende tambien de bits de
entrada pasados
Ampliamente difundido en Comunicaciones.
TDMA/GSM, Wireless
Códigos para Control de Errores. Algoritmo de Viterbi– p. 5
Implementación
Registros de Desplazamiento. Feedforward
Tasa nk , k bits de entrada, n bits de salida
Códigos para Control de Errores. Algoritmo de Viterbi– p. 6
Ecuaciones
(1)
ci
(2)
ci
i
0
1
2
3
= mi−2 + mi−1 + mi
= mi−2 + mi
m S1 S2
1 0 0
0 1 0
0 0 1
0 0 0
c1
1
1
1
0
c2
1
0
1
0
Códigos para Control de Errores. Algoritmo de Viterbi– p. 7
Respuesta al impulso
g (1) = (1 1 1)
g (2) = (1 0 1)
(l)
ci
=
K
X
mi−k g (l)
k=0
M (D) = m0 + m1 D + m2 D2 + · · ·
Códigos para Control de Errores. Algoritmo de Viterbi– p. 8
Función Transferencia
(j)
G(D)
=
(j)
g0
+
(j)
g1
D+
(j)
g2
D2 + · · ·
C(D) = M (D) G(D)
Códigos para Control de Errores. Algoritmo de Viterbi– p. 9
Implementación
Registros de Desplazamiento. Feedback
Códigos para Control de Errores. Algoritmo de Viterbi– p. 10
Decodificación
Secuencial. 1957
Viterbi. 1967
Máximo a Posteriori. Algoritmo BCJR, 1974
Códigos para Control de Errores. Algoritmo de Viterbi– p. 11
Algoritmo de Viterbi
Algoritmo Óptimo de decodificación de Máxima
Verosimilitud. ŝ = M AXs (ln p(y/s)
Usado para códigos convolucionales o de Trellis
Determina el sendero mas probable de acuerdo a los
saltos ponderados
Códigos para Control de Errores. Algoritmo de Viterbi– p. 12
Hard-Soft decision
1. Hard decision. Distancia de Hamming
2. Soft Decision. Distancia euclidiana con el
valor analógico recibido.
Ver ”Essentials of Error-Correcting Codes”,
Castiñeira and Farrel. par. 6.15 y ejemplo 6.9.
Códigos para Control de Errores. Algoritmo de Viterbi– p. 13
Esquemas
Códigos para Control de Errores. Algoritmo de Viterbi– p. 14
Hard decision
Métrica de ramas: δ(cod,out)
δ(11, 11) = 0, δ(01, 10) = 2, δ(00, 01) = 1
Se queda con el lazo con menor métrica
Códigos para Control de Errores. Algoritmo de Viterbi– p. 15
Soft decision
Ver ”Essentials of Error-Correcting Codes”,
Castiñeira and Farrel. Fig. 6.28.
Métrica de ramas: δ(cod,out)
δ(1,35 − 0,15, −1 − 1) = 6,245
Se queda con el lazo con menor métrica
Códigos para Control de Errores. Algoritmo de Viterbi– p. 16
Eficiencia. Simulación
Códigos para Control de Errores. Algoritmo de Viterbi– p. 17
Eficiencia. Experimental
Códigos para Control de Errores. Algoritmo de Viterbi– p. 18
Conclusiones
Baja tasa de BER (Bit Error Rate)
Sencillez en la Implementación
Decodificación Óptima. ML
Códigos para Control de Errores. Algoritmo de Viterbi– p. 19
Descargar