当前位置:   article > 正文

python滤波器 lfilter和filtfilt 对比与应用 基于Butterworth Filter_filtfilt和lfilter

filtfilt和lfilter

Code

# initial filter param  
def init_filter(self, order, cutoff, fs):
	wn = 2.0*cutoff/fs
	self._b, self._a = sig.butter(order, wn, 'lowpass', analog = False)
	self._dss = sig.lfilter_zi(self._b, self._a)

def lfilter_filter(self, f_x, f_y, f_z):

    f = [f_x, f_y, f_z]
    res = [0,0,0]

    for i in range (0,3):
        res[i], self._dss[i] = sig.lfilter(self._b, self._a, [f[i]], zi=self._dss[i])

    return res[0][0], res[1][0], res[2][0]    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Plot

init_filter(order=3, cutoff=4, fs=100)
在这里插入图片描述
init_filter(order=3, cutoff=6, fs=100)
在这里插入图片描述

Ref

一些文字:在scipy.signal中应用过滤器:使用lfilter还是filtfilt?
一些代码:scipy中 filtfilt和lfilter 区别

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/78303
推荐阅读
相关标签
  

闽ICP备14008679号