Skip to content
forked from tttapa/Filters

An Arduino finite impulse response and infinite impulse response filter library.

License

Notifications You must be signed in to change notification settings

YChuan1115/Filters

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filters

An Arduino finite impulse response and infinite impulse response filter library.

Digital filters

This library implements digital finite impulse response filters (FIR) and infinite impulse response filters (IIR). 32-bit floating point arithmetic is used.

The difference equation for FIR filters is given by
FIR difference equation
To initialize it in code, you can use:

const float b_coefficients[] = { b_0, b_1, b_2, ... , b_N };
FIRFilter fir(b_coefficients);

The difference equation for FIR filters is given by
IIR difference equation

const float b_coefficients[] = { b_0, b_1, b_2, ... , b_P };
const float a_coefficients[] = { a_0, a_1, a_2, ... , a_Q };
IIRFilter iir(b_coefficients, a_coefficients);

Usage

The filter method takes the new (raw) value as an intput, and outputs the new (filtered) value.

float raw_value = getRawValue();
float filtered_value = fir.filter(raw_value);

You can use multiple filters on the input.

float filtered_value = fir.filter(iir.filter(raw_value));

About

An Arduino finite impulse response and infinite impulse response filter library.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%