matlab怎么求滤波器的通带截止频率和阻带截止频率?

如题所述

WP是通带截止频率,WS是阻带截止频率。需要除以采样率的一半进行归一化,即变为(0-1)。

比如设计一个低通滤波器,wp=500,ws=600,就是说500hz以下的频率可以通过,600以上的被滤除,500-600hz反映在频谱图上是一个过度的波段,因为不可能是完全垂直陡峭的。wp=500HZ,ws=600HZ,带入到buttord函数前,要进行频率和弧度的转换。

例如:

wp=500HZ,ws=600HZ转换为弧度就是wp=2*pi*500/fs,ws=2*pi*500/fs,然后把其带入buttord函数中,即buttord(wp/pi,ws/pi,Rp,Rs)。

扩展资料:

注意事项

butter函数是求Butterworth数字滤波器的系数,在求出系数后对信号进行滤波时用filter函数。

设计滤波器就是设计滤波器系数[B,A]。

[B,A] = BUTTER(N,Wn,'high') 用来设计高通滤波器

[B,A] = BUTTER(N,Wn,'low') designs a lowpass filter.低通滤波器

[B,A] = BUTTER(N,Wn)带通滤波器

N是滤波器的阶数,大概取个整数就可以了。Wn的确定跟采样频率Fs有关。对于原始信号x。

比如说你的采样频率Fs=1000Hz,设计一个8阶、通带为100-200Hz的带通滤波器:

[b,a]=butter(8,[0.2 0.4])=butter(8,[100/(1000/2) 200/(1000/2) ])

这里Fa=Fs/2,Fa是分析频率,得到滤波器系数后,就可以直接用了。

y=filter(B,A,x)

温馨提示:答案为网友推荐,仅供参考
相似回答