En el mundo de los dispositivos de Internet de las cosas (IoT), el procesamiento eficiente de señales es vital. Los filtros de respuesta infinita de bajo orden (IIR) son opciones populares debido a su simplicidad y eficiencia computacional. Este artículo proporciona una guía completa para diseñar estos filtros, cubriendo teoría, implementación práctica y mejores prácticas para mejorar el rendimiento de los dispositivos IoT.

Comprender filtros IIR de bajo orden

Los filtros IIR son filtros digitales caracterizados por retroalimentación, lo que significa que su salida depende tanto de las entradas actuales como pasadas, así como de las salidas pasadas. El término "orden inferior" se refiere típicamente a filtros con uno o dos polos y uno o dos ceros — filtros de primer orden o segundo orden. Estos filtros son especialmente adecuados para dispositivos IoT con bajo contenido de recursos porque requieren menos operaciones de multiplicación superior y menos memoria que

Un filtro IIR de primer orden tiene una función de transferencia del formulario:

Un filtro IIR de segunda orden (a menudo llamado biquad) tiene el formulario:

Los coeficientes b0, b1, b2] (para el segundo orden) determinan los ceros (a la espera), mientras a1, a2] determinan los polos (feedback). La estabilidad requiere que todos los polos se encuentran dentro del círculo de la unidad en el plano z, que es una consideración crítica en el punto fijo.

Los filtros IIR de bajo orden se sobresalen en tareas como la reducción del ruido, el suavizado de señales y la selección de frecuencias. Por ejemplo, un filtro de baja velocidad puede eliminar el ruido de alta frecuencia de un sensor de temperatura, mientras que un filtro de alto rendimiento puede eliminar la deriva de DC en una señal de acelerómetro. Su naturaleza recursiva permite un desplazamiento agudo con muy pocos coeficientes, haciéndolos ideales para dispositivos de memoria con baterías donde cada microampión de cuenta actual.

Principios de diseño

Seleccionar el tipo de filtro

La elección del prototipo de filtro (analógico o digital) define los cambios entre la flatness de bandas, la atenuación de bandas de paradas y la linealidad de fase.

  • Butterworth: Proporciona una banda de pascua máxima plana sin onda. Ofrece un rebote monotónico pero requiere un orden más alto para lograr una atenuación de banda de parada determinada en comparación con los filtros Chebyshev. A menudo preferida para el acondicionamiento de señal de sensor donde la precisión de amplitud es crítica.
  • Chebyshev: Permite madurar en la banda de paso (Tipo I) o la banda de parada (Tipo II). A cambio de una pequeña cantidad de onda de banda, los filtros Chebyshev ofrecen una banda de transición más aguda para una orden de filtro dada. Útil cuando el requisito de atenuación de la banda de parada domina.
  • Bessel: Optimizado para la respuesta lineal de fase (traslación constante de grupo), preservando la forma de la señal en el dominio del tiempo. Sin embargo, los filtros Bessel tienen un lanzamiento más lento. Ideal para aplicaciones donde se debe minimizar la sobresueldo y el anillo, como en los circuitos de control o cruces de audio.
  • Elíptico (Cauer): Proporciona el rebote más empinado para un orden dado permitiendo el ondulado en ambos lados y la cinta de parada. Raramente utilizado para diseños de IoT de bajo orden porque el rendimiento mejorado a menudo requiere precisión de punto flotante y cuantificación de coeficiente cuidadosa.

Para la mayoría de las aplicaciones de IoT de bajo orden, los filtros de Butterworth y Chebyshev de primer orden proporcionan un buen equilibrio. El diseño de filtro se realiza a menudo en el dominio de tiempo continuo utilizando tablas de prototipos normalizadas, luego se transforma en el dominio de z discreto a tiempo mediante el método de transformación bilineal (con pre-encadenamiento) o de invariancia de impulso.

