La librería Single EMA Filter implementa un filtro exponencial. La librería permite realizar filtrados de low pass y high pass. La clase Single EMA Filter emplea templates para permitir funcionar con distintos tipos (int, long, float,…).
Para más información consultar la entrada Filtro paso bajo y paso alto exponencial (EMA) en Arduino.
Manual de uso
Constructor
El filtro Single EMA se instancia a través de su constructor que recibe el parámetro Alpha del filtro como único valor.
SingleEMAFilter<int> singleEMAFilter(const size_t alpha);
Usar filtro
// Añadir un nuevo valor al filtro y devolver el valor filtrado Low Pass
singleEMAFilter.AddValue(value);
//Obtiene el ultimo valor filtrado Low Pass (el mismo que el devuelto al añadir el valor al filtro)
singleEMAFilter.GetLowPass();
//Obtiene el ultimo valor filtrado High Pass
singleEMAFilter.GetHighPass();
Ejemplos
La librería Single EMA Filter incluye los siguientes ejemplos para ilustrar su uso.
- SingleEMAFilterInt: Ejemplo de filtrado para variables integer.
- SingleEMAFilterFloat: Ejemplo de filtrado para variables float.
Instalación
- Descargar la última versión desde GitHub
- Descomprimir el archivo
- Copiar en tu carpeta de librerías (normalmente Mis Documentos\Arduino\libraries)
- Relanzar el IDE de Arduino