我一直在使用scipy过滤器,尝试过滤信号。在阅读完文档并通过几个例子后,我认为我得到了它,但似乎我做错了什么并且无法让它工作。
使用下面的带阻滤波器,我希望变量fy非常稳定,但我看到数据和滤波正弦波之间没有区别。
Directory
> Subfolder1
> > old.0
> > > Files1
> Subfolder2
> > old.0
> > > Files2
感谢您的帮助,
麦克
答案 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
。参考文献: