信号分析与处理课程设计10880.docx

上传人:rrsccc 文档编号:11063615 上传时间:2021-06-24 格式:DOCX 页数:24 大小:1,008.13KB
返回 下载 相关 举报
信号分析与处理课程设计10880.docx_第1页
第1页 / 共24页
信号分析与处理课程设计10880.docx_第2页
第2页 / 共24页
信号分析与处理课程设计10880.docx_第3页
第3页 / 共24页
信号分析与处理课程设计10880.docx_第4页
第4页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《信号分析与处理课程设计10880.docx》由会员分享,可在线阅读,更多相关《信号分析与处理课程设计10880.docx(24页珍藏版)》请在三一文库上搜索。

1、下载可编辑信号分析与处理(自) 课程设计任务书一、 目的与要求是使学生通过上机使用Matlab 工具进行数字信号处理技术的仿真练习,加深对信号分析与处理 (自)课程所学基本理论和概念的理解, 培养学生应用 Matlab 等工具进行数字信号处理的基本技能和实践能力,为工程应用打下良好基础。二、 主要容1了解 Matlab 基本使用方法,掌握Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概念。1)使用 Matlab(生成几种典型数字信号(正弦信号、 周期信号、 高斯随机信号等) ,2)编程计算离散信号的特征值(均值、方差等)。3)进行信号加减运算。2Matlab 编程实现典型离散信号

