201004数字信号处理.DOC

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
201004数字信号处理

前 言 “数字信号处理”是一门理论和实践密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,作习题和上机实验。上机实验不仅可以帮助读者深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本课程根据课程重点编写了五个实验,供学生使用或参考。由于数字信号处理实验的主要目的是验证数字信号处理的有关理论,进一步理解巩固所学理论知识,所以,对实验用算法语言不作任何限制。为了提高实验效率,我们提倡学生选用编程效率比C语言高好几倍的MATLAB语言,按照指导书的要求,上机编程完成实验。 实验一 用FFT进行谱分析实验 一、实验目的: (1) 用FFT进行谱分析,了解fft.m文件的各参数及使用方法; (2) 学习提高频率分辨率的方法,加深对栅栏效应和频谱泄漏等概念的理解。 二、实验设备:计算机,MATLAB软件。 三、实验原理: 离散傅里叶变换(DFT)可以用快速傅里叶变换(FFT)算法来计算。在MATLAB信号处理工具箱中,提供了函数fft()、ifft()分别求解离散傅里叶变换与逆变换。调用格式如下: Xk=fft(x) Xk=fft(x,N) 表示计算信号x的快速离散傅里叶变换Xk。当x的长度N为2的整数次方时,采用基2算法,否则采用较慢的分裂基算法。当length(x)N时,截断x,否则补零。 x=ifft(Xk) x=ifft(Xk,N) 表示计算Xk的逆离散傅里叶变换。 1. 用FFT进行谱分析 用FFT的结果分析x(t)=cos(2π×50t)+ 0.5cos(2π×150t) + 0.3cos(2π×250t)的频谱。 t=0:0.02/64:0.04; f1=50; y1=cos(2*pi*f1*t)+0.5*cos(2*pi*3*f1*t)+0.3*cos(2*pi*5*f1*t); subplot(311);plot(t,y1); t=0:0.02/16:0.02-0.02/16; f=cos(2*pi*f1*t)+0.5*cos(2*pi*3*f1*t)+0.3*cos(2*pi*5*f1*t); F_1024=2*abs(fft(f,16))/16; k=0:1:15; subplot(312);stem(k,abs(F_1024)); %由于栅栏效应,只能看到16条谱线 axis([0,16,0,1.5]) F_1024=2*abs(fft(f,1024))/16; %补零减小栅栏效应,可以得到连续频谱 L=0:1023; subplot(313);plot(L/1023,abs(F_1024)); set(gca,xtick,[0,0.0625,0.125,0.1875,0.25,0.3125,0.375,0.4375,0.5,0.5625,0.625,0.6875,0.75,0.8125,0.875,0.9375,1]) %频率刻度为归一化频率 运行该程序,结果显示如下: 2. 用FFT进行谱分析中的观测时间的选取 改变观测时间可以提高频率分辨率。 对x(t)=cos(2π×50t)+ 0.5cos(2π×75t)进行DFT。 t=0:0.02/64:0.04; f1=50;f2=75; y1=cos(2*pi*f1*t); y2=0.5*cos(2*pi*f2*t); subplot(411);plot(t,y1); hold on; subplot(411);plot(t,y2); hold on; k=0:1:7; f=cos(pi/4*k)+0.5*cos(3*pi/8*k); F_1024=2*abs(fft(f,1024))/8; L=0:1023; subplot(412);plot(L/1023,abs(F_1024)); %axis([0,1024,0,2]) set(gca,xtick,[0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1]) hold on; k=0:1:15; f=cos(pi/4*k)+0.5*cos(3*pi/8*k); F_1024=2*abs(fft(f,1024))/16; L=0:1023; subplot(413);plot(L/1024,abs(F_1024)); set(gca,xtick,[0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1]) hold on; k=0:1:31; f=cos(pi/4*k)+0.5*cos(3*pi/8*k); F_1024=2*abs(fft(f,1024))/32; L=0:1023; subplot(414);plot(L/1024,abs(F_1024)); s

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档