【问题标题】:How to create a bandstop filter in python如何在python中创建带阻滤波器
【发布时间】:2019-01-23 05:39:13
【问题描述】:

我有一个 .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)))

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

【问题讨论】:

  • 该问题缺乏证据表明:绝对不是带阻滤波器。你能把这个记录下来吗?

标签: python signals signal-processing


【解决方案1】:

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

从页面: “陷波滤波器是一种具有窄带宽(高品质因数)的带阻滤波器。它抑制了窄频带,使频谱的其余部分几乎没有变化。”

【讨论】:

猜你喜欢
  • 2012-05-15
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 2016-10-12
  • 2021-06-14
  • 1970-01-01
  • 2020-08-24
相关资源
最近更新 更多