参考https://blog.csdn.net/baidu_38804282/article/details/78288206
butter函数是求Butterworth数字滤波器的系数,在求出系数后对信号进行滤波时用filter函数。设计滤波器就是设计滤波器系数[B,A]。
[b,a]=butter(n,Wn),根据阶数n和归一化截止频率Wn计算ButterWorth滤波器分子分母系数(b为分子系数的矢量形式,a为分母系数的矢量形式)。
[B,A] = BUTTER(N,Wn,‘high’) 高通滤波器
[B,A] = BUTTER(N,Wn,‘low’) 低通滤波器
[B,A] = BUTTER(N,Wn,‘stop’) 带阻滤波器 Wn = [W1 W2].
[B,A] = BUTTER(N,Wn) 带通滤波器
其中Wn是归一化频率,具体计算方法是(2*截止频率)/采样频率(也就是除以fs/2)。
当设计低通和高通时,Wn是一个值,表示截止频率;
当设计带通和带阻时,Wn是一个二个元素的数组,表示通带或阻带的上下截止频率。频率的归一化是对fs/2进行归一。
对于原始信号x。
比如说你的采样频率fs=1000Hz,设计一个8阶、通带为fc1=100,fc2=200Hz的带通滤波器:
[b,a]=butter(8,[0.2 0.4])=butter(8,fc1/fa fc2/fa])
这里fa=fs/2,fa是分析频率
得到滤波器系数后,就可以直接用了。
y=filter(B,A,x)
python 中的butter函数
最新推荐文章于 2024-05-17 03:42:24 发布