在Python中应用带通Butterworth滤波器时遇到问题

时间:2018-07-18 18:07:59

标签: python matlab scipy bandpass-filter butterworth

嗨。我已经在matlab中为音频信号实现了该带通滤波器,并且可以按预期工作。现在,我尝试在Python中实现相同的功能,但是并没有产生预期的结果...(只是丢弃了整个信号)。 这是Matlab代码:

[f,fs] = audioread('abc.wav');
n=6; %order
beginFreq = (300/(fs/2));
endFreq = (2300/(fs/2));
[b,a] = butter(n,[beginFreq,endFreq],'bandpass');    
%filter the signal 
filtered = filter(b,a,signal);

这是Python代码(使用scipy.signal)

[originalSignal, sampleRate] = sf.read('abc.wav')
lower = (300/(sampleRate/2))
higher = (2300/(sampleRate/2))
n=6 #order
[b, a] = signal.butter(n, [lower, higher], 'bandpass')
filtered = signal.lfilter(b, a, originalSignal)
plt.plot(originalSignal, 'b', filtered,'r')

任何帮助将不胜感激。谢谢。Filter results

0 个答案:

没有答案