2、(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域信号和频谱图形(幅值谱和相位谱);以正弦周期信号为例,观察讨论基本概念(混叠、泄漏、整周期截取、频率分辨率等)。3设计任意数字滤波器,并对某类型信号进行滤波,并对结果进行显示和分析。三、进度计划序号设计(实验)容完成时间备注1布置课程设计任务、示讲解Matlab 0.5天程序使用方法2上机进行课程设计3 天3整理课程设计报告1 天4演示课程设计容并答辩0.5天四、 设计成果要求1 提交完成设计容的程序2 提交设计报告五、 考核方式课程设计报告、设计容演示和答辩相结合。考核容:考勤、纪律、课程设计报告、实际编程能力和基本概念掌握程度等。学

3、生:指导教师:.专业 .整理 .下载可编辑2011年12 月29 日一、了解 Matlab 基本使用方法, 掌握 Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概念。1、使用 Matlab 生成几种典型数字信号:正弦信号、周期信号、非周期信号和高斯随机信号并编程计算离散信号的特征值(均值、方差等)。1)正弦信号 :编程如下:k1=-20;k2=20;k=k1:k2;w=pi/8;f=sin(k*w);stem(k,f,filled);title(正弦序列 );xlabel(时间 (k);ylabel(幅值 f(k);fprintf(正弦信号的均值为%.4f方差为 %.4fn,me

4、an(f),var(f,1);运行结果如下:正弦信号的均值为0.0000方差为 0.51222) 周期信号编程如下 :k1=0;k2=3;k=k1:k2;Ts=1;f=k*Ts;xtilde=f*ones(1,8);.专业 .整理 .下载可编辑xtilde=xtilde(:);xtilde=xtilde;subplot(2,1,1);stem(k,f,filled);title(一个周期 );xlabel(时间 (k);ylabel(幅值 f(k);subplot(2,1,2);stem(xtilde,filled);title(周期序列 );xlabel(时间 (k);ylabel(幅值 f

5、(k);fprintf(周期信号的均值为%.4f 方差为 %.4fn,mean(xtilde),var(xtilde,1);运行结果如下:周期信号的均值为 1.5000方差为 1.25003) 非周期信号编程如下:n=0:10;x=zeros(1,2),ones(1,5),zeros(1,4);stem(n,x,filled);title(非周期信号 );xlabel(时间 (n);ylabel(幅值 f(n);fprintf( 非周期信号的均值为 %.4f 方差为 %.4fn,mean(x),var(x,1); 运行结果如下:非周期信号的均值为0.4545方差为 0.2479.专业 .整理

6、.下载可编辑4) 高斯随机信号编程如下:n=300;xn=randn(1,n);stem(xn,filled);xlabel(n);ylabel(x(n);title(高斯随机信号);fprintf( 随机信号的均值为 %.4f 方差为 %.4fn,mean(xn),var(xn,1); 运行结果如下:随机信号的均值为-0.0524方差为 0.8510.专业 .整理 .下载可编辑2、进行信号加减运算。编程如下:x1=1,5,2,-4,5,-1,5;%序列 1x2=7,6,5,4,3,2,1;%序列2n=1:length(x1);figure(1);hold on;subplot(2,2,1);

7、stem(n,x1,filled);title(x1);subplot(2,2,2);stem(n,x2,filled);title(x2);subplot(2,2,3);stem(n,x1+x2,filled);title(x1+x2);subplot(2,2,4);stem(n,x1-x2,filled);title(x1-x2);y=fliplr(x2);%反转t=-length(y):-1;figure(2);hold on;subplot(2,2,1);stem(n,x1,filled);title(x1);subplot(2,2,2);stem(n,x2,filled);title

8、(x2);subplot(2,2,3);stem(n,x1.*x2,filled);title(x1*x2);subplot(2,2,4);stem(t,y,filled);title(x2(-n);运行结果如下:.专业 .整理 .下载可编辑1)对序列 1 和序列 2 相加减:2)对序列1 和序列 2 相乘,对序列2 进行反转:二、 Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信.专业 .整理 .下载可编辑号)的离散傅立叶变换,显示时域信号和频谱图形 (幅值谱和相位谱);以正弦周期信号为例, 观察讨论基本概念 (混叠、泄漏、整周期截取、频率分辨率等)。1、离散信号的离散傅里叶变

9、换1)正弦信号编程如下:N=64;k=0:N-1;w=pi/6;f=sin(k*w);f1=dft(f,N);figure(1);hold on;stem(k,f,filled);xlabel(k);ylabel(f);grid on;title(时域信号 );figure(2);hold on;subplot(2,1,1);stem(abs(f1),filled);ylabel(幅值 );title(幅频特性 );gridon;subplot(2,1,2);stem(angle(f1),filled);ylabel(相角 );title(相频特性);grid on;运行结果如下:.专业 .整

10、理 .下载可编辑2)周期信号编程如下:k1=0;k2=3;k=k1:k2;Ts=1;f=k*Ts;xtilde=f*ones(1,8);xtilde=xtilde(:);xtilde=xtilde;ff=dft(xtilde,32);figure(1);hold on;stem(xtilde,filled);title(周期序列 );xlabel(时间 (k);ylabel(幅值 f);grid on;figure(2);hold on;subplot(2,1,1);stem(abs(ff),filled);ylabel(幅值 );title(幅频特性 );grid on;subplot(2,

11、1,2);stem(angle(ff),filled);ylabel(相角 );title(相频特性 );grid on;运行结果如下:时域信号为.专业 .整理 .下载可编辑频域信号为3)随机信号编程如下:n=200;.专业 .整理 .下载可编辑xn=randn(1,n);fxn=dft(xn,n);figure(1);hold on;stem(xn,filled);xlabel(n);ylabel(x(n);title(高斯随机信号);figure(2);hold on;subplot(2,1,1);stem(abs(fxn),filled);ylabel(幅值 );title(幅频特性 )

12、;grid on;subplot(2,1,2);stem(angle(fxn),filled);ylabel(相角 );title(相频特性 );grid on;运行结果如下:时域信号为频域信号为.专业 .整理 .下载可编辑2、以正弦周期信号为例,观察讨论基本概念。1)时域混叠分析编程如下:w=pi/8;n=0:64;xn=sin(w*n);xk1=fft(xn,128);%计算 xn 的 128点 dftxn1=ifft(xk1,128);xk2=fft(xn,32);%计算 xn 的 32点 dftxn2=ifft(xk2,32);k=0:127;wk=2*k*pi/128;%产生 128

13、 点 dft对应的采样点频率subplot(5,1,1);stem(n,xn,.);%原始信号xlabel(n);ylabel(xn);title(1)正弦信号 );grid onsubplot(5,1,2);stem(wk,abs(xk1),.);%128点 dft 的幅频特性图xlabel(wk);ylabel(幅值 );title(2)128点 dft 的幅频特性图 );grid onsubplot(5,1,3);stem(0:length(xn1)-1,xn1,.);%128点 dft 的还原信号xlabel(n);ylabel(xn);title(3)128点 dft的还原信号 );

14、grid onsubplot(5,1,4);stem(abs(xk2),.);%32点 dft 的幅频特性图xlabel(wk);ylabel(幅值 );title(4)32点 dft 的幅频特性图 );grid onsubplot(5,1,5);stem(0:length(xn2)-1,xn2,.);%32点 dft 的还原信号xlabel(n);ylabel(xn);title(5)32点 dft的还原信号 );grid on运行结果如下:.专业 .整理 .下载可编辑结果分析:序列 xn 为有限序列,长度为 64,当频域采样点数为 128(大于序列长度 64)时,可以将频域采样回复原序列;

15、 当频域采样点数为 32(小于序列长度 64)时,产生时域混叠现象,不能回复原序列。2)频谱泄露分析编程如下:n1=0:64;%加一较短长度的矩形窗xn1=sin(w*n1);xk1=fft(xn1,128);%计算 xn1 的 128 点 dftn2=0:128;%加一较长长度的矩形窗xn2=sin(w*n2);.专业 .整理 .下载可编辑xk2=fft(xn2,128);%计算 xn2 的 128点 dftk=0:127;wk=2*pi*k/128;%产生 128点 dft对应的采样点频率subplot(4,1,1);stem(n1,xn1,.);xlabel(n1);ylabel(xn1

16、);title(1)短长度信号 );grid onsubplot(4,1,2);stem(wk,abs(xk1),.);xlabel(wk);ylabel(幅度 );title(2)短信号 128 点 dft的幅频特性图 );grid onsubplot(4,1,3);stem(n2,xn2,.);xlabel(n2);ylabel(xn2);title(3)长长度信号 );grid onsubplot(4,1,4);stem(wk,abs(xk2),.);xlabel(wk);ylabel(幅度 );title(4)长信号 128 点 dft的幅频特性图 );grid on运行结果如下:.专

