Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Capítulo 5. Introducción al Diseño de Filtros Digitales Lineales 5.1.- Señales y el dominio de la frecuencia. Así como como las señales se clasifican de acuerdo a sus características en el dominio del tiempo, también se pueden clasificar de acuerdo a sus características de contenido de frecuencia. Así, de acuerdo a su espectro de frecuencia, una señal puede ser clasificada como: Señal de baja frecuencia. Si su espectro se concentra cerca de frecuencia cero. Señal de alta frecuencia. Si su espectro se concentra en frecuencias altas (cerca de 𝜋 en el caso de una señal de tiempo discreto). Señal de frecuencia media. Si su espectro se concentra algún punto intermedio entre frecuencia cero y frecuencias altas. La clasificación cualitativa anterior es poco precisa y normalmente se debe completar con alguna especificación cuantitativa, como el Ancho de banda de la señal, el cual expresa el rango de frecuencias en el cual se encuentra concentrado un alto porcentaje del espectro de la señal. Por ejemplo, si una señal continua tiene el 95% de su espectro concentrado en el rango de frecuencias 𝜔 ≤ 𝜔 ≤ 𝜔 , entonces se dice que el ancho de banda del 95% de la señal es 𝜔 − 𝜔 . Una señal se dice de banda estrecha si su ancho de banda 𝜔 − 𝜔 es mucho menor que su frecuencia media (𝜔 + 𝜔 )/2, de lo contrario se dice que es una señal de banda ancha. Una señal continua se dice de banda limitada si su espectro es cero para frecuencias 𝐹 fuera del rango |𝜔| ≤ 𝐵. Una señal discreta 𝑥(𝑛) se dice de banda limitada periódicamente si |𝑋(𝜔)| = 0 𝑝𝑎𝑟𝑎 𝜔 < |𝜔| < 𝜋. En la figura 5.1 se ilustran los dos casos de señales no periódicas (espectros continuos) de banda limitada. Tiempo continuo 𝒙(𝒕) Tiempo discreto 𝒙(𝒏) |𝑿(𝝎)| |𝑿(𝝎)| … … 𝝎 𝝎 -B 0 B −𝟐𝝅 −𝝅−𝝎𝟎 0 𝝎𝟎 𝝅 𝟐𝝅 Figura 5.1. Ejemplos de espectros de señales de banda limitada. Para ilustrar la dualidad entre el dominio del tiempo y el dominio de la frecuencia también se pueden definir señales de tiempo limitado. Una señal 𝑥(𝑡) se dice que es de tiempo limitado si José Juan Rincón Pasaye, FIE-UMSNH 134 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝑥 (𝑡) = 0 𝑝𝑎𝑟𝑎 |𝑡| > 𝑡 y se dice que la señal periódica 𝑥 (𝑡) de periodo T se dice de tiempo limitado periódicamente si 𝑥 (𝑡) = 0 𝑝𝑎𝑟𝑎 𝑡 < |𝑡| < 𝑇. Un resultado interesante es el hecho de que ninguna señal puede ser simultáneamente de tiempo limitado y de banda limitada. En general, una señal de duración corta tiene un espectro muy ancho, el ancho en frecuencia es inversamente proporcional a la duración de la señal en el dominio del tiempo. 5.1.2.- Rangos de frecuencia de algunas señales en la naturaleza. Si deseamos hacer procesamiento de señales del mundo real, es necesario conocer aproximadamente el rango de frecuencias contenidas en las señales que vamos a procesar para poder establecer las limitantes o alcances de los algoritmos de procesamiento y la interpretación de los resultados. En la siguiente tabla se muestran algunos rangos aproximados en el dominio de la frecuencia de señales existentes en la naturaleza. Tipo de señal Señales Biológicas Electroretinograma Electronistagmograma (ENG) (movimientos involuntarios del ojo) Pneumograma (actividad respiratoria) Electrocardiograma (ECG) Electroencefalograma (EEG) Electromiograma (actividad muscular) Esfigmomanograma (presión arterial) Voz Señales Sísmicas Ruido producido por viento Señales de exploración sísmica Sismos y explosiones nucleares Ruido sísmico Señales Electromagnéticas Radiodifusión Radio de onda corta Radar , comunicaciones por satélite y microondas Infrarrojo Luz visible Ultravioleta Rayos gamma y rayos X Rango defrecuencia (Hz) 0 - 20 0 - 20 0 - 40 0 - 100 0 - 100 10 - 100 0 - 200 100 - 4000 100 – 1000 10 – 100 0.01 – 10 0.1 - 1 3x104 – 3x106 3x106 – 3x1010 3x108 – 3x1010 3x1011 – 3x1014 3.7x1014 – 7.7x1014 3x1015 – 3x1016 3x1017 – 3x1018 5.2.- Respuesta a la frecuencia de sistemas DSLIT A continuación, se calculará la respuesta de un DSLIT ante una entrada periódica de frecuencia pura 𝜔. Como ya se explicó, la respuesta 𝑦(𝑛) de un DSLIT a cualquier entrada x(n) está dada por la sumatoria de convolución José Juan Rincón Pasaye, FIE-UMSNH 135 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝑦(𝑛) = ℎ(𝑘 )𝑥(𝑛 − 𝑘) (5.1) Donde ℎ(𝑛) es la respuesta del sistema al impulso unitario. A continuación, consideramos como entrada una señal periódica discreta de frecuencia pura, en la forma de una señal exponencial compleja como la siguiente (5.2) 𝑥 (𝑛) = 𝐴𝑒 Donde 𝐴 es la amplitud y 𝜔 es un valor arbitrario de frecuencia en el intervalo 𝜔 ∈ [−𝜋, 𝜋]. Sustituyendo en(5.1), obtenemos 𝑦(𝑛) = 𝐴 ℎ(𝑘 )𝑒 𝑒 (5.3) Obsérvese que el término entre corchetes no es más que la Transformada de Fourier de ℎ(𝑛). Es decir, la respuesta del sistema se puede escribir como (5.4) 𝑦(𝑛) = 𝐴𝐻(𝜔)𝑒 O bien, 𝑦(𝑛) = 𝐻 (𝜔)𝑥(𝑛) (5.5) Donde 𝐻(𝜔) = ℎ(𝑘 )𝑒 (5.6) Como 𝐻(𝜔) es la transformada de Fourier de ℎ(𝑛), entonces 𝐻(𝜔) es una función periódica de periodo 2𝜋 y es una función de variable compleja, por lo tanto, siempre se puede escribir en forma polar como (5.7) 𝐻 (𝜔) = |𝐻(𝜔)|𝑒 ( ) Donde |𝐻(𝜔)| es la magnitud de 𝐻(𝜔) y 𝜙(𝜔) = arg[𝐻(𝜔)] es la fase. Es decir, la respuesta del sistema ante una entrada exponencial es también exponencial de la misma frecuencia pero alterada por el factor 𝐻(𝜔) (el cual altera la amplitud en un factor |𝐻(𝜔)| y la fase en un ángulo 𝜙(𝜔) ). Con el resultado anterior, es sencillo obtener la respuesta a una señal de entrada sinusoidal, ya que esta se puede expresar por una suma o resta de dos exponenciales, en efecto, consideremos las siguientes señales exponenciales: 𝑥 (𝑛) = 𝐴𝑒 (5.8) 𝑥 (𝑛) = 𝐴𝑒 José Juan Rincón Pasaye, FIE-UMSNH 136 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Entonces 𝐴 𝐜𝐨𝐬(𝜔𝑛) = [𝑥 (𝑛) + 𝑥 (𝑛)]/2 𝐴 𝐬𝐢𝐧(𝜔𝑛) = [𝑥 (𝑛) − 𝑥 (𝑛)]/2 (5.9) La respuesta del sistema correspondiente a la señal 𝑥 (𝑛) = 𝐴𝑒 de acuerdo a (5.5) es 𝑦 (𝑛) = 𝐻 (𝜔)𝑥 (𝑛) y en forma similar, la respuesta del sistema a la señal 𝑥 (𝑛) = 𝐴𝑒 será 𝑦 (𝑛) = 𝐻 (−𝜔)𝑥 (𝑛), o equivalentemente 𝑦 (𝑛) = 𝐻∗ (𝜔)𝑥 (𝑛), donde 𝐻 ∗ (𝜔)es el complejo conjugado de 𝐻(𝜔) y en forma polar, 𝐻 ∗ (𝜔) = |𝐻(𝜔)|𝑒 ( ) De acuerdo a lo anterior, tomando en cuenta (5.7) y aplicando superposición, la respuesta del sistema a una señal coseno será 𝑦(𝑛) = [𝑦 (𝑛) + 𝑦 (𝑛)]/2 = [𝐻(𝜔)𝑥 (𝑛) + 𝐻∗ (𝜔)𝑥 (𝑛)]/2 ( ) ( ) |𝐻(𝜔)|𝐴𝑒 + |𝐻(𝜔)|𝐴𝑒 /2 O bien, (5.10) 𝑦(𝑛) = 𝐴|𝐻(𝜔)| 𝐜𝐨𝐬[𝜔𝑛 + 𝜙(𝜔)] En forma similar, si la entrada es una señal seno, la respuesta del sistema será 𝑦(𝑛) = 𝐴|𝐻(𝜔)| 𝐬𝐢𝐧[𝜔𝑛 + 𝜙(𝜔)] (5.11) Es decir, el efecto del sistema consiste solamente en la modificación de la amplitud y la fase de la señal sinusoidal de entrada y la magnitud de esta modificación depende de su frecuencia. De acuerdo a lo anterior se concluye que |𝐻(𝜔)| y 𝜙(𝜔)determinan completamente la respuesta de frecuencia del sistema. El análisis anterior es válido solamente en estado estable, ya que considera oscilaciones sostenidas desde 𝑛 = −∞, ignorando cualquier comportamiento transitorio debido a un posible inicio o interrupción de las oscilaciones. Ejemplo. Determinar la respuesta del sistema cuya respuesta al impulso es 1 ℎ(𝑛) = 𝑢(𝑛) 2 Cuando la entrada es la exponencial 𝑥 (𝑛) = 𝐴𝑒 , para −∞ < 𝑛 < ∞, donde 𝜔 = 𝜋/2 Solución. De (5.6), 𝐻(𝜔) está dado por 𝐻 (𝜔) = 1 2 𝑒 = 1 1− 𝑒 Evaluando en ω = 𝜔 = 𝜋/2 se obtiene 𝐻 (𝜋/2 ) = 1 1+ 𝑗 = 2 √5 𝑒 . ° Por lo tanto, la respuesta del sistema es José Juan Rincón Pasaye, FIE-UMSNH 137 Apuntes para el curso: Procesamiento Digital de Señales 𝑦(𝑛) = Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 2 √5 𝐴𝑒 ( . °) 𝑝𝑎𝑟𝑎 − ∞ < 𝑛 < ∞ Observación: En la expresión anterior el exponente (𝜔 𝑛 + 26.6°) se ha escrito en grados para enfatizar que se trata de un ángulo, pero debe calcularse en radianes, pues una potencia debe ser adimensional, es decir, en lugar de 26.6° se debe usar 0.464257581 radianes. Como 𝐻 (𝜔) en general es una función de la frecuencia, la amplitud y fase de la respuesta variarán con la frecuencia de la señal de entrada, por ello es muy útil considerar las gráficas de |𝐻(𝜔)| y de 𝜙(𝜔) con respecto a la frecuencia𝜔 para ilustrar el comportamiento del sistema ante entradas de diferente frecuencia. Ejemplo. Graficar la respuesta de frecuencia del sistema media móvil de tres puntos no causal, dado por 1 𝑦(𝑛) = [𝑥(𝑛 + 1) + 𝑥(𝑛) + 𝑥(𝑛 − 1)] 3 Solución. La respuesta al impulso para este sistema está dada por ℎ(𝑛) = 𝐻 (𝜔) = Entonces la magnitud es 1 𝑒 3 +1+𝑒 1 = [1 + 2cos(𝜔)] 3 , , , por lo tanto ↑ |𝐻(𝜔)| = |1 + 2cos(𝜔)|, y la fase 𝜙(𝜔) = 0 𝜋 0 ≤ 𝜔 ≤ 2𝜋/3 . 2𝜋/3 ≤ 𝜔 ≤ 𝜋 La gráfica correspondiente se muestra en la figura 5.2 |𝐻(𝜔)| 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 𝜙(𝜔) 3 2 1 0 0 0.5 1 1.5 2 2.5 3 Figura 5.2.- Respuesta a la frecuencia del sistema promedio móvil de tres puntos. José Juan Rincón Pasaye, FIE-UMSNH 138 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Ejemplo. Consideremos el DSLIT descrito por la siguiente ecuación de diferencias 𝑦(𝑛) = 𝑎𝑦(𝑛 − 1) + 𝑏𝑥(𝑛), 𝑐𝑜𝑛 0 < 𝑎 < 1 a) Determine la respuesta de frecuencia (magnitud y fase de 𝐻(𝜔)). b) Escoja el parámetro b de manera que el valor máximo de |𝐻(𝜔)| sea unitario, grafique |𝐻(𝜔)| y 𝜙(𝜔) para 𝑎 = 0.9. c) Determine la respuesta del sistema en estado estable ante la entrada 𝑥(𝑛) siguiente 𝑥(𝑛) = 5 + 12 sin(𝑛𝜋/2) − 20cos(𝜋𝑛 + 𝜋/4) Solución. La respuesta al impulso del sistema se puede obtener usando cualesquiera de los métodos vistos en los dos capítulos anteriores y es ℎ(𝑛) = 𝑏𝑎 𝑢(𝑛) Como |𝑎| < 1, el sistema es BIBO-estable y por lo tanto 𝐻(𝜔) existe. Solución al inciso (a): La respuesta de frecuencia está dada por 𝐻 (𝜔) = ℎ (𝑛)𝑒 = 𝐻(𝑧)| = 𝑏 1 − 𝑎𝑒 y como 1 − 𝑎𝑒 y, por lo tanto 1 − 𝑎𝑒 = = 1 − 𝑎 cos(𝜔) + 𝑗𝑎 sin(𝜔) [1 − 𝑎 cos(𝜔)] + [𝑎 sin(𝜔)] = 1 + 𝑎 − 2𝑎 cos(𝜔) de donde se obtiene la magnitud |𝐻(𝜔)| = |𝑏| 1 + 𝑎 − 2𝑎 cos(𝜔) y la fase 𝜙(𝜔) = arg(𝑏) − tan Donde, arg(𝑏) = 0 𝜋 𝑎 sin(𝜔) 1 − 𝑎 cos(𝜔) 𝑠𝑖 𝑏 ≥ 0 𝑠𝑖 𝑏 < 0 Solución al inciso (b): El valor máximo de |𝐻(𝜔)| ocurre cuando su denominador tiene un valor mínimo, esto ocurre para 𝜔 = 0, por lo tanto hacemos |𝑏| |𝐻(0)| = =1 1−𝑎 De donde se obtiene que 𝑏 = ±(1 − 𝑎). Elegimos 𝑏 = 1 − 𝑎, con lo cual el sistema corresponde a la versión recursiva del filtro promediador: 𝑦(𝑛) = 𝑎𝑦(𝑛 − 1) + (1 − 𝑎)𝑥(𝑛), Entonces, la magnitud de la respuesta a la frecuencia es 1−𝑎 |𝐻(𝜔)| = 1 + 𝑎 − 2𝑎 cos(𝜔) José Juan Rincón Pasaye, FIE-UMSNH 139 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales y como arg(1 − 𝑎) = 0, la fase queda 𝜙(𝜔) = − tan 𝑎 sin(𝜔) 1 − 𝑎 cos(𝜔) En la figura 5.3 se muestra la gráfica correspondiente cuando a 0.9 . |𝐻(𝜔)| 1 0.5 0 0 𝜙(𝜔) 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 𝝅 2 𝟐 2.5 3 𝝅 0 -1 -2 -3 Figura 5.3. Respuesta de frecuencia del sistema de primer orden con a 0.9 . Solución al inciso (c): La señal de entrada contiene las frecuencias 𝜔 = 0, 𝜔 = 𝜋/2 y 𝜔 = 𝜋. Evaluando en estos tres puntos magnitud y fase de 𝐻(𝜔) y obtenemos Para 𝜔 = 0: |𝐻(0)| = 1, Para 𝜔 = : 𝐻 = Para 𝜔 = 𝜋: |𝐻(𝜋)| = √ 𝜙(0) = 0° = 0.074 , = 0.053 , 𝜙 = − tan 𝜙(𝜋) = − tan 𝑎 = −42° = 0.733 𝑟𝑎𝑑 0 = 0° = 0 𝑟𝑎𝑑 Los valores correspondientes a estos tres puntos se encuentran marcados en la figura 5.2. y se puede observar que coinciden con lo calculado. Finalmente, de acuerdo a los cálculos, la respuesta del sistema en estado estable es 𝜋 𝜋 𝑥 (𝑛) = 5 + 12(0.074) sin 𝑛 − 42° − 20(0.053)cos 𝜋𝑛 + 2 4 𝜋 𝜋 = 5 + 0.888 sin 𝑛 − 0.733 − 1.06cos 𝜋𝑛 + 2 4 5.3.- Propiedades de la respuesta a la frecuencia Todo filtro DSLIT puede ser visto de acuerdo a su respuesta de frecuencia como un dispositivo que modifica dos características de la señal de entrada dependiendo de la frecuencia de ésta: su amplitud y su fase. Es decir, un DSLIT produce amplificación o atenuación y defasamiento de José Juan Rincón Pasaye, FIE-UMSNH 140 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales las señales que entran dependiendo de su frecuencia, es por ello que pueden ser considerados como filtros dependientes de la frecuencia. 5.3.1.- Respuesta a la frecuencia de filtros ideales. Los filtros se clasifican de acuerdo a las características de su respuesta de frecuencia como: pasabajas, pasa-altas, pasa-banda, rechaza-banda y filtros pasa-todo. En la figura 4.20 se muestra la respuesta ideal de amplitud respecto a la frecuencia para los primeros cuatro tipos de filtros en el caso discreto. |𝐻(𝜔)| Pasa bajas 1 - 0 |𝐻(𝜔)| Pasa altas B 1 - 0 |𝐻(𝜔)| Pasa banda 1 - 0 |𝐻(𝜔)| Rechaza banda B 1 - 0 Figura 5.4.- Respuestas de frecuencia ideales de los cuatro tipos de filtros. Otra característica de un filtro es la fase que agrega a la señal, en general, el efecto de la fase es menos intuitivo que el de la amplitud, sin embargo, a grosso modo, la fase se puede interpretar como un retardo generalizado, en efecto, si consideramos una sinusoide 𝑥 (𝑛) = cos(𝜔𝑛) con una fase 𝜙, es decir, (5.12) 𝑥 (𝑛) = cos(𝜔𝑛 − 𝜙) la sinusoide desfasada 𝑥 (𝑛) se puede escribir como una sinusoide pura con un retardo 𝑛 , es decir, (5.13) 𝑥 (𝑛) = 𝑥(𝑛 − 𝑛 ) = cos 𝜔(𝑛 − 𝑛 ) donde 𝑛 = . Obsérvese que el retardo 𝑛 puede ser un número entero o fraccional. Fase lineal. El comportamiento de la fase en un filtro ideal se considera lineal respecto a la frecuencia en un rango de frecuencias de interés, es decir, se considera que el filtro tiene la siguiente respuesta de frecuencia (5.14) 𝐻(𝜔) = 𝑒 𝑝𝑎𝑟𝑎 𝜔 < 𝜔 < 𝜔 Donde 𝑛 es constante. Evidentemente en este caso José Juan Rincón Pasaye, FIE-UMSNH 141 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales (5.15) arg[𝐻 (𝜔)] = −𝑗𝜔𝑛 𝑝𝑎𝑟𝑎 𝜔 < 𝜔 < 𝜔 Obsérvese que (usando transformada inversa de Fourier) la respuesta de frecuencia anterior denota un sistema que simplemente introduce un corrimiento en el tiempo de valor 𝑛 , es decir, la respuesta del sistema a una entrada arbitraria 𝑋(𝜔) está dada por (5.16) 𝑌(𝜔) = 𝐻 (𝜔)𝑋(𝜔) = 𝑋(𝜔)𝑒 𝑝𝑎𝑟𝑎 𝜔 < 𝜔 < 𝜔 Pasando al dominio del tiempo se obtiene (5.17) 𝑦(𝑛) = 𝑥(𝑛 − 𝑛 ) En resumen, un filtro ideal tiene tanto una magnitud constante (y unitaria) como una variación de fase lineal respecto a la frecuencia en la banda de paso. Un quinto tipo de filtro es un filtro pasa todo, el cual no es propiamente un filtro, este filtro presenta una ganancia unitaria en todas las frecuencias posibles y suele utilizarse por su característica de fase para introducir un defasamiento sin amplificar ni atenuar una señal. 5.3.2.- Respuesta a la frecuencia de filtros reales. Los filtros ideales no son físicamente realizables, pero sirven como una referencia ideal para los filtros reales que sí se pueden construir. En la figura 5.5 se muestra la forma general de la respuesta a la frecuencia de un filtro digital pasa bajas, en donde se muestran las tres bandas (de paso, de transición y de paro) del filtro, así como las tolerancias permitidas en las variaciones de ganancia en las bandas de paso y de paro. |𝐺(𝜔)| Tolerancia Banda de transición { Frecuencia de corte Banda de paso Banda de paro 𝜋 }Tolerancia 𝜔 Figura 5.5.- Respuesta a la frecuencia de un filtro pasa bajas real. 5.4.- Ejemplo de filtrado en el dominio de la frecuencia. A continuación, se revisa el comportamiento en el dominio de la frecuencia del filtro promediador descrito en el capítulo 3, en sus dos versiones: Promedio móvil (FIR) y versión recursiva (IIR). 5.4.1.- Filtro promedio móvil versión FIR. José Juan Rincón Pasaye, FIE-UMSNH 142 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales La versión causal del filtro promedio móvil de M puntos está dada por 𝑦(𝑛) = 1 𝑀 𝑥(𝑛 − 𝑘) (5.18) Cuya respuesta al impulso unitario es ℎ(𝑛) = 1 1 1 , ,…, 𝑀 𝑀 𝑀 (5.19) Aplicando transformada z, se obtiene su función de transferencia de pulso 𝐻(𝑧) = 1 𝑀 (5.20) 𝑧 O bien, 𝐻 (𝑧) = 1 1−𝑧 𝑀 1−𝑧 (5.21) Con ROC |𝑧| < 1. La respuesta a la frecuencia del filtro está dada por la DTFT de ℎ(𝑛), la cual se obtiene de 𝐻 (𝑧)| , obteniendo 1 1−𝑒 (5.22) 𝐻(𝜔) = 𝑀 1−𝑒 La cual se puede escribir como 1 sin(𝜔𝑀/2) (5.23) )/ 𝐻(𝜔) = 𝑒 ( 𝑀 sin(𝜔/2) Así, la respuesta en magnitud es |𝐻(𝜔)| = 1 sin(𝜔𝑀/2) 𝑀 sin(𝜔/2) (5.24) y la respuesta en fase es 𝜙(𝜔) = − 𝜔(𝑀 − 1)⁄2 + arg sin(𝜔𝑀/2) sin(𝜔/2) (5.25) Usando la expresión (5.25) para calcular la fase, se obtienen valores en el rango −∞ < 𝜙 < ∞, para el cálculo numérico de 𝜙 conviene limitar sus valores en el rango más práctico −𝜋 < 𝜙 < 𝜋, por lo cual se deberá hacer la siguiente corrección (5.26) 𝜙 = [(𝜙 − 𝜋) mod 2𝜋] − 𝜋 La operación módulo (𝑥 𝐦𝐨𝐝 𝑦) consiste en calcular la diferencia entre 𝑥 y el múltiplo entero de 𝑦 más cercano a 𝑥. En Scilab esta operación corresponde a la función pmodulo(x,y). Esta corrección se introduce para asegurar el comportamiento mostrado en la figura 5.6 José Juan Rincón Pasaye, FIE-UMSNH 143 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝝓𝒄𝒐𝒓𝒓𝒆𝒈𝒊𝒅𝒐 𝜋 𝝓 −3𝜋 − 2𝜋 −𝜋 0 𝜋 2𝜋 3𝜋 −𝜋 Figura 5.6.- Corrección de rango del ángulo de fase 𝜙 En la figura 5.7 se muestra la respuesta a la frecuencia para el filtro promediador, con M=10 puntos, para obtener dicha figura se pueden evaluar las expresiones para la respuesta a la frecuencia para la magnitud (5.24) y para la fase (5.25), incluyendo la corrección (5.26), o bien, utilizar la función repfreq de Scilab como se muestra en el siguiente código. z=poly(0,'z'); M=10; H=syslin('d',(1-z^-M)/(1-z^-1)*1/M); //define el filtro [w,Resp]=repfreq(H,0,0.5); //Calcula la respuesta de frecuencia w=w*2*%pi; // Convierte a radianes/muestra R=abs(Resp); //Obtiene la respuesta a la frecuencia Phi=atan(imag(Resp),real(Resp)); subplot(2,1,1); plot(w,R,'linewidth',3);xgrid; xtitle('$Magnitud$','$\omega$','$|H(\omega)|$'); a=gca();a.tight_limits = ["on","on","on"]; subplot(2,1,2); plot(w,Phi,'linewidth',3);xgrid; xtitle('$Fase$', '$\omega$', '$\phi(\omega)$'); a=gca();a.tight_limits = ["on","on","on"]; Figura5.7.- Respuesta a la frecuencia del filtro promedio móvil, para 𝑀 = 8 puntos José Juan Rincón Pasaye, FIE-UMSNH 144 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales En la figura 5.7 se puede observar que el perfil de respuesta a la frecuencia en magnitud revela el efecto alisador del filtro, ya que se trata de un comportamiento pasa bajas, con una frecuencia de corte aproximadamente en 0.2 rad/muestra. Se puede experimentar con el código anterior, introduciendo variaciones sobre 𝑀 y se puede observar que conforme 𝑀 aumenta, la frecuencia de corte disminuye, haciendo que el filtro bloquee frecuencias cada vez más bajas. Por otro lado, el comportamiento de la fase es lineal en el intervalo de interés (de 0 a la frecuencia de corte), sin embargo, revela que todas las frecuencias producen un defasamiento en la señal, el cual crece con el valor de dichas frecuencias. 5.4.2.- Filtro Promedio Móvil versión recursiva (IIR). La versión recursiva del filtro promedio móvil está dada por 𝑦(𝑛) = 𝑎𝑦 (𝑛 − 1) + (1 − 𝑎)𝑥(𝑛) (5.27) La función de transferencia de pulso correspondiente a (5.27) es (1 − 𝜆) 𝐻(𝑧) = 1 − 𝜆𝑧 (5.28) Por lo tanto, su función de respuesta a la frecuencia es (1 − 𝜆) 𝐻(𝜔) = 1 − 𝜆𝑒 (5.29) Donde 0 < 𝑎 < 1. Como puede advertirse, este filtro ya fue estudiado en la sección anterior, y la gráfica de su respuesta a la frecuencia en magnitud, |𝐻(𝜔)| se presentó en la figura 5.3 para el caso a=0.9. En dicha figura se observa también un comportamiento pasa bajas, con una frecuencia de corte aproximada de 0.2 rad/muestra, lo cual coincide con el caso M=10, ya que 𝑎 = (𝑀 − 1)/𝑀. Por otro lado, el comportamiento de fase también se mantiene lineal en el rango de 0 hasta la frecuencia de corte, sin embargo, pierde la linealidad para frecuencias mayores. 5.5.- Diseño de la respuesta a la frecuencia a partir de polos y ceros. A continuación, se describe un método para el diseño de filtros simples basado en la colocación de polos y ceros de la función de transferencia de pulso del filtro digital. El principio en el que se basa el método es la relación entre la función de transferencia de pulso 𝐻(𝑧) y su DTFT 𝐻(𝜔), que es la que define la respuesta a la frecuencia del filtro (5.30) 𝐻(𝜔) = [𝐻 (𝑧)] Esta relación establece un mapeo entre el plano complejo z y las regiones de alta y baja frecuencia, como sigue: Baja frecuencia ⇒ 𝜔 ≈ 0 ⇒ 𝑧 ≈ 𝑒 =1 Alta frecuencia ⇒ 𝜔 ≈ 𝜋 ⇒ 𝑧 ≈ 𝑒 = −1 Lo cual se puede representar en el plano complejo como se muestra en la figura 5.8. José Juan Rincón Pasaye, FIE-UMSNH 145 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Im(z) 1 Alta -1 frecuencia Baja frecuencia 1 Re(z) Figura 5.8.- Regiones del plano complejo z y su relación con regiones de frecuencia. Recordando además que los polos son los valores de z que hacen que 𝐻(𝑧) crezca al infinito y que los ceros son los valores de z para los cuales 𝐻 (𝑧) es cero, se hará lo siguiente para obtener una respuesta deseada del filtro: Colocar polos cerca de los puntos del círculo unitario correspondientes a las frecuencias que se desea enfatizar. Colocar ceros cerca de los puntos del círculo unitario correspondientes a las frecuencias que se desea atenuar. Además de lo anterior se deben imponer las siguientes restricciones de diseño: Todos los polos deberán ser colocados dentro del círculo unitario para que el filtro sea estable. En cambio, los ceros pueden ser colocados en cualquier lugar en el plano z. Todos los polos y ceros complejos deberán elegirse en pares conjugados para que el filtro tenga coeficientes reales. A continuación, se aplican estas consideraciones para el diseño de diversos tipos de filtros. 5.5.1.- Filtros pasa bajas, pasa altas y pasa banda. Para el diseño de filtros pasa bajas los polos de la función de transferencia de pulso 𝐻(𝑧)deberán ser colocados dentro del círculo unitario cerca de 𝑧 = 𝑒 = 1, es decir cerca de 𝜔 = 0 y los ceros deberán colocarse cerca de 𝑧 = 𝑒 = −1, es decir, cerca de 𝜔 = 𝜋. En el caso de filtros pasa altas se sigue simplemente lo opuesto. En la figura 5.8 se muestran algunos ejemplos de diagramas de polos y ceros de filtros pasa bajas y pasa altas. Ejemplo. De acuerdo a la figura 5.8, el filtro promedio móvil dado por 𝑦(𝑛) = 𝑎𝑦(𝑛 − 1) + (1 − 𝑎)𝑥 (𝑛), 𝑐𝑜𝑛 𝑎 = 0.9 Tiene el comportamiento de un filtro pasa bajas. Su función de transferencia está dada por (1 − 𝑎)𝑧 𝐻 (𝑧) = 𝑧−𝑎 José Juan Rincón Pasaye, FIE-UMSNH (5.31) (5.32) 146 Apuntes para el curso: Procesamiento Digital de Señales o Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales o x x x x o x x o Pasa bajas x x x o x x o x o o Pasa altas Figura 5.8.- Ejemplos de tres diagramas de polos y ceros de filtros pasa bajas y pasa altas. La cual tiene un polo en 𝑧 = 𝑎 = 0.9 y un cero en 𝑧 = 0, con lo cual su diagrama de polos y ceros corresponde a la esquina superior izquierda de la figura 5.8. Sin embargo, como el cero no está muy cerca de 𝑧 = −1, las frecuencias altas no son completamente atenuadas, esto se puede mejorar agregando un cero en 𝑧 = −1 obteniendo un nuevo filtro como sigue (1 − 𝑎)(𝑧 + 1) (5.33) 𝐻 (𝑧) = 2(𝑧 − 𝑎) Donde el factor de se ha agregado para tener una ganancia de 1 en la banda de paso es decir de manera que 𝐻(𝜔)| = 1, . En la figura 5.9 se muestra la respuesta de frecuencia de ambos filtros. 1 0.5 |𝑯𝟏 (𝝎)| |𝑯𝟐 (𝝎)| 0 0 0.5 1 1.5 2 2.5 3 0 -20 𝝓𝟏(𝝎) -40 -60 -80 𝝓𝟐 (𝝎) 0 0.5 1 1.5 2 2.5 3 Figura 5.9.- Respuesta de frecuencia del filtro promediador recursivo con un cero en el origen y con un cero en -1. Observación: La diferencia entre el comportamiento de |𝐻 (𝜔)| y |𝐻 (𝜔)| no parece ser muy significativo en la escala utilizada, sin embargo, en la práctica es más representativo usar José Juan Rincón Pasaye, FIE-UMSNH 147 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales una escala logarítmica para la ganancia del filtro, por ello en lugar |𝐻 (𝜔)| se suele representar en decibeles (5.34) |𝐻(𝜔)| = 20 log(|𝐻(𝜔)|) Los decibeles son una escala logarítmica, se introduce también una escala logarítmica para la frecuencia y al diagrama obtenido se le llama Diagrama de Bode, en este tipo de diagrama la diferencia a altas frecuencias de la figura 5.9 es mucho más notoria. En forma similar se puede obtener un filtro pasa altas simplemente reflejando las ubicaciones de polos y ceros respecto al eje imaginario en el plano z, es decir, simplemente se cambia 𝑧 por (−𝑧) en las funciones de transferencia anteriores. Por ejemplo, modificando 𝐻 (𝑧) obtenemos (1 − 𝑎)(𝑧 − 1) (5.35) 𝐻 (𝑧) = 𝐻 (−𝑧) = 2(𝑧 + 𝑎) El cual tiene la respuesta de frecuencia mostrada en la figura 5.10. |𝐻 (𝜔)| 1 0.5 0 3 0.5 1 1.5 2 2.5 3 Figura 5.10.- Respuesta de frecuencia del filtro pasa altas 𝐻 (𝑧). 0 0.5 1 1.5 2 2.5 arg[𝐻 (𝜔)] 80 60 40 20 0 0 En el caso de un filtro pasa banda, la función de transferencia deberá contener uno o más pares de polos conjugados complejos cerca del círculo unitario en la vecindad de las frecuencias que constituyen la banda de paso del filtro, como se ilustra en el siguiente ejemplo Ejemplo. Diseñar un filtro pasa banda que tenga su banda de paso centrada en 𝜔 = 𝜋/2, que tenga ganancia cero para altas y bajas frecuencias, es decir, para 𝜔 = 0 y 𝜔 = 𝜋 , además que tenga ganancia de en 𝜔 = . √ Solución. Claramente el filtro deberá tener polos en 𝑝 , = 𝑟𝑒 ± / , es decir, 𝑝 = 𝑗𝑟, 𝑝 = −𝑗𝑟 (con 𝑟 < 1) y deberá tener ceros en 𝑧 = 1 y en 𝑧 = −1. Es decir, la función de transferencia del filtro será José Juan Rincón Pasaye, FIE-UMSNH 148 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝐻 (𝑧) = 𝐾 (𝑧 − 1)(𝑧 + 1) 𝑧 −1 =𝐾 (𝑧 − 𝑗𝑟)(𝑧 + 𝑗𝑟) 𝑧 +𝑟 (5.36) Donde el factor de ganancia K se determinará de la condición de ganancia en la banda de paso 𝐻 𝜔 = = 1, obteniendo 𝐻 𝜔= 𝜋 2 = 𝐾 𝑒 −1 (𝑒 ) + 𝑟 = 𝐾 / −2 −1 + 𝑟 = 2𝐾 =1 |1 − 𝑟 | De donde 𝐾= 1−𝑟 2 1 0.5 0 0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3 100 50 0 -50 -100 Figura 5.11. Respuesta de frecuencia del filtro pasa banda 𝐻 (𝑧). Mientras que el valor de 𝑟 puede determinarse de la condición 𝐻 𝜔 = evalúa como sigue 𝐻 𝜔= 4𝜋 9 = 𝐾 𝑒 (𝑒 / / −1 ) +𝑟 = (1 − 𝑟 ) 𝑒 2 𝑒 / / −1 +𝑟 = , para ello se √ = 1 2 De donde 1.94(1 − 𝑟 ) = 1 − 1.88𝑟 + 𝑟 De donde se obtiene el valor de 𝑟 = 0.7, por lo tanto, la función transferencia del filtro queda 𝑧 −1 (5.37) 𝐻 (𝑧) = 0.15 𝑧 + 0.7 La respuesta de frecuencia correspondiente a este filtro se muestra en la figura 5.11. José Juan Rincón Pasaye, FIE-UMSNH 149 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 5.5.2.- Resonadores digitales. Los filtros pasa banda pueden ser interpretados como resonadores, ya que tienen una magnitud de respuesta muy grande (resuenan) a una frecuencia específica (el centro de la banda de paso). En el diseño de un resonador debemos especificar la frecuencia de resonancia 𝜔 , la cual será cercana a 𝜔 que define los polos conjugados complejos del resonador en (5.38) 𝑝 = 𝑟𝑒 , 𝑝 = 𝑟𝑒 Adicionalmente podemos ubicar hasta dos ceros en la función de transferencia del resonador, los cuales pueden ser ambos en 𝑧 = 0, con lo cual la función de transferencia del resonador puede ser la siguiente 𝑏 (5.39) 𝐻 (𝑧) = (1 − 𝑟𝑒 𝑧 )(1 − 𝑟𝑒 𝑧 ) Es decir, 𝑏 (5.40) 𝐻 (𝑧) = ( ) 1 − 2𝑟 cos 𝜔 𝑧 + 𝑟 𝑧 El valor de 𝜔, para el cual |𝐻(𝜔)| tiene un máximo es la frecuencia de resonancia𝜔 y se puede obtener calculando el mínimo del denominador de |𝐻(𝜔)|, de esta manera se obtiene la frecuencia de resonancia siguiente, 1+𝑟 (5.41) 𝜔 = cos cos 𝜔 2𝑟 Obsérvese que para 𝑟 ≈ 1 se tiene que 𝜔 ≈ 𝜔 . Además, conforme el valor de 𝑟se acerca a 1, el pico de resonancia se vuelve más agudo. Una medida de la agudeza del pico está dada por el ancho de bandaΔ𝜔correspondiente a 3 decibeles (el rango de frecuencias en el cual |𝐻(𝜔)| > −3𝑑𝑏 o bien |𝐻(𝜔)| > 0.7071) el cual para 𝑟 ≈ 1 está dado por (5.42) Δ𝜔 ≈ 2(1 − 𝑟) Como |𝐻(𝜔)| tiene su pico cerca de 𝜔 , diseñaremos 𝑏 de manera que |𝐻(𝜔 )| = 1, donde, de acuerdo a(5.39) 𝑏 (5.43) 𝐻(𝜔) = (1 − 𝑟𝑒 𝑒 )(1 − 𝑟𝑒 𝑒 ) Por lo tanto, evaluando en 𝜔 = 𝜔 𝐻 (𝜔 ) = 𝑏 (1 − 𝑟)(1 − 𝑟𝑒 (5.44) ) Así, para cumplir con |𝐻(𝜔 )| = 1 se requiere que 𝑏 = (1 − 𝑟) 1 + 𝑟 − 2𝑟 cos(2𝜔 ) (5.45) Ejemplo. Diseñar un resonador para la frecuencia 𝜔 = 𝜋/3 con 𝑟 = 0.8 y compararlo con otro resonador con 𝑟 = 0.95. José Juan Rincón Pasaye, FIE-UMSNH 150 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Solución. En este caso como cos(2𝜋/3) = 0.5, por lo tanto, la función transferencia del filtro es b0 H ( z) 1 1 rz r 2 z 2 Donde el coeficiente 𝑏 correspondiente en cada caso es: Para 𝑟 = 0.8: 𝑏 = (1 − 0.8) 1 + (0.8) − 2(0.8) cos = 0.3124 Para 𝑟 = 0.95: 𝑏 = (1 − 0.95) 1 + (0.95) − 2(0.0.95) cos(2𝜋/3) = 0.0844 En la figura 4.25 se muestra la respuesta de frecuencia de los dos resonadores diseñados. Magnitud 1 0.5 r=0.95 0 0 0.5 1 r=0.8 1.5 2 2.5 3 Fase 50 0 r=0.8 -50 r=0.95 -100 0 0.5 1 1.5 2 2.5 3 Figura 5.12. Respuesta a la frecuencia del resonador para𝜔 = 𝜋/3, con𝑟 = 0.8 y con 𝑟 = 0.95 En lugar de elegir ambos ceros en el origen, otra manera de elegirlos es: un cero en 𝑧 = 1 (𝜔 = 0) y el otro en 𝑧 = −1, (𝜔 = 𝜋). Con lo cual la función de transferencia del resonador queda 𝑏 (1 − 𝑧 ) (5.46) 𝐻 (𝑧) = 1 − 2𝑟 cos(𝜔 ) 𝑧 + 𝑟 𝑧 Y para el filtro del ejemplo 𝐻(𝑧) = 𝑏 (1 − 𝑧 ) 1 − 𝑟𝑧 + 𝑟 𝑧 Debido a la presencia de los ceros, la magnitud y la fase del resonador se modifican. Como la magnitud del factor agregado en el numerador es (5.47) 1−𝑒 = 2[1 − cos(2𝜔)] José Juan Rincón Pasaye, FIE-UMSNH 151 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Por lo cual el coeficiente b0 deberá corregirse dividiendo entre esta cantidad evaluada en 𝜔 , con lo cual, para el ejemplo se obtiene: Para 𝑟 = 0.8: 𝑏 = 0.3124/ 2[1 − cos(2𝜋/3)] = 0.18036 Para 𝑟 = 0.95: 𝑏 = 0.0844/ 2[1 − cos(2𝜋/3)] = 0.04873 En la figura 5.13 se muestra la respuesta a la frecuencia de estos dos resonadores con los ceros en 𝑧 = ±1. Obsérvese que la presencia de los ceros hace que la frecuencia de resonancia se modifique de manera insignificante pero el ancho de banda se ve disminuido apreciablemente. Magnitud 1 0.5 r=0.95 0 0 0.5 1 1.5 r=0.8 2 2.5 3 2.5 3 Fase 100 r=0.95 50 0 -50 -100 r=0.8 0 0.5 1 1.5 2 Figura 5.13. Respuesta de frecuencia del resonador del ejemplo con ceros en 𝑧 = ±1 5.5.3.- Filtros tipo ranura (rechaza banda). Un filtro tipo muesca o ranura o rechaza banda contiene una o varias muescas en su grafica de respuesta de frecuencia. Son muy útiles en situaciones en las que se requiere eliminar componentes específicas de frecuencia, por ejemplo, en sistemas de instrumentación es necesario eliminar la frecuencia de la línea de alimentación de 60 Hertz así como sus armónicos. Para crear una muesca (rechazo) en la frecuencia específica 𝜔 simplemente se introduce un par de ceros complejos conjugados sobre el círculo unitario en un ángulo 𝜔 , es decir (5.48) 𝑧 = 𝑒± , De esta manera la función de transferencia de un filtro muesca es simplemente 𝐻(𝑧) = 𝑏 (1 − 𝑒 𝑧 )(1 − 𝑒 𝑧 ) (5.49) Es decir, 𝐻(𝑧) = 𝑏 (1 − 2 cos 𝜔 𝑧 José Juan Rincón Pasaye, FIE-UMSNH +𝑧 ) (5.50) 152 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales La cual corresponde a un filtro tipo FIR. Ejemplo: Para diseñar un filtro muesca con 𝜔 = 𝜋/4, solo debemos elegir 𝑏 de manera que |𝐻(𝜔)| = |𝐻(𝑧)| = 1, sustituyendo en (5.50)obtenemos |𝐻(𝑧)| = 𝑏 |2 + 2cos 𝜔 | = 𝑏 |2 + 2cos( 𝜋/4)| = 𝑏 (2 + √2)=1 de donde, 𝑏 = = 0.2929, con lo cual la función de transferencia del filtro es la siguiente √ 𝐻(𝑧) = 0.2929(1 − √2𝑧 +𝑧 ) En la figura 4.27 se muestra la respuesta de frecuencia de este filtro muesca Magnitud 1 0. 5 0 0 0. 5 0 1 1. 5 Fas e 15 0 10 0 5 0 2 2. 5 3 0 50 0 0. 1 1. 2 2. 3 5 5 5 Figura 5.14. Respuesta de frecuencia del filtro muesca con 𝜔 = 𝜋/4 El filtro muesca FIR dado por (5.50) tiene el problema de que la muesca presenta un ancho de banda demasiado grande, lo cual resulta en una severa atenuación de las frecuencias cercanas a la frecuencia no deseada. Una manera de mejorar el ancho de banda es introduciendo polos que produzcan resonancia en las cercanías de las frecuencias atenuadas, así, para el ejemplo se pueden introducir los polos complejos conjugados (5.51) 𝑝 = 𝑟𝑒 ± , Con esto, la Función de transferencia resultante es 1 − 2 cos(𝜔 ) 𝑧 + 𝑧 𝐻(𝑧) = 𝑏 1 − 2𝑟 cos(𝜔 ) 𝑧 + 𝑟 𝑧 Ejemplo: Introduciendo polos al ejemplo anterior, debemos recalcular 𝑏 |𝐻(𝜔)| = |𝐻(𝑧)| = 1, es decir, sustituyendo en (5.52) José Juan Rincón Pasaye, FIE-UMSNH (5.52) de manera que 153 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales |𝐻(𝑧)| =𝑏 2 + 2 cos(𝜔 ) 1 + 2𝑟 cos(𝜔 ) + 𝑟 =1 De donde obtenemos 𝑏 = 1 + 2𝑟 cos(𝜔 ) + 𝑟 2 + 2 cos(𝜔 ) (5.53) Para el ejemplo, 𝜔 = 𝜋/4, probaremos dos valores de 𝑟: Para 𝑟 = 0.8, se obtiene 𝑏 = 0.8117, y para 𝑟 = 0.95 se obtiene 𝑏 = 0.95. En la figura 5.15 se muestra la respuesta a la frecuencia de estos dos filtros considerando los polos descritos. Magnitud r=0.95 1 r=0.8 0.5 0 0 0.5 0 1 1.5 2 2.5 3 2 2.5 3 Fase 100 50 r=0.8 0 r=0.95 -50 -100 0 0.5 1 1.5 Figura 5.15. Respuesta de frecuencia del filtro muesca incluyendo dos polos en𝜔 = 𝜋/4 5.5.4.- Osciladores sinusoidales digitales. Un oscilador digital sinusoidal puede verse como una forma extrema de un resonador de dos polos para el cual los polos complejos conjugados están exactamente en el círculo unitario. Reconsideremos la función de transferencia de un sistema de segundo orden con polos en 𝑝 , = 𝑟𝑒 ± , la cual tiene la forma siguiente (ver ecuación(5.40)) 𝑏 (5.54) 𝐻 (𝑧) = 1+𝑎 𝑧 +𝑎 𝑧 Donde (5.55) 𝑎 = −2𝑟 cos(𝜔 ) , 𝑎 =𝑟 La respuesta al impulso de este sistema se obtiene como la solución homogénea correspondiente a las condiciones iniciales 𝑦(−1) = 0, 𝑦(0) = 𝑏 , la cual es ℎ(𝑛) = 𝑐 𝑝 + 𝑐 𝑝 , sustituyendo las condiciones iniciales se obtiene José Juan Rincón Pasaye, FIE-UMSNH 154 Apuntes para el curso: Procesamiento Digital de Señales ℎ(𝑛) = Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝑏 𝑟 sin[(𝑛 + 1)𝜔 ] 𝑢(𝑛) sin 𝜔 (5.56) La cual para 𝑟 < 1 es una sinusoide amortiguada, sin embargo, si se consideran los polos en el círculo unitario (𝑟 = 1) y se elije 𝑏 = 𝐴 sin 𝜔 , se obtiene (5.57) ℎ(𝑛) = 𝐴 sin[(𝑛 + 1)𝜔 ] 𝑢(𝑛) La cual es una sinusoide pura de frecuencia𝜔 . Es decir, para construir un oscilador digital que produzca la sinusoide (5.57), se deberá implementar la función de transferencia 𝑏 (5.58) 𝐻(𝑧) = 1+𝑎 𝑧 +𝑧 Donde 𝑎 = −2 cos(𝜔 ) , 𝑏 = 𝐴 sin 𝜔 . La ecuación de diferencias correspondiente a la función de transferencia (5.58) es 𝑦(𝑛) + 𝑎 𝑦(𝑛 − 1) + 𝑦(𝑛 − 2) = 𝑏 𝛿(𝑛) (5.59) La cual se puede implementar como una ecuación de diferencias sin entrada, reemplazando el efecto del impulso unitario por las condiciones iniciales correspondientes 𝑦(−1) = 0, 𝑦(0) = 𝑏 , o bien, 𝑦(−1) = 0, 𝑦(−2) = −𝑏 . Ejemplo: ¿Representa un oscilador la siguiente función de transferencia? ¿Cuál es la sinusoide que genera con las condiciones iniciales 𝑦(−1) = 0, 𝑦(−2) = −𝑏 ? 1 H ( z) 1 0.25 z 1 z 2 Solución. Veamos si 𝐻(𝑧) tiene la forma(5.58), para ello veamos si se puede satisfacer para algún valor de A y de 0 : a1 2 cos 0 0.25, b0 A sin 0 1 De donde se obtiene: 0 1.4455 , A 1.0079 , por lo tanto, la señal generada con las condiciones iniciales dadas es y (n) 1.0079sin (n 1)1.4455 u (n) . En la figura 5.16 se muestra la respuesta del sistema 𝐻(𝑧) al impulso unitario y superpuesta se muestra también la señal y (t ) 1.0079sin (t 1)1.4455 u (t ) con una variación aproximadamente continua de 𝑡 con la finalidad de comprobar que en efecto la señal generada por el sistema 𝐻(𝑧) corresponde a la sinusoide predicha. José Juan Rincón Pasaye, FIE-UMSNH 155 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales y(n) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 5 1 15 n 2 Figura 5.16. Respuesta del oscilador digital superpuesta con la sinusoide esperada. 5.5.5.- Filtros pasatodo. Un filtro pasa todo es un sistema que no afecta la magnitud de la señal de entrada, para ningún rango de frecuencia, es decir, es tal que su función de transferencia cumple con (5.60) |𝐻(𝜔)| = 1 𝑝𝑎𝑟𝑎 0 ≤ 𝜔 ≤ 𝜋 En otras palabras, un filtro pasa todo solamente afecta la fase de la señal de entrada. Por ejemplo, el caso más sencillo de filtro pasa todo es un retardo de 𝑘 muestras: (5.61) 𝐻(𝑧) = 𝑧 El retardo no modifica la señal de entrada salvo por un retardo de 𝑘 muestras. Este sistema introduce una fase que varía en forma lineal respecto a la frecuencia. Sin embargo, un filtro pasa todo más interesante tiene la función transferencia siguiente 𝐴( 𝑧 ) 𝐻 (𝑧) = 𝑧 𝐴(𝑧) Donde 𝐴(𝑧) es el polinomio siguiente 𝐴(𝑧) = 1 + 𝑎 𝑧 +𝑎 𝑧 + ⋯+ 𝑎 𝑧 =𝑒 𝐴 𝑒 𝐴(𝑒 (5.62) (5.63) El cual cumple la condición(5.60), en efecto, |𝐻(𝜔)| = 𝐻 (𝑧)𝐻 ∗ (𝑧)| Puesto que 𝐴∗ 𝑒 =𝐴 𝑒 y 𝐴∗ 𝑒 ) 𝑒 𝐴∗ 𝑒 𝐴∗ (𝑒 ) =1 =𝐴 𝑒 La función de transferencia (5.62) implica que si z0 es un cero de H ( z ) , entonces necesariamente 1/ z0 será un polo de H ( z ) , es decir, los polos y los ceros son recíprocos unos de José Juan Rincón Pasaye, FIE-UMSNH 156 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales otros. En la figura 5.17 se muestran dos ejemplos de ubicaciones de polos y ceros para un filtro pasa todo. r0) 0 x a o r0) r x 0 r 0 o 1 1/a x r0) r0) o Segundo orden Primer orden Figura 5.17. Ubicaciones de polos y ceros para un filtro pasa todo de primero y segundo orden. Ejemplo: De acuerdo a la figura 5.17 y a la función de transferencia(5.62), los siguientes son filtros pasa todo: 1 az a z 1 De primer orden: H ( z ) z 1 1 az 1 1 az 1 De segundo orden: 1 − 𝑟𝑒 𝑧 1 − 𝑟𝑒 𝑧 𝑟 − 2𝑟 cos 𝜔 𝑧 + 𝑧 𝐻 (𝑧) = 𝑧 = (1 − 𝑟𝑒 𝑧 )(1 − 𝑟𝑒 𝑧 ) 1 − 2𝑟 cos 𝜔 𝑧 + 𝑟 𝑧 En la figura 5.18 se muestra la respuesta a la frecuencia de la fase de ambos filtros, para los valores 𝑎 = 0.6, 𝑟 = 0.9, 𝜔 = 𝜋/4. Fase 150 100 50 segundo orden 0 Primer orden -50 -100 -150 0 0.5 1 1.5 2 2.5 3 Figura 5.18. Fase respecto a la frecuencia de filtros pasa todo de primero y segundo orden para 𝑎 = 0.6, 𝑟 = 0.9, 𝜔 = 𝜋/4. Obsérvese que en la figura 5.18 solo se muestra el comportamiento de la fase, ya que la magnitud permanece constante (unitaria) para cualquier rango de frecuencia. Obsérvese también que el José Juan Rincón Pasaye, FIE-UMSNH 157 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales rango de valores de fase se ha restringido a 180 ( ) 180 , o equivalentemente en radianes a ( ) , debido a esto se tiene un aparente salto brusco en 0 / 4 0.7854 . 5.6.- Filtros FIR Vs. Filtros IIR. Mientras que, en el caso analógico, los filtros consisten en redes de resistencias, capacitores e inductancias, las cuales presentan una respuesta instantánea ante una señal de entrada, en el caso digital existen retardos explícitos, de hecho, los retardos son el bloque fundamental de construcción de los filtros digitales. Los filtros analógicos tienen su equivalente digital en los filtros IIR, mientras que los filtros FIR no tienen un equivalente analógico directo, por lo cual son exclusivos del caso digital. En el siguiente recuadro se hace un resumen de ventajas y desventajas de los filtros FIR y los filtros IIR. Tabla 5.1.- Ventajas y desventajas de los filtros IIR y FIR Tipo de filtro Características Estabilidad fase Retardo total Costo computacional Procedimientos de diseño óptimo Robustez numérica IIR FIR No garantizada Difícil de controlar pequeño bajo complejos débil garantizada lineal grande alto disponibles fuerte 5.7.- Diseño de filtros FIR. La implementación de un filtro lineal consiste en la codificación en un lenguaje de programación de su ecuación de diferencias, la cual solo requiere operaciones de suma, multiplicación y corrimientos en el tiempo de las señales de entrada y salida. La información para realizar esta implementación en el caso de un DSLIT es su conjunto de coeficientes constantes, los cuales aparecen en la ecuación de diferencias o en la función de transferencia de pulso, y en el caso de filtros FIR, en la respuesta al impulso unitario. El diseño de un filtro consiste en la selección o el cálculo de los coeficientes adecuados para la implementación de un filtro que tenga la respuesta deseada (previamente especificada), en el dominio de la frecuencia la respuesta deseada consiste en la especificación de 𝐻(𝜔). Existen dos métodos de diseño de filtros FIR el método de “enventanado” y el método de diseño óptimo minimax (Parks-McClellan). El método más directo y recomendado para diseños rápidos es el de “enventanado” que se describe a continuación. En teoría la implementación de un filtro que tenga una respuesta a la frecuencia deseada 𝐻(𝜔) es sencillo, ya que bastaría con calcular la respuesta al impulso unitario ℎ(𝑛) del filtro mediante la DTFT inversa (5.64) e implementar el filtro FIR con los coeficientes obtenidos. José Juan Rincón Pasaye, FIE-UMSNH 158 Apuntes para el curso: Procesamiento Digital de Señales ℎ(𝑛) = 1 2𝜋 Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 𝐻(𝜔)𝑒 𝑑𝜔 , 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ (5.64) Sin embargo, el problema práctico de esta idea es que en muchos casos el filtro resultante tiene una respuesta de duración infinita al impulso, o bien es no causal. 5.7.1.- Diseño de un filtro FIR pasa bajas. A continuación consideraremos el diseño de un filtro pasa bajas con frecuencia de corte 𝜔 , es decir, 1 |𝜔| < 𝜔 (5.65) 𝐻 𝜔| = 𝑝𝑎𝑟𝑎 − 𝜋 ≤ 𝜔 ≤ 𝜋 0 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 Su respuesta al impulso unitario se obtiene aplicando (5.64), es decir, ℎ (𝑛) = Haciendo la integral se obtiene ℎ (𝑛) = 1 2𝜋 𝜔 sinc(𝜔 𝑛) , 𝜋 𝑒 𝑑𝜔 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ (5.66) (5.67) De donde se observa que el filtro resultante es no causal y con respuesta al impulso de duración infinita. Una técnica que permite obtener una aproximación FIR para el filtro dado por (5.67) consiste en truncar ℎ(𝑛) a solamente un número impar 𝑁de puntos, es decir, considerar solamente los valores para 𝑛 = −(𝑁 − 1)/2, … , (𝑁 − 1)/2 y descartar el resto. Este truncamiento equivale a la multiplicación de ℎ (𝑛) por una ventana rectangular 𝑅 (𝑛)de 𝑁 puntos dada por 𝑁−1 𝑁−1 (5.68) 𝑅 (𝑛) = 1 − 2 ≤ 𝑛 ≤ 2 0 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 El filtro así obtenido es no causal. Se puede obtener una versión causal de dicho filtro si se introduce un retardo de valor 𝑘 = (𝑁 − 1)/2, es decir, la respuesta al impulso considerada para diseñar un filtro causal es ℎ(𝑛 − 𝑘), donde (5.69) ℎ(𝑛) = ℎ (𝑛)𝑅 (𝑛), 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ Y donde ℎ (𝑛) está dado por (5.67). Ejemplo. Filtro pasa bajas causal, con frecuencia de corte𝑓 = 0.2 𝑐𝑖𝑐𝑙𝑜𝑠/𝑚𝑢𝑒𝑠𝑡𝑟𝑎, es decir, 𝜔 = 0.4𝜋 𝑟𝑎𝑑/𝑚𝑢𝑒𝑠𝑡𝑟𝑎 Para este filtro, la respuesta de frecuencia deseada 𝐻 (𝜔| . ) está dada por (5.65) y la correspondiente respuesta al impulso unitario dada por (5.67) es (5.70) ℎ (𝑛) = 0.4 sinc(0.4𝜋𝑛) , 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ José Juan Rincón Pasaye, FIE-UMSNH 159 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales En la figura 5.19 se muestra la gráfica de la respuesta al impulso unitario ℎ (𝑛) para 50 ≤ 𝑛 ≤ 50, en la figura se sobrepone(en color rojo) una ventana rectangular causal de N=33 puntos 𝑅 (𝑛) y se sombrea el conjunto de puntos ℎ (𝑛) para 𝑛 = −16, … ,16 afectados por la ventana. 𝑹𝟑𝟑 (𝒏) Figura 5.19.- Respuesta al impulso ℎ (𝑛) del filtro pasa bajas con frecuencia de corte 𝑓 = 0.2 𝑐𝑖𝑐𝑙𝑜𝑠/𝑚𝑢𝑒𝑠𝑡𝑟𝑎 Si consideramos la ventana rectangular 𝑅 (𝑛) de 33 puntos mostrada en la figura 5.19, la respuesta al impulso queda truncada a sólo los 33 valores que se muestran sombreados en dicha figura, es decir, ℎ (𝑛) ≈ {ℎ (−16), … , ℎ (0), … , ℎ (16)} (5.71) ↑ La función de transferencia de pulso del filtro no causal correspondiente a esta aproximación, será (5.72) 𝐻 (𝑧) = ℎ (−16)𝑧 + ⋯ + ℎ (0) + ⋯ + ℎ (16)𝑧 Al introducir un retardo de valor 𝑘 = (𝑁 − 1)/2 = 16 en (5.71), se obtiene la respuesta causal siguiente, cuya gráfica se muestra en la figura 5.20. ℎ (𝑛 − 𝑘) ≈ {ℎ (−16), … , ℎ (0), … , ℎ (16)} ↑ En el dominio z se introduce el retardo de valor 𝑘 = (𝑁 − 1)/2 = 16, multiplicando (5.72) por 𝑧 , para obtener la función de transferencia de pulso del filtro causal siguiente 𝐻 (𝑧) = ℎ (−16) + ⋯ + ℎ (0)𝑧−16 + ⋯ + ℎ (16)𝑧 32 (5.73) O bien, José Juan Rincón Pasaye, FIE-UMSNH 160 Apuntes para el curso: Procesamiento Digital de Señales 𝐻 (𝑧) = ℎ (−16)𝑧 Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales + ℎ (−15)𝑧 𝑧 + ⋯ + ℎ (16) (5.74) Figura 5.20.- Respuesta al impulso ℎ (𝑛 − 𝑘) del filtro causal pasa bajas con frecuencia de corte 𝑓 = 0.2 y con 𝑁 = 33 puntos. Por lo tanto, la función de transferencia de pulso tiene 32 polos en el origen y 32 ceros dados por las raíces del numerador de (5.74). Todos los polos en el origen son la característica de los filtros FIR y garantizan la estabilidad del filtro. El siguiente código de Scilab construye la función de transferencia de pulso del filtro causal, dada por (5.74) y obtiene su respuesta a la frecuencia 𝐻 (𝜔). N=33; //Número de puntos de la aproximación n=-(N-1)/2:(N-1)/2; h=0.4*sinc(0.4*%pi*n); //Respuesta al pulso del filtro n=n+(N-1)/2; //retardo para obtener filtro causal z=poly(0, 'z'); //variable simbólica z H=h*(z^-n)'; //Obtiene función de transferencia del filtro H=syslin('d',H); //Convierte a DSLIT [w,Hw]=repfreq(H,0,0.5,0.001); //Obtiene la respuesta a la frecuencia Plot(w,abs(Hw)); //grafica la magnitud de la respuesta a la frecuencia En la figura 5.21 se muestra la respuesta a la frecuencia del filtro diseñado con 𝑁 = 33 puntos y se compara con la respuesta de un filtro ideal (mostrada en línea punteada) con la frecuencia de corte deseada 𝑓 = 0.2 𝑐𝑖𝑐𝑙𝑜𝑠/𝑚𝑢𝑒𝑠𝑡𝑟𝑎. Como se puede observar en esta figura, la respuesta a la frecuencia de esta aproximación está caracterizada por un rizado en la banda de paso y en la banda de paro que producen las máximas desviaciones respecto al caso ideal cerca de la frecuencia de corte. José Juan Rincón Pasaye, FIE-UMSNH 161 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Figura 5.21.- Respuesta a la frecuencia del filtro pasa bajas con 𝑓 = 0.2ciclos/muestra y con 𝑁 = 33 puntos. 5.7.2.- Otros tipos de filtros FIR. Para diseñar filtros pasa altas, pasa banda o rechaza banda a continuación se deriva la respuesta ideal al impulso unitario de cada uno de estos filtros, a partir de la respuesta de un filtro pasa bajas ideal. Filtro pasa altas. Sea 𝐻 (𝜔| ) la respuesta a la frecuencia de un filtro pasa bajas ideal, dada por (5.65), y sea 𝐻 (𝜔| ) la respuesta a la frecuencia de un filtro pasa altas ideal, es decir, 0 |𝜔| < 𝜔 (5.75) 𝐻 𝜔| = 𝑝𝑎𝑟𝑎 − 𝜋 ≤ 𝜔 ≤ 𝜋 1 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 es fácil observar que 𝐻 𝜔| = 1 − 𝐻 (𝜔| ) (5.76) Por lo tanto, la respuesta al impulso unitario buscada se obtiene calculando la DTFT inversa de (5.75), obteniéndose ℎ 𝑛| = 𝛿(𝑛) − ℎ (𝑛| ) Donde 𝛿 (𝑛) es el impulso unitario de tiempo discreto. Es decir, 𝜔 ℎ 𝑛| = 𝛿(𝑛) − sinc(𝜔 𝑛) , 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ 𝜋 (5.77) Filtro pasa banda. Sea 𝐻 (𝜔| ) la respuesta a la frecuencia de un filtro pasa bajas ideal, dada por (5.65), y sea 𝐻 (𝜔| , ) la respuesta a la frecuencia de un filtro pasa banda ideal con banda de paso 𝜔 < 𝜔 < 𝜔 , es decir, José Juan Rincón Pasaye, FIE-UMSNH 162 Apuntes para el curso: Procesamiento Digital de Señales 𝐻 (𝜔| En este caso 𝐻 )= , Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 1 𝜔 <𝜔<𝜔 0 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 𝑝𝑎𝑟𝑎 − 𝜋 ≤ 𝜔 ≤ 𝜋 (5.78) se puede obtener a partir de 𝐻 como sigue 𝐻 𝜔| , =𝐻 𝜔−𝜔 | + 𝐻 (𝜔 + 𝜔 | ) (5.79) Donde 1 𝜔 = (𝜔 + 𝜔 ), 2 1 𝜔 = (𝜔 − 𝜔 ) 2 (5.80) Por lo tanto, la respuesta al impulso unitario buscada se obtiene calculando la DTFT inversa de (5.78), obteniéndose ℎ 𝑛| , =𝑒 ℎ 𝑛| +𝑒 ℎ (𝑛| ) Es decir, ℎ 𝑛| = , 2𝜔 cos(𝜔 𝑛) sinc(𝜔 𝑛) , 𝜋 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ (5.81) Filtro rechaza banda. Finalmente, sea 𝐻 (𝜔| ) la respuesta a la frecuencia de un filtro pasa bajas ideal, dada por (5.65), y sea 𝐻 (𝜔| , ) la respuesta a la frecuencia de un filtro rechaza banda ideal con banda de paro 𝜔 < 𝜔 < 𝜔 , es decir, 0 𝜔 <𝜔<𝜔 (5.82) 𝐻 (𝜔| , ) = 𝑝𝑎𝑟𝑎 − 𝜋 ≤ 𝜔 ≤ 𝜋 1 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 En este caso 𝐻 se puede obtener a partir de 𝐻 𝐻 𝜔| , como sigue = 1 − 𝐻 (𝜔| , (5.83) ) Por lo tanto, la respuesta al impulso unitario buscada se obtiene calculando la DTFT inversa de (5.78), obteniéndose ℎ 𝑛| , = 𝛿(𝑛) − ℎ 𝑛| , Es decir, ℎ 𝑛| , = 𝛿(𝑛) − 2𝜔 cos(𝜔 𝑛) sinc(𝜔 𝑛) , 𝜋 𝑐𝑜𝑛 − ∞ < 𝑛 < ∞ (5.84) 5.7.3.- Selección del tipo de ventana. En la figura 5.21 se presentó la gráfica de la magnitud de la respuesta a la frecuencia de un filtro pasa bajas considerando una ventana rectangular de 𝑁 = 33 puntos. En esta gráfica se observó un rizado no deseado en las bandas tanto de paso como de paro. Estas oscilaciones (rizado) son el efecto producido por la respuesta a la frecuencia 𝑅 (𝜔) de la ventana rectangular 𝑅 (𝑛) considerada. Es posible reducir el tamaño de este rizado si se considera una ventana distinta a la rectangular, la ventana ideal es aquella que tenga una respuesta a la frecuencia con un lóbulo central con la máxima área posible y con lóbulos laterales lo más pequeños posible. José Juan Rincón Pasaye, FIE-UMSNH 163 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Para cada tipo de filtro es posible elegir un tipo de ventana para disminuir el rizado, especialmente cerca de las frecuencias de corte. Por lo tanto, los parámetros a elegir para diseñar un filtro FIR con la técnica de enventanado son: Tipo de filtro: Pasa bajas, pasa altas, pasa banda, rechaza banda. Frecuencias de corte: 𝑓 𝑜 𝑓 𝑦 𝑓 en ciclos /muestra o 𝜔 𝑜 𝜔 𝑦 𝜔 en rad/muestra. Número de puntos de la ventana 𝑁. Tipo de ventana: Rectangular, Triangular, Hann, Hamming, Hanning, Kaiser, Chevyshev, etc. A continuación, se describen algunos de los tipos de ventana más utilizados para el diseño de filtros FIR. En cada caso se presenta la ventana en el dominio del tiempo y su correspondencia en el dominio de la frecuencia Ventana rectangular. 𝑅 (𝑛) Esta es la ventana más sencilla y es la que se utilizó en el ejemplo anterior. A continuación, se repite su definición en el dominio del tiempo para un número impar de 𝑁 puntos. 𝑅 (𝑛) = 1 − 0 𝑁−1 𝑁−1 ≤𝑛≤ 2 2 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 Aplicando DTFT obtenemos su forma en el dominio de la frecuencia sin(𝜔𝑁/2) |𝜔| < 𝜋, 𝜔 ≠ 0 𝑅 (𝜔) = sin(𝜔/2) 𝑝𝑎𝑟𝑎 𝑁 𝜔=0 (5.85) (5.86) En la figura 5.22 se muestra esta ventana en forma gráfica en el dominio del tiempo, así como su magnitud en el dominio de la frecuencia, para el caso N=33. Figura 5.22.- Ventana rectangular 𝑅 para el caso 𝑁 = 33 puntos. José Juan Rincón Pasaye, FIE-UMSNH 164 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Obsérvese que la gráfica de |𝑅 (𝜔)| tiene ceros localizados en las frecuencias 𝜔 = ±2𝜋𝑘/𝑁 con 𝑘 = 1,2,3, … , (𝑁 − 1)/2, por lo tanto, presenta exactamente 𝑁 − 1 = 32 lóbulos laterales de ancho 2𝜋/𝑁 más un lóbulo central del doble de ancho (4𝜋/𝑁). El área de este lóbulo central permanece casi constante al variar N, por lo tanto, el porcentaje de su área al área total disminuye conforme N crece. Ventana triangular. 𝑇 como sigue. (𝑛) Esta ventana se define para un número impar 2𝑁 − 1 de puntos 𝑇 1 + 𝑛/𝑁 (𝑛) = 1 − 𝑛/𝑁 0 −(𝑁 − 1) ≤ 𝑛 ≤ 0 1 ≤ 𝑛 ≤ (𝑁 − 1) 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 Aplicando DTFT obtenemos su expresión en el dominio de la frecuencia 𝑇 resulta ser el cuadrado de 𝑅 (𝜔)/√𝑁, es decir, sin (𝜔𝑁/2) (𝜔) = 𝑁 sin (𝜔/2) 𝑝𝑎𝑟𝑎 |𝜔| < 𝜋, 𝜔 ≠ 0 𝑇 1 𝜔=0 (5.87) (𝜔), la cual (5.88) En la figura 5.23 se muestra esta ventana en forma gráfica en el dominio del tiempo, así como su magnitud en el dominio de la frecuencia, para el caso 2𝑁 − 1 = 33 puntos. Figura 5.23.- Ventana Triangular 𝑇 para el caso 2𝑁 − 1 = 33 puntos. Como puede observarse, para el mismo número de puntos de lambas ventanas, el ancho del (𝜔)|, por lo tanto, la ventana triangular lóbulo central de |𝑅 (𝜔)| es el doble del de |𝑇 concentra un mayor porcentaje de área en el lóbulo central, respecto a los lóbulos laterales, esto hace que la ventana triangular presente menos rizado en las bandas de paso y de paro, sin embargo, presenta un mayor ancho de la banda de transición. Esto se puede apreciar en la figura 5.24, en la cual se muestra la magnitud de la respuesta a la frecuencia del filtro pasa bajas del ejemplo considerando varias ventanas distintas. José Juan Rincón Pasaye, FIE-UMSNH 165 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Figura 5.24.- Respuesta a la frecuencia del filtro FIR pasa bajas con 𝑓 = 0.2 𝑐𝑖𝑐𝑙𝑜𝑠/𝑚𝑢𝑒𝑠𝑡𝑟𝑎, para diferentes tipos de ventana de 33 puntos. Ventana de Hamming. 𝐻 (𝑛) esta es la ventana se define como sigue para un número impar 𝑁 de puntos. 𝑁−1 𝑁−1 (5.89) 𝐻 (𝑛) = 𝛼 + (1 − 𝛼) cos(2𝜋𝑛/𝑁) 𝑝𝑎𝑟𝑎 − 2 ≤ 𝑛 ≤ 2 0 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 Donde 𝛼 = 0.54. En el caso en que 𝛼 = 0.5 esta ventana se denomina ventana de Hann o ventana de Hanning. Aplicando la DTFT obtenemos su forma en el dominio de la frecuencia, 𝐻 (𝜔) = 𝛼𝑅 (𝜔) + 1−𝛼 𝑅 2 𝜔+ 2𝜋 +𝑅 𝑁 𝜔− 2𝜋 𝑁 (5.90) Donde 𝑅 (𝜔) es la respuesta a la frecuencia de la ventana rectangular de N puntos, dada por (5.86). En la figura 5.25 se muestra la ventana de Hamming en forma gráfica en el dominio del tiempo, así como su magnitud en el dominio de la frecuencia, para el caso 𝑁 = 33 puntos, como puede observarse en la figura, el lóbulo central de |𝐻(𝜔)| concentra el mayor porcentaje de área de la respuesta a la frecuencia, de manera incluso más notoria que en el caso de la ventana triangular. José Juan Rincón Pasaye, FIE-UMSNH 166 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Figura 5.25.- Ventana de Hamming 𝐻 para el caso 𝑁 = 33 puntos. 5.8.- Diseño de filtros IIR a partir de filtros analógicos. Los filtros digitales IIR se utilizan ampliamente en diversas aplicaciones que van desde ecualización de audio, sensores biomédicos, telecomunicaciones de alta velocidad. Se prefieren sobre los filtros FIR en diversas condiciones, como las siguientes: Cuando la aplicación no tolera el alto retardo de un filtro FIR de alto orden (𝑁) Se tiene memoria limitada para la implementación del filtro No se requiere respuesta lineal de la fase Esto se debe a las ventajas que se enumeraron en la tabla 5.1 y que se enumeran nuevamente a continuación: Requieren menor cantidad de coeficientes y memoria que los filtros FIR para lograr similares especificaciones de frecuencia de corte y atenuación en la banda de paro. Retardo pequeño, adecuado para aplicaciones de control en tiempo real y aplicaciones de RF (radio frecuencia) de alta velocidad. Pueden emular el comportamiento de filtros analógicos ya diseñados. Sin embargo, es conveniente mencionar algunas de sus desventajas que para algunas aplicaciones podrían no ser aceptables: Respuesta a la frecuencia de fase no lineal. Requieren una implementación más cuidadosa cuando se usa aritmética de punto fijo para evitar sobreflujos. Pueden producir inestabilidad numérica, debido a que son sistemas retroalimentados (recursivos). Una de las ventajas de los filtros IIR, es que pueden ser obtenidos a partir de un filtro analógico ya diseñado, mediante la transformación de la función de transferencia 𝐻(𝑠) del filtro analógico a una función de transferencia de pulso 𝐻(𝑧) del filtro digital equivalente, es decir, mediante una transformación del plano complejo 𝑠 al plano complejo 𝑧. José Juan Rincón Pasaye, FIE-UMSNH 167 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales La transformación exacta entre el plano complejo 𝑠 y el plano complejo 𝑧 implica un proceso de muestreo que convierte un filtro analógico 𝐻(𝑠) a un filtro equivalente muestreado 𝐻(𝑧) y está dada por (5.91) 𝑠=𝑒 Donde 𝑇 es el periodo de muestreo. La correspondiente transformación inversa es 1 (5.92) 𝑧 = log(𝑠) 𝑇 El uso de esta transformación exacta no conserva la linealidad del filtro original, complicando así la implementación de la versión muestreada, por esta razón es conveniente buscar alternativas que mantengan la linealidad del filtro original. 5.8.1.- Aproximación de la derivada por diferencias finitas. Una manera clásica de aproximar la derivada de una señal continua 𝑥(𝑡), conociendo dos puntos de dicha señal, consiste en aproximar la pendiente de la curva en el primer punto, por la pendiente de la recta que une los dos puntos como se muestra en la figura 5.26, es decir, 𝑑𝑥 (𝑡) 𝑥 (𝑡 + Δ𝑡) − 𝑥(𝑡) (5.93) 𝑥̇ (𝑡) = ≈ 𝑑𝑡 Δ𝑡 x(t) Pendiente exacta x(kT) x(kT+T) Pendiente aproximada x t t kT (k+1)T Fig. 5.26. Aproximación de la derivada. Así, de la figura, si deseamos aproximar la derivada (pendiente de la recta tangente) en el primer punto (en 𝑡 = 𝑘𝑇), con Δ𝑡 = 𝑇, sustituyendo en (5.93), se obtiene 𝑥 (𝑘𝑇 + 𝑇) − 𝑥(𝑘𝑇) (5.94) 𝑥̇ (𝑘𝑇) ≈ 𝑇 El lado izquierdo de la ecuación anterior es la derivada de una señal continua, cuya transformada de Laplace es 𝑠𝑋(𝑠), mientras que el lado derecho es una ecuación de diferencias, la cual se puede expresar mediante transformada z, de esta manera obtenemos la correspondencia aproximada 𝑧−1 (5.95) 𝑠𝑋(𝑠) ↔ 𝑋(𝑧) 𝑇 Es decir, el efecto de la derivada (multiplicación por la variable 𝑠) de la señal continua 𝑥(𝑡) equivale aproximadamente a la multiplicación por (𝑧 − 1)/𝑇 de la variable discreta 𝑥(𝑛). José Juan Rincón Pasaye, FIE-UMSNH 168 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales A la aproximación (5.94) se le denomina aproximación de Euler por diferencias hacia adelante. En forma similar podemos obtener la aproximación por diferencias hacia atrás siguiente 𝑥 (𝑘𝑇 ) − 𝑥(𝑘𝑇 − 𝑇) (5.96) 𝑥̇ (𝑘𝑇) ≈ 𝑇 Que conduce a la siguiente correspondencia entre las variables 𝑠 y 𝑧 1−𝑧 𝑠𝑋(𝑠) ↔ 𝑋(𝑧) 𝑇 (5.97) 5.8.2.- Aproximación de la integral (Regla trapezoidal o de Tustin). Si escribimos las ecuaciones diferenciales que definen al sistema continuo utilizando integrales en lugar de derivadas podemos obtener otras aproximaciones al considerar el área bajo la curva definida por la integral entre dos instantes de muestreo como se muestra en la figura 5.27. x(t) área exacta 𝐼(𝑘𝑇) = x(kT+T) 𝑥(𝑡)𝑑𝑡 área trapezoidal aproximada x(kT) (k+1)T kT 0 t T Fig. 5.27.- Aproximación mediante un trapecio del área entre los instantes 𝑘𝑇 y 𝑘𝑇 + 𝑇. Si escribimos el área bajo la curva de la señal 𝑥(𝑡) desde 𝑡 = 0 hasta 𝑡 = 𝑘𝑇 como una función del tiempo tenemos 𝐼(𝑘𝑇) = 𝑥(𝑡)𝑑𝑡 (5.98) En forma similar hasta el instante 𝑡 = 𝑘𝑇 + 𝑇 𝐼(𝑘𝑇 + 𝑇) = 𝑥 (𝑡)𝑑𝑡 (5.99) Y observando la figura 5.27, la diferencia entre estas dos áreas es el área entre los instantes 𝑘𝑇 y 𝑘𝑇 + 𝑇, la cual se puede aproximar por el área de un trapecio como sigue 𝑥(𝑘𝑇 + 𝑇) + 𝑥(𝑘𝑇) (5.100) 𝐼 (𝑘𝑇 + 𝑇) − 𝐼 (𝑘𝑇) ≈ 𝑇 2 Aplicando transformada z se obtiene 𝐼 (𝑧) ≈ José Juan Rincón Pasaye, FIE-UMSNH 𝑇 𝑧+1 𝑋(𝑧) 2 𝑧−1 (5.101) 169 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Aplicando transformada de Laplace el término integral 𝐼(𝑡) = ∫ 𝑥 (𝑡)𝑑𝑡 se transforma en 𝐼 (𝑠) = 𝑋(𝑠)/𝑠, con lo cual se obtiene la correspondencia entre las variables 𝑠 y 𝑧 siguiente 𝑋(𝑠) 𝑇 𝑧 + 1 (5.102) ↔ 𝑋(𝑧) 𝑠 2 𝑧−1 A esta aproximación se le llama regla trapezoidal o aproximación de Tustin. En resumen, en la tabla 5.2 se tabla se presenta un resumen de las tres aproximaciones. Cualquiera de ellas puede ser utilizada para obtener versiones digitales de filtros analógicos, sin embargo, la aproximación por diferencias hacia adelante no se recomienda, porque puede producir filtros digitales inestables, aun cuando el filtro analógico original es estable. Todas ellas producen un error con respecto a la versión analógica, siendo por lo general las más simples las que producen mayor error. Tabla 5.2. Transformaciones del plano s al plano z Método de aproximación Reemplazar Diferencias hacia adelante Observaciones 𝑠 por Diferencias hacia atrás No preserva la estabilidad Preserva la estabilidad, pero produce error grande 𝑠 por Regla trapezoidal (Tustin) Preserva la estabilidad, pero deforma la respuesta a la frecuencia (efecto warp) 𝑠 por Ejemplo: Aplicar las tres aproximaciones al filtro analógico pasa bajas de primer orden siguiente 𝑏 𝐻(𝑠) = 𝑠+𝑎 Donde 𝑎, 𝑏 son constantes positivas. Por diferencias hacia delante: 𝐻 (𝑧) ≈ 𝐻(𝑠)| 𝑧−1 𝑇 𝑏 𝑏𝑇 = 𝑧−1 = + 𝑎 𝑧 + 𝑎𝑇 − 1 𝑇 Por diferencias hacia delante: 𝐻 (𝑧) ≈ 𝐻(𝑠)| 1−𝑧−1 𝑇 = 𝑏 1−𝑧−1 Por regla de Tustin: 𝐻 (𝑧) ≈ 𝐻(𝑠)| 2 𝑧−1 𝑇 𝑧+1 𝑏 = 2 𝑧−1 𝑇 𝑧+1 𝑇 = +𝑎 = +𝑎 𝑏𝑇𝑧 (𝑎𝑇 + 1)𝑧 − 1 𝑏𝑇(𝑧 + 1) (𝑎𝑇 + 2)𝑧 + (𝑎𝑇 − 2) Como puede verse, las tres aproximaciones obtenidas son diferentes. En la figura 5.28 se muestran las respuestas a la frecuencia de las tres aproximaciones comparadas con la respuesta del sistema continuo, para 𝑇 = 0.1 y para 𝑎 = 𝑏 = 1. Nótese que la escala horizontal de esta José Juan Rincón Pasaye, FIE-UMSNH 170 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales figura se ha expresado en 𝑟𝑎𝑑/𝑠𝑒𝑔, es decir, la escala normal de los filtros digitales (de 0 a 0.5 𝑟𝑎𝑑/𝑚𝑢𝑒𝑠𝑡𝑟𝑎) se ha multiplicado por la frecuencia de muestreo 𝐹 = 10 𝑚𝑢𝑒𝑠𝑡𝑟𝑎𝑠/𝑠𝑒𝑔 para poder comparar con el filtro analógico original. Fig. 5.28.- Respuesta a la frecuencia de las tres aproximaciones y el sistema continuo original. Puede observarse en la figura 5.28 que ninguna de las tres aproximaciones coincide con el sistema original. También se aprecia que conforme el valor de frecuencia se acerca a la frecuencia de Nyquist (0.5𝐹 ) el error de las aproximaciones aumenta, este error se denomina frequency warping o pandeo de frecuencia. Prewarping. Para compensar el pandeo de frecuencia es conveniente ajustar los requerimientos a una frecuencia dada del filtro que se va a diseñar. Consideremos por ejemplo la transformación de Tustin 2 𝑧−1 (5.103) 𝑠= 𝑇 𝑧+1 Suponiendo que se tiene que cumplir una especificación del filtro digital a la frecuencia 𝜔 , es decir, para 𝑧 = 𝑒 , sustituyendo en (5.103) se obtiene 2 𝑒 −1 𝑠 = 𝜎 + 𝑗Ω = 𝑇 𝑒 +1 Es decir, multiplicando numerador y denominador por 𝑒 / 2 𝑒 / −𝑒 𝜎 + 𝑗Ω = / 𝑇 𝑒 / +𝑒 Por lo tanto José Juan Rincón Pasaye, FIE-UMSNH / = 2𝑗 𝜔 tan 𝑇 2 171 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Ω = 2 𝜔 tan 𝑇 2 (5.104) Es decir, una especificación para el filtro digital en la frecuencia 𝜔 requiere esa especificación para el filtro analógico en la frecuencia Ω . 5.8.3.- Diseño de Filtros Analógicos. A continuación, se retoma el problema de diseño de un filtro analógico y se ilustra con algunos filtros analógicos clásicos y sus características de respuesta a la frecuencia, así como las consideraciones que se deberán tener al momento de su discretización. Un filtro analógico es un sistema dinámico lineal invariante en el tiempo (SLIT) y está definido por su función de transferencia 𝐻(𝑠), la cual es una función racional de la variable de Laplace (𝑠), es decir, 𝐵 (𝑠) 𝑏 + 𝑏 𝑠 + 𝑏 𝑠 + ⋯ + 𝑏 𝑠 (5.105) 𝐻 (𝑠) = = 𝐴(𝑠) 1+𝑎 𝑠 +𝑎 𝑠 +⋯+𝑎 𝑠 Donde 𝑎 , … , 𝑎 y 𝑏 , 𝑏 , … , 𝑏 son coeficientes constantes reales, 𝑀 ≤ 𝑁 son enteros positivos y N es el orden del filtro. El problema de diseño consiste en la selección del orden del filtro y de los coeficientes de manera que se satisfagan las especificaciones de respuesta a la frecuencia 𝐻(𝜔) del filtro 𝐻 (𝜔) = 𝐻(𝑠)| (5.106) Se acostumbra especificar la respuesta a la frecuencia deseada mediante la magnitud al cuadrado de 𝐻 (𝜔), y expresarla como sigue |𝐻(𝜔)| = 𝐻(𝑠)𝐻 ∗ (𝑠)| = 𝐻 (𝑠)𝐻(−𝑠)| (5.107) Además de satisfacer la respuesta a la frecuencia deseada, el filtro diseñado deberá ser estable y de fase mínima, es decir, todos los polos y ceros de su función de transferencia 𝐻(𝑠) deberán estar a la izquierda del eje imaginario del plano complejo 𝑠, es decir, deberán tener parte real negativa. Existen varias maneras de satisfacer estas restricciones, a continuación, se describen algunas de ellas para el diseño de un filtro pasa bajas, es decir, para lograr una respuesta a la frecuencia dada por 1 𝑝𝑎𝑟𝑎 𝜔 < 𝜔 (5.108) |𝐻(𝜔)| = 0 𝑝𝑎𝑟𝑎 𝜔 > 𝜔 Donde 𝜔 es la frecuencia de corte (rad/seg). Una vez que se ha diseñado un filtro pasa bajas, los filtros pasa altas, pasa banda y rechaza banda se pueden obtener mediante un sencillo cambio de variables. José Juan Rincón Pasaye, FIE-UMSNH 172 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales 5.8.4.- Diseño de Filtros Butterworth pasa bajas. El filtro analógico de Butterworth es uno de los filtros electrónicos básicos, y se diseña para producir la respuesta más plana que sea posible en la banda de paso. En otras palabras, en un filtro Butterworth pasa bajas la magnitud de su respuesta a la frecuencia |𝐻 (𝜔)| se mantiene constante casi hasta la frecuencia de corte, luego disminuye a razón de 20𝑁 𝑑𝐵 por década (aproximadamente 6𝑁 𝑑𝐵 por octava), donde 𝑁 es el orden del filtro. La respuesta ideal a la frecuencia de un filtro analógico pasa bajas está dada por (5.108), Sin embargo, la especificación de respuesta máximamente plana en la banda de paso se obtiene para un filtro de orden 𝑁 con frecuencia de corte 𝜔 , mediante una función de transferencia 𝐻(𝑠) que satisfaga lo siguiente 1 |𝐻(𝜔)| = (5.109) 1+ La magnitud |𝐻(𝜔)| de la respuesta a la frecuencia dada por (5.109) se muestra en forma gráfica en la figura 5.29 para filtros butterworth orden 𝑁 = 3, 7 𝑦 13, como puede observarse, no se requieren órdenes tan grandes como en el caso de filtros FIR para lograr una muy buena aproximación a un filtro ideal. Figura 5.29.- Respuesta a la frecuencia de un Filtro pasa bajas Butterworth analógico para 𝑁 = 3, 7 𝑦 13. Para lograr la especificación dada por (5.109), la función de transferencia del filtro deberá cumplir 1 |𝐻(𝑠)| = (5.110) 1+ José Juan Rincón Pasaye, FIE-UMSNH 173 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Por lo tanto, los polos de 𝐻(𝑠) satisfacen la ecuación característica siguiente −𝑠 1+ =0 𝜔 Lo cual se puede escribir como sigue −𝑠 = (−1) / 𝜔 ( O bien, escribiendo (-1) en forma polar (−1) = 𝑒 −𝑠 =𝑒 ( 𝜔 ) (5.111) para 𝑘 entero, entonces (5.112) )/ denotando por 𝑝 los polos, se obtiene −𝑝 =𝑒 𝜔 ( )/ ( )/ ] O bien, sustituyendo (−1) = 𝑒 Finalmente 𝑝 =𝑒 𝜔 [ (5.113) 𝑝 =𝜔 𝑒 Donde se elige 𝑘 = 1,2, … , 𝑁 para asegurar que los polos obtenidos estén en el semiplano complejo izquierdo, Así, la función de transferencia se puede escribir en términos de sus polos 𝑝 , 𝑝 , … , 𝑝 dados por (5.113) como sigue 𝐾 (5.114) 𝐻(𝑠) = (𝑠 − 𝑝 )(𝑠 − 𝑝 ) … (𝑠 − 𝑝 ) Donde imponiendo la restricción en la banda de paso |𝐻(𝑠)| = 1 se obtiene 𝐾 = |𝑝 ||𝑝 | … |𝑝 | (5.115) 5.8.5.- Transformación de un filtro IIR pasabajas en otro tipo de filtro IIR Finalmente, si se va a diseñar un filtro IIR distinto a pasa bajas, se puede partir del diseño de un filtro pasa bajas. Dado un filtro IIR pasa bajas con frecuencia de corte en 𝜔 , se transforma en un nuevo filtro IIR cambiando en su función de transferencia 𝐻 (𝑧) la variable𝑧 de acuerdo a la tabla siguiente José Juan Rincón Pasaye, FIE-UMSNH 174 Apuntes para el curso: Procesamiento Digital de Señales Capítulo 5.- Introducción al diseño de Filtros Digitales Lineales Tabla 5.3.- Transformación de un filtro pasa bajas IIR con frecuencia de corte 𝜔 a otro tipo de filtro IIR Nuevo filtro tipo: Nuevas Frecuencias de corte Cambiar 𝒛 por Pasa bajas 𝜔 𝑧−𝛼 1 − 𝛼𝑧 Pasa altas 𝜔 𝑧+𝛼 1 + 𝛼𝑧 Pasa banda 𝜔 ,𝜔 Rechaza banda 𝜔 ,𝜔 𝑧 − 1− 𝑧 − José Juan Rincón Pasaye, FIE-UMSNH 1− Donde: 𝛼= 𝛼= 𝑧+ 𝑧+ 𝑧 𝑧− 𝑧− 𝑧 𝛼= 𝛼= sin sin cos cos cos 𝑘 = cot 𝜔 −𝜔 𝜔 tan 2 2 𝑘 = tan 𝜔 −𝜔 𝜔 tan 2 2 cos cos cos 175