[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Low pass filter



Mike wrote:
> 
> Hi,
> 
> I was wondering if anyone could point me in the direction of a library
> that produces a lowpass filter to filter high frequency data from an
> hourly time series?

Have you tried DIGITAL_FILTER? I'm using PV-WAVE, but looking in
the .pro source for it, it looks like something common to both
IDL and PV-WAVE. It produces a kernel of convolution coefficients,
and it is tune-able, allowing you to vary the low and high
frequency cutoffs of the filter, as a fraction of the Nyquist
frequency.

Once it has spit out the kernel coefficients, you just use
them in CONVOL to filter your signal, a la:

flow = 0.20 ; low frequency cutoff as fraction of Nyquist frequency
fhigh = 0.85 ; high frequency cutoff as fraction of Nyquist frequency
gibbs = 50 ; approx size in dB of gibbs oscillations (a good guess will
work here)
order = 20 ; number of terms in filter

kernel = DIGITAL_FILTER(flow, fhigh, gibbs, order)
filtered = CONVOL(signal, kernel)

Hope this helps,

M. Williams
Resource Engineering, Inc.