资源描述:
《数字信号处理课程课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、吉首大学信息科学与工程学院课程设计报告书课程:数字信号处理教程课题:基于MATLAB的巴特沃斯低通滤波器以切贝雪夫低通滤波器的设计姓名:学号:专业:通信工程年级:2012级指导教师:基地指导教师:2014年12月9一、项目介绍与设计目的1.通过实验加深对巴特沃斯低通滤波器以及切贝雪夫低通滤波器基本原理的理解。2.学习编写巴特沃斯低通滤波器和切比雪夫的MATLAB仿真程序。 3.滤波器的性能指标如下:通带截止频率fp=3kHz,通带最大衰减Rp=2dB,阻带截止频率fst=6kHz,阻带最小衰减As=30db二、设计方案1.项目环境要求MATLAB软件2.设
2、计内容一.理论设计:模拟巴特沃思低通滤波器的设计1.有技术指标可求的设计参数Ωp=6000πrad/s;Ωst=12000πrad/s;Rp=2db;As=30db2.求N;=5.369取N=63.确定参数 =1971.114.求系统函数Han(s)=1/(1+3.8637033S+7.4641016S^2+9.141620S^3+7.4641016S^4+3.8637033S^5+S^6)95.去归一化H(s)=Han(s/Ωc)=0.7648/(0.7648+3.0910s^5+6.2424s^4+7.9947S^3+6.6300S^2+0.6949)
3、化简可得Ha(s)=5.8650*10^25/(s^6+7.6158*10^4s^5+2.9000*10^9s^4+7.0010*10^13s^3+1.1267*10*18s^2+1.1496*10^32s+5.8650*10^25)切比雪夫低通滤波器1.由技术指标可得eε=1/(10^0.1As)=0.031N>=arcch[]/arch()取N=4系统函数为:Ha(s)=0.0316s^4+3.5954*10^8S^2+5.1099*10^17/(S^4+6.6533*10^4S^3+2.2247*10^9S^2+4.3659*10^13S+5.109
4、9*10^17)二.程序设计(1)巴特沃斯低通滤波器程序:clc,clearall;OmegaP=2*pi*3000;OmegaS=2*pi*6000;Rp=2;As=30;N=ceil(log10((10^(As/10)-1)/(10^(Rp/10)-1))/(2*log10(OmegaS/OmegaP)))OmegaC=OmegaP/((10^(Rp/10)-1)^(1/(2*N)));[z0,p0,k0]=buttap(N);p=p0*OmegaC;a=real(poly(p))k=k0*OmegaC^N;b0=real(poly(z0));b=k*
5、b0w0=[OmegaP,OmegaS];[H,w]=freqs(b,a);Hx=freqs(b,a,w0);dbHx=-20*log10(abs(Hx)/max(abs(H)))plot(w/(2*pi)/1000,20*log10(abs(H)));9xlabel('f(kHz)');ylabel('dB');axis([-1,12,-55,1])set(gca,'xtickmode','manual','xtick',[0,1,2,3,4,5,6,7,8,9,10]);Set(gca,'ytickmode','maunal','ytick',[-50
6、,-40,-30,-2,-10,0]);grid;输出结果N=6b=5.8650e+25a=17.5158e+042.9000e+097.0010e+131.1267e+181.1496e+225.8650e+25dbHx=2.000033.7692在matlab中显示如下:程序运行结果如下9故系统函数为:Ha(s)=5.8650*10^25/(s^6+7.6158*10^4s^5+2.9000*10^9s^4+7.0010*10^13s^3+1.1267*10*18s^2+1.1496*10^32s+5.8650*10^25)(2)切贝雪夫型低通滤波器9
7、程序:clc,clearall;OmegaR=2*pi*3000;OmegaS=2*pi*6000;Rp=2;As=30;g=sqrt((10^(As/10)-1)/(10^(Rp/10)-1));OmegaR=OmegaS/OmegaPN=ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-1)))OmegaC=OmegaS;[z0,p0,k0]=cheb2ap(N,As);a0=real(poly(p0))aNn=a0(N+1);p=p0*OmegaC;a=real(poly(p))aNu
8、=a(N+1);b0=real(poly(z0));M=lengt