DISEÑO DE FILTROS DIGITALES Filtros Digitales Algoritmo implementado sobre hardware que opera sobre señales analógicas digitalizadas o sobre señales digitales almacenadas. 9 VENTAJAS: • Características imposibles con filtros analógicos (fase lineal) • No cambian cualquiera que sea el entorno • Procesamiento de varias señales con un único filtro • Posibilidad de almacenar datos • Repetitividad • Uso en aplicaciones de muy bajas frecuencias 9 INCONVENIENTES: • Limitación de velocidad • Efectos de la longitud finita de las palabras • Tiempos de diseño y desarrollo Filtros Digitales - Clasificación de los Filtros Digitales. - IIR : Respuesta al Impulso Infinita. M y[n] = ∞ ∑ h[k ]x[n − k ] k =0 y[n] = M N k =0 k =1 ∑ bk x[n − k ] + ∑ ak y[n − k ] ∑ bk z − k H (z ) = k =0 N 1 − ∑ ak z − k k =1 - FIR : Respuesta al Impulso Finita. y[n] = M ∑ h[k ]x[n − k ] k =0 h[n] = M ∑ h[k ]⋅δ[n − k ] k =0 H (z ) = M ∑ h[k ]⋅ z − k k =0 Filtros Digitales 9 PASOS EN EL DISEÑO DE FILTROS: a. Especificación de las Características del filtro. b. Cálculo de los Coeficientes. Diferentes métodos. c. Elección de la Estructura. Realización. d. Análisis de los Efectos de Precisión Finita. e. Implementación del filtro mediante software y/o hardware adecuado. Filtros Digitales - Especificación de las Características del filtro. α(dBs ) = 20⋅ log 1 = −20⋅ log ( H (Ω ) ) H( Ω ) α p (dBs ) = −20 ⋅log (1 − δ1 ) α a (dBs ) = −20 ⋅log (δ 2 ) ⎛ 1− δ p ⎞ ⎟ rp (dBs ) = −20⋅ log⎜ ⎜1+ δ p ⎟ ⎝ ⎠ α a (dBs ) = −20⋅ log (δ a ) ( Atenuación ( Atenuación máxima en la banda de paso ) mínima en la banda e lim inada ) (rizado en la banda de paso ) ( Atenuación mínima en la banda e lim inada ) RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (I) ⎧ ⎪ H (Ω ) Ω =ωTs ⎪ H eff (ω) = ⎨ ⎪0 ⎪⎩ H (Ω ) = H eff (ω) ; ω< π Ts ó ω ω< s 2 ; ω> π Ts ó ω ω> s 2 Ω = H eff ω= Ts ⎛Ω⎞ ⎜⎜ ⎟⎟ ⎝ Ts ⎠ ; Ω <π RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (II) Bloque A/D: xs (t ) = xc (t ) ⋅ s(t ) = xc (t ) ⋅ xs (t ) = ∞ ∑ δ(t − nTs ) n = −∞ ∞ ∑ xc (nTs ) ⋅ δ(t − nTs ) n = −∞ X (Ω ) = F ∞ ∑ x[n]⋅ e − jΩn F ∞ 1 X s (ω) = ⋅ ∑ X c (ω − kωs ) Ts k =−∞ X s (ω) = X s (ω) = n = −∞ X (Ω ) = X s (ω) ω= Ω Ts ∞ ∑ xc (nTs ) ⋅ e − jωnTs n = −∞ ∞ ∑ xc (nTs ) ⋅ e − jωnTs n = −∞ ∞ ∞ ⎛ Ω 2πk ⎞ 1 ⎟⎟ = ⋅ ∑ X c (ω − kωs ) = ∑ X c ⎜⎜ − Ts k = −∞ Ω ⎝ Ts Ts ⎠ k = −∞ ω= Ts RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (III) Bloque D/A: Y (Ω ) = ∞ ∑ y[n]⋅ e − jΩn n = −∞ Ys (ω) = ∞ ∑ ys (nTs ) ⋅e n = −∞ − jω nTs ∞ ∑ y[n]⋅ e − jω nTs = n =−∞ Ys (ω) = Y (Ω) Ω=ωT s Yc (ω) = Ys (ω) ⋅ H r (ω) = H r (ω) ⋅ Y (Ω) Ω=ωT s RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (IV) ⎛ Ω 2πk ⎞ 1 ∞ ⎟ Y (Ω) = H (Ω) ⋅ X (Ω ) = H (Ω) ⋅ ⋅ ∑ X c ⎜⎜ − Ts k =−∞ ⎝ Ts Ts ⎟⎠ Ys (ω) = Y (Ω) Ω=ωT = H (Ω) Ω=ωT s s 1 ∞ ⋅ ⋅ ∑ X c (ω − kωs ) Ts k =−∞ Yc (ω)= H r (ω) ⋅ Ys (ω) = H r (ω) ⋅ H (Ω) Ω=ωT s ⎧ ⎪ X c (ω) ⋅ H (Ω ) Ω=ωTs ⎪ Yc (ω) = ⎨ ⎪0 ⎪⎩ ; ; ω< π Ts ω> π Ts ó ó ⎧ ⎪ H (Ω ) Ω =ωTs ⎪ H eff (ω) = ⎨ ⎪0 ⎪⎩ 1 ∞ ⋅ ⋅ ∑ X c (ω − kωs ) Ts k =−∞ ω ω< s 2 Yc (ω) = H eff (ω) ⋅ X c (ω) ω ω> s 2 ; ω< π Ts ó ω ω< s 2 ; ω> π Ts ó ω ω> s 2 RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (V) Ejemplo: Obtener la plantilla de un filtro digital que se va a utilizar para realizar un filtrado paso bajo de una señal continua, utilizando la estructura de la figura anterior, con las siguientes características: 0,99 < H eff (ω) < 1,01 ; 0 ≤ ω ≤ 2π ⋅ 2000 rad / s H eff (ω) < 0,001 ω ≥ 2π ⋅ 3000 rad / s ; El periodo de muestreo será Ts = 10-4 segundos. RELACIÓN SISTEMAS CONTINUOS - SISTEMAS DISCRETOS (VI) Ω = ω ⋅ Ts δ p = 0,01 ⇒ δ a = 0,001 ⇒ ω p = 2π ⋅ 2000 ωa = 2π ⋅3000 20⋅ log(1 + δ p ) = 0,086 dB 20 ⋅log(δ a ) = −60 dB Ω p = ω p ⋅ Ts = 2π⋅ 2000 ⋅10 −4 = 0,4π rad . Ω a = ωa ⋅ Ts = 2π ⋅3000 ⋅10 − 4 = 0 ,6π rad . DISEÑO DE FILTROS DIGITALES IIR DISEÑO DE FILTROS IIR A PARTIR DE FILTROS ANALÓGICOS ⎧s ↔ z ⎪ 7 SIMILITUDES CON LOS ANALÓGICOS ⇒ RELACIÓN ⎨ ⎪ω ↔ Ω ⎩ PROCESO: ESPECIFICACIONES FILTRO DIGITAL ↓ ESPECIFICACIONES FILTRO ANALÓGICO ↓ FUNCIÓN DE TRANSFERENCIA ANALÓGICA H(s) ↓ FUNCIÓN DE SISTEMA H(z) -Aproximación por derivadas -Respuesta al impulso invariante. - Transformación bilineal. APROXIMACIÓN POR DERIVADAS (I) Filtro Analógico: N ∑ αk ⋅ k =0 d k y( t ) dt k = M d k x( t ) k =0 dt k ∑ βk ⋅ Transformación: dy( t ) y (nT ) − y (nT − T ) y[n] − y[n − 1] = ≡ dt t =nT T T H ( z ) = H (s ) ⎛⎜ 1− z −1 ⎞⎟ ⎝ ⎠ s= T Restringido a filtros paso bajo y paso banda con frecuencias de corte bajas APROXIMACIÓN POR DERIVADAS (II) Ejemplo: H( s ) = 1 (s + 0,1)2 + 9 T2 ( 1 + 0,2T + 9,01T 2 ) = H (z ) = 2 2(1 + 0,1T ) 1 ⎞ ⎛ 1 − z −1 z −1 + z −2 1− 2 2 ⎜ + 0,1⎟ + 9 ( ) ( ) 1 + 0 , 2 + 9 , 01 1 + 0 , 2 + 9 , 01 T T T T ⎟ ⎜ T ⎠ ⎝ 1 Módulo de la respuesta en frecuencia del filtro analógico 1 Módulo de la respuesta en frecuencia del filtro digital 0 10 10 0 10 -1 T1 |H(Ω )| (dBs) |H(ω)| (dBs) 10 -1 10 T2 -2 10 T3 -2 10 T4 1/T3 -3 10 0 1 2 1/T1 1/T2 3 4 5 ω/π (rad/s) -3 6 7 8 9 10 1/T4 10 0 0.1 0.2 0.3 0.4 0.5 Ω /π (rad) 0.6 0.7 0.8 0.9 1 RESPUESTA AL IMPULSO INVARIANTE (I) CONCEPTO: Obtener la Respuesta Impulsiva del Filtro Discreto Muestreando la de un Filtro Continuo h[ n] = Td hc( nTd ) ⇒ H(Ω) = ⎛ Ω 2πk ⎞ H − ⎟ ∑ c⎜ T k =−∞ ⎝ d Td ⎠ ∞ Ω = ω Td ⎛Ω⎞ H ( Ω ) = Hc ⎜ ⎟ ⎝ Td ⎠ ∀ Ω <π −3π −2π H c ( ω) = 0 ∀ H ( ω) − −4π SIEMPRE QUE π Td −π H (Ω) ω≥ π Td ω π Td π 2π 3π 4π Ω RESPUESTA AL IMPULSO INVARIANTE (I) CONCEPTO: Obtener la Respuesta Impulsiva del Filtro Discreto Muestreando la de un Filtro Continuo h[ n] = Td hc( nTd ) ⇒ H(Ω) = ⎛ Ω 2πk ⎞ H − ⎟ ∑ c⎜ T k =−∞ ⎝ d Td ⎠ ∞ Ω = ω Td ⎛Ω⎞ H ( Ω ) = Hc ⎜ ⎟ ⎝ Td ⎠ ∀ Ω <π π − Td −4π − 3π −2 π SIEMPRE QUE H ( ω) H (Ω ) −π H c ( ω) = 0 ∀ ω≥ π Td ω π Td π 2π 3π 4π Ω RESPUESTA AL IMPULSO INVARIANTE (II) SUPONEMOS OBTENIDA: N H c (s ) = ∑ k =1 Ak s − sk OBTENCIÓN DE LA TRANSFORMADA INVERSA DE LAPLACE ⎧N A k esk t , ∀ t ≥ 0 ⎪k∑ =1 hc ( t ) = ⎨ , ∀ t<0 ⎪0 ⎩ N MUESTREANDO hc (t) SE OBTIENE: h[ n] = ∑ Td A k esk nTd u[ n] k =1 N APLICANDO TRANSFORMADA Z: H(z ) = ∑ k =1 Td A k 1 − es k Td z −1 RESPUESTA AL IMPULSO INVARIANTE (III) N Hc ( s ) = ∑ k =1 Ak s − sk N → H (z) = ∑ k =1 PLANO S POLOS sk COEFICIENTES Ak ESTABILIDAD Re{sk } < 0 Td A k 1 − eskTd z −1 PLANO Z eTd sk Td Ak Td Re{sk } e <1 RESPUESTA AL IMPULSO INVARIANTE (IV) Ejemplo: Convertir el filtro analógico con función de transferencia: H c (s ) = 1 (s + 0.1)2 + 9 en un filtro IIR digital aplicando la invarianza al impulso. 1 1 j j 6 6 H c (s ) = − s + 0 .1 + 3 j s + 0 .1 − 3 j s p = −0.1 ± 3 j H (z ) = Td 1 j 6 Td 1 j 6 − ( − 0.1−3 j )Td −1 1− e z 1 − e(−0.1+3 j )Td z −1 1 Td e −0.1Td ⋅ sen(3Td ) ⋅ z −1 3 H (z ) = −0.1Td 1 − 2e ⋅ cos(3Td ) ⋅ z −1 + e −0.2Td z −2 RESPUESTA AL IMPULSO INVARIANTE (V) |H(ω)| (dBs) 10 10 10 Módulo de la respuesta en frecuencia del filtro digital 1 10 T1 0 0 10 |H(Ω )| (dBs) 10 Módulo de la respuesta en frecuencia del filtro analógico 1 -1 -1 10 T2 -2 -2 T3 10 T4 10 1/T3 -3 0 1 2 1/T1 1/T2 3 4 5 ω/ π (rad/s) -3 10 6 7 8 9 10 1/T4 0 0.1 0.2 0.3 0.4 0.5 Ω /π 0.6 0.7 0.8 0.9 1 TRANSFORMACIÓN BILINEAL (I) H (s )⎫ ⎬ s ⎭ Tansformación ⎯⎯ ⎯ ⎯ ⎯ ⎯ ⎯→ ⎧H (z ) ⎨ ⎩z 2 re jΩ − 1 2 ⋅ = s = σ + jω = Td re jΩ + 1 Td 2 ⎛ 1 − z −1 ⎞ 2 s= ⎜ ⎟= Td ⎝ 1 + z −1 ⎠ Td ⎛ z −1 ⎞ ⎜ ⎟ ⎝ z +1⎠ Td s 2 z= T 1− d s 2 1+ ⎛ ⎞ r 2 −1 2rsenΩ ⎜ ⎟ ⋅ +j 2 2 ⎜ 1 + r + 2r cos Ω ⎟⎠ ⎝ 1 + r + 2r cos Ω Exterior Circunferencia Unidad Semiplano Izquierdo Semiplano Derecho Eje Imaginario Interior Circunferencia Unidad Circunferencia Unidad TRANSFORMACIÓN BILINEAL (II) Relación Eje Imaginario Plano “s” ↔ Circunferencia Unidad Plano “z” ω 2 ⎛ z −1 ⎞ s= ⎜ ⎟ Td ⎝ z + 1 ⎠ Ω 2 jω = Td ⎡ e jΩ − 1 ⎤ ⎢ jΩ ⎥ ⎣ e + 1⎦ ω= 2 Ω tg Td 2 Ω = 2 arctg ωTd 2 TRANSFORMACIÓN BILINEAL (III) Relación NO LINEAL ω ↔ Ω H c ( ω) H( e jΩ ) TRANSFORMACIÓN BILINEAL (IV) Relación NO LINEAL ω ↔ Ω s = jω e −αs ⎯⎯⎯ → e −α jω ⇒ ϕ ( ω) = −α ω ( FASE LINEAL) e − jα 2 Ω tg Td 2 ⇒ Φ ( Ω ) = −α 2 Ω tg ( Fase NO LINEAL) Td 2 Arg[ H( e jΩ )] 2πα Td πα Td − πα Td − 2πα Td − − α Ω Td 2α ⎛ Ω⎞ tg Td ⎝ 2 ⎠ TRANSFORMACIÓN BILINEAL (V) Ejemplo 1: Convertir el filtro analógico con función de transferencia: H a (s ) = 1 (s + 0.1)2 + 9 en un filtro IIR digital mediante la transformación bilineal. 2 s= Td H (z ) = ⎛ 1 − z −1 ⎞ ⎟ ⋅⎜ ⎜ 1 + z −1 ⎟ ⎝ ⎠ 1 ⎛ ⎜ 2 ⎜ Td ⎝ 2 ⎞ ⎛ 1 − z −1 ⎞ ⎜ ⎟ ⋅ + 0.1⎟ + 9 ⎜ 1 + z −1 ⎟ ⎟ ⎝ ⎠ ⎠ TRANSFORMACIÓN BILINEAL (VI) Módulo de la respuesta en frecuencia del filtro digital 1 Módulo de la respuesta en frecuencia del filtro analógico 1 10 10 T4 T2 T3 T1 0 10 0 |H(Ω )| (dBs) |H(ω)| (dBs) 10 -1 10 -1 10 -2 10 -2 10 -3 10 1/T3 -3 10 0 1 2 1/T1 1/T2 3 4 5 ω/π (rad/s) -4 10 6 7 8 9 10 1/T4 0 0.1 0.2 0.3 0.4 0.5 Ω /π (rad) 0.6 0.7 0.8 0.9 1 TRANSFORMACIÓN BILINEAL (VII) Ejemplo 1: Convertir el filtro analógico con función de transferencia: s + 0.1 H a (s ) = (s + 0.1)2 + 16 en un filtro IIR digital mediante la transformación bilineal. El filtro digital debe tener un polo a la frecuencia Ωr = π 2 s p = − 0 .1 ± j 4 ωi = ⇒ ωr = 4 2 Ωi 2 π 2 ⇒ 4 = tg tg 2 Td 2 Td ⇒ Td = 1 2 ⎛ 1 − z −1 ⎞ ⎟ s = 4⎜ − 1 ⎜1 + z ⎟ ⎠ ⎝ H (z ) = ⎛ 1 − z −1 ⎞ ⎟ + 0 .1 4⎜ ⎜ 1 + z −1 ⎟ ⎝ ⎠ 2 ⎛ ⎛ 1 − z −1 ⎞ ⎞ ⎜ 4⎜ ⎟ + 0.1⎟ + 16 ⎜ ⎜ 1 + z −1 ⎟ ⎟ ⎠ ⎝ ⎝ ⎠ = 0.125 + 6.09610−3 z −1 − 0.119 z − 2 1 + 6.09610− 4 z −1 + 0.952 z − 2 TRANSFORMACIÓN BILINEAL (VIII) Módulo de la respuesta en frecuencia del filtro analógico 1 10 0 0 10 |H(Ω )| (dBs) |H(ω)| (dBs) 10 -1 10 -2 -1 10 -2 10 10 -3 10 Módulo de la respuesta en frecuencia del filtro digital 1 10 -3 0 1 2 3 4 5 ω 6 7 8 9 10 10 0 0.5 1 1.5 2 Ω 2.5 3 3.5 EJEMPLO (I) Diseñar un filtro digital paso bajo aplicando la respuesta al impulso invariante y la transformación bilineal a un filtro de Butterworth. Las especificaciones del filtro digital son: ⎧⎪0,89125 ≤ H (Ω ) ≤ 1 ⎨ ⎪⎩ H (Ω ) ≤ 0,17783 ; 0 ≤ Ω ≤ 0,2π ; 0,3π ≤ Ω ≤ π ⎧α (Ω ) = −20 ⋅log H (Ω ) ⎪ ; ⎨0 ≤ α (Ω ) ≤ 1 dB ⎪ ; ⎩α (Ω ) ≥ 15 dB 0 ≤ Ω ≤ 0,2π 0,3π ≤ Ω ≤ π EJEMPLO (II) Obtención de la plantilla del filtro paso bajo prototipo analógico: a) Respuesta al Impulso Invariante ω= Ω Td b) Transformación Bilineal ω= 2 ⎛Ω⎞ ⋅ tg ⎜ ⎟ Td ⎝2⎠ EJEMPLO (III) a) Respuesta al Impulso Invariante: 2 H a (ω) = Diseño del Filtro de Butterworth 2 ⎧ ⎛ 0,2π T ⎞ 2 N 1 ⎛ ⎞ d ⎪1 + ⎜⎜ ⎟⎟ =⎜ ⎟ ω ⎪ ⎝ ⎝ 0,89125 ⎠ c ⎠ ⎪ ⎨ ⎪ 2N 2 ⎪ ⎛ 0,3π Td ⎞ ⎛ 1 ⎞ ⎟⎟ =⎜ ⎟ ⎪1 + ⎜⎜ ω 0 17783 , ⎝ ⎠ ⎝ ⎠ c ⎩ 1 ⎛ ω⎞ 1 + ⎜⎜ ⎟⎟ ⎝ ωc ⎠ 0,70474 0,22433π ⎧ ω = = ⎪ c T Td ⎨ d ⎪ N = 5,88 ⎩ 2N ωc = N =6 0,7087 0,2256π = Td Td Distribución de raíces: s1 = − 0.1834 ± j 0,6845 Td s2 = − 0.5011 ± j 0,5011 Td s3 = − 0.6845 ± j 0,1834 Td EJEMPLO (IV) a) Respuesta al Impulso Invariante: H a (s ) = Diseño del Filtro de Butterworth k (s 2 + 0,3668s + 0,5022)⋅ (s 2 + 1,0022s + 0,5022)⋅ (s 2 + 1,3690s + 0,5022) H a (0 ) = 1 H a (s ) = ⇒ k = 0 ,1266 0,1266 s 6 + 2,7380 s 5 + 3,7484 s 4 + 3,2533s 3 + 1,8824 s 2 + 0,6905 s + 0,1266 H a (s ) = 0,1447 − j 0,2505 0,1447 + j 0,2505 + + s + 0,1834 + j 0,6845 s + 0,1834 − j 0,6845 + − 1,0797 − 1,0797 + + s + 0,5011 + j 0,5011 s + 0,5011 − j 0,5011 + 0,9351 + j1,6196 0,9351 − j1,6196 + s + 0,6845 + j 0,1834 s + 0,6845 − j 0,1834 EJEMPLO (V) a) Respuesta al Impulso Invariante: Obtención del Filtro Digital N Td A k H ( z) = ∑ k =1 1 − e H (z ) = 0,1447 − 0,2505 j 1− e + + H (z ) = −0,1834 − j 0,6845 −1 e −0,5011 − j 0,5011 −1 e 0,9351 + 1,6196 j + z − 1,0797 1− e sk Td −1 z 0,1447 + 0,2505 j 1− e + z + −0,1834 j 0,6845 −1 e + z − 1,0797 1 − e −0,5011e j 0,5011z −1 + 0,9351 − 1,6196 j 1 − e −0,6845e − j 0,1834 z −1 1 − e −0,6845e j 0,1834 z −1 0,0007z −1 + 0,0105 z −2 + 0 ,0167 z −3 + 0 ,0042 z −4 + 0 ,001z −5 1 − 3,3443z −1 + 5,0183z −2 − 4,2190 z −3 + 2,0725 z −4 − 0 ,5600 z −5 + 0 ,0647 z −6 EJEMPLO (VI) b) Transformación bilineal: 2 H a (ω) = 1 ⎛ ω⎞ 1 + ⎜⎜ ⎟⎟ ⎝ ωc ⎠ 2N Diseño del Filtro de Butterworth ⎧ ⎛ 2 ⎪ ⎜ ⎪1 + ⎜ Td ⎪ ⎜ ⎪ ⎜ ⎪ ⎝ ⎨ ⎪ ⎛ 2 ⎪ ⎜ ⎪1 + ⎜ Td ⎪ ⎜ ⎪ ⎜ ⎩ ⎝ ⎛ 0 ,2π ⎞ ⎞ tg ⎜ ⎟⎟ ⎝ 2 ⎠⎟ ⎟ ωc ⎟ ⎠ ⎛ 0 ,3π ⎞ ⎞ tg ⎜ ⎟⎟ ⎝ 2 ⎠⎟ ⎟ ωc ⎟ ⎠ 2N ⎛ 1 ⎞ =⎜ ⎟ ⎝ 0 ,89125 ⎠ 2 0,7662 0,2439π ⎧ ω = = ⎪ c T Td ⎨ d ⎪N = 6 ⎩ 2N ⎛ 1 ⎞ =⎜ ⎟ ⎝ 0 ,17783 ⎠ 2 Distribución de raíces: H a (s ) = s1 = − 0.7401 ± j 0,1983 Td s2 = − 0.5418 ± j 0,5418 Td s3 = − 0.1983 ± j 0,7401 Td 0,2024 s 6 + 2,9605s 5 + 4,3822 s 4 + 4,1124 s 3 + 2,5728 s 2 + 1,0205s + 0,2024 EJEMPLO (VII) b) Transformación bilineal: Obtención del Filtro Digital H ( z ) = H a (s ) H (z ) = 2 1− z −1 s= ⋅ Td 1+ z −1 0,0007 + 0,0044z −1 + 0,0111z −2 + 0,0148 z −3 + 0,0111z −4 + 0,0004 z −5 + 0,007 z −6 1 − 3,1836z −1 + 4,6222 z −2 − 3,7795 z −3 + 1,8136 z −4 − 0,4800 z −5 + 0,0544 z −6 MATLAB a) Respuesta al Impulso Invariante [N,wc]=buttord(0.2*pi,0.3*pi,1,15,’s’); [B,A]=butter(N,wc,’s’); [R,P,K]=residue(B,A); [Bz,Az]=impinvar(B,A,Fs); b) Transformación bilineal: [N,wc]=buttord(2*tan(0.1*pi),2*tan(0.15*pi),1,15,’s’); [B,A]=butter(N,wc,’s’); [Bz,Az]=bilinear(B,A,Fs); EJEMPLO (VIII) Módulo de la respuesta en frecuencia del filtro digital 1 0.8 |H(Ω )| Bilineal R.I.Inv. 0.6 0.4 0.2 0 0 0.5 1 1.5 2 Ω 2.5 3 3.5 EJEMPLO (IX) Respuesta al Impulso Invariante Módulo de la respuesta en frecuencia del filtro analógico prototipo Módulo de la respuesta en frecuencia del filtro digital 1 1 Td=1 0.8 0.8 Td=1 Td=4 Td=0,2*π 0.6 |H(Ω )| |H(ω)| Td=4 0.4 0.4 0.2 0.2 0 0 0.5 1 1.5 2 ω 2.5 3 3.5 Td=0,2*π 0.6 0 0 0.5 1 1.5 2 Ω 2.5 3 3.5 TRANSFORMACIONES DE FILTROS DISCRETOS (I) Procedimientos: 1.- Transformación en frecuencias en tiempo continuo. 2.- Transformación en frecuencias en tiempo discreto. TRANSFORMACIONES DE FILTROS DISCRETOS (II) Transformación en frecuencias en tiempo continuo. 1.- Transformación paso bajo a paso bajo: ⎛ω p s → s ⇒ H PB (s ) → H ' PB (s ) = H PB ⎜ ⎜ ω' ω'p ⎝ p 2.- Transformación paso bajo a paso alto: ωp s → ω p ⋅ ω'p s ⎞ s⎟ ⎟ ⎠ ⎛ ω ⋅ ω'p ⎞ p ⎟ H PB (s ) → H PA (s ) = H PB ⎜ ⎟ ⎜ s ⎝ ⎠ ⇒ 3.- Transformación paso bajo a paso banda: s → ωp ⋅ s 2 + ω+ p ⋅ ω− p ( s ⋅ ω+ p − ω − p ) ⇒ ⎛ s 2 + ω+ p ⋅ ω− p ⎞⎟ ⎜ H PB (s ) → H PBd (s ) = H PB ω p ⋅ ⎜ s ⋅ ω+ p − ω− p ⎟ ⎝ ⎠ ( 4.- Transformación paso bajo a banda Eliminada: s ( ) s ⋅ ω + p − ω− p → ωp ⋅ s 2 + ω+ p ⋅ ω− p ⇒ ( ) ) ⎛ s ⋅ ω+ p − ω− p ⎞⎟ ⎜ H PB (s ) → H BE (s ) = H PB ω p ⋅ 2 ⎟ ⎜ ω s + ω ⋅ + p − p ⎝ ⎠ ω+ p ≡ Pulsación de corte sup erior ω− p ≡ Pulsación de corte inf erior TRANSFORMACIONES DE FILTROS DISCRETOS (III) Transformación en frecuencias en tiempo discreto. ( ) z' −1 = G z −1 ⇒ ( ) H ( z ) = H PB ( z' ) z' −1 =G z −1 9 G(z-1) debe ser función racional en z-1. 9 El interior de la circunferencia unidad en el plano z se debe transformar en el interior del circunferencia unidad en el plano z´. 9 La circunferencia unidad en el plano z se debe transformar en la circunferencia unidad en el plano z’. Constantinides (1970): z − a *k z ' = ±∏ k =1 1 − a k z N ↔ −1 z − ak z '−1 = ±∏ * −1 k =1 1 − a k z N TRANSFORMACIONES DE FILTROS DISCRETOS (IV) Ejemplo: Paso Bajo - Paso Bajo z − a* z' = ± 1 − az A’ ↔ A 1 − a* 1= e 1− a 1 − a = e jπm (1 − a * ) jπm 1 − a = e jπm − a *e jπm 1 − e jπm = a − a *e jπm C’ ↔ C Para determinar α : −1 − a 1+ a 1 + a = e jπm (1 + a * ) −1 = e jπm * 1 + a = e jπm + a *e jπm 1− e jπm z−α z' = 1− α z m=0 ; a = α (Real) * jπm = −a + a e B’ ↔ B e j θp = ⎛ Ωp − θ p ⎞ sen ⎜ ⎟ ⎝ 2 ⎠ α= ⎛ Ωp + θ p ⎞ sen ⎜ ⎟ ⎝ 2 ⎠ e j Ωp −α 1− α e j Ωp TRANSFORMACIONES DE FILTROS DISCRETOS (V) TIPO FILTRO TRANSFORMACIÓN PASO BAJO z' −1 = z −1 − α 1 − αz −1 FÓRMULAS ASOCIADAS ⎛ Ωp − θ p ⎞ sen ⎜ ⎟ ⎝ 2 ⎠ α= ⎛ Ωp + θ p ⎞ sen ⎜ ⎟ ⎝ 2 ⎠ Ωp = frecuencia de corte desada PASO ALTO z' −1 = − z −1 + α 1 + αz −1 ⎛ θp cos ⎜ ⎝ α=− ⎛ θp cos ⎜ ⎝ + Ωp ⎞ ⎟ 2 ⎠ − Ωp ⎞ ⎟ 2 ⎠ Ωp = frecuencia de corte desada PASO BANDA 2αk −1 k − 1 z + k +1 k +1 z' −1 = k − 1 −2 2αk −1 z − z +1 k +1 k +1 z −2 − ⎛ Ωp 2 + Ωp1 ⎞ cos ⎜ ⎟ 2 ⎠ ⎝ α= ⎛ Ωp 2 − Ωp1 ⎞ cos ⎜ ⎟ 2 ⎝ ⎠ ⎛ Ωp2 − Ωp1 ⎞ ⎛ θp ⎞ k = cot g ⎜ ⎟ tg⎜ ⎟ 2 ⎝ ⎠ ⎝2⎠ Ωp1 = frecuencia de corte inferior desada Ωp2 = frecuencia de corte superor desada BANDA ELIMINADA 2αk −1 1 − k z + 1 1+ k +k z' = 1 − k −2 2αk −1 z − z +1 1+ k 1+ k −1 z −2 − ⎛ Ωp 2 + Ωp1 ⎞ cos ⎜ ⎟ 2 ⎝ ⎠ α= ⎛ Ωp 2 − Ωp1 ⎞ cos ⎜ ⎟ 2 ⎝ ⎠ ⎛ Ωp 2 − Ωp1 ⎞ ⎛ θ p ⎞ k = tg ⎜ ⎟ tg⎜ ⎟ 2 ⎝ ⎠ ⎝2⎠ Ωp1 = frecuencia de corte inferior desada Ωp 2 = frecuencia de corte superor desada DISEÑO DE FILTROS DIGITALES FIR SISTEMAS FIR DE FASE LINEAL (I) H (Ω ) ⎧⎪− Fase lineal H (Ω ) = H (Ω )⋅ e − jαΩ ⇒ ⎨ ⎪⎩− Fase lineal generalizada H (Ω ) = A(Ω )⋅ e j (β−αΩ ) Función real de Ω 1 h[n] = 2π ∫ H (Ω) ⋅ e jΩn 2π e jβ dΩ = 2π ∫ A(Ω ) ⋅ e Constantes reales jΩ ( n − α ) dΩ = e jβ a[n − α ] 2π h[n] = e jβ a[n − α ] a[n] = a∗[− n] ⇒ e− jβ h[n + α ] = e jβ h∗ [− n + α ] ⎧h[n] es causal M Si ⎨ ⇒ α= 2 ⎩h[n] ≠ 0 ; 0 ≤ n ≤ M a[n] = e− jβ h[n + α ] h[n] = e j 2β h∗ [− n + 2α ] h[n] = e j 2 β h∗ [M − n] SISTEMAS FIR DE FASE LINEAL (II) h[n] = e j 2 β h∗ [M − n] Coeficientes del filtro reales ⇒ h[n] = h∗ [n] ⇒ e j 2 β Re al ⇒ β = kπ / 2, k ∈ Z h[n] = (− 1)k ⋅ h[M − .n], k ∈ Z H (Ω ) = A(Ω )⋅ e h[n] = h[M − n] h[n] = −h[M − n] (2 j kπ − M Ω 2 ), k ∈ Z , M (orden del filtro) ⎧ Tipo I: k = 0 (simetría positiva) y M par ⎨ ⎩ Tipo II: k = 0 (simetría positiva) y M impar ⎧ Tipo III: k = 1 (simetría negativa) y M par ⎨ Tipo IV: k = 1 (simetría negativa) y M impar ⎩ SISTEMAS FIR DE FASE LINEAL (III) Ejemplo: Obtener la respuesta en frecuencia de un sistema FIR de orden par cuya respuesta al Impulso tiene simetría positiva y demostrar que es de fase lineal. ⎧h[0] = h[M ] ⎪h[1] = h[M − 1] ⎪⎪ h[n] = h[M − n]⎫ ... ⎬ ⇒ ⎨ M ≡ Par ⎭ ⎪ ⎡M ⎤ ⎡M ⎤ ⎪h ⎢ − 1⎥ = h ⎢ + 1⎥ ⎪⎩ ⎣ 2 ⎦ ⎦ ⎣2 M M − Ω j ⎡M ⎤ − jΩn − jΩ 2 = h[0] + h[1]⋅ e + ... + h ⎢ ⎥⋅ e H (Ω ) = h[n]⋅ e + ... + h[M − 1]⋅ e − j (M −1)Ω + h[M ]⋅ e − jMΩ ⎣2⎦ n =0 ∑ H (Ω ) = e −j ⎛M ⎛M ⎞ ⎛M ⎞ ⎧ M M j ⎜ −1⎟Ω − j⎜ − j ⎜ −1⎟Ω j Ω Ω ⎪ 2 ⋅ ⎨h[0]⋅ e 2 + h[1] ⋅e ⎝ 2 ⎠ + ... + h ⎡ M ⎤+ ... + h[M − 1] ⋅ e ⎝ 2 ⎠ + h[M ] ⋅e ⎝ 2 ⎪ ⎩ H (Ω ) = e ⎢⎣ 2 ⎥⎦ −j M Ω ⎛⎛ M ⎞ ⎞ ⎡ M ⎤⎫ ⎛M ⎞ 2 ⋅⎧ [ ] [ ] 2 0 2 1 1 h cos h cos ... h + ⋅ − Ω + + ⋅ Ω ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎬ ⎨ ⎢⎣ 2 ⎥⎦ ⎠ ⎠ ⎝⎝ 2 ⎭ M ⎧ ⎫ −1 M ⎪⎪ ⎡ M ⎤ 2 ⎡ ⎛M ⎞⎤ ⎪⎪ − j 2 Ω H (Ω ) =⎨h⎢ ⎥ + ∑ 2h[n]⋅ cos⎢Ω⎜ − n ⎟⎥ ⎬ ⋅ e = A(Ω )⋅ e jθ(Ω ) ⎠⎦ ⎪ ⎣ ⎝ 2 ⎪ ⎣ 2 ⎦ n =0 ⎪⎩ ⎪⎭ M −1 M ⎡ ⎛M ⎡M ⎤ 2 ⎞⎤ A(Ω ) =h ⎢ ⎥ + ∑ 2h[n] ⋅cos⎢Ω⎜ − n ⎟⎥ ; θ(Ω ) = − Ω 2 ⎣ 2 ⎦ n =0 ⎠⎦ ⎣ ⎝ 2 ⎩ ⎝ 2 ⎠ ⎞ ⎫ ⎟Ω ⎪ ⎠ ⎬ ⎪ ⎭ SISTEMAS FIR DE FASE LINEAL (IV) Tipo I II h[n] Simetría Positiva h[n] = h[M − n] Orden M Par H (Ω ) − jΩM 2 =e [ ] H(Ω ) = III Simetría Negativa Par n =1 [2 IV ( Impar ] −jΩM−π 2 2 e [ H(Ω ) = ( −jΩM−π 2 2 e [2 ] ∑ b[n ] ⋅ cos[Ω ⋅ (n − 12 )] ⋅ c[n ] = 2h M − n 2 h[n] = − h[M − n] [ M +1 2 b[n ] = 2h M +1 − n H(Ω ) = ∑ a[n]⋅ cos[Ω ⋅ n] ⋅ a[n] = 2h M − n 2 − jΩ M 2 e d[n ] = 2h M +1 − n ] )⋅ M 2 −ΩM M 2 −ΩM M 2 2 2 ∑ c[n ] ⋅ sen[Ω ⋅ n ] −ΩM +π ∑ d[n ] ⋅ sen[Ω ⋅ (n − 12 )] −ΩM +π n =1 ] )⋅ τ M 2 n =0 a[0] = h M 2 Impar θ(Ω) H(Ω) M +1 2 n =1 2 2 2 2 M 2 M 2 SISTEMAS FIR DE FASE LINEAL (V) Posiciones de los ceros en los sistemas FIR de fase lineal: H (z ) = M ∑ h[n]⋅ z n =0 −n = M ∑ ± h[M − n]⋅ z −n n =0 =z −M ( ) H ( z ) = ± z − M ⋅ H z −1 - Ceros de H(z): ( ) ⋅ 0 ( ) −1 −k [ ] ± h k ⋅ z ∑ k =M ( ) z1 = r1e jΩ1 ⇒ H ( z1 ) = ± z1− M ⋅ H z1−1 = 0 ⇒ H z1−1 = 0 ⇒ z1−1 cero de H ( z ) Si h[n] real: ( )−1 También cero de H ( z) z1∗ también cero de H ( z ) ⇒ z1∗ Casos particulares (z = 1; z = -1): Simetría Positiva: z =1 ⇒ z = −1 ( ) H ( z ) = z − M ⋅ H z −1 H (1) = (1)M H (1) = H (1) ⇒ ⎧M par ⇒ H (− 1) = H (− 1) H (− 1) = (− 1)M H (− 1) ⇒ ⎨ ⎩M impar ⇒ H (− 1) = − H (− 1) ⇒ H (− 1) = 0 Sistemas con simetría positiva y M impar (tipo II) poseen un cero en z = -1 SISTEMAS FIR DE FASE LINEAL (VI) Posiciones de los ceros en los sistemas FIR de fase lineal: H (z ) = M ∑ h[n]⋅ z −n n =0 - Ceros de H(z): = M ∑ ± h[M − n]⋅ z −n n =0 =z −M ( ) H ( z ) = ± z − M ⋅ H z −1 ( ) ⋅ 0 ( ) −1 −k [ ] ± h k ⋅ z ∑ k =M ( ) z1 = r1e jΩ1 ⇒ H ( z1 ) = ± z1− M ⋅ H z1−1 = 0 ⇒ H z1−1 = 0 ⇒ z1−1 cero de H ( z ) Si h[n] real: ( )−1 También cero de H ( z) z1∗ también cero de H ( z ) ⇒ z1∗ Casos particulares (z = 1; z = -1): Simetría Negativa: z =1 z = −1 ⇒ H (1) = −(1)M H (1) = − H (1) ⇒ ( ) H ( z ) = − z − M ⋅ H z −1 H (− 1) = −(− 1)M H (− 1) ⇒ Sistemas tipo III y IV poseen un cero en z = 1 ⎧M par ⇒ H (− 1) = − H (− 1) ⇒ H (− 1) = 0 ⎨ ⎩M impar ⇒ H (− 1) = H (− 1) Sistemas tipo III poseen un cero en z =- 1 SISTEMAS FIR DE FASE LINEAL (VII) DIAGRAMAS DE POLOS Y CEROS DE SISTEMAS FIR DE FASE LINEAL Orden par Orden impar Orden impar Orden par Orden par Orden impar DISEÑO DE FILTROS FIR FILTROS IDEALES: 1.- Su hd[n] tiene longitud infinita. 2.- Su hd[n] es no causal ( hd[n] ≠ 0, ∀ n < 0 ). SOLUCIÓN (MÉTODO DE LAS VENTANAS): 1.- Limitar la longitud de hd[n] a M+1 muestras (Multiplicarla por una función ventana h[n] = hd[n]·w[n] ). 2.- Introducir el retardo necesario para que h[n] sea causal. DISEÑO DE FILTROS FIR FILTRO DISCRETO PASO BAJO IDEAL H d (Ω ) = ∞ ∑ hd [n]⋅e− jΩn n = −∞ 1 1 jΩn ( ) hd [n] = H Ω ⋅ e d Ω = d 2π ∫ 2π 2π ∫ ΩC e jΩn dΩ = − ΩC sen (ΩC n ) πn Respuesta al impulso de un filtro discreto Paso Bajo Ideal 1 0.8 |Hd(Ω)| hd[n] 0.6 0.4 0.2 −π −ΩC ΩC π Ω ... ... 0 -0.2 -30 -20 -10 0 n Filtro ideal: Respuesta al impulso no causal e infinita. 10 20 30 DISEÑO DE FILTROS FIR: VENTANAS 1 0.5 Respuesta Impulsiva del Filtro Ideal: hd[n] 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 0.5 Ventana (Rectangular) w[n] 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 0.5 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 Respuesta Impulsiva desplazada para que sea causal: h[n-n0] 0.5 0 -0.5 -50 Respuesta impulsiva obtenida: h[n] = hd[n]· w[n] -40 -30 -20 -10 0 10 20 30 40 50 DISEÑO DE FILTROS FIR: VENTANAS SI PRIMERO DESPLAZAMOS Y DESPUÉS MULTIPLICAMOS, EL RESULTADO ES EL MISMO ( VENTANAS CAUSALES). 1 Respuesta Impulsiva del Filtro Ideal: hd[n] 0.5 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 Respuesta Impulsiva del Filtro Ideal desplazada hd[n-n0] 0.5 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 Ventana (Rectangular) causal: w[n] 0.5 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 Respuesta impulsiva obtenida: h[n] = hd[n-n0]· w[n] 1 0.5 0 -0.5 -50 -40 -30 -20 -10 0 10 20 30 40 50 DISEÑO DE FILTROS FIR: VENTANAS Transformada de Fourier de la ventana rectangular: 0≤n≤M el resto ⎧1 w[n] = ⎨ ⎩0 ⎡ ⎛ M + 1 ⎞⎤ M sen ⎢Ω⋅ ⎜ ⎟⎥ ⎝ 2 ⎠⎦ − j 2 Ω − jφ(Ω ) ⎣ = W (Ω ) = W p (Ω ) ⋅ e ⋅e ⎛Ω⎞ sen ⎜ ⎟ ⎝2⎠ 12 10 8 A(Ω ) 6 1 4 2 0.8 0 -4 -3 -2 -1 ... 0.4 0 1 2 3 1 2 3 Ω 20 0.2 15 10 0 0 ... n M 5 φΩ) w[n] -2 0.6 0 -5 -10 -15 -20 -3 -2 -1 0 Ω DISEÑO DE FILTROS FIR: VENTANAS RESPUESTA DE FASE LINEAL h[n] = hd [n] ⋅ w[n] ←⎯ ⎯→ H (Ω ) = H d (Ω ) ⊗ W (Ω ) = TF 1 2π ∫ H d (θ) ⋅ W (Ω − θ) ⋅ dθ 2π Todas las ventanas van a tener simetría positiva: ⎧w[M − n], w[n] = ⎨ ⎩0 , 0≤n≤M ←⎯ ⎯→ W (Ω ) = W p (Ω ) ⋅ e TF resto de n − jΩ M 2 Las Respuestas al Impulso de los Filtros Ideales Tendrán Simetría Positiva o Negativa: hd [n] = hd [M − n] hd [n] = − hd [M − n] H (Ω ) = e H d (Ω ) = jAn (Ω ) ⋅ e TF ←⎯ ⎯→ H (Ω ) = Simetría positiva H d (Ω ) = Ap (Ω ) ⋅ e TF ←⎯ ⎯→ − jΩ 1 2π − jΩ π ∫ Ap (θ) ⋅ e − jθ − jΩ M 2 M M − j (Ω − θ ) 2 ⋅ W (Ω − θ ) ⋅ e 2 ⋅ dθ p −π M π 1 2 ⋅ Ap (θ) ⋅ W p (Ω − θ) ⋅ dθ 2π −π ∫ M 2 DISEÑO DE FILTROS FIR: VENTANAS EFECTO DEL ENVENTANADO SOBRE LA RESPUESTA DE AMPLITUD DEL FILTRO. H (Ω ) = e − jΩ M M π − Ω j 2 ⋅ 1 2 ⋅ A(Ω ) Ap (θ) ⋅ W p (Ω − θ) ⋅ dθ = e 2π −π ∫ 1 0.8 Wp (Ω ) 0.6 0.4 0.2 0 -0.2 -3 -2 -1 0 Ω 1 2 3 DISEÑO DE FILTROS FIR: VENTANAS EFECTO DEL ENVENTANADO SOBRE LA RESPUESTA DE AMPLITUD DEL FILTRO. LÓBULO PRINCIPAL -2π -π-π Ω= -π Ω = -ΩΩ1 = -Ω2 Ω -Ω1 -Ω2 Ω = Ω2Ω = Ω1 Ω2 Ω1 Ω π= π π ΔΩ = Ω2 - Ω1 = ZONA DE TRANSICIÓN Debida Fundamentalmente a la Anchura del Lóbulo Principal 2π EFECTO DEL ENVENTANADO SOBRE LA RESPUESTA DE AMPLITUD DEL FILTRO. LÓBULOS SECUNDARIOS DISEÑO DE FILTROS FIR: VENTANAS -2π -π Ω = -π π Ω Ω =Ω-Ω=1 -Ω2 -π -Ω1 -Ω2 Ω =ΩΩ=2 Ω1 Ω2 Ω1 Ω=π π RIZADO EN BANDA DE PASO Y ELIMINADA Debida a los Lóbulos Secundarios (Principalmente al primero) 2π DISEÑO DE FILTROS FIR: VENTANAS VENTANA RECTANGULAR. MÓDULO DE LA TRANSFORMADA DE FOURIER DE LA VENTANA RECTANGULAR M+1 = 9 M+1 = 13 12 8 10 6 8 6 4 4 2 2 0 -2 0 2 0 -2 Ω 0 2 Ω M+1 = 18 M+1 = 26 25 15 20 ⎛ M +1⎞ sen⎜ Ω ⋅ ⎟ 2 ⎠ ⎝ W (Ω ) = ⎛Ω⎞ sen⎜ ⎟ ⎝2⎠ 15 10 10 5 5 0 -2 0 Ω 2 0 -2 0 2 Ω ANCHURA DEL LÓBULO PRINCIPAL = ΔΩ = 4π M +1 DISEÑO DE FILTROS FIR: VENTANAS VENTANA RECTANGULAR. AMPLITUD RELATIVA DEL LÓBULO SECUNDARIO = -13 dB M+1 = 9 M+1 = 13 0 0 -10 -10 -20 -20 -30 -30 -40 -40 -50 -50 -60 0 1 2 3 -60 0 1 Ω M+1 = 18 -10 -10 -20 -20 -30 -30 -40 -40 -50 -50 1 2 Ω 2 3 M+1 = 26 0 0 3 Ω 0 -60 2 3 -60 0 1 Ω DISEÑO DE FILTROS FIR: VENTANAS PARA MODIFICAR LA AMPLITUD DE LOS LÓBULOS SECUNDARIOS HAY QUE MODIFICAR LA FORMA DE LA VENTANA. SE UTILIZAN VENTANAS QUE NO CONTENGAN DISCONTINUIDADES ABRUPTAS ( FENÓMENO DE GIBBS ) CONLLEVA EL AUMENTO DE LA ANCHURA DEL LÓBULO PRINCIPAL REGIÓN DE TRANSICIÓN EN LA RESPUESTA DEL FILTRO FIR MÁS ANCHA PARA COMPENSARLO SE INCREMENTARÁ “M” DISEÑO DE FILTROS FIR: VENTANAS ALGUNAS VENTANAS UTILIZADAS: EXPRESIÓN ANALÍTICA BARTLETT M ⎧ 2n ∀ 0≤n≤ ⎪M , 2 ⎪ 2n M ⎪ ≤n≤M w [ n ] = ⎨2 − , ∀ M 2 ⎪ ⎪ ⎪0, Re sto n ⎩ HAMMING ⎧ ⎛ 2πn ⎞ ⎪0,54 − 0, 46 cos ⎜ M ⎟ , ∀ 0 ≤ n ≤ M ⎝ ⎠ ⎪⎪ w [n ] = ⎨ ⎪0, Re sto n ⎪ ⎪⎩ HANNING ⎧ ⎛ 2πn ⎞ ⎪0,5 − 0,5 cos ⎜ M ⎟ , ∀ 0 ≤ n ≤ M ⎝ ⎠ ⎪⎪ w [n ] = ⎨ ⎪0, Re sto n ⎪ ⎪⎩ BLACKMAN ⎧ ⎛ 2πn ⎞ ⎛ 4πn ⎞ ⎪0, 42 − 0,5 cos ⎜ M ⎟ + 0, 08 cos ⎜ M ⎟ ⎝ ⎠ ⎝ ⎠ ⎪⎪ w [n] = ⎨ ⎪0, Re sto n ⎪ ⎪⎩ 0≤n≤M DISEÑO DE FILTROS FIR: VENTANAS ALGUNAS VENTANAS UTILIZADAS: REPRESENTACIÓN ( M = 50 ) BARTLETT HANNING 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 10 20 30 40 50 0 0 10 HAMMING 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 10 20 30 30 40 50 40 50 BLACKMAN 1 0 20 40 50 0 0 10 20 30 DISEÑO DE FILTROS FIR: VENTANAS ( ) ALGUNAS VENTANAS UTILIZADAS: −20 log W ( Ω ) / max W ( Ω ) . M = 50 BARLETT HANNING 0 0 -20 -20 -40 -40 -60 -60 -80 -80 -100 0 1 2 3 -100 0 1 HAMMING 0 -20 -20 -40 -40 -60 -60 -80 -80 0 1 2 3 BLACKMAN 0 -100 2 3 -100 0 1 2 3 DISEÑO DE FILTROS FIR: VENTANAS ( VENTANA HANNIG: −20 log W ( Ω ) / max W ( Ω . ) M = 20 M = 30 0 0 -20 -20 -40 -40 -60 -60 -80 -80 -100 0 1 2 3 -100 0 1 M = 40 0 -20 -20 -40 -40 -60 -60 -80 -80 0 1 2 3 2 3 M = 50 0 -100 ) 2 3 -100 0 1 DISEÑO DE FILTROS FIR: VENTANAS VENTANAS: RESUMEN DE CARACTERÍSTICAS VENTANA w[n] (0 ≤ n ≤ M) Anchura del Lóbulo Principal Ai αbe rbp ΔΩ Rectangular 1 4π/(M+1) 13,3 20,9 1,57 1,84π/M Hanning 1⎛ 2πn ⎞ ⎜1 − cos ⎟ 2⎝ M ⎠ 8π/(M+1) 31,5 43,9 0,11 6,22π/M Hamming ⎛ 2πn ⎞ 0.54 − 0.46 ⋅ cos⎜ ⎟ ⎝ M ⎠ 8π/(M+1) 42,7 54,5 0,033 6,64π/M Blackman ⎛ 2πn ⎞ ⎛ 4πn ⎞ 0.42 − 0.5 ⋅ cos⎜ ⎟ + 0.08 ⋅ cos⎜ ⎟ ⎝ M ⎠ ⎝ M ⎠ 12π/(M+1) 58,1 75,3 0,00298 11,12π/M Ai : Amplitud máxima relativa (en dB's) de los lóbulos laterales. αbe=-20 log(δ) : Atenuación mínima (en dB's) en la banda eliminada. rbp =-20 log((1- δ)/(1+ δ)): Rizado en la banda de paso. ΔΩ: anchura de la banda de transición. PARÁMETRO ÚNICO DE DISEÑO: ORDEN DEL FILTRO ( M ) DISEÑO DE FILTROS FIR: VENTANAS VENTANA DE KAISER ⎧ ⎪I ⎪⎪ 0 w[ n] = ⎨ ⎪ ⎪ ⎪⎩0, 1 ⎡ ⎛ 2⎞ 2 ⎤ ⎢β ⎜ 1 − ⎡ n − α ⎤ ⎟ ⎥ ⎢ ⎜⎝ ⎢⎣ α ⎥⎦ ⎟⎠ ⎥ ⎥⎦ ⎣⎢ I 0 (β) ∀ 0≤ n≤ M ∀ ( ) ⎡ x k⎤ L I0 (x) ≈ 1 + ∑ ⎢⎢ 2 ⎥⎥ k! k =1 ⎢⎣ ⎥⎦ resto de n I0 ( ): Función de Bessel de Orden Cero Modificada de Primera Clase M α= 2 β : Factor de Forma 2 ( L ≤ 25) DOS PARÁMETROS DE DISEÑO: ORDEN DEL FILTRO ( M ) → AJUSTE DE ANCHURA DEL LÓBULO PRINCIPAL FACTOR DE FORMA ( β ) → AJUSTE DE AMPLITUD DE LÓBULOS SECUNDARIOS DISEÑO DE FILTROS FIR: VENTANAS VENTANA DE KAISER: REPRESENTACIÓN PARA DISTINTOS VALORES DE β β=0 β=3 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 10 20 30 40 50 n 0 n 0 10 20 β=6 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 10 20 40 50 30 40 50 β=9 1 0 30 30 40 50 n 0 n 0 10 20 DISEÑO DE FILTROS FIR: VENTANAS ( VENTANA DE KAISER: −20 log W ( Ω ) / max W ( Ω ) ) PARA DISTINTOS VALORES DE M 0 M = 10 -20 M = 41 M = 20 -40 -60 -80 -100 -120 0 0.5 1 1.5 2 2.5 3 Ω DISEÑO DE FILTROS FIR: VENTANAS ( ) VENTANA DE KAISER: −20 log W ( Ω ) / max W ( Ω ) PARA DISTINTOS VALORES DE β 00 β β= =9 6 -10 -10 β=3 β=6 β=3 β=3 β=0 β=0 -20 -20 β == 00 -30 -30 -40 -40 -50 -50 -60 -60 -70 -70 -80 -80 00 0.5 0.5 11 1.5 1.5 Ω DISEÑO DE FILTROS FIR: VENTANAS VENTANA DE KAISER: OBTENCIÓN DE β y M Definiendo A = −20 log δ con δ = min ( δp , δa ) ⎧0,1102 (A − 8,7) ⎪⎪ β = ⎨0,5842 (A - 21) 0,4 + 0,07886 (A − 21) ⎪0,0 ⎪⎩ A − 7,95 A − 7,95 M≥ = 2, 285 ΔΩ 14,36 Δf A > 50 21 ≤ A ≤ 50 A < 21 DISEÑO DE FILTROS FIR: VENTANAS EJEMPLO Se desea diseñar un sistema para procesar una señal analógica xc(t) (limitada en banda a 5 kHz) con un filtro digital como se indica en la figura. Las especificaciones del módulo de la respuesta en frecuencia del sistema analógico |H(ω)| son: -Atenuación máxima en la banda de paso αp= 1 dBs. mínima en la banda atenuada αa = 15 dBs. - Frecuencia de corte en la banda de paso: fp = 800 Hz - frecuencia de corte en la banda atenuada: fa = 1400 Hz - Atenuación DISEÑO DE FILTROS FIR: CAMBIO DE ESPECIFICACIONES |H(Ω)| α(dB) 1 − δ1 = 10 αmin δ2 = 10 − − α max 20 1 1 - δ1 α min 20 αmax δ2 Ωp Ωa π Ω 1 − δ p = (1 − δ1 ) (1 + δ p ) ⇒ Ω π Ωa Ωp (1 − δ ) = (1 + δ )10 p p − α max 20 |H(Ω)| ⎛ δ p ⎜⎜10 ⎝ 1+ δp 1 1 - δp α − max 20 ⎞ + 1⎟⎟ = 1 − 10 ⎠ α − max 20 Ωp Ωa π Ω δp = 10 10 α max 20 α max 20 −1 +1 1 − 10 1 + 10 δa = (1 + δp ) δ2 = 10 δa ⇒ δp = ; − α min 20 − α max 20 α − max 20 = 10 10 α max 20 α max 20 −1 +1 (1 + δ ) p δa = 10 − α min 20 (1 + δ ) p DISEÑO DE FILTROS FIR: CAMBIO DE ESPECIFICACIONES |H(Ω)| 1+δp 1-δp 1 1-δ1 δa δ2 π Ω DISEÑO DE FILTROS FIR: VENTANAS EJEMPLO SOLUCIÓN: 1. PLANTILLAS: b) Plantilla de atenuación del Filtro Discreto: a) Plantilla de atenuación del Filtro Analógico: Ω = ω ⋅ Ts ⇒ 1 ⎧ Ω p = ω p ⋅ Ts = 2π ⋅ 800 ⋅ 10 − 3 = 0,2π ⎪ 1 ⎪ 8 Ts = ms ⇒ ⎨ 8 ⎪Ω = ω ⋅ T = 2π ⋅ 1400 ⋅ 1 10 − 3 = 0,35π a s ⎪⎩ a 8 d) Plantilla de amplitud del Filtro discreto en unidades naturales: αp 1 10 20 − 1 10 20 − 1 δp = = = 0,0575 αp 1 10 20 + 1 10 20 + 1 α − a δa = 10 20 ⋅ 1 + δ p = 0,188 ( ) DISEÑO DE FILTROS FIR: VENTANAS EJEMPLO SOLUCIÓN: 2. Diseño: Parámetros de diseño: ( ) δ = min δ p ,δa = δ p = 0,0575 ΔΩ = Ω a − Ω p = 0,35π − 0 ,2π = 0 ,15π Ωc = α'a = −20 ⋅ log (δ ) = 24,8 dB Ω p + Ωa VENTANA αbe Rectangular 20,9 Hanning 43,9 Hamming 54,5 Blackman 75,3 M> Ventana de Kaiser: ⇒ 2 = 0 ,2π + 0 ,35π = 0 ,275π 2 6 ,22π = 41,46 0 ,15π 6 ,64π M> = 44 ,27 0 ,15π M> M> 11,12π = 74 ,13 0 ,15π A − 7 ,95 24,8 − 7 ,95 = 15,65 ⇒ M = 16 = 2,285 ⋅ ΔΩ 2 ,285 ⋅ 0 ,15π β = 0 ,5842 ⋅ ( A − 21)0 ,4 + 0 ,07886 ⋅ ( A − 21) = 1,296 ⇒ M = 42 ⇒ M = 45 ⇒ M = 75 DISEÑO DE FILTROS FIR: VENTANAS EJEMPLO SOLUCIÓN: Ventana Orden δ ΔΩ Ω’ p Ω’a Hanning 42 0,0064 0,148π 0,201 π 0,349π Hamming 45 0,0019 0,147π 0,201 π 0,348π Blackman 75 0,00017 0,148π 0,201 π 0,349π Kaiser 16 0,0575 0,15π 0,2 π 0,35π Ω' p = Ωc − ΔΩ 2 α − ba δ = 10 20 ; ; Ω'a = Ωc + ΔΩ 2 M ⎞⎞ ⎛ ⎛ sen⎜ ΩC ⎜ n − ⎟ ⎟ M⎤ 2 ⎠⎠ ⎡ ⎝ ⎝ hD [n] = hI ⎢n − ⎥ ⋅ w[n] = ⋅ w[n] M 2 ⎛ ⎞ ⎣ ⎦ π⋅⎜n − ⎟ 2 ⎠ ⎝ DISEÑO DE FILTROS FIR: VENTANAS EJEMPLO SOLUCIÓN: - Hanning: FIR fase lineal tipo I ⎧ sen(0 ,275π(n − 21)) 1 ⎡ ⎛ 2πn ⎞⎤ ⋅ ⋅ ⎢1 − cos⎜ ⎟⎥ ; 0 ≤ n ≤ 42 ⎪ hD [n] = ⎨ 2 ⎣ π ⋅ (n − 21) ⎝ 42 ⎠⎦ ⎪0 ; resto de n ⎩ - Hamming: FIR fase lineal tipo II ⎧ sen(0 ,275π(n − 22,5)) ⎡ ⎛ 2πn ⎞⎤ ⋅ ⎢0 ,54 − 0 ,46 ⋅ cos⎜ ⎟⎥ ; 0 ≤ n ≤ 45 ⎪ hD [n] = ⎨ π ⋅ (n − 22 ,5) ⎝ 45 ⎠⎦ ⎣ ⎪0 ; resto de n ⎩ - Blackman: FIR fase lineal tipo II ⎧ sen(0 ,275π(n − 37 ,5)) ⎡ ⎛ 4πn ⎞⎤ ⎛ 2πn ⎞ ⋅ ⎢0 ,42 − 0 ,5 ⋅ cos⎜ ⎟⎥ ; ⎟ − 0 ,08 ⋅ cos⎜ ⎪ hD [n] = ⎨ π ⋅ (n − 37 ,5) ⎝ 75 ⎠⎦ ⎝ 75 ⎠ ⎣ ⎪0 ; resto de n ⎩ - Kaiser: FIR fase lineal tipo I ⎧ ⎡ ⎛ ⎡ n − 8 ⎤ ⎞⎤ I 0 ⎢1,296 ⋅ ⎜1 − ⎢ ⎪ ⎥⎦ ⎟⎥ 8 ⎪ sen(0 ,275π(n − 8)) ⎣ ⎠⎦ ⎝ ⋅ ⎣ ; 0 ≤ n ≤ 16 hD [n] = ⎨ ( ) ( ) 1 296 8 π ⋅ n − I , 0 ⎪ ⎪⎩0 ; resto de n 0 ≤ n ≤ 75 DISEÑO DE FILTROS FIR: VENTANAS Respuesta al impulso del filtro utilizando la ventana de Hamming Respuesta al impulso del filtro utilizando la ventana de Hanning 0.3 0.3 0.25 0.25 0.2 0.2 0.15 |hDHam[n] |hDHan[n] 0.15 0.1 0.1 0.05 0.05 0 0 -0.05 -0.05 -0.1 -0.1 0 5 10 15 20 n 25 30 35 0 0.25 0.25 0.2 0.2 0.15 0.15 0.1 0.05 0 0 -0.05 -0.05 -0.1 30 40 50 60 25 30 35 40 45 0.1 0.05 20 20 Respuesta al impulso del filtro utilizando la ventana de Kaiser 0.3 |hDKai[n] |hDBLan[n] Respuesta al impulso del filtro utilizando la ventana de Blackman 10 15 hD,Ham= fir1(M,ΩC,Hamming(M+1)) 0.3 0 10 n hD,Han= fir1(M,ΩC,Hann(M+1)) -0.1 5 40 70 hD,Blac= fir1(M,ΩCn,Blackman(M+1)) 0 2 4 6 8 10 12 14 hD,kaiser= fir1(M,ΩCn,kaiser(M+1,β)) 16 DISEÑO DE FILTROS FIR: VENTANAS Módulo de la respuesta en frecuencia del filtro 1 Hanning Hamming Blackman Kaiser |HD(Ω )| 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 Ω Módulo de la respuesta en frecuencia del filtro Módulo de la respuesta en frecuencia del filtro 0.25 Hanning Hamming Blackman Kaiser 1.15 1.1 Hanning Hamming Blackman Kaiser 0.2 0.15 |HD(Ω )| |HD(Ω )| 1.05 1 0.1 0.95 0.9 0.05 0.85 0.1 0.2 0.3 0.4 0.5 Ω 0.6 0.7 0.8 0.9 0 1 1.5 2 Ω 2.5 3 DISEÑO DE FILTROS: COMPARACIÓN IIR - FIR FIR IIR del Sólo contiene ceros, todos sus polos en el origen, excepto si se emplea muestreo en frecuencia Contiene polos y ceros en puntos finitos de z, ello proporciona mayor flexibilidad en el diseño de filtros sencillos (método de ubicación de ceros y polos) 2.- Respuesta en frecuencia Para selectividades altas se requieren órdenes altos (todos los polos están en z = 0). No es posible diseñar filtros paso todo. Se consiguen selectividades altas con órdenes reducidos al disponer de pares polo-cero. Es posible diseñar todo tipo de filtros. 3.- Característica de fase Es posible conseguir fase lineal. Sólo puede conseguirse fase lineal utilizando ecualizadores con lo que el filtro es más complejo. 4.- Estabilidad Son siempre estables Pueden ser inestables si los polos caen fuera de la circunferencia unidad. 5.- Estructura Admiten estructuras recursivas y no recursivas. La estructura más utilizada es la no recursiva denominada filtro transversal Sólo puede usarse la estructura recursiva. La más utilizada es la de cascada de secciones de primer y segundo orden. 6.-Carga computacional complejidad Se requiere un computador de tamaño medio y la complejidad depende de la longitud de su h[n]. No se requiere un computador grande y suele utilizarse la transformación bilineal con lo que no son demasiados cálculos. Son poco complejos. Si la realización es no recursiva la salida del sistema puede verse afectada por su estado inicial o por cualquier interferencia de corta duración durante la longitud de la respuesta al impulso. La perturbación debido a la recursividad del filtro puede afectar a la señal de salida de forma indefinida. 1.- Función sistema H(z) y 7.- Sensibilidad a las interferencias DISEÑO DE FILTROS: COMPARACIÓN IIR - FIR 8.- Efecto de la cuanti-ficación de los coeficientes Con estructura no recursiva no es un problema importante. Cuando estos filtros se realizan de forma recursiva debe conseguirse una cancelación exacta de polos y ceros después de la cuantificación obligándonos a utilizar longitudes de palabra mayores. Es un problema importante puesto que puede hacerse inestable. Pueden producirse oscilaciones indeseadas a causa del desbordamiento (Oscilación de overflow) o oscilaciones de ciclo límite. 9.- Memoria Necesitan mucha memoria para almacenar la muestra actual y las anteriores de la señal de entrada, así como los coeficientes del filtro. Necesitan menos memoria ya que el número de coeficientes es menor que el equivalente FIR.