您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 朱辉辉0909122726
中南大学信息科学与工程学院1数字信号处理课设报告题目:数字信号处理课程设计学院:信息科学与工程班级:电子1203姓名:朱辉辉学号:0909122726指导教师:支国明科目:数字信号处理完成日期:2014年10月20号中南大学信息科学与工程学院2目录一、设计要求……………………………………………………………3二、软件要求……………………………………………………………3三、设计方案……………………………………………………………..3四、设计步骤…………………………………………………………….3五、运行结果…………………………………….………………..……16六、总结……………………………………………………..…….……18七、参考文献………………………………………………..….………18中南大学信息科学与工程学院3一、设计要求1、使用MATLAB(或其它开发工具)编程实现上述内容,写出课程设计报告。2、课程设计报告的内容包括:(1)课程设计题目和题目设计要求;(2)设计思想和系统功能结构及功能说明;(3)设计中关键部分的详细描述和介绍,采用流程图描述关键模块的设计思路;(4)总结,包括设计过程中遇到的问题和解决方法,心得体会等;(5)参考文献;(6)程序源代码清单。二、软件要求MATLAB(或其他开发工具)三、设计方案将静态信号或动态信号利用FFT()函数傅里叶变换,分析其幅频特性与相频特性,设计IIR巴特沃斯和切比雪夫低通、高通、带通、带阻滤波器将数字信号滤波,分析滤波后的信号的幅频特性与相频特性,最后将几种滤波后信号进行对比分析。四、设计步骤中南大学信息科学与工程学院41、信号发生器根据信号选择分为两类:(1)静态型:直接输入(或从文件读取)测试序列;(2)动态型:输入由若干个不同频率正弦信号叠加组合而成的模拟信号公式(如式1所示),根据输入的采样频率和采样点数,动态生成该模拟信号的采样序列,作为测试信号。使用FFT对步骤1生成的测试信号进行频谱分析,展示信号的幅频、相频特性。指定需要滤除或保留的频带,通过选择滤波器类型(IIR/FIR),确定对应的滤波器(低通、高通、带通、带阻)技术指标。我采用switch语句,在程序开始时,让使用者选择输入动态信号还是静态信号,用input语句输入静态信号或动态信号参数。代码:i=input('pleasei(choose1.动态2.静态)=');switchfix(i)case{1}%动态信号t=(0:0.0001:1);n=1:100;A=input('请输入幅度值A=');f1=input('请输入第一项频率f1=');f2=input('请输入第二项频率f2=');中南大学信息科学与工程学院5f3=input('请输入第三项频率f3=');N=600;%数据长度N=0.6/0.001=600个点Ft=1000;T=1/Ft;n=0:N-1;%采样时间间隔,n是采样点数t=n*T;%时间序列y=100*sin(2*pi*f1*t)+100*sin(2*pi*f2*t)+100*sin(2*pi*f3*t);case{2}x=input('pleasex=');n=1:length(x);m=fft(x);h=abs(m);figure(2);subplot(311);stem(n,x,'.');%序列title('xulietu');subplot(312);plot(n,h);%幅频特性title('fupingtexingtu');subplot(313);中南大学信息科学与工程学院6plot(n,angle(x));End2、滤波器设计根据步骤1中确定的IIR/FIR数字滤波器技术指标设计滤波器,得到对应的滤波器系数,并展示该滤波器的幅频(衰减)、相频特性。(1)IIRDF:使用双线性变换法,可选择滤波器基型(巴特沃斯或切比雪夫型);IIR类型滤波器,我设计了巴特沃斯低通、高通、带通、带阻共四种滤波器。在信号分析之后,依旧采用两个switch语句,让使用者选择滤波器的类型,滤波器的设计,先将数字滤波参数转化为模拟滤波参数,设计过度模拟滤波器,然后用函数将模拟滤波器通过双线性变换法转换成数字滤波器。代码:j=input('请选择滤波器类型1.IIRDF2.FIRDFj=');switchfix(j)case{1}q=input('请选择类型1.带通2.带阻3.低通4.高通q=');switchfix(q);case{1}%巴特沃斯带通滤波器中南大学信息科学与工程学院7wpl=0.5062;wph=0.5563;wsl=0.3750;wsh=0.6750;ap=1;as=40;wp=[wpl,wph];ws=[wsl,wsh];T=1;fs=1/T;wp1=2*tan(wp/2);ws1=2*tan(ws/2);[N,wc]=buttord(wp1,ws1,ap,as,'s');%设计过度模拟滤波器[B,A]=butter(N,wc,'s');[b,a]=bilinear(B,A,fs);%用双线性变换法转换成数字滤波器[h,w]=freqz(b,a,512,'whole');%计算滤波器的频率响应figure(3);subplot(411);plot(w/pi,abs(h));axis([0,1,0,1]);xlabel('w/pi');ylabel('fudu(db)');grid;中南大学信息科学与工程学院8title(['N=',num2str(N)]);subplot(412);plot(w/pi,angle(h));xlabel('w/pi');ylabel('xiangwei');grid;title('相频特性图');z=filter(b,a,x);%通过滤波器后的信号subplot(413);plot(n,z);title('滤波后的信号');subplot(414);ft=fft(z);plot(abs(ft));case{2}%巴特沃斯带阻滤波器wpl=1500;wph=2700;wsl=2025;wsh=2225;ap=1;as=40;fs=8000;中南大学信息科学与工程学院9ws1=[2*wsl/fs,2*wsh/fs];wp1=[2*wpl/fs,2*wph/fs];[N,wc]=ellipord(wp1,ws1,ap,as);%设计过度模拟滤波器[b,a]=ellip(N,ap,as,wc,'stop');[h,w]=freqz(b,a,512,'whole');%计算滤波器的频率响应figure(3);subplot(411);plot(w/pi,abs(h));axis([0,1,0,1]);xlabel('w/pi');ylabel('fudu(db)');grid;title(['N=',num2str(N)]);subplot(412);plot(w/pi,angle(h));xlabel('w/pi');ylabel('xiangwei');grid;title('幅频特性图');z=filter(b,a,x);%通过滤波器后的信号subplot(413);plot(n,z);title('滤波后的信号');subplot(414);ft=fft(z);中南大学信息科学与工程学院10plot(abs(ft));case{3}%巴特沃斯低通滤波器wp=input('输入通带截止频率wp=');ws=input('输入阻带截止频率ws=');ap=input('输入通带最大衰减ap=');as=input('输入阻带最小衰减as=');x=A*sin(2*pi*f1*n*T)+A*sin(2*pi*f2*T*n)+A*sin(2*pi*f3*n*T);%序列[m,W]=freqz(x,512);h=abs(m);T=1;fs=1/T;wp1=2*tan(wp/2);ws1=2*tan(ws/2);[N,wc]=buttord(wp1,ws1,ap,as,'s');%设计过度模拟滤波器[B,A]=butter(N,wc,'s');[b,a]=bilinear(B,A,fs);%用双线性变换法转换成数字滤波器[h,w]=freqz(b,a,512,'whole');%计算滤波器的频率响应figure(3);subplot(411);plot(w/pi,abs(h));中南大学信息科学与工程学院11axis([0,1,0,1]);xlabel('w/pi');ylabel('fudu(db)');grid;title(['N=',num2str(N)]);subplot(412);plot(w/pi,angle(h));xlabel('w/pi');ylabel('xiangwei');grid;title('幅频特性图');z=filter(b,a,x);%通过滤波器后的信号subplot(413);plot(n,z);title('滤波后的信号');subplot(414);[ft,Wt]=freqz(h,512);plot(Wt/pi,abs(ft));case{4}%巴特沃斯高通滤波器wp=0.4;ws=0.2ap=1;as=15;中南大学信息科学与工程学院12T=1;fs=1/T;wp1=2*tan(wp/2);ws1=2*tan(ws/2);[N,wc]=buttord(wp1,ws1,ap,as,'s');%设计过度模拟滤波器[B,A]=butter(N,wc,'high','s');[b,a]=bilinear(B,A,fs);%用双线性变换法转换成数字滤波器[h,w]=freqz(b,a,512,'whole');%计算滤波器的频率响应figure(3);subplot(411);plot(w/pi,abs(h));axis([0,1,0,1]);xlabel('w/pi');ylabel('fudu(db)');grid;title(['N=',num2str(N)]);subplot(412);plot(w/pi,angle(h));xlabel('w/pi');ylabel('xiangwei');grid;title('相频特性图');z=filter(b,a,x);%通过滤波器后的信号subplot(413);中南大学信息科学与工程学院13plot(n,z);title('滤波后的信号');subplot(414);ft=fft(z);plot(abs(ft));end(2)FIRDF:使用窗口法,可选择窗口类型,并比较分析基于不同窗口、不同阶数所设计数字滤波器的特点。我采用的是等波纹最佳逼近法设计FIR数字滤波器。代码:case{2}Fp=60;%阻带截止频率Fs=[5060];%通带截止频率As=30;%阻带最小衰减Ap=0.5;%通带最大衰减a=[10];dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1)10^(-As/20)];wp=2*pi*Fp;%wp,ws分别为通带频率和截止频率,Ap为通带最大衰减,As阻带最小衰减。ws=2*pi*Fs;Y=fft(y,1024);%进行快速傅里叶变换,中南大学信息科学与工程学院14fft(x,N)算N点的DFT。(M为x的点数)若MN,则将原序列截短为N点序列,再计算其N点DFT;若MN,则将原序列补零至N点,然后计算其N点DFT。%%%%%%%%%%%%%%%%%%%%%%%%%%FIR低通等波纹滤波器%%%%%%%%%%%%%%%%%[k,fo,ao,w]=firpmord(Fs,a,dev,Ft);b=firpm(k,fo,ao,w);[h,w]=freqz(b,1,1024,Ft);%等号左边输出,右边输入根据参数求出频率响应figure(3)subplot('211');plot(w*Ft*0.5/pi,20*log10(abs(h)));title('滤波器幅频特性');ylabel('振幅/dB');xlabel('
本文标题:朱辉辉0909122726
链接地址:https://www.777doc.com/doc-2324363 .html