在Python中应用带通滤波器进行信号处理时,我遇到了一些问题。尝试了以下方法:执行“手动”框窗口,即对信号进行FFT,应用
过滤框窗口和做IFFT回到时间
域。在
使用化学信号模块中,我使用firwin2构造
过滤,然后过滤到过滤。在
此外,我在音频程序Cool Edit中做了同样的过滤,并将以上两个测试的结果进行了比较。在
可以看出(我是一个新用户,所以我不能张贴我的png图),结果从FFT和化学信号完全不同。与Cool edit的结果相比,FFT很接近,但并不完全相同。代码如下:# imports
from pylab import *
import os
import scipy.signal as signal
# load data
tr=loadtxt('tr6516.txt',skiprows=1)
sr = 500 # [samples/s]
nf = sr/2.0 # Nyquist frequence
W = 512 # Window widht for filtering
N=float(8192) # Fourier settings
Ns = len(tr[:,0]) # Total number of samples
# Create inpulse responce from the filter
fv=12.25
w =0.5
r =0.5*w
Hz=[0, fv-w-r, fv-w, fv+w, fv&