Simple Moving Median (SMM) Filter
The SMMFilter
class is used to create a simple moving median filter in order to remove noise
from sensor data. The SMM Filter is better for removing outliers from the data set.
Creating an SMM Filter
The constructor for SMMFilter
contains one parameter: readingCount
. This parameter determines how many data readings
are saved for calculating the median. A higher value of readingCount
will allow the filter to remove longer outliers, and a lower
value of readingCount
will result in a more responsive filter.
//Create a SMM filter for data with longer outliers
LouLib::Filters::SMMFilter smoothFilter(20);
//Create a SMM filter for data where responsiveness is more important
LouLib::Filters::SMMFilter responsiveFilter(5);
Using the SMM Filter
The SMMFilter
can be used by calling the addReading
and getOutput
methods:
//Create a new SMA Filter
LouLib::Filters::SMMFilter filter(10);
while(true){
//Get raw data from sensor
double rawData = sensor.getReading();
//Filter the data
filter.addReading(rawData);
double filteredData = filter.getOutput();
}
After running the above code, filteredData
should contain the data after being filtered by the SMM Filter.