Filtering a TimeSeries

Much of the real-time control system of the LIGO interferometers is handled by monitoring and filtering time-series data. Additionally, in gravitational-wave analysis, the interesting frequency bands for a given search can be a sub-set of the full bandwidth of the instruments. In both cases it is required to apply time-domain filters to some data in order to extract the most useful information.

Bandpassing

The following methods of the TimeSeries provide functionality for band-passing data:

TimeSeries.lowpass(frequency[, gpass, ...]) Filter this TimeSeries with a Butterworth low-pass filter.
TimeSeries.highpass(frequency[, gpass, ...]) Filter this TimeSeries with a Butterworth high-pass filter.
TimeSeries.bandpass(flow, fhigh[, gpass, ...]) Filter this TimeSeries by applying low- and high-pass filters.

General filtering

While the above methods provide an easy way to remove unwanted frequency information, the zpk() and, more generally, filter() methods provide a way to apply a general filters to any TimeSeries data:

TimeSeries.zpk(zeros, poles, gain[, ...]) Filter this TimeSeries by applying a zero-pole-gain filter
TimeSeries.filter(*filt) Apply the given filter to this TimeSeries.

Examples

See the following examples for usage of the above functions: