[SciPy-Dev] SciPy Goal
Thu Jan 5 13:19:33 CST 2012
Travis Oliphant wrote:
> On Jan 5, 2012, at 10:00 AM, email@example.com wrote:
>> On Thu, Jan 5, 2012 at 10:32 AM, Neal Becker <firstname.lastname@example.org> wrote:
>>> Some comments on signal processing:
>>> Correct me if I'm wrong, but I think scipy signal (like matlab) implement
>>> only a
>>> general purpose filter, which is an IIR filter, single rate. Efficiency is
>>> very important in my work, so I implement many optimized variations.
>>> Most of the time, FIR filters are used. These then come in variations for
>>> single rate, interpolation, and decimation (there is also another design for
>>> rational rate conversion). Then these have variants for scalar/complex
>>> input/output, as well as complex in/out with scalar coefficients.
>>> IIR filters are seperate.
>>> FFT based FIR filters are another type, and include both complex in/out as
>>> well as scalar in/out (taking advantage of the 'two channel' trick for fft).
>> just out of curiosity: why no FFT base IIR filter?
>> It looks like a small change in the implementation, but it is slower
>> than lfilter for shorter time series so I mostly dropped fft based
> I think he is talking about filter design, correct?
The comments I made were all about efficient filter implementation, not about
About FFT-based IIR filter, I never heard of it. I was talking about the fact
that fft can be used to efficiently implement a linear convolution exactly (for
the case of convolution of a finite or short sequence - the impulse response of
the filter - with a long or infinite sequence, the overlap-add or overlap-save
techniques are used).
> lfilter can be used to implement FIR and IIR filters -- although an FIR filter
> is easily computed with convolve/correlate as well.
> FIR filter design is usually done in the FFT-domain. But, this picks the
> coefficients for the actual filtering itself done with something like convolve
> If you *do* filtering in the FFT-domain than it's usually going to be IIR.
> What are you referring to when you say "small change in the implementation"
>>> SciPy-Dev mailing list
>> SciPy-Dev mailing list
More information about the SciPy-Dev