17、业 .整理 .下载可编辑结果分析:正弦信号是无限长序列, 而 DFT是对有限长序列进行的变换, 要用 DFT分析正弦序列的频谱,必须进行截断处理。用矩形窗截断后,原来的离散谱线向附近展宽,使频谱变模糊,谱分辨率降低, 这种现象称为频谱泄露。图(2)截取了 4 个周期, 图( 4)截取了 8 个周期,由图( 2)和图(4)对比可知, 矩形窗的长度越长,展宽就越窄, 就可以减小频谱泄露效应。3)整周期截取分析编程如下:w=pi/8;n1=0:128;%整周期截取xn1=sin(w*n1);xk1=fft(xn1,128);%计算 xn1 的 128点 dftn2=0:70;%非整周期截取xn2=s

18、in(w*n2);xk2=fft(xn2,128);%计算 xn2 的 128点 dftk=0:127;wk=2*pi*k/128;%产生 128 点 dft对应的采样点频率subplot(4,1,1);stem(n1,xn1,.);xlabel(n1);ylabel(xn1);title(1) 整周期截取信号 );grid on subplot(4,1,2);stem(wk,abs(xk1),.);ylabel(幅度 );title(2)整周期信号128 点 dft 的幅频特性图 );grid onsubplot(4,1,3);stem(n2,xn2,.);xlabel(n2);ylabel

