IIR数字滤波器的设计流程图 联系客服

发布时间 : 星期一 文章IIR数字滤波器的设计流程图更新完毕开始阅读daf1909c68eae009581b6bd97f1922791788be88

(2) 根据转换后的性能指标,通过滤波器结束选择函数,来确定滤波器的最小阶数n和固有频率wn;

(3) 由最小阶数n得到低通滤波器原型;

(4) 由固有频率wn把模拟低通滤波器转换为模拟低通、高通、带通或带阻滤波器; (5) 运用双线性变换法把模拟滤波器转换成数字滤波器。

程序源代码和运行结果

3.12.1低通滤波器 clear

wp=100*2*pi; %通带截止频率 ws=150*2*pi; %阻带截止频率 rp=; %通带衰减 rs=30; %阻带衰减 fs=2000; %采样频率

[n,wc]=cheb2ord(wp,ws,rp,rs,'s') %计算阶数,与截止频率 [z,p,k]=cheb2ap(n,rs); %建立切比雪夫2型数字滤波器 %零极点转换到空间状态表达式

[a,b,c,d]=zp2ss(z,p,k); %零极点转换到空间状态表达式 [at1,bt1,ct1,dt1]=lp2lp(a,b,c,d,wc); %低通转换到高通 [at2,bt2,ct2,dt2]=bilinear(at1,bt1,ct1,dt1,fs); %双线性变换 [num,den]=ss2tf(at2,bt2,ct2,dt2) %空间状态表达式转换到传递函数 %绘制幅频、相频图(频率响应特性图) figure(1);

freqz(num,den,128,fs); grid on;

title('幅频、相频图'); %绘制脉冲响应特性图 figure(2);

impz(num,den,128,fs); grid;

title('脉冲响应特性图 ') %滤波检验 figure(3); t=0::;

x=sin(2*pi*50*t)+sin(2*pi*200*t); y=filter(num,den,x); plot(t,x,':',t,y,'-'); grid;

legend('X Signal','Y Signal'); title('滤波检验') 运行结果: n =6 wc = num =

den =

图3-2 图3-3 图3-4

3.12.2高通滤波器

wp=100*2*pi; %通带截止频率 ws=150*2*pi; %阻带截止频率 rp=; %通带衰减 rs=30; %阻带衰减 fs=2000; %采样频率

[n,wc]=cheb2ord(wp,ws,rp,rs,'s'); %计算阶数,与截止频率 [z,p,k]=cheb2ap(n,rs); %建立切比雪夫2型数字滤波器 [a,b,c,d]=zp2ss(z,p,k); %零极点转换到空间状态表达式 [at1,bt1,ct1,dt1]=lp2hp(a,b,c,d,wc) %低通转换到高通 [at2,bt2,ct2,dt2]=bilinear(at1,bt1,ct1,dt1,fs) %双线性变换 [num,den]=ss2tf(at2,bt2,ct2,dt2); %空间状态表达式转换到传递函数 %绘制幅频、相频图(频率响应特性图) figure(1);

freqz(num,den,128,fs); grid on;

title('幅频、相频图')

%绘制脉冲响应特性图 figure(2);

impz(num,den,128,fs); grid;

title('脉冲响应特性图 ') %滤波检验 figure(3); t=0::;

x=sin(2*pi*50*t)+sin(2*pi*200*t); y=filter(num,den,x); plot(t,x,':',t,y,'-');

legend('X Signal','Y Signal'); title('滤波检验') 运行结果: n =6 wc =

num = den =

图3-5 图3-6 图3-7

3.12.3带通滤波器