Anders,<br><br>The attached script is a variation of <a href="http://www.scipy.org/Cookbook/FIRFilter">http://www.scipy.org/Cookbook/FIRFilter</a>.  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.<br>

<br>The script uses scipy.signal.lfilter to apply the filter, but this isn&#39;t the fastest way to apply a FIR filter.  Take a look at an experiment that I did here <a href="http://www.scipy.org/Cookbook/ApplyFIRFilter">http://www.scipy.org/Cookbook/ApplyFIRFilter</a> to see a comparison of several way of applying a FIR filter.<br>

<br>Regards,<br><br>Warren<br><br><br><div class="gmail_quote">On Tue, Sep 27, 2011 at 4:47 AM, Anders Harrysson <span dir="ltr">&lt;<a href="mailto:anders.harrysson@fem4fun.com">anders.harrysson@fem4fun.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    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<br>
    <br>
    b=signal.firwin2(512,freq,gain,nfreqs=N,nyq=nf)
    <p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">X2=signal.lfilter(b,[1.0],y)</p>
    <br>
    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.<br>
    <br>
    Regards,<br>
    Anders  <span style="color:rgb(0, 0, 0);font-family:sans-serif;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:20px;text-align:justify;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255, 255, 255)"><b></b><span> </span></span><br>


    <br>
    Christophe Grimault skrev 2011-09-26 18:32:
    <div><div></div><div class="h5"><blockquote type="cite">
      <pre>Hi Anders,

Use : scipy.signals.lfilter(b, a, x)

Where x is your signal (complex or real, it doesn&#39;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].

Chris

On Sat, 2011-09-24 at 09:33 +0200, Anders Harrysson wrote:
</pre>
      <blockquote type="cite">
        <pre>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.

x=loadtxt(&#39;file&#39;)

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
ff=[0,1,1,0]
Hz = [9.5, 10, 12, 12.5]
k1=interp(-F1,Hz,ff)+interp(F1,Hz,ff)
X1_f=X1*k1
X1_f=ifftshift(X1_f)
x1_f=ifft(X1_f,n=int(N))

My question is now:
Are ther built in functionallity for filtering in scioy and, if so, how 
would a similar filter looks like.

Regards,
Anders Harrysson
_______________________________________________
SciPy-User mailing list
<a href="mailto:SciPy-User@scipy.org" target="_blank">SciPy-User@scipy.org</a>
<a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a>
</pre>
      </blockquote>
      <pre></pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@scipy.org">SciPy-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
<br></blockquote></div><br>