19、(xn2);title(3)非整周期截取信号 );grid onsubplot(4,1,4);stem(wk,abs(xk2),.);ylabel(幅度 );title(4)非整周期信号128 点 dft 的幅频特性图 );grid on运行结果如下:.专业 .整理 .下载可编辑结果分析:图( 2)为整周期截取信号后的 128 点 dft 的幅频特性图,图( 4)为非整周期截取信号后的 128 点 dft 的幅频特性图,由图( 2)和( 4)对比可知,在截取长度不是很长时,必须要整周期截取,这样才能是截断误差更小,获得更好的效果。4) 频率分辨率分析编程如下:w=pi/8;n1=0:16;%观

20、察时间较小xn1=sin(w*n1);xk1=fft(xn1,64);%计算 xn1 的 64 点 dftxk10=fft(xn1,128); %计算 xn1 的 128 点 dftn2=0:64;%观察时间较大xn2=sin(w*n2);xk2=fft(xn2,64);%计算 xn2 的 64 点 dftk1=0:63;wk1=2*pi*k1/64;%产生 64 点 dft 对应的采样点频率.专业 .整理 .下载可编辑k2=0:127wk2=2*pi*k2/128; %产生 128 点 dft对应的采样点频率subplot(5,1,1);stem(n1,xn1,.);xlabel(n1);y

21、label(xn1);title(1)观察时间较小的信号 );grid onsubplot(5,1,2);stem(wk1,abs(xk1),.);ylabel( 幅度 );title(2)观察时间较小信号64 点 dft的幅频特性图 );grid onsubplot(5,1,3);stem(wk2,abs(xk10),.);ylabel( 幅度 );title(3)观察时间较小信号128 点 dft的幅频特性图 );grid onsubplot(5,1,4);stem(n2,xn2,.);xlabel(n2);ylabel(xn2);title(4)观察时间较大的信号 );grid onsu

22、bplot(5,1,5);stem(wk1,abs(xk2),.);ylabel( 幅度 );title(5)观察时间较大信号64 点 dft的幅频特性图 );grid on运行结果如下:.专业 .整理 .下载可编辑结果分析:图( 2)为观察时间N=16的 64 点 dft的幅频特性图,图(5)为观察时间N=64 的 64点 dft的幅频特性图, 对比可知, 增大观察时间可以使谱线间隔更小,使频率分辨能力更高。图( 3)为观察时间N=16的 128 点 dft的幅频特性图,和图(2)对比可得,在有效数据后补零可以得到原频谱中更多的频谱值,但频谱的波形为改变,不能提高DFT的频率分辨能力,只能提

23、高“计算分辨率”。三、设计任意数字滤波器, 并对某类型信号进行滤波,并对结果进行显示和分析。1、IIR 数字滤波器的设计编程如下:fp=0.3;fs=0.5;rp=0.5;rs=30;wp=2*pi*fp;ws=2*pi*fs;%通带、阻带截止数字频率n,wn=buttord(wp,ws,rp,rs,s);%确定巴特沃兹模拟滤波器的阶次z,p,k=buttap(n);%设计归一化巴特沃兹模拟低通滤波器bp,ap=zp2tf(z,p,k);%转换为 Ha( p)表示bs,as=lp2lp(bp,ap,wp);%Ha( p)去归一化转换为Ha(s)表示bz,az=bilinear(bs,as,1/

24、2);%双线性变换为 H( z)figure(1);freqz(bz,az);title(巴特沃兹低通滤波器幅频特性);x=0:0.1:60;y1=5*sin(0.3*pi*x);%正弦信号y2=10*sin(8*pi*x);%噪音信号figure(2);hold on;subplot(2,1,1);plot(x,y1);grid;title(正弦信号 );subplot(2,1,2);plot(x,y2);grid;title(噪音信号 );y3=y1+y2;%滤波前信号(含噪音)figure(3);subplot(2,1,1);plot(x,y3);grid;title(滤波前信号(含噪音

25、信号));y=filter(bz,az,y3);%滤波后信号subplot(2,1,2);plot(x,y);gridtitle(滤波后信号 );运行结果如下:巴特沃兹低通滤波器幅频特性:.专业 .整理 .下载可编辑未加噪音信号时的原信号与噪音信号:.专业 .整理 .下载可编辑滤波前的信号(含噪音信号)及滤波后的信号:结果分析:IIR 数字滤波器设计中, 选用未含噪音信号的初信号为一正弦信号y1=5*sin(0.3*pi*x);噪音信号为具有高频率的另一正弦信号 y2=10*sin(8*pi*x); 需要被滤波的信号为 y3=y1+y2 ,该信号通过所涉及滤波器后, 高频信号被滤去,基本恢复最

