Class BandPass
- Namespace
- TimeSeriesAnalysis
- Assembly
- TimeSeriesAnalysis.dll
Numerical band-pass filter based on LowPass
This filter is in a recursive(feedback) IIR form that is simple to implement, has few coefficients,
requires litte memory and computation. This filter is causal, meaning that
for calculating the filtered value at time k it does not use future values such as k+1, but
this is at the expense of introducing a time-shift/phase-shift.
public class BandPass
- Inheritance
-
BandPass
- Inherited Members
Constructors
BandPass(double, double)
public BandPass(double TimeBase_s, double nanValue = -9999)
Parameters
Methods
Filter(double, double, double, int, bool)
Adds a single data point to the filter
public double Filter(double signal, double lpFilterTc_s, double hpFilterTc_s, int order = 1, bool doReset = false)
Parameters
signaldoubledata point
lpFilterTc_sdoublelow-passfilter time constant in seconds
hpFilterTc_sdoublehigh-passfilter time constant in seconds
orderintfilter order, either 1 or 2 is supported
doResetboolusually false, setting to true causes filter to reset to the value of signal
Returns
Filter(double[], double, double, int)
Filter an entire time-series in one command
public double[] Filter(double[] signal, double lpFilterTc_s, double hpFilterTc_s, int order = 1)
Parameters
signaldouble[]the vector of the entire time-series to be filtered
lpFilterTc_sdoublefilter time constant
hpFilterTc_sdoublefilter time constant
orderintfilter order, either 1 or 2
Returns
- double[]
a vector of the filtered time-series