Package Filters
Class FastIIRFilter
java.lang.Object
Filters.FastIIRFilter
- All Implemented Interfaces:
Filter
This has the same functionality as IirfFilterm. It still works on a series of biquad pairs, the
difference being that all the biquad pairs are merged into a single history and a single
loop through the filter coefficients. This is more confusing to read, but it runs a fair
bit quicker than having to call into multiple FilterPair objects and keeping separate history
for each pair.
- Author:
- Doug Gillespie
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Gets the delay of the filter - rarely used, but can be important for some processing tasks.void
Calculates the poles and zeros for the filter and sets up any memory buffers required during real time operation.double
runFilter
(double aVal) Runs the filter on a single data valuevoid
runFilter
(double[] inputData) Runs the filter on an array of datavoid
runFilter
(double[] inputData, double[] outputData) Runs the filter on an array of data
-
Constructor Details
-
FastIIRFilter
-
-
Method Details
-
prepareFilter
public void prepareFilter()Description copied from interface:Filter
Calculates the poles and zeros for the filter and sets up any memory buffers required during real time operation.- Specified by:
prepareFilter
in interfaceFilter
-
runFilter
public void runFilter(double[] inputData) Description copied from interface:Filter
Runs the filter on an array of dataNew values overwrite the old values in the array.
-
runFilter
public void runFilter(double[] inputData, double[] outputData) Description copied from interface:Filter
Runs the filter on an array of dataNew values write into the output data array.
-
runFilter
public double runFilter(double aVal) Description copied from interface:Filter
Runs the filter on a single data value -
getFilterDelay
public int getFilterDelay()Description copied from interface:Filter
Gets the delay of the filter - rarely used, but can be important for some processing tasks. For an IIRF filter, this would be half the number of poles, for a moving average or median filter it would be half the filter length.- Specified by:
getFilterDelay
in interfaceFilter
- Returns:
- filter delay in samples.
-