- 35
- 0
- 约3.03千字
- 约 14页
- 2016-12-15 发布于重庆
- 举报
实验八 IIR数字滤波器的设计 按频率选择特性不同,滤波器可以分为低通、高通、带通、带阻等类型。 在MATLAB中,经典设计IIR数字滤波器的步骤: (1)根据给定的性能指标和方法,首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计指标; (2)估计模拟滤波器最小阶数和边界频率,可利用MATLAB工具函数buttord,cheb1ord, cheb2ord等。 格式:[N,Wc]=buttord(wp,ws,Rp,Rs,’s’) wp, ws,Wc均以弧度/秒为单位。 (3)设计模拟低通滤波器原型,利用函数buttap,cheb1ap等。 格式:[z,p,k]=buttap(N) 功能:返回N阶归一化原型Butterworth模拟滤波器的零极点增益模型。利用zp2tf函数可求出滤波器的传递函数模型。[B,A]=zp2tf[z,p,k] (4)由模拟低通原型经频率变换得到模拟滤波器(低通、高通,带通、带阻),函数为lp2lp, lp2hp, lp2bp, lp2bs. 格式:[Bt,At]=lp2lp(B,A,Wc) (5) 将模拟滤波器离散化得到IIR数字滤波器,函数为bilinear, impinvar. 格式:[num2,den2]=bilinear(Bt,At,fs) 例:试设计一个巴特沃斯数字带通滤波器,要求性能指标为:通带内的衰减≥-3dB, 0.45π ≤ w≤0.55π ,阻带内的衰减≤-15dB, 0≤ w≤0.3π , 0.7π ≤ w≤π ,求此滤波器的系统函数和频率特性。 wp1=0.45*pi;wp2=0.55*pi;Rp=3;T=1 ws1=0.3*pi;ws2=0.7*pi;Rs=15;%数字滤波器指标 Wp1=2/T*tan(wp1/2);Wp2=2/T*tan(wp2/2); Ws1=2/T*tan(ws1/2);Ws2=2/T*tan(ws2/2);%模拟带通滤波器指标 Wpp1=(Wp1*Wp1-Wp1*Wp2)/Wp1/(Wp2-Wp1) Wpp2=(Wp2*Wp2-Wp1*Wp2)/Wp2/(Wp2-Wp1) Wp=max(abs(Wpp1),abs(Wpp2)) Wss1=(Ws1*Ws1-Wp1*Wp2)/Ws1/(Wp2-Wp1) Wss2=(Ws2*Ws2-Wp1*Wp2)/Ws2/(Wp2-Wp1) Ws=min(abs(Wss1),abs(Wss2))%模拟低通滤波器的截止频率 [N,Wc]=buttord(Wp,Ws,Rp,Rs,s);%确定模拟滤波器的最小阶数和截止频率 [z,p,k]=buttap(N);%模拟原型低通滤波器零极点增益型 [ba,aa]=zp2tf(z,p,k) Wo=sqrt(Wp1*Wp2);B=Wp2-Wp1; [b,a]=lp2bp(ba,aa,Wo,B)%模拟原型低通转化为带通滤波器 [bz,az]=bilinear(b,a,1/T)%采用双线性变换转化为数字滤波器 freqz(bz,az,512) 直接设计数字滤波器的MATLAB函数: [N,wn]=buttord(wp,ws,Rp,Rs) %数字频率采用标准化频率,取值范围为0~1之间,标准化频率1对应的数字频率为π,对应的模拟频率为采样频率的一半。设计带通滤波器时,wp=[wp1,wp2]; ws=[ws1,ws2] [b,a]=butter(N,wn) [b,a]=butter(N,wn,’ftype’) %N为滤波器的阶数,wn为滤波器的截止频率(0~1),“ftype”为滤波器的类型:‘high’为高通,‘stop’为带阻,截止频率为wn=[w1,w2];带通滤波时, wn=[w1,w2];缺省时为低通和带通滤波器 1. wp=0.2*pi; %digital Passband freq in rad ws=0.3*pi; %digital Stopband freq in rad Fs=1000; wp1=2*Fs*tan(wp/2);ws1=2*Fs*tan(ws/2); Rp=1;Rs=15; [N,Wn]=buttord(wp1,ws1,Rp,Rs,s); %返回模拟滤波器的最小阶数和截止频率 [Z,P,K]=buttap(N); %模拟低通滤波器原型 [Bap,Aap]=zp2tf(Z,P,K); [b,a]=lp2lp(Bap,Aap,Wn); [bz,az]=bilinear(b,a,Fs); [H,W]=freqz(bz,az); plot(W,abs(H)); grid xlabel(频率/弧度) ylabel(频率响应幅度) [H,W]=f
原创力文档

文档评论(0)