Introducción a los Filtros

Los filtros son unas de las herramientas más usadas en la tecnología moderna y encontrados en numerosas aplicaciones en la robótica tanto en procesamiento de señal y controles. Comprender la noción de un filtro es crucial para entender la utilidad de varios tipos de filtro proporcionados por WPILib.

¿Qué es un filtro?

Nota

Por el bien de este artículo, asumiremos que toda la información es una serie de datos temporales unidimensionales. Obviamente, los conceptos involucrados son más generales que esto – pero una discusión más a detalle y rigurosa de señales y filtrado esta fuera del alcance de esta documentación.

Entonces, ¿qué es exactamente un filtro? Simple, un filtro es un mapeo de flujo de entradas a un flujo de salidas. Eso es decir, el valor de salida de un filtro (en principio) puede depender no solo del valor actual de la entrada, sino también en todo el conjunto de valores pasados y futuros (por supuesto, en práctica, los filtros provistos por WPILib son implementables en transmisión de datos en tiempo real; por consiguiente, solamente pueden depender de valores pasados de la entrada, y no en valores futuros). Esto es un concepto importante, debido a que generalmente usamos los filtros para remover o mitigar dinámicas no deseadas en la señal. Cuando filtramos una señal, estamos interesados en modificar como cambia la señal conforme al tiempo.

Efectos Usando un Filtro

Reducción de Ruido

Uno de los usos más usuales de los filtros es para la reducción de ruido. Un filtro que reduce el ruido se llama filtro paso bajo (debido a que permite que frecuencias bajas «pasen a través» de él mientras bloquea las frecuencias altas). La mayoría de los filtros incluidos en WPILib son filtros efectivos de bajo paso.

Limitación de velocidad

Los filtros también se usan comúnmente para reducir la velocidad a la cual una señal cambia. Esto está estrechamente relacionado con la reducción de ruido, y los filtros que reducen el ruido también tienden a limitar la velocidad de cambia de su salida.

Detección de Borde

La contraparte del filtro paso bajo es el filtro paso alto, el cual solamente permite que altas frecuencias pasen a través hacia la salida. Los filtros de paso alto suelen ser complicados para ser intuitivos, pero un uso común para estos filtros es la detección de bordes - debido a que los filtros paso alto reflejarán cambios repentinos en la entrada mientras ignoran los cambios más lentos o sutiles, estos filtros son útiles para determinar la ubicación de discontinuidades agudas en la señal.

Retraso de Fase

Un efecto negativo inevitable de un filtro paso bajo en tiempo real es la generación del «retraso de fase». Como, se mencionó antes, un filtro en tiempo real depende solamente en valores pasados de la señal (no podemos viajar en el tiempo para obtener futuros valores), al valor filtrado a veces le toma un tiempo en «alcanzar» cuando la entrada comience a cambiar. A mayor reducción del ruido, se genera un mayor retraso. Esto es, en muchos sentidos, la compensación del filtrado en tiempo real y deberá ser el factor principal de su diseño del filtro.

De manera interesante, los filtros paso alto generan un adelanto de fase, opuesto al retraso de fase ya que exacerban los cambios locales en el valor de entrada.