Table of Contents

Class HighPass

Namespace
TimeSeriesAnalysis
Assembly
TimeSeriesAnalysis.dll

A high-pass recursive time-series 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.

LowPass BandPass MovingAvg
public class HighPass
Inheritance
HighPass
Inherited Members

Constructors

HighPass(double, double)

Constructor

public HighPass(double TimeBase_s, double nanValue = -9999)

Parameters

TimeBase_s double

time base/sampling time in seconds of data to be fed filter

nanValue double

value of input signal to be ignored/treated as NaN

Methods

Filter(double, double, int, bool)

Adds a single data point to the filter

public double Filter(double signal, double FilterTc_s, int order = 1, bool doReset = false)

Parameters

signal double

data point

FilterTc_s double

filter time constant in seconds

order int

filter order, eitehr 1 or 2 is supported

doReset bool

usually false, setting to true causes filter to reset to the value of signal

Returns

double

Filter(double[], double, int)

Filter an entire time-series in one command

public double[] Filter(double[] signal, double FilterTc_s, int order = 1)

Parameters

signal double[]

the vector of the entire time-series to be filtered

FilterTc_s double

filter time constant

order int

filter order, either 1 or 2

Returns

double[]

a vector of the filtered time-series