Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Filtros analógicos

Temario

  1. Caracterización de los filtros

    1. Pasa-bajos

    2. Pasa-altos

    3. Pasa-banda

    4. Elimina-banda

    5. Pasa-todo

  2. Tipos de filtros con LTI. Butterworth, Chebyshev I y II, Elípticos (Cauer), Bessel

  3. Obtención de la función transferencia con SciPy (sicpy.signal)

  4. Simulación del filtro en Python

  5. Presentación de herramienta web para diseño de filtros electrónicos activos: Web Bench Filter Design Tool.

Filtros analógicos

Vamos a describir las características de los tipos de filtros más habituales. Por otra parte, un cierto conocimiento de filtrado analógico es necesario para diseñar las etapas de adquisición (filtros antialising) y reproducción (filtros de reconstrucción) en sistemas de procesamiento digital. Se distinguen por la caída de la respuesta en frecuencia en la primera década, desde la frecuencia de corte y en el retardo de grupo. En la siguiente figura mostramos las respuestas en frecuencia que definen la los filtros analógicos más empleados. A continuación analizaremos cada uno de ellos con más detalle.

En general, para poder sintetizar un filtro análogico, primero vamos a obtener sunfunción transferencia. Según los objetivos del filtro existen distintos tipos entre los cuales podemos elegir para obtener la función transferencia.

Tipos de filtro según su forma

Parámetros de los filtros

Tipos de filtros según su rango de frecuencias de paso

Herramienta de diseño de filtro

El paquete de scipy de Python cuenta con varias herramientas para el diseño de filtros dentro del módulo signal.

Vamos a mostrar aquí las funciones para un filtro butterworth:

El mismo par de funciones anteriores se puede encontrar para los otros tipos de filtros: Cauer, Chebyshev I y II, y Bessel. Otras dos funciones útiles par el diseño de filtros pueden ser:

Todas estas funciones están pensadas para calcular las mismas cosas, pero se utilizan de manera diferente. Siempre es conveniente chuequear la documentación de scipy.signal al respecto.

Ejemplo

Supongamos que queremos realizar un filtro pasa-banda con frecuencias de corte 100 y 500 rad/seg, con ganancia 1 en la banda de paso y una atenuación 10 para ganancias menores a 10 rad/seg y mayores 2500 rad/seg.

Para estudiar este filtro voy a utilizar el paquete de control instalado con las herramientas dadas.

from control import tf, bode
from scipy.signal import iirdesign, iirfilter
import matplotlib.pyplot as plt
%matplotlib widget

b,a= iirdesign([100, 500], [10, 2500], 3, 40, True, 'butter', 'ba')
G=tf(b,a)
G
Loading...