On Thu, Jan 5, 2012 at 11:14 AM, Travis Oliphant <travis@continuum.io> 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?
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"
maybe I'm interpreting things wrongly since I'm not so familiar with the signal processing terminology as far as I understand fftconvolve(in1, in2) applies a FIR filter in2 to in1, however it is possible to divide by the fft of an in3, that would have both IIR filter terms as in lfilter. (I tried out different versions of fft based time series analysis in the statsmodels sandbox.) I never looked very closely at filter design itself, because that is very different from the estimation procedures we use in time series analysis. Josef
-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
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-dev