当前位置:   article > 正文

巴特沃斯滤波器python_python – 如何使用Scipy.signal.butter实现带通Butterworth滤波器...

scipy.signal.butter

您可以跳过使用buttord,而只是选择过滤器的顺序,并查看它是否符合您的过滤条件。为了产生带通滤波器的滤波器系数,给予滤波器阶数,截止频率Wn = [低,高](表示为奈奎斯特频率的一部分,是采样频率的一半)和频带类型btype =“band”。

这里是一个脚本,定义了一些方便的功能,使用一个巴特沃斯带通滤波器。当作为脚本运行时,它做出两个图。一个示出了对于相同采样率和截止频率的若干滤波器阶的频率响应。另一个图显示了滤波器(阶数= 6)对采样时间序列的影响。

from scipy.signal import butter, lfilter

def butter_bandpass(lowcut, highcut, fs, order=5):

nyq = 0.5 * fs

low = lowcut / nyq

high = highcut / nyq

b, a = butter(order, [low, high], btype='band')

return b, a

def butter_bandpass_filter(data, lowcut, highcut, fs, order=5):

b, a = butter_bandpass(lowcut, highcut, fs, order=order)

y = lfilter(b, a, data)

return y

if __name__ == "__main__":

import numpy as np

import matplotlib.pyplot as plt

from scipy.signal import freqz

# Sample rate and de

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

闽ICP备14008679号