26、初正弦信号,滤波效果良好。2、IIR 数字滤波器的设计编程如下:N=20;%窗长度K=256;b1=fir1(N,0.3);%求 FIR 低通滤波器的单位脉冲响应,用汉宁窗作为窗函数b2=fir1(N,0.3,boxcar(N+1); %求 FIR 低通滤波器的单位脉冲响应,用矩形窗作为窗函数b3=fir1(N,0.3,hamming(N+1);%求 FIR 低通滤波器的单位脉冲响应,用汉明窗作为窗函数h1=freqz(b1,1,K);%求汉宁窗数字滤波器的频率响应(K=256 点)h2=freqz(b2,1,K);%求矩形窗数字滤波器的频率响应(K=256 点)h3=freqz(b3,1,K

27、);%求汉明窗数字滤波器的频率响应(K=256 点)k=0:20;L=0:(K-1);figure(1);hold on;subplot(2,1,1);stem(k,b1,filled);title(汉宁窗频谱图 );subplot(2,1,2);plot(L/K,abs(h1);title(汉宁窗频谱图 );x=0:0.1:60;y1=5*sin(0.3*pi*x);%正弦信号y2=10*sin(8*pi*x);%噪音信号.专业 .整理 .下载可编辑y3=y1+y2;%滤波前信号(含噪音信号)figure(2);hold on;subplot(2,1,1);plot(x,y1);title(

28、正弦信号 );grid;subplot(2,1,2);plot(x,y2);title(噪音信号 );grid;yh1=filter(h1,1,y3);%分别经三种窗函数滤波器过滤后的信号yh2=filter(h2,1,y3);yh3=filter(h3,1,y3);figure(3);subplot(4,1,1);plot(x,y3);title(滤波前信号(含噪音信号));gridsubplot(4,1,2);plot(x,yh1);title(汉宁窗滤波后信号);gridsubplot(4,1,3);plot(x,yh2);title(矩形窗滤波后信号);gridsubplot(4,1,

29、4);plot(x,yh3);title(汉明窗滤波后信号);grid运行结果如下:汉宁窗频谱图:未加噪音信号时的正弦信号与噪音信号:.专业 .整理 .下载可编辑滤波前的信号(含噪音信号)及滤波后的信号:.专业 .整理 .下载可编辑结果分析:在 FIR 设计中,仍采用 IIR 中的信号, y3 经过汉宁窗、矩形窗、汉明窗滤波器后的波形分别为如上图所示,在本设计中,三种滤波效果无太大差异。四、课程设计总结1、课程设计的时间虽然不长,但却使我受益匪浅,让我对信号分析与处理这门课程有了进一步的理解,对MATLAB软件的使用也有了新的了解。在查阅有关资料时,还注意到matlab 在自动控制原理等专业课

30、程实践中很重要。2、这段时间自己的动手、动脑让我感觉, 只有把知识真正用出来,那才是自己学到的,所以,在以后的学习中,要加强理论与实践的结合,认真、积极参与各种实验与课程设计。3、一个人的学习和知识总是有限的,我们要学会与他人交流,取长补短,以使自己更快地进步。4、在课程设计中,遇到一些困难与问题,究其原因,还是因为平时学得不扎实,掌握不牢固,思维有些单一,所以,在今后的学习中,要更加踏实努力、积极思考。五、参考文献1、 育霞 许珉廖晓辉信号分析与处理中国电力2、 郭仕剑王宝顺贺志国可心等MATLAB7.x数字信号处理人民邮电3、 杰 猛 邢笑雪信号处理MATLAB实验教程北京大学.专业 .整理 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1