经典滤波器的MATLAB仿真源程序.doc
《经典滤波器的MATLAB仿真源程序.doc》由会员分享,可在线阅读,更多相关《经典滤波器的MATLAB仿真源程序.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、%巴特沃斯低通模拟圆形滤波器clear all;n=0:0.01:2;for i=1:4switch i case 1 N=2;case 2 N=5; case 3 N=10; case 4 N=20; endz,p,k=buttap(N); %函数buttap-设计巴特沃斯低通滤波器b,a=zp2tf(z,p,k); %函数zp2tf-零极点增益模型转换为传递函数模型H,w=freqs(b,a,n); %函数freqs-求解模拟滤波器频率响应magH2=(abs(H).2; %函数abs-取模值函数 hold on %函数hold-控制是否保持当前图形plot(w,magH2) %函数p
2、lot-画二维线性图axis(0 2 0 1); %函数axis-控制坐标轴比例和外观endxlabel(w/wc);ylabel(|H(jw)|2);title(巴特沃斯低通模拟滤波器);text(0.72,0.63,N=2) %对不同曲线做标记text(0.98,0.85,N=20)grid on;2、%绘制切比雪夫I型低通模拟滤波器的平方幅频响应曲线,滤波器的阶数分别为2,4,6,8.clear all;n=0:0.01:2;for i=1:4 switch i case 1 N=2; case 2 N=4; case 3 N=6; case 4 N=8; end Rs=10; z,p,
3、k=cheb1ap(N,Rs); b,a=zp2tf(z,p,k); H,w=freqs(b,a,n); magH2=(abs(H).2; posplot=22 num2str(i); subplot(posplot) plot(w,magH2) axis(0 2 0 1); xlabel(w/wc); ylabel(H(jw)2); title(N= num2str(N); grid onend3、%切比雪夫II型低通模拟滤波器clear all; n=0:0.01:2;for i=1:2 switch i case 1 N=7; case 2 N=8; endRs=10; %阻带文波系数为
4、10dBz,p,k=cheb2ap(N,Rs); %函数cheb2-设计切比雪夫II型低通滤波器b,a=zp2tf(z,p,k);H,w=freqs(b,a,n);magH2=(abs(H).2;%输出图形posplot=12 num2str(i);subplot(posplot)plot(w,magH2)axis(0 2 0 1.1);xlabel(w/wc);ylabel(|H(jw)|2);title(N= num2str(N);end4、%运用冲击响应不变法设计一个低通Chebshev1型数字滤波器,其通带上限临界频率是3Hz,阻带临界频率是5H,采样频率是1000Hz,在通带内的最大
5、衰减为0.3dB,阻带内的最小衰减为80dB。MATLAB程序如下:clc;clear all;%把数字滤波器的频率特征转换成模拟滤波器的频率特征wp=300*2*pi;ws=400*2*pi; rp=0.3;rs=80; Fs=1000;%选择滤波器的最小阶数。N,Wn=cheb1ord(wp,ws,rp,rs,s);%创建Chebyshev1低通滤波器的原型Z,P,K=cheb1ap(N,rp);A,B,C,D=zp2ss(Z,P,K);%实现低通向低通的转换AT,BT,CT,DT=lp2lp(A,B,C,D,Wn);num1,den1=ss2tf(AT,BT,CT,DT);%运用冲击响应
6、不变法把模拟滤波器转换成数字滤波器num2,den2=impinvar(num1,den1,1000);%绘出频率响应曲线H,W=freqz(num2,den2);plot(W*Fs/(2*pi),abs(H);grid;xlabel(幅值);ylabel(频率);title(冲击响应不变法低通滤波器);clc;clear all;%把数字滤波器的频率特征转换成模拟滤波器的频率特征wp=300*2*pi; ws=400*2*pi; rp=0.3; rs=80; Fs=1000;%选择滤波器的最小阶数。N,Wn=cheb1ord(wp,ws,rp,rs,s);%创建Chebyshev1低通滤波器
7、的原型Z,P,K=cheb1ap(N,rp);A,B,C,D=zp2ss(Z,P,K);%实现低通向低通的转换AT,BT,CT,DT=lp2lp(A,B,C,D,Wn);num1,den1=ss2tf(AT,BT,CT,DT);%运用冲击响应不变法把模拟滤波器转换成数字滤波器num2,den2=impinvar(num1,den1,1000);%绘出频率响应曲线H,W=freqz(num2,den2);plot(W*Fs/(2*pi),abs(H);grid;xlabel(幅值);ylabel(频率);title(冲击响应不变法低通滤波器);5、%使用双线性Z变换设计一低通数字滤波器,使数字滤
8、波器满足以下参数:采样频率Fs=1000HZ,通带临界频率fl =200Hz,通带内衰减小于1dB(p=1);阻带临界频率fh=300Hz,阻带内衰减大于25dB(s=25)。FS=1000;Fl=200;Fh=300; %通带、阻带截止频率Rp=1;Rs=25;wp=Fl*2*pi; %临界频率采用角频率表示ws=Fh*2*pi; %临界频率采用角频率表示wp1=wp/FS; %求数字频率ws1=ws/FS; %求数字频率OmegaP=2*FS*tan(wp1/2);%频率预畸OmegaS=2*FS*tan(ws1/2);%频率预畸 %选择滤波器的最小阶数n,Wn=buttord(Omega
9、P,OmegaS,Rp,Rs,s); %此处是代入经预畸变后获得的归一化模拟频率参数bt,at=butter(n,Wn,s); % 设计一个n阶的巴特沃思模拟滤波器bz,az=bilinear(bt,at,FS); %双线性变换为数字滤波器H,W = freqz(bz,az); %求解数字滤波器的频率响应plot(W*FS/(2*pi),abs(H);grid; xlabel(频率/Hz);ylabel(幅值);title(双线性Z变换设计低通数字滤波器)6、基于MATLAB利用巴特沃斯模拟滤波器举例,设计一数字高通滤波器,要求数字截止频率为,通带内衰减不大于3dB,阻带起始频率为rad,阻带
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 滤波器 MATLAB 仿真 源程序
限制150内