Parámetros de diseño clave

  • Frecuencia de Cutoff (fc): La frecuencia en la que la respuesta de magnitud del filtro baja en 3 dB (para baja velocidad/alta paso). Debe ser elegida en relación con la frecuencia de muestreo (fs). Para los filtros digitales, la frecuencia normalizada oscila entre 0 y 0,5 veces la tasa de muestreo (límite de nicho).
  • Orden de Filter (N): Para filtros de baja orden, N es 1 o 2. Los pedidos superiores pueden realizarse en cascada varias secciones biquad, pero el artículo se centra en diseños de una sola sección.
  • Passband Ripple and Stopband Attenuation: Critical for Chebyshev and Elliptic filters. Un onple común de banda de paso de 0.5 dB es aceptable en muchas aplicaciones de sensores IoT. La atenuación de banda de 20–40 dB es a menudo suficiente para eliminar las fuentes de ruido típicas.
  • Stability Margins: Con un redondeo aritmético de punto fijo, el coeficiente puede empujar polos fuera del círculo de la unidad. Elija representaciones de coeficiente con suficientes bits (por ejemplo, formato Q15 o Q31) y verificar ubicaciones de polos después de la cuartificación.

Comercios en diseño de bajo orden

El filtro de la línea de alta presión de la línea de alta presión (slope) es la banda de transición gradual (slope) y más amplia, en comparación con los filtros de mayor orden. Un filtro de baja velocidad de primer orden atenua sólo 20 dB por decenio, mientras que un filtro de segundo orden proporciona 40 dB por decenio.

El proceso de diseño

El diseño de un filtro IIR de bajo orden para un dispositivo IoT implica varios pasos sistemáticos. Ilustramos un flujo de trabajo típico utilizando un filtro de baja velocidad de segundo orden como ejemplo.

Paso 1: Definir las especificaciones

*/100 frecuencia de borde de bandas (fp), frecuencia de borde de banda de parada (fs), onda de bandas (Ap), y atenuación de banda de parada (As). Por ejemplo, podemos querer un filtro de baja velocidad con un corte de 3-dB a 10 Hz, un borde de banda de parada a 30 Hz con al menos 20 dB atenuación, y una tasa de muestreo de 100 Hz.

Paso 2: Seleccione Prototipo y Orden

Elija un tipo de filtro y encuentre el pedido requerido utilizando gráficos o fórmulas. Para un filtro Butterworth, el orden N satisfies:

En nuestro ejemplo, con As=20 dB, Ap=3 dB (en realidad la referencia es a menudo el punto 3-dB), un primer pedido Butterworth produce sólo alrededor de 7 dB a 30 Hz (20 dB/década pendiente, ratio 3:1 da ~11 dB atenuación, no suficiente).

Paso 3: Determinar los Poles de Prototipo Analógico y Cerotas

Para una segunda orden de baja velocidad de Butterworth, los polos analógicos normalizados están en s = -0.7071 ± j0.7071 (para un corte de 1 rad/s). Usar pre-encadenamiento si se diseña a través de la transformación bilineal: pre-encadenamiento de frecuencia crítica ωa = (2/T) * tan(Equipo de RENO/2), donde T = 1/f

Paso 4: Transformación bilineal a digital

