vite rbi

29
Códigos para Control de Errores. Algoritmo de Viterbi Dr. Ing. Nestor Ruben Barraza Departamento de Electr ´ onica Facultad de Ingenier´ ıa C ´ odigos para Control de Errores. Algoritmo de Viterbi– p. 1

Upload: victor-contreras-ordonez

Post on 28-Nov-2015

8 views

Category:

Documents


0 download

TRANSCRIPT

Códigos para Control deErrores. Algoritmo de Viterbi

Dr. Ing. Nestor Ruben Barraza

Departamento de Electronica

Facultad de Ingenierıa

Codigos para Control de Errores. Algoritmo de Viterbi– p. 1

Contenido

Concepto de canal ruidoso

Codigos para Control de Errores. Algoritmo de Viterbi– p. 2

Contenido

Concepto de canal ruidoso

Objetivos de la codificación

Codigos para Control de Errores. Algoritmo de Viterbi– p. 2

Contenido

Concepto de canal ruidoso

Objetivos de la codificación

Códigos Convolucionales

Codigos 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

Codigos 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

Codigos para Control de Errores. Algoritmo de Viterbi– p. 2

Canal Ruidoso

Codigos para Control de Errores. Algoritmo de Viterbi– p. 3

Canal Ruidoso

Teorema de la Codificación del Canal. Shannon (1948)

Codigos para Control de Errores. Algoritmo de Viterbi– p. 3

Canal Ruidoso

Teorema de la Codificación del Canal. Shannon (1948)

Codigos para Control de Errores. Algoritmo de Viterbi– p. 3

Tipos de Codificación

Códigos de Bloque

Códigos Convolucionales

Codigos para Control de Errores. Algoritmo de Viterbi– p. 4

Convolucionales

Elias (1955)

Corrección de Errores en tiempo real

Codigos 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 unasimple palabra de código

Codigos 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 unasimple palabra de código

El bit codificado depende tambien de bits deentrada pasados

Codigos 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 unasimple palabra de código

El bit codificado depende tambien de bits deentrada pasados

Ampliamente difundido en Comunicaciones.TDMA/GSM, Wireless

Codigos 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 unasimple palabra de código

El bit codificado depende tambien de bits deentrada pasados

Ampliamente difundido en Comunicaciones.TDMA/GSM, Wireless

Codigos para Control de Errores. Algoritmo de Viterbi– p. 5

Implementación

Registros de Desplazamiento. Feedforward

Tasa k

n, k bits de entrada, n bits de salida

Codigos para Control de Errores. Algoritmo de Viterbi– p. 6

Ecuaciones

c(1)i = mi−2 + mi−1 + mi

c(2)i = mi−2 + mi

i m S1 S2 c1 c2

0 1 0 0 1 11 0 1 0 1 02 0 0 1 1 13 0 0 0 0 0

Codigos para Control de Errores. Algoritmo de Viterbi– p. 7

Respuesta al impulso

g(1) = (1 1 1)

g(2) = (1 0 1)

c(l)i =

K∑

k=0

mi−k g(l)

M(D) = m0 + m1 D + m2D2 + · · ·

Codigos para Control de Errores. Algoritmo de Viterbi– p. 8

Función Transferencia

G(D)(j) = g(j)0 + g

(j)1 D + g

(j)2 D2 + · · ·

C(D) = M(D) G(D)

Codigos para Control de Errores. Algoritmo de Viterbi– p. 9

Implementación

Registros de Desplazamiento. Feedback

Codigos para Control de Errores. Algoritmo de Viterbi– p. 10

Decodificación

Secuencial. 1957

Viterbi. 1967

Máximo a Posteriori. Algoritmo BCJR, 1974

Codigos para Control de Errores. Algoritmo de Viterbi– p. 11

Algoritmo de Viterbi

Algoritmo Óptimo de decodificación de MáximaVerosimilitud. s = MAXs(ln p(y/s)

Usado para códigos convolucionales o de Trellis

Determina el sendero mas probable de acuerdo a lossaltos ponderados

Codigos para Control de Errores. Algoritmo de Viterbi– p. 12

Hard-Soft decision

1. Hard decision. Distancia de Hamming

2. Soft Decision. Distancia euclidiana con elvalor analógico recibido.

Ver ”Essentials of Error-Correcting Codes”,Castiñeira and Farrel. par. 6.15 y ejemplo 6.9.

Codigos para Control de Errores. Algoritmo de Viterbi– p. 13

Esquemas

Codigos 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

Codigos 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

Codigos para Control de Errores. Algoritmo de Viterbi– p. 16

Eficiencia. Simulación

Codigos para Control de Errores. Algoritmo de Viterbi– p. 17

Eficiencia. Experimental

Codigos 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

Codigos para Control de Errores. Algoritmo de Viterbi– p. 19