Post on 24-Oct-2019
SENALES YSISTEMAS
Filtros Digitales
Sebastian Pazos
27 de junio de 2019
Filtros
“Filtrar: Cambiar las caracterısticas en frecuencia de una senal”
Aplicaciones:
� Supresion de ruido (radio, ECG, EEG, radar)
� Realce de rangos de frecuencia especıficos (Ecualizacion,Deteccion de bordes)
� Limitacion de ancho de banda (Anti-Aliasing, separacion decanales)
� Atenuacion de frecuencias particulares (DC, 50Hz)
� Diferenciacion, integracion, Transf. de Hilbert, etc
Pueden ser LIT, LVT, NLEstudiaremos filtros LIT
Senales y sistemas 2019 2 / 51
Filtros analogicos
� Operan con senales de tiempo continuo
� Se implementan con Amplificadores, R, C e L. Circuitos demicrotiras, SAWs o cavidades en altas frec’s
� Max Frec.: infinita (limitada por la tecnologıa)
� Los dispositivos suman ruido a la senal (termico, shot, 1/f)
� Linealidad: No linealidad de amplificadores y saturacion
� Repetibilidad: limitada por variacion de los componentes
� Poco flexibles
Senales y sistemas 2019 3 / 51
Filtros digitales
� Operan con senales de tiempo discreto (secuencias)
� Se implementan en microprocesadores (computadoras, DSPs,FPGAs) o hardware digital (+ A/D y a veces D/A)
� Max Frec.: Mitad Frec. de muestreo (cada dıa mayor)
� Ruido de cuantizacion (despreciable en pto. flotante)
� Linealidad: Cuantizacion en punto fijo, desborde
� Repetitivos (limita la estabilidad de frec. de muestreo)
� Son flexibles
Senales y sistemas 2019 4 / 51
Funciones de transferencia
Filtros analogicos
HL(s) =b0s
q + b1sq−1 + . . .+ bq
sp + a1sp−1 + . . .+ ap=
a(s)
b(s)
� Los filtros analogicos implementables son propios: p ≥ q
Filtros digitales
Hz(z) =b0 + b1z
−1 + . . .+ bqz−q
1 + a1z−1 + . . .+ apz−p=
a(z)
b(z)
� Se pueden implementar filtros digitales impropios: p < q
� Si p = 0 ⇒ respuesta impulsional de duracion finita (FIR)
� Si p > 0 ⇒ respuesta impulsional de duracion infinita (IIR)
Senales y sistemas 2019 5 / 51
Clases basicas de filtros
� Pasa-Bajos (a) o Pasa-Altos (b)
� Pasab-Banda (c) o Rechaza-Banda (d)
Senales y sistemas 2019 7 / 51
Especificaciones de filtros
Especificaciones sobre |H(·)| en filtros practicos:
� Frecuencia: Lımites de bandas de paso (θp o ωp), de rechazo(θs o ωs) y de transicion entre ellas
� Magnitud: Tolerancia respecto a los valores ideales en labanda de paso (δ+ y δ−) y de rechazo (δs)
� En general:
Filtros FIR: δ+ = δ− = δpFiltros IIR y Analogicos: δ+ = 0, δ− = δp
� Tolerancias en dB:
Atenuacion en banda de rechazo: As = −20 log10 δsRipple en banda de paso:Ap = Max{20 log10(1 + δ+),−20 log10(1− δ−)}(buena aproximacion: Ap ≈ 8,6859δ)
Senales y sistemas 2019 8 / 51
Especificaciones de filtros digitales: Pasa-Bajos
� Banda de paso: 1− δ− ≤ |H f (θ)| ≤ 1 + δ+, 0 ≤ θ ≤ θp� Banda de rechazo: |H f (θ)| ≤ δs , θs ≤ θ ≤ π
Senales y sistemas 2019 9 / 51
Especificaciones de filtros digitales: Pasa-Altos
� Banda de rechazo: |H f (θ)| ≤ δs , 0 ≤ θ ≤ θs� Banda de paso: 1− δ− ≤ |H f (θ)| ≤ 1 + δ+, θp ≤ θ ≤ π
Senales y sistemas 2019 10 / 51
Especificaciones de filtros digitales: Pasa-Banda
� Banda de paso: 1− δ− ≤ |H f (θ)| ≤ 1 + δ+, θp1 ≤ θ ≤ θp2
� Bandas de rechazo:|H f (θ)| ≤ δs1, 0 ≤ θ ≤ θs1|H f (θ)| ≤ δs2, θs2 ≤ θ ≤ π
Senales y sistemas 2019 11 / 51
Especificaciones de filtros digitales: Rechaza-Banda
� Bandas de paso:1− δ−1 ≤ |H f (θ)| ≤ 1 + δ+1 , 0 ≤ θ ≤ θp11− δ−2 ≤ |H f (θ)| ≤ 1 + δ+2 , θp2 ≤ θ ≤ π
� Banda de rechazo: |H f (θ)| ≤ δs , θs1 ≤ θ ≤ θs2
Senales y sistemas 2019 12 / 51
Especificaciones de filtros digitales: Multi-Banda
Filtro Multi-Banda constante a trozos
Senales y sistemas 2019 13 / 51
Especificaciones de filtros analogicos: Pasa-Bajos
� Banda de paso: 1− δp ≤ |HF (ω)| ≤ 1, 0 ≤ ω ≤ ωp
� Banda de rechazo: |H f (ω)| ≤ δs , ω ≥ ωs
Senales y sistemas 2019 14 / 51
Especificaciones de filtros analogicos
Otras especificaciones usadas en filtros analogicos son:
� Frecuencia de corte de −3dB: ω0 ⇔ |HF (ω0)|2 = 0,5
� Factor de discriminacion: d =
[(1− δp)−2 − 1
δ2s − 1
]1/2� Selectividad: K =
ωp
ωs
� Atenuacion asintotica: 20(p − q)dB/dec
Frecuencia no limitada a π ⇒ Se suele utilizar graficos asintoticoscon escala logarıtmica en frecuencia
Senales y sistemas 2019 15 / 51
Fase lineal (LP)
Un filtro con fase lineal H f (θ) = A(θ)e−jτpθ
� Retarda por igual todas las frecuencias
� No modifica la forma de las senales en la banda de paso
� τp es el retardo de fase y se mide en muestras
� Si x [n] tiene su espectro en la banda de paso y τp es entero⇒ y [n] = x [n − τp]
� Para filtros de fase no lineal se define τp(θ) , −φ(θ)/θ
Senales y sistemas 2019 17 / 51
Fase lineal generalizada (GLP)
Un filtro con fase lineal generalizada H f (θ) = A(θ)e j(φ0−τgθ)
� No retarda por igual todas las frecuencias
� Modifica la forma de las senales en la banda de paso
� τg es el retardo de grupo y se mide en muestras
� Si x [n] = e[n] cos(θcn + θ0) esta en la banda de paso y τg esentero⇒ y [n] = e[n − τg ] cos(θcn + θ0 + φ0 − τgθc)
� Para filtros de fase no lineal se define τg (θ) , −dφ(θ)/dθ
Senales y sistemas 2019 18 / 51
Filtros de fase mınima
Libertad en la eleccion de la localizacion de los ceros del filtro ⇒Permite mantener la respuesta en magnitud y cambiar la respuestade fase.
� Si β es un cero de Hz(z) ⇒ Hz(z) = (1− βz−1)Hz0 (z)
� Si β−1 es un cero de Hz1 (z) ⇒ Hz
1 (z) = β(1− β−1z−1)Hz0 (z)
Como β − e−jθ = −e−jθ(1− βe jθ) = −e−jθ(1− βe−jθ),Hz(z) y Hz
1 (z) tienen la misma magnitud y distinta fase
Teorema
Si |β| < 1, el retardo de grupo de Hz1 (z) es mayor que el de Hz(z).
Minima fase ⇔ todos los ceros dentro del circulo unitario.
Senales y sistemas 2019 19 / 51
Filtros de fase mınima
Senales y sistemas 2019 20 / 51
Filtros pasatodoPara corregir la fase
H(z) =a∗ − z−1
1− az−1
con |a| < 1
Senales y sistemas 2019 21 / 51
Diseno de filtros digitales
Pasos para el diseno de filtros digitales:
1 Determinar las especificaciones a partir del problema aresolver (!)
2 Obtener la transferencia del filtro de mınima complejidad quecumpla las especificaciones
3 Verificar por medios analıticos, simulaciones y pruebas ensituaciones reales
4 Implementar en hardware o software
Senales y sistemas 2019 22 / 51
Filtros FIR
� Propios del procesamiento digital
� Respuesta en fase lineal
� Incondicionalmente estables
� Gran flexibilidad en las posibles respuestas en amplitud
� Tecnicas de diseno convenientes
� Suelen necesitar orden elevado para cumplir lasespecificaciones practicas
Senales y sistemas 2019 23 / 51
Filtros IIR
� Disenos en el dominio digital de filtros IIR son muy complejoso de resultados pocos satisfactorios
� Se disenan en el dominio analogico y luego se transforman
� No tienen gran flexibilidad en cuanto a la respuesta enfrecuencia
� No tienen fase lineal
� Son de menor orden que filtros FIR con igualesespecificaciones
Senales y sistemas 2019 24 / 51
Filtros de respuesta impulsional finita
Filtro FIR causal:
Hz(z) = h[0] + h[1]z−1 + . . .+ h[N]z−N
� Tienen todos sus polos (N) en cero
� Orden del filtro: N
� Respuesta en fase lineal posible
� Incondicionalmente estables
� Propios del procesamiento digital
Senales y sistemas 2019 26 / 51
Ubicacion de los ceros
� Filtro real ⇒ Ceros complejos conjugados
� Cualquier numero de ceros en z = 1
� Cualquier numero de ceros en z = −1
� Pares complejos conjugados sobre z = e±jα
� Si z = r (r 6= 1) es cero ⇒ z = r−1 tambien
� Si z = re jα es cero ⇒ z = re−jα, z = r−1e jα y z = r−1e−jα
Senales y sistemas 2019 27 / 51
Diseno por truncado de la respuesta impulsional
� Determinar la respuesta de amplitud deseada Ad(θ)
� Elegir el tipo de filtro FIR
� Elegir el orden del filtro N ⇒ La respuesta en frecuenciadeseada es H f (θ) = Ad(θ)e j(µπ/2−θN/2) (µ = 0 o µ = 1)
� Calcular la respuesta impulsional ideal (F−1)
hd [n] =1
2π
∫ π
−πAd(θ)e j(µπ/2−θN/2)e jθndθ
� Truncar la respuesta ideal:
h[n] =
{hd [n] 0 ≤ n ≤ N0 c.c .
Senales y sistemas 2019 29 / 51
Fenomeno de Gibbs
� Metodo TRI ≡ Ripple constante
� Ej: (a) N = 10 y (b) N = 40 (L , N + 1)
� No permite ajustar tolerancias (δ’s) ⇒ Ventanas
Senales y sistemas 2019 30 / 51
Diseno de filtros FIR con ventanas
� Coef. del filtro: h[n] =
{w [n]hd [n], 0 ≤ n ≤ N0, c .c .
� H f (θ) =1
2π{W f ~ H f
d} =1
2π
∫ π
−πW f (λ)H f
d (θ − λ)dλ
Cada ventana impone cierto ancho de transicion y tolerancias:
Ventana Transicion δp = δs Ripple [dB] Aten. [dB]
rectangular 4π/L 0.09 0.75 21Bartlett 8π/L 0.05 0.45 26
Hann 8π/L 0.0063 0.055 44Hamming 8π/L 0.0022 0.019 53Blackman 12π/L 0.0002 0.0017 74
Kaiser (α = 10) 13π/L 0.00001 0.000087 100
� Sencillo y eficiente� Todas las bandas de transicion son de igual ancho y todas las
tolerancias son iguales� No es optimo
Senales y sistemas 2019 31 / 51
Diseno por cuadrados mınimos
� Se minimiza la energıa de la diferencia, pero pesando cadabanda de manera diferente:ε2 =
∫ π0 E 2(θ)dθ =
∫ π0 V 2(θ)[Ad(θ)− A(θ)]2dθ
donde V (θ) es la funcion de peso
Ventajas:
� Es sencillo y N en gral. es menor que con ventanas
� Complejidad de calculo moderada
Desventajas:
� Es un metodo de prueba y error
� Conviene fijar las bandas de transicion un poco mas angostasque lo necesario
Matlab: firls
Senales y sistemas 2019 33 / 51
Diseno de filtros equiripple
� Metodos previos → amplitud del ripple es mayor cerca de lasbandas de transicion y luego decrece
� Si se logra igual ripple en toda la banda el filtro podrıaresultar de menor orden
� Tecnica MinMax: Con E (θ) = V (θ)[Ad(θ)− A(θ)]
Ming [n]
Maxθ∈S|E (θ)|
con S es el conjunto de todas las bandas de paso y de rechazo
� Solucion: Teorema de alternancia (Remez, 1957)
� Se resuelve usualmente con el algoritmo de Parks-McClellan(firpm.m en Matlab)
Senales y sistemas 2019 34 / 51
Filtros digitales IIR
� Tienen al menos un polo no ubicado en el origen
� Corresponden a ecuaciones recursivas
� Tienen fase no lineal (distorsionan la senal)
� Pueden ser inestables
� Poco flexibles en cuanto a la rta. en frecuencia
� Son de menor orden que FIR con iguales especificaiones
� Disenos en el dominio digital de filtros IIR son muy complejoso de resultados pocos satisfactorios
� Se disenan en el dominio analogico y luego se transforman
Senales y sistemas 2019 35 / 51
Filtros analogicos
El diseno se basa en la respuesta en magnitud al cuadrado:
|HF (ω)|2 =1
1 + ∆(ω/ω0)= HL(s)HL(−s)
∣∣∣s=jω
con ∆(ω/ω0) la funcion de atenuacion (no negativa y racional)Los polos del filtro se eligen en el semiplano izquierdo (SPI)
Los filtros analogicos mas comunes son:
� Butterworth: ∆(ω/ω0) = (ω/ω0)2N
� Chebyshev I: ∆(ω/ω0) = ε2T 2N(ω/ω0)
� Chebyshev II: HF (ω) = 1− HFChI(ω0/ω)
� Elıptico: ∆(ω/ω0) = ε2R2N(ω/ω0)
Senales y sistemas 2019 37 / 51
Filtros Butterworth
Butterworth Pasa-Bajos:|HF (ω)|2 =1
1 + (ω/ω0)2N
� Respuesta monotona decreciente (sin ripple)
� Es maximamente plano en ω = 0 (2N − 1 der. = 0)
� |HF (0)| = 1 y |HF (ω0)| =√
1/2
� Atenuacion asintotica: −20NdB/dec
Senales y sistemas 2019 38 / 51
Filtros Butterworth
Filtro Butterworth pasabajos:
� Tiene los polos sobre el cırculo {|s| = ω0}� No tiene ceros
� Ej: (a) N = 3(b) N = 4
Diseno:
� N >loge(1/d)
loge(1/k)
� ωp[(1− δp)−2 − 1]−1/2N < ω0 < ωs [δ−2s − 1]−1/2N
Senales y sistemas 2019 39 / 51
Filtros Chebyshev I
Chebyshev I Pasa-Bajos: |HF (ω)|2 =1
1 + ε2T 2N(ω/ω0)
� Ripple en la banda de paso ⇒ Menor banda de trans.
� Atenuacion asintotica:−20NdB/dec
� Ej: (a) N = 2(b) N = 3
Senales y sistemas 2019 40 / 51
Filtros Chebyshev I
Chebyshev I Pasa-Bajos:
� Polos sobre elipse (ω0 sinh(sinh−1( 1
ε)
N ),ω0 cosh(sinh−1( 1
ε)
N ))
� No tiene ceros
� Ej: (a) N = 3(b) N = 4
Diseno:
� N >cosh−1(1/d)
cosh−1(1/k)y ω0 = ωp
� ε = [(1− δp)−2 − 1]1/2
Senales y sistemas 2019 41 / 51
Filtros Chebyshev II
Chebyshev II Pasa-Bajos: |HF (ω)|2 =ε2T 2
N(ω0/ω)
1 + ε2T 2N(ω0/ω)
� Ripple en la banda de rechazo
� Polos inversos del Cheb. I (νk = ω0/sk) y ceros en eje jω
� Atenuacion asintotica:−20dB/dec o 0
� Ej: (a) N = 2(b) N = 3
Diseno:
� N >cosh−1(1/d)
cosh−1(1/k)� ω0 = ωs
� ε2 = [δ−2s − 1]−1/2
Senales y sistemas 2019 42 / 51
Filtros Elıpticos
Elıptico Pasa-Bajos: |HF (ω)|2 =1
1 + ε2R2N(ω/ω0)
� Tiene ripple en banda de paso y de rechazo
� Tiene la banda de transicion mas angosta ⇔ Mınimo orden
� Ceros en eje jω
� Ej: (a) N = 2(b) N = 3
Diseno:
� N >K(k2)K(1− d2)
K(1− k2)K(d2)� ω0 =
√ωsωp
� ε = [(1− δp)−2 − 1]1/2
Senales y sistemas 2019 43 / 51
Discretizacion del filtro
El filtro analogico HL(s) debe ser discretizado ⇒ Hz(z)
El filtro digital resultante:
� Debe ser real, causal, racional y estable
� No debe ser de mayor orden
� Debe tener respuesta en frecuencia similar (θ = ωT )
Distintos metodos para lograrlo:
� Respuesta impulsional invariante
� Metodo de Euler
� Transformacion bilineal
Senales y sistemas 2019 45 / 51
Respuesta impulsional invariante
Idea:
1 Obtener la h(t) del filtro analogico con la TL inversa
2 Muestrear h(t) para obtener h[n] = Th(nT )
3 Obtener Hz(z) con la TZ de h[n]
Caracterısticas:
� Los polos sk se mapean a zk = eskT
� Hay aliasing: H f (θ) =∑∞
k=−∞HF ( θ−2kπT )
� No sirve para filtros Pasa-Altos y Rechaza-Banda (p = q)
� Puede usarse para Pasa-Bajos y Pasa-Banda, pero lastolerancias se deben cumplir a prueba y error
� El filtro resultante es real, causal, racional y estable (=orden)
Senales y sistemas 2019 46 / 51
Diferencias hacia atras
s ≈ 1− z−1
T⇒ Hz(z) = HL(s)|
s= 1−z−1
T
� Hz(z) es real, causal, estable, racional y del mismo orden
� H f (θ) solo se parece a HT (θ/T ) para θ � 1
� Util solo para filtros Pasa-Bajos con T � 1/ω0
� jθ = − log(1− jωT )
� SPI se mapea en {|z − 1/2| ≤ 1/2}
Senales y sistemas 2019 47 / 51
Transformacion Bilineal
Una mejor aproximacion se logra mediante
s ≈ 2
T
1− z−1
1 + z−1⇒ Hz(z) = HL(s)|
s= 2T
1−z−1
1+z−1
� Hz(z) es real, causal, estable, racional y del mismo orden
� Transformacion Bilineal que mapea el SPI a{|z | ≤ 1}
Senales y sistemas 2019 48 / 51
Predistorsion
Para s = jω ⇔ z =1 + jωT
2
1− jωT2
= e jθ ⇔ θ = 2arctg(ωT
2)
� Con la transformacion bilineal no ocurre aliasing
� Altas frecuencias se “amontonan” al acercarse a z = −1
� En el diseno debe realizarse una predistorsion para lograr unarespuesta en frecuencia deseada:
ωp =2
Ttg
(θp2
)y ωs =
2
Ttg
(θs2
)
� El valor de T es arbitrario (1 o 2) para el diseno
� Sirve para todos los tipos de filtros!
Senales y sistemas 2019 49 / 51
Predistorsion
En forma grafica:
Senales y sistemas 2019 50 / 51
Conclusiones filtros IIR
� Diseno basado en filtros analogicos
� Logran menor orden que los FIR
� El filtro elıptico da menor orden
� Fase no puede ser lineal (se busca filtro de mınima fase)
� Mas sensibles a largo de palabra finito y cuantizacion
Estrategia de Diseno:
1 Predistorsionar ω’s y convertir δ’s a Pasa-Bajos
2 Disenar un filtro analogico Pasa-Bajos
3 Transformar a la clase de filtro deseada
4 Discretizar el filtro con transf. Bilineal
Senales y sistemas 2019 51 / 51