Electrónica, Electricidad y Sonido


Filtro IIR Butterworth mediante Sptool de Matlab


Filtro IIR Butterworth mediante Sptool de Matlab

Análisis de un filtro IIR Butterworth mediante Sptool de Matlab.

TEORÍA DE SISTEMAS.

ANÁLISIS DE FILTRO IIR BUTTERWORTH (PASABAJOS)

1.- Filtro ideal:

La definición del filtro ideal pasabajos, es un concepto importante tanto en la teoría y práctica de filtros eléctricos como en el análisis y procesamiento de señales; en la literatura frecuentemente se trata este concepto haciendo más énfasis en demostraciones de porque este tipo de filtro no es realizable físicamente, en lugar de subrayar la idea del porque es deseable que un filtro tenga las características de magnitud y fase ideales, las cuales para el caso paso bajas que aquí nos ocupa son:

 

(1)

(2)

Donde en la ecuación uno es la frecuencia de paso del filtro y en la ecuación dos representa la pendiente de la curva de fase lineal que este filtro presenta; de las ecuaciones anteriores se deduce que este tipo de filtro pasa todas las frecuencias comprendidas entre cero y su frecuencia de paso, afectándose la magnitud de todas ellas en una misma proporción; además de que, dado que su característica de fase es lineal, todas las componentes de frecuencia de una señal filtrada por este sistema, aparecen en su salida con un mismo retardo de segundos.

Lo anterior quiere decir que si una señal , con componentes de frecuencia comprendidas entre cero y , entra a un filtro pasabajos ideal, en su salida se tendrá la misma señal sin ninguna distorsión y retrasada segundos.

Si la señal a la entrada, contiene componentes de frecuencia más allá de , la señal a la salida del filtro ideal tendría las componentes de frecuencia mayores a recortadas en forma absoluta, presentando la señal resultante un retardo de segundos.

Dado que un filtro ideal pasabajos no es realizable físicamente, en la práctica con lo que se trabaja es con sistemas que aproximan las características ideales aquí descritas, teniéndose diversas funciones de aproximación como pueden ser entre otras las de Butterworth, Chevyshev y Cauer, que tratan de aproximar la magnitud constante en la banda de paso de un filtro ideal, presentando todas ellas una magnitud no constante en la banda de paso y una fase no lineal; para aproximar la fase lineal se usa la aproximación de Bessel, aunque esto se logra sólo en un intervalo de frecuencia finito.

Fig 1: Representación de un filtro pasabajos ideal.

Todo lo anterior referido en el dominio del tiempo continuo.

2.- Filtro IIR (Infinite Impulse Response):

Veremos dos variaciones de este tipo de filtros: AR y ARMA:

2.1.- Filtros AR (Autoregresivo):

La ecuación, usando la transformada Z, que describe un filtro AR es:

Lo que da lugar a una función de transferencia: (en tiempo y frecuencia discretos)

Podemos concluir:

La función de transferencia contiene solo polos.

El filtro es recursivo ya que la salida depende no solo de la entrada actual sino además de valores pasados de la salida (Filtros con realimentación).

El término autoregresivo tiene un sentido estadístico en que la salida y[n] tiene una regresión hacia sus valores pasados.

La respuesta al impulso es normalmente de duración infinita, de ahí su nombre.

2.2.- Filtros ARMA (Autoregresivo y Media en Movimiento ( FIR ) ).

Al tener ceros y polos es necesario un menor número de coeficientes para realizar un determinado filtrado.

Es el filtro más general y es una combinación de los filtros MA y AR. La ecuación diferencia que describe un filtro ARMA de orden N es:

Y la función de transferencia:

Su respuesta a impulso es también de duración infinita y por tanto es un filtro del tipo IIR.

2.3.- Inconvenientes de los filtros IIR:

• La presencia de polos puede producir inestabilidades.

• No garantizan que la fase de su función de transferencia sea lineal.

• Implementación hardware más compleja que en el caso de filtros FIR.

La técnica para diseñar este tipo será mediante métodos de diseño analógico, seguido de una transformación del plano s al plano z.

2.4.- Parámetros a considerar para el diseño del filtro:

Sea:

  • 1 es el rizado de pasabanda.

  • 2 es el rizado de parabanda.

  • fp es la frecuencia límite de pasabanda.

  • fs es la frecuencia límite de parabanda. (frecuencia de corte wc).