Aplicar la sustitución s = (2/T) * (z-1)/(z+1). Para una función de transferencia analógica de segundo orden, la manipulación algebraica produce los coeficientes digitales. Alternativamente, utilizar fórmulas o tablas de diseño bien conocidas. Para un Butterworth biquad de baja pasada con frecuencia de corte ωc (digital), los coeficientes pueden ser calculados como sigue (forma estándar):











]
[[FLT]] [[FLT]]]] [[

Para nuestro corte de 10 Hz a 100 Hz muestreo, theta = 0.628, sin(theta)=0.588. Los números de enchufes producen coeficientes que aseguran la estabilidad. Herramientas como Analog Devices Filter Wizard] o TI FilterPro automatiza este paso.

Paso 5: Cuantizar coeficientes para el punto fijo

Los microcontroladores IoT a menudo carecen de unidades de punto flotante de hardware. Convertir coeficientes de punto flotante en representación de puntos fijos, como el formato Q15 (16 bits firmados con 15 bits fraccionados). La cuantificación introduce error de redondeo; comprobar que los coeficientes cuantificados no causan inestabilidad. Para un filtro de segundo orden, incluso la cuantificación de 16 bits es generalmente suficiente si los puntos de polos no son extremadamente cercanos al círculo de unidad.

Paso 6: Implementar la Ecuación de Diferencia

La estructura transpuesta de forma directa I o II es común para IIR de bajo orden. La forma directa II transpuesta se recomienda para reducir el ruido de cuarentena y la prevención de desbordamiento. La ecuación de diferencia para un filtro de segundo orden es:

Todas las variables deben ser escaladas adecuadamente para evitar el desbordamiento. Para el punto fijo, utilice los acumuladores aritméticos o de doble alcance si están disponibles (por ejemplo, acumuladores de 32 bits para coeficientes y datos de 16 bits). Muchos proveedores de microcontroladores proporcionan bibliotecas DSP optimizadas, como ARM CMSIS-DSP, que incluyen funciones de filtro biquad con coeficientes correctamente escalados.

Implementación en dispositivos IoT

La implementación de filtros IIR de bajo orden en microcontroladores requiere atención al diseño de memoria, la interrupción de la latencia y el consumo de energía.

Estrategias Aritméticas de Potición Fija

La mayoría de los microcontroladores ARM Cortex-M0/M4 soportan operaciones de 32 bits. Un enfoque común es almacenar coeficientes y datos como enteros de 16 bits firmados en formato Q15 (rango -1.0 a 0.9999). Multiplicaciones producen resultados de 32 bits; para un biquad, use un doble acumulador luego cambio y saturar de nuevo a 16 bits de potencia.

Minimización de la memoria y tamaño del código

Un solo biquad requiere almacenar 5 coeficientes y 2 variables estatales (para la forma directa transpuesta II). Eso es aproximadamente 7-10 palabras de 16 bits — insignificantes en cualquier MCU moderno. El bucle de filtro puede ser escrito en tres o cuatro líneas de código C. Para múltiples canales (por ejemplo, audio estéreo o multisensor), compartir los mismos coeficientes pero mantener los estados de memoria por canal.

Operación en tiempo real

Los dispositivos IoT suelen mostrar sensores a bajas velocidades (1 Hz a 1 kHz). Un filtro biquad solo consume unos pocos microsegundos de tiempo de CPU por muestra, dejando tiempo suficiente para otras tareas. Para flujos de datos continuos, implemente el filtro en una rutina de servicio de interrupción (ISR) o mediante un buffer circular DMA dedicado. Los coeficientes de filtro se pueden cambiar en función si el dispositivo necesita adaptarse a diferentes condiciones de ruido

Optimización de potencia

El consumo de energía es una preocupación principal para los nodos IoT propulsados por batería. El filtro en sí mismo contribuye muy poco a la potencia global, a menudo menos de 0,1% de la energía MCU al correr a velocidades de reloj bajas. Sin embargo, el filtro puede permitir que el MCU use tasas de muestra más bajas o dormir más entre muestras. Al eliminar el ruido antes de la detección del umbral, el dispositivo puede desencadenar menos con frecuencia.

Ventajas y compensaciones de filtros IIR de bajo orden

Ventajas

  • Usar complejidad computacional: Típicamente 5 unidades multi-add por muestra para segundo pedido, en comparación con docenas o cientos para un filtro FIR.
  • Proceso rápido: Adecuado para aplicaciones en tiempo real con altas tasas de muestreo (por ejemplo, audio hasta 48 kHz).
  • Requisitos mínimos de memoria: Sólo unas pocas variables y coeficientes estatales, no se necesita ningún búfer de grifo.
  • Facilidad de aplicación: Disponibilidad de forma leve en las bibliotecas del DSP de MCU; el código es corto y fácil de verificar.
  • Buena atenuación de la banda de parada por orden: Un IIR de segunda orden puede superar una FIR de alta orden cuando no se requiere fase lineal.

Comercio y limitaciones

  • Respuesta de fase no lineal: Los filtros IIR tienen retrasos de grupo dependientes de frecuencias, lo que puede distorsionar las formas de señal. Esto es problemático en aplicaciones como ECG o radar donde la correlación de fase importa.
  • Potentialtabil: La cuantificación de coeficiente, especialmente en el punto fijo, puede empujar polos fuera del círculo de la unidad. Debe verificar la estabilidad en el momento del diseño.
  • ]Pintura de rebote reducida: Para un orden dado, la banda de transición es más ancha que una IIN equivalente con muchos toques. Si necesita un corte muy agudo, debe cascada múltiples biquads, aumentando la complejidad.
  • No fase lineal: Los filtros FIR pueden lograr fase lineal exactamente, haciéndolos preferibles para ciertas comunicaciones de datos y procesamiento de imágenes.
  • ]La sensibilidad a la redondeo de coeficientes: Los filtros elípticos y los diseños de alta calidad sufren de grandes cambios de coeficiente debido a la cuantificación, que requieren mayor precisión (por ejemplo, de 32 bits de punto fijo o punto flotante).

