如何指定数字滤波器的阶数

如何指定数字滤波器的阶数,第1张

%设计数字巴特沃斯带通滤波器,

%通带025pi rad<w<045pi

%通带最大衰减为3dB,阻带最小衰减为40dB

%阻带范围0<w<015pi,055pi<w<pi

clc;

clear all;

close all;

wp=[025,045];

ws=[015,055];

rp=3;

rs=40;

[N,wc]=buttord(wp,ws,rp,rs);

[B,A]=butter(N,wc);//这里的N是最低阶数,我想将N改变一下就可以了吧

plot(linspace(0,pi,1024),20log10(abs(freqz(B,A,1024))))

grid on;

xlabel('\\omega(0,pi)');

ylabel('dB');

title('滤波器衰减函数曲线图');

模拟频率和数字频率转换关系:

w=2pif/Fs;

我想这样也行吧:

wc=wp(10^(01ap)-1)^(-1/(2N))

wc为中心频率;

wp为通带截止频率

ap为通带衰减;

N为滤波器阶数

再用[B,A]=butter(N,wc)

简单的理解:滤波器的阶数,就是滤波几次的意思,一阶,就是对谐波过滤一次,两阶,就是对谐波过滤两次,如此往下推就好了……
滤波器的阶数越高,滤波效果越好,但是,成本也会成倍的增加,因此,选择合适的阶数是非常重要的。

对于低通滤波器,一般用的都是butterworth的,以保证通带内平坦,阶数的计算方法公式编辑器编辑的公式复制不了,matlab语言了
n=log10(10^(01As-1))/log10(ws);%最小阶数
ws是止带归一化频率
As是止带衰减
其实没必要自己算设置minimum order就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12895607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存