[SciPy-user] filtering without phase shift

Anne Archibald peridot.faceted@gmail....
Wed Jul 25 10:36:16 CDT 2007

On 24/07/07, Stef Mientki <s.mientki@ru.nl> wrote:
> Bryan Cole wrote:
> > The easiest way to do non-phase-shifted filtering is to use FFTs i.e.
> >
> > FFT -> Low Pass -> iFFT
> >
> > The only reason to move to time-domain filters is if you must do
> > filtering in real-time where the complete dataset is (yet) unknown and
> > you must obey the laws of causality.
> >
> > Using a frequency domain filter, you can have whatever cutoff you like.
> >
> I'm a bit rusty, but isn't there a real danger by filtering in the
> frequency domain,
> creating a rectangle cutoff in the frequency domain,
> leads to an infinite ringing signal in the time-domain.

There is a concern with ringing if you just use a brick-wall cutoff
(though often with an FFT you have so much frequency resolution the
ringing isn't actually a problem). The easiest way to do this is to
use a softer edge - there are standard filter shapes (Butterworth and
so on) which will minimize ringing, but any relatively smooth falloff
will help.

It sounds like this is not quite your issue, but if what you need is a
filter that preserves peak height, Kalman filtering is what you need.


More information about the SciPy-user mailing list