[SciPy-User] FFT Filter
Tue Sep 27 09:21:42 CDT 2011
I have looked thou the example and obviously there are something that I
simply don't get :(. Do anyone have some good references on how to
decide the input parameters to firwin2? Furthermore, when computing he
phase delay, will this differ when using a band pass filter instead of a
Sorry for very elementary questions...
Warren Weckesser skrev 2011-09-27 13:53:
> The attached script is a variation of
> http://www.scipy.org/Cookbook/FIRFilter. It uses firwin() to create a
> bandpass filter, and plots the frequency response and the results of
> applying the filter to a sample. It should be straightforward to
> modify it to use firwin2() instead, if desired.
> The script uses scipy.signal.lfilter to apply the filter, but this
> isn't the fastest way to apply a FIR filter. Take a look at an
> experiment that I did here
> http://www.scipy.org/Cookbook/ApplyFIRFilter to see a comparison of
> several way of applying a FIR filter.
> On Tue, Sep 27, 2011 at 4:47 AM, Anders Harrysson
> <firstname.lastname@example.org <mailto:email@example.com>>
> Thanks a lot for the reply. I have started to look into this and
> currently I am trying to use firwin2 to generate the filter
> coefficients according to below
> However I get strange results, when trying to filter even a very
> simple signal :(. This is probably not a scipy related question,
> but how to put the numtaps number? How is this related to the
> other inputs.
> Christophe Grimault skrev 2011-09-26 18:32:
>> Hi Anders,
>> Use : scipy.signals.lfilter(b, a, x)
>> Where x is your signal (complex or real, it doesn't matter). As a filter
>> in the Fourier domain is basically FIR filter, you only need to pass the
>> b array (the response of the filter) and set a = [1.0].
>> On Sat, 2011-09-24 at 09:33 +0200, Anders Harrysson wrote:
>>> Dear all,
>>> I am kind of new to scipy and also new to the signal processing field
>>> that this question relates to.
>>> I am trying to do a bandpass FFT filter using python. The filter shape
>>> is symmetric around 11 Hz and is defined by the parameters ff and Hz below.
>>> sr = 250 # [samples/s]
>>> nf = sr/2.0 # Nyquist frequence
>>> Ns = len(tr[:,0]) # Total number of samples
>>> N=float(8192) # Fourier settings
>>> # Fourier transform
>>> X1 = fft(x,n=int(N))
>>> X1 = fftshift(X1)
>>> F1 = arange(-N/2.0,N/2.0)/N*sr
>>> # Filter
>>> Hz = [9.5, 10, 12, 12.5]
>>> My question is now:
>>> Are ther built in functionallity for filtering in scioy and, if so, how
>>> would a similar filter looks like.
>>> Anders Harrysson
>>> SciPy-User mailing list
>>> SciPy-User@scipy.org <mailto:SciPy-User@scipy.org>
> SciPy-User mailing list
> SciPy-User@scipy.org <mailto:SciPy-User@scipy.org>
> SciPy-User mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User