[SciPy-Dev] SciPy Goal

Neal Becker ndbecker2@gmail....
Thu Jan 5 13:19:33 CST 2012


Travis Oliphant wrote:

> 
> On Jan 5, 2012, at 10:00 AM, josef.pktd@gmail.com wrote:
> 
>> On Thu, Jan 5, 2012 at 10:32 AM, Neal Becker <ndbecker2@gmail.com> 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
>> filtering.
> 
> I think he is talking about filter design, correct?
> 

The comments I made were all about efficient filter implementation, not about 
filter design.

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"
> 
> -Travis
> 
> 
> 
> 
> 
>> 
>> Josef
>> 
>> 
>>> 
>>> _______________________________________________
>>> SciPy-Dev mailing list
>>> SciPy-Dev@scipy.org
>>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev




More information about the SciPy-Dev mailing list