Filtro IIR Butterworth mediante Sptool de Matlab

Fig 2: Filtro pasabajos del tipo IIR.

3.- Filtro Butterworth:

En diversas aplicaciones de los filtros pasa bajas se necesita que la ganancia en lazo cerrado se aproxime lo más posible a 1 dentro de la banda de paso. Para este tipo de aplicación lo mejor es el filtro Butterworth. A este tipo de filtro también se le conoce como filtro máximamente plano o planoplano.

Los filtros Butterworth no se diseñan para mantener un ángulo de fase constante en la frecuencia de corte. EI filtro pasa bajas básico de 20 dB/década tiene un ángulo de fase de 45º en la frecuencia wc. EI filtro Butterworth de 40 dB/década tiene un ángulo de fase de 90º en cl valor wc y el filtro de 60 dB/década tiene un ángulo de fase de 135º en wc. Por lo tanto, por cada aumento de 20 dB/década, el ángulo de fase aumenta en 45º en cl valor wc.

3.1- Características:

• Tiene una respuesta máximalmente plana en

f = 0 y f = 1.

• Banda de transición es relativamente ancha.

Filtro IIR Butterworth mediante Sptool de Matlab

Fig 3: Filtro Butterworth.

3.2.- Técnica de diseño del Filtro Pasabajos Butterworth.

La técnica que emplearemos será la de diseñar un filtro Butterworth analógicamente, seguido de una transformación del plano s al z.

Los parámetros con las especificaciones de diseño los podemos encontrar en la fig 2.

Partimos de un prototipo de filtro pasabajos normalizado en el que usamos una frecuencia w normalizada. Para otro tipo de filtro se requerirá la consiguiente transformación de frecuencia. Para este tipo de filtro pasabajos normalizado la función de transferencia es:

donde es un polinomio de grado n.

El objetivo del diseño de un filtro es encontrar que mejor cumple la especificaciones. Para ello se utilizan algunas aproximaciones.

3.2.1 Aproximación de Butterworth.:

Existen 4 etapas de diseño:

  • Normalizar la frecuencia de acuerdo a las especificaciones.

  • Determinar el orden del prototipo de filtro pasabajos.

  • Determinar la función de transferencia normalizada.

  • Desnormalizar a través de las transformaciones en frecuencia en 3. y 1.

  • Aproximación de Butterworth:

    Consiste en hacer Filtro IIR Butterworth mediante Sptool de Matlab
    .Esta aproximacion es tal que:

    Por lo tanto:

  • Normalizaremos las frecuencias por la frecuencia limite de pasabanda fp, de forma que y

  • A partir de y Filtro IIR Butterworth mediante Sptool de Matlab
    , podemos calcular los valores de Filtro IIR Butterworth mediante Sptool de Matlab
    y n.

  • 3.2.2.- Ejemplo:

    Diseñar un filtro de Butterworth de pasabajos con las siguientes especificaciones:

    Una atenuación de pasabanda que sea menor a 1dB a Filtro IIR Butterworth mediante Sptool de Matlab
    , una atenuación de parabanda que sea mayor a 20dB para Filtro IIR Butterworth mediante Sptool de Matlab

    Desarrollo:

    Frecuencia normalizada:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Tomaremos como orden del filtro el entero más cercano, en este caso n=5

  • Filtro de Butterworth normalizado: Se normaliza respecto a la frecuencia .

  • Función de transferencia normalizada: Se trata de determinar Filtro IIR Butterworth mediante Sptool de Matlab
    a partir de .

  • -Reemplazamos w2N por -s2.

    -Los polos los calculamos de:

    Estos resultados muestran que:

    • Los polos normalizados están sobre un circulo de radio 1 en el plano s.

    • Los polos están equidistantes a radianes con Filtro IIR Butterworth mediante Sptool de Matlab
      , donde Filtro IIR Butterworth mediante Sptool de Matlab
      se mide con respecto al eje positivo jw.

    • Los polos nunca estarán sobre el eje jw.

    • Si n es impar, siempre hay un par de polos reales en

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 4: Polos de Butterworth para n=4 y n=5.

    -De los 2n polos de que consta Filtro IIR Butterworth mediante Sptool de Matlab
    sólo estamos interesados en los polos de la parte izquierda del plano s, que son los que dan estabilidad al filtro. De la fig 4 se puede observar que cada polo tiene su conjugado, excepto en el caso de que n sea impar donde tenemos un polo adicional en . Por lo tanto:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab

    El polinomio Filtro IIR Butterworth mediante Sptool de Matlab
    viene en tablas para cada valor de n, por lo que solo tenemos que determinar el valor de n, ir a las tablas para obtener el valor de Filtro IIR Butterworth mediante Sptool de Matlab
    y desnormalizar para determinar del filtro.

    (4.) Desnormalización:

    Si: , entonces . Si desnormalizamos Filtro IIR Butterworth mediante Sptool de Matlab
    a Filtro IIR Butterworth mediante Sptool de Matlab
    , Filtro IIR Butterworth mediante Sptool de Matlab
    cumple las especificaciones dadas.

    Esto es equivalente a desnormalizar directamente Filtro IIR Butterworth mediante Sptool de Matlab
    a .

    Siguiendo con el ejemplo tenemos:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Calculamos w3.

    De las tablas se obtiene:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab

    3.2.3.- El caso analizado en Matlab:

    Nuestra tarea consiste en realizar un filtro IIR Butterworth de 6º orden que sea capaz de filtrar una señal de voz.

    Del diseño en Matlab obtenemos:

    - , -, -, -.

    De estos parámetros obtenemos:

    Los que a su vez nos dan un orden del filtro igual a:

    que es el orden que obtuvimos en Matlab.

    Obteniendo w3:

    Por lo tanto debemos desnormalizar con:

    La ecuación normalizada para n=6 será:

    Normalizando: (da números extremadamente grandes por lo que se omitirá y se representara algebraicamente).

    una vez desnormalizado nuestro filtro, debemos pasar al plano z:

    3.3.- Plano z :

    Nos interesa trabajar en el plano z, ya que al trabajar con un programa como Matlab, estaremos trabajando en tiempo discreto.

    Una transformación de s -> z debe cumplir 2 condiciones:

    • Estabilidad: La mitad izquierda del plano s debe transformarse dentro del circulo unitario en el plano z.

    • A cada frecuencia analógica dentro del intervalo de debe corresponder una única frecuencia digital en el intervalo . Esto evita el problema del “aliasing”.

    Emplearemos la transformación bilineal :

    Es la transformación dada por el algoritmo trapezoidal:

    siendo Filtro IIR Butterworth mediante Sptool de Matlab
    el tiempo de muestreo, en este caso será 1/22050 s que

    corresponde a la frecuencia de muestreo en Matlab.

    Tendríamos en el plano z:

    4.- Desarrollo de un filtro IIR Butterworth mediante Matlab.

    Análisis de un filtro IIR Butterworth, y su aplicación al filtrado pasabajos, usando la herramienta sptool de Matlab, a una señal de voz (analisis.wav que viene en el disco).

    La primera instrucción en Matlab es cargar al espacio de trabajo el archivo .wav que servirá de base a nuestro análisis.

    >>[y,fs]=wavread(`C:\Mis documentos\andres\Universidad\teoria de sistemas\analisis.wav')

    Donde y es la variable que guarda las muestras de la señal de voz, fs es la frecuencia de muestreo.

    El espacio de trabajo se adjunta en el fichero filtro.mat.

    Se obtuvo una frecuencia de muestreo fs=22050 Hz.

    A continuación se ocupo la herramienta sptool:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 5: Herramienta Sptool de Matlab.

    Para cargar la señal que nos interesa desde el espacio de trabajo, hacemos clic en File, import.

    Una vez cargada la señal la podemos visualizar:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 6: visualización de nuestra señal (analisi.wav)

    A continuación hacemos clic en filtres, new design.

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 7: Filtro IIR Butterworth en sptool de Matlab.

    Elegimos en Algorithm el tipo de filtro, en este caso IIR Butterworth orden 6º y con los parámetros:

    • Fp: Frecuencia limite de pasabanda.

    • Fs: Frecuencia limite de parabanda.

    • Rd: Rizado de pasabanda.

    • Rs: rizado de parabanda. (ver fig 2)

    Los demás parámetros son:

    • Sampling Frequency: Es la frecuencia de muestreo, en nuestro caso 22050Hz.

    • Minimum Order: n mínimo para obtener este filtro.

    • Auto Design: Dejar que el programa se encargue de diseñarlo dándole un valor de n y la frecuencia de muestreo.

    Una vez especificado el filtro a usar, volvemos a la ventana de sptool y en Filtres, View podremos visualizar nuestro filtro:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 8: Filter Viewer en frecuencia v/s magnitud y frecuencia v/s fase (en grados)

    En las distintas ventanas podemos modificar la escala a ocupar y el rango a ocupar.

    Además podremos ver en esta ventana el grafico en z de los polos y ceros de nuestro sistema (filtro).

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 9: Ceros y polos de nuestro filtro.

    Cave hacer notar que tenemos 6 polos, dentro del círculo unitario que corresponden a los polos de la función en el semiplano izquierdo, por lo que concluimos que se trata de un filtro estable.

    Para poder apreciar la señal de salida al filtro, seleccionamos la señal de entrada y el filtro que estamos aplicando, hacemos clic en Apply y obtenemos:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 10: cuadro de dialogo para una senal de entrada obteniendo una salida al filtro.

    Una vez obtenida nuestra señal la podremos visualizar:

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 11: Señal de salida a nuestro filtro.

    Comparando las 2 señales podemos apreciar claramente la diferencia, podemos escuchar como las componentes de más alta frecuencia se ha eliminado para nuestra señal de salida.

    Ahora apreciaremos el efecto en frecuencia de nuestro filtro pasabajos Butterworth:

    Primero seleccionaremos nuestra señal de entrada, en Spectra hacemos clic en Create y finalmente en la nueva ventana hacemos clic en Apply, y podemos visualizar la señal de entrada.

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 12: Espectro en frecuencia v/s decibeles.

    Variables:

    • En la ventana de Method hemos seleccionado FFT (la transformada rápida de Fourier).

    • Nfft: Es el numero de pasos de la FFT.

    Para la señal de salida hacemos lo mismo y superponiendo las 2 señales obtenemos una comparación en el grafico Frecuencia v/s dB.

    Filtro IIR Butterworth mediante Sptool de Matlab

    Fig 13: Espectro de la señal de entrada y de la señal de salida.

    Podemos apreciar como el filtro logro recortar las componentes de frecuencia mayores a y también podemos apreciar la banda de transición entre y Filtro IIR Butterworth mediante Sptool de Matlab
    .

    En el CD también se adjunta el fichero filtro.spt el cual contiene la sesión de Sptool empleada para este trabajo.

    Conclusiones:

    • La utilización de programas de simulación y diseño como Matlab, tienen las ventajas primordiales de facilitar un entorno visual para un profundo análisis matemático y por sobre todo la capacidad de minimizar el tiempo de trabajo del diseño y análisis del comportamiento de los filtros digitales.

    • Es especialmente útil poder visualizar con un programa como Matlab y su herramienta Sptool, diferentes señales al mismo tiempo para darnos una idea de lo que realmente esta haciendo nuestro sistema de filtrado.

    • El presente trabajo nos sirvió para las aplicaciones practicas de las transformaciones ya sea en tiempo continuo o discreto de un sistema real como es el caso del Filtro pasabajos Butterworth, ya que en sistemas reales la única forma de analizar el comportamiento de estos es mediante la toma de muestras a un intervalo de tiempo o frecuencia de muestreo.

    • La transformada de Laplace es de gran utilidad para el análisis de los parámetros involucrados en la ecuación de transferencia de nuestro sistema (Filtro Butterworth), ya que facilita el desarrollo matemático de este.

    • La transformada z es especialmente útil para tener una idea de cómo un filtro digital se comporta en el tiempo, también para poder visualizar en el plano z su comportamiento respecto a la estabilidad del sistema (visualización grafica de Matlab de los polos respecto al circulo unitario).

    Diseño Electrónico: Circuitos y Sistemas, C. J. Savant Jr., Pearson Educación de México, Pág. 669

    21

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab

    Filtro IIR Butterworth mediante Sptool de Matlab




    Descargar
    Enviado por:Matata
    Idioma: castellano
    País: Chile

    Te va a interesar