如何在 python 中创建带阻滤波器



我有一个.wav音频文件,我想做的是过滤某些频率。噪声为1000Hz,我想创建一个带阻滤波器来过滤1000Hz的噪声。我对python很陌生,所以我不知道我做得是否正确。我想我做错了,但我不知道使用 signal.butter() 函数的正确方法是什么。

from scipy import signal    
b,a = signal.butter(4, [999,1001], 'bandstop', sampling_rate, output='ba')  
w, h = signal.freqz(b , a)  
plt.plot(w, 20*np.log10(abs(h)))

它生成的图绝对不是带阻滤波器。

您正在寻找的是陷波滤波器。它在scipy.signal库中实现:https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.iirnotch.html

从页面:"陷波滤波器是一种带宽较窄(高质量因数)的带阻滤波器。它拒绝一个狭窄的频段,使频谱的其余部分几乎没有变化。

最新更新