如何指定数字滤波器的阶数
%设计数字巴特沃斯带通滤波器,
%通带0.25pi rad<w<0.45pi
%通带最大衰减为3dB,阻带最小衰减为40dB
%阻带范围0<w<0.15pi,0.55pi<w<pi
clc;
clear all;
close all;
wp=[0.25,0.45];
ws=[0.15,0.55];
rp=3;
rs=40;
[N,wc]=buttord(wp,ws,rp,rs);
[B,A]=butter(N,wc);//这里的N是最低阶数,我想将N改变一下就可以了吧
plot(linspace(0,pi,1024),20*log10(abs(freqz(B,A,1024))))
grid on;
xlabel('\\omega(0,pi)');
ylabel('dB');
title('滤波器衰减函数曲线图');
****************************************************************
模拟频率和数字频率转换关系:
w=2*pi*f/Fs;
****************************************************************
我想这样也行吧:
wc=wp*(10^(0.1*ap)-1)^(-1/(2N))
wc为中心频率;
wp为通带截止频率
ap为通带衰减;
N为滤波器阶数
再用[B,A]=butter(N,wc)
标签:阶数,滤波器,指定