实验一FFT频谱分析及应用..doc

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

实验一 FFT频谱分析及应用 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的: 1、学习MATLAB语言的编程和调试技巧;、 2、通过实验加深对FFT的理解; 3、熟悉应用FFT对典型信号进行频谱分析的方法。 二、实验内容 使用MATLAB程序实现信号频域特性的分析。涉及到离散傅立叶变换(DFT)、快速傅立叶变换(FFT)及信号频率分辨率等知识点。 三、实验原理与方法和手段 在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。 有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。 在MATLAB信号处理工具箱中的函数fft(x,n),可以用来实现序列的N点快速傅立叶变换。 经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。MATLAB中提供了求复数的幅值和相位的函数:abs、angle,这些函数一般和fft同时使用。 四、实验组织运行要求 1、学生在进行实验前必须进行充分的预习,熟悉实验内容; 2、学生根据实验要求,读懂并理解相应的程序; 3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理; 4、教师在学生实验过程中予以必要的辅导,独立完成实验; 5、采用集中授课形式。 五、实验条件 1、具有WINDOWS 98/2000/NT/XP操作系统的计算机一台; 2.、MATLAB编程软件。 六、实验步骤 在“开始--程序”菜单中,找到MATLAB程序,运行启动; 进入MATLAB后 ,在Command Window中输入实验程序,并执行; 记录运行结果图形,作分析。 具体步骤如下: 1、模拟信号,以进行采样,求: (1)N=40点FFT的幅度频谱,从图中能否观察出信号的2个频谱分量? (2)提高采样点数,如N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT频谱分析结果与理论上是否一致? 2、一个连续信号含三个频谱分量,经采样得以下序列: (1)N=64,df分别为、1/64,观察其频谱; (2)N=64、128,df为1/64,做128点得FFT,其结果有何不同? 3、被噪声污染得信号,比较难看出所包含得频率分量,如一个由50Hz和120Hz正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用FFT函数来分析其信号频率成分,要求:(1)画出时域波形;(2)分析信号功率谱密度。 注:在MATLAB中,可用函数rand(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。 七、思考题 FFT对信号进行频谱分析时,信号的频率的分辨率与什么有关?能否给出其数学关系? 八、实验报告要求 1、报告中要给出实验的MATLAB程序,并对每个语句给出注释,说明语句作用; 2、简述实验目的和原理; 3、按实验步骤附上实验信号序列和幅频特性曲线,分析所得到的图形,说明参数改变时对时域和频域的影响; 4、总结实验中的主要结论; 5、收获和建议。 九、参考程序 程序1: N=40;n=0:N-1; t=0.01*n; x=2*sin(4*pi*t)+5*cos(8*pi*t); k=0:N/2;w=2*pi/N*k; X=fft(x,N); magX=abs(X(1:N/2+1)); subplot(2,1,1);stem(n,x,.);title(signal x(n)); subplot(2,1,2);plot(w/pi,magX);title(FFT N=40); xlabel(f (unit :pi));ylabel(|X|);grid 程序3: t=0:0.001:0.8;x=sin(2*pi*50*t)+cos(2*pi*120*t); y=x+1.5*randn(1,length(t)); subplot(3,1,1);plot(t,x); subplot(3,1,2);plot(t,y); %title(press any key,continue...); %pause; Y=fft(y,512); P=Y.*conj(Y)/512; f=1000*(0:255)/512; subplot(3,1,3);plot(f,P(1:256)); 附录: MATLAB基本操作及常用命令 MATLAB的启动 启动MATLAB有多种方式,最常用的方法就是双击系统桌面的MATLAB图标, 也

文档评论(0)

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

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

1亿VIP精品文档

相关文档