A pesar de estos cambios, la mayoría de las tareas de filtrado de sensores IoT (temperatura, humedad, presión, vibración, audio simple) pueden ser adecuadamente ser atendidos por filtros IIR de baja orden bien diseñados.

Aplicaciones y ejemplos prácticos

Reducción de ruido en sensores de temperatura

Este filtro IIR de baja velocidad con un corte de 0.1 Hz (si se muestra a 1 Hz) suaviza la lectura sin añadir un lag significativo. Los coeficientes para tal filtro son extremadamente simples, a menudo un solo alfa constante donde y[n] = alfa * x[nphacontrol] +

DC Offset Removal en acelerometros

Los acelerometros utilizados en el seguimiento de la actividad o el monitoreo de vibraciones suelen tener un componente DC debido a la gravedad. Un filtro de alto paso con un corte muy bajo (por ejemplo, 0,5 Hz) puede eliminar este offset mientras pasa señales dinámicas. Un biquad de alto paso de Butterworth de segundo orden proporciona un rebote agudo para establecer rápidamente después de la inicialización. Los coeficientes se derivan del prototipo de baja-pas reemplazando s por el dominio 1/s.

Audio Pre-Procesamiento para Comandos de Voz

Los dispositivos IoT con micrófonos utilizan filtros IIR de baja orden como parte de una cadena de detección de actividad de voz (VAD). Un filtro de banda-pass (cascada de baja-pass y alta-pass) centrado en el rango de frecuencia de voz (300–3400 Hz) reduce el ruido de fondo antes de alimentarse en un detector de palabras de vela. Los filtros deben ser cuidadosamente diseñados para evitar la distorsión de fase que podría afectar la consistencia de los sonido.

Rechacción de ruido de la línea de energía

Para sensores que miden señales de bajo nivel cerca de las principales AC, es esencial un filtro de notch (band-stop) a 50/60 Hz. Un filtro de segunda orden IIR puede diseñarse con una aguja muy estrecha. La función de transferencia coloca ceros en el círculo de unidad a la frecuencia de notch. El filtro requiere coeficientes de alta precisión porque los ceros están exactamente en el círculo de unidad; la implementación de punto fijo debe manejar esto cuidadosamente, a menudo.

Conclusión

Diseño de filtros IIR de bajo orden para dispositivos IoT es un equilibrio práctico entre calidad de señal y conservación de recursos. Al seleccionar el tipo de filtro adecuado y cuantizar cuidadosamente los coeficientes, los desarrolladores pueden lograr una eliminación de ruido efectiva y la selección de frecuencias con CPU mínima y huella de memoria. La simplicidad de los filtros de primer y segundo orden los hace ideales para sensores de batería, monitores de salud utilizables y dispositivos de cua eficiente de hogar.