带阻滤波器不会过滤预期频率

时间:2015-06-26 00:45:14

标签: python filter scipy

我一直在使用scipy过滤器,尝试过滤信号。在阅读完文档并通过几个例子后,我认为我得到了它,但似乎我做错了什么并且无法让它工作。

使用下面的带阻滤波器,我希望变量fy非常稳定,但我看到数据和滤波正弦波之间没有区别。

Directory
> Subfolder1
> > old.0
> > > Files1
> Subfolder2
> > old.0
> > > Files2

感谢您的帮助,

麦克

1 个答案:

答案 0 :(得分:1)

我认为你应该放弃" analog = True"从您调用scipy.signal.butter并使用默认的数字过滤器。当我使用您的数据执行此操作时,它的效果非常好。

来自docs

  

标量或长度为2的序列给出临界频率。为一个   巴特沃斯滤波器,这是增益下降的点   1 / sqrt(2)通带的值(“-3 dB点”)。 对于数字化   滤波器,Wn从0到1归一化,其中1是奈奎斯特   频率,pi弧度/样本。 (因此,Wn处于半周期/样本中。)   对于模拟滤波器,Wn是角频率(例如rad / s)。

由于您要求使用模拟滤波器,因此您不应将开始和停止频率标准化为奈奎斯特速率。这只适用于数字滤镜。

您是否有理由在此使用模拟滤波器?我总是使用数字滤镜。

另外,请考虑使用<html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> </head> <body> <ul class="nav nav-pills nav-justified"> <li role="" class="active"><a href="#">Home</a></li> <li role=""><a href="#">Profile</a></li> <li role=""><a href="#">Messages</a></li> </ul> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </body> </html>代替scipy.signal.filtfilt。参考文献:

How To apply a filter to a signal in python

https://dsp.stackexchange.com/questions/19084/applying-filter-in-scipy-signal-use-lfilter-or-filtfilt

相关问题