数字信号处理实验-FFT变换及其应用_第1页
数字信号处理实验-FFT变换及其应用_第2页
数字信号处理实验-FFT变换及其应用_第3页
数字信号处理实验-FFT变换及其应用_第4页
数字信号处理实验-FFT变换及其应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告格式实验一FFT变换及其应用一、实验目的和要求1.在理论课学习的根底上,通过本次实验,加深对DFT原理的理解,懂得频域DFT与时域卷积的关系,进一步加深对DFT根本性质的理解;2.研究FFT算法的主要途径和编程思路,掌握FFT算法及其程序的编写过程,掌握最根本的时域基-2FFT算法原理及程序框图;3.熟悉应用FFT实现两个序列的线性卷积的方法,利用FFT进行卷积,通过实验比拟出快速卷积优越性,掌握循环卷积和线性卷积两者之间的关系;4.熟悉应用FFT对典型信号进行频谱分析的方法,初步了解用周期图作随机信号谱分析的方法,了解应用FFT进行频谱分析过程中可能出现的问题,以便在实际中正确应用FFT;5.掌握使用MATLAB等根本开发工具实现对FFT编程。二、实验设备和分组1.每人一台PC机;2.Windows2000/XP以上版本的操作环境;3.MatLab6.5及以上版本的开发软件。三、实验内容〔一〕实验准备概述本次实验涉及的根底知识。1.离散傅里叶变换(DFT)kk=0,1,……N-1k=0,1,k=0,1,……N-12.线性卷积的快速计算——快速卷积法序列h(n)和x(n)的长度分别为N和M,L=N+M-1,求y(n)=h(n)*x(n)的方法如下:〔1〕在h(n)的尾部加L-N个零点,在x(n)的尾部加L-M个零点;〔2〕计算L点的H(k)=FFT[h(n)]和L点的X(k)=FFT[x(n)];〔3〕计算Y(k)=H(k)X(k);〔4〕计算Y(n)=IFFT[Y(k)],n=0,1,2,3,…,L-1。但当h(n)和x(n)中任一个的长度很长或者无限长时,需用书上介绍的重叠相加法和重叠保存法。3.用FFT进行谱分析设设X(n)为长为N的有限长序列,那么:〔二〕实验工程一.用FFT进行谱分析1.高斯序列n=0:15;p=14;q=8;x=exp(-1*(n-p).^2/q);closeall;subplot(3,1,1);stem(fft(x));subplot(3,1,2);stem(abs(fft(x)));subplot(3,1,3);stem(angle(fft(x)))图1.1p=8,q=2图1.2p=8,q=4图1.3p=8,q=8图1.4q=8,p=13图1.5q=8,p=14从上面的图中,根据p和q值相应的变化,可以看出:固定p=8,改变q的值:随着q的增大,经过傅里叶变化后的图像显示值的变化比拟缓慢,幅度谱变化随着q的变大而变大,但相位的变化较不同。当固定q=8,随着p的增大,时域信号幅值变换的比拟缓慢。2.正弦序列n=0:15;a=0.1;f=0.5625;x=exp(-a*n).*sin(2*pi*f*n);closeall;subplot(2,1,1);stem(x);title('衰减正弦序列');subplot(2,1,2);stem(abs(fft(x)));title('x信号的频谱');图1.6a=0.1,f=0.0625图1.7a=0.1,f=0.4375图1.8a=0.1,f=0.5625问题:A.令a=0.1,f=0.625,检查谱峰出现的位置是否正确,注意频谱的形式,绘制频谱特性曲线。B.取f=0.4375f=0.5625,观察在这两种情况下频谱的形状和普峰出现的位置,有无混淆和泄漏现象发生?说明产生现象的发生答案:A谱峰出现的位置是正确的。B有混淆和泄漏。因为所选采样频率不满足采样定理。3.三角序列fori=1:4x(i)=i;endfori=5:8x(i)=9-i;endcloseallsubplot(2,1,1);stem(x);subplot(2,1,2);stem(abs(fft(x)))图1.9二.使用FFT实现卷积运算n=1:10;x1=ones(1,10);x2=8.*sin(0.5.*n.*pi+4);x3=0.8.*exp(3*n);XK1=fft(x1,19);XK2=fft(x2,19);XK3=fft(x3,19);C1=XK1.*XK2;C2=XK1.*XK3;C3=XK3.*XK2;y1=ifft(C1);y2=ifft(C2);y3=ifft(C3);subplot(3,1,1);stem(y1);title('y1=x1*x2');subplot(3,1,2);stem(y2);title('y2=x1*x3');subplot(3,1,3);stem(y3);title('y3=x3*x2');图1.10使用conv实现卷积n=1:10;x1=ones(1,10);x2=8.*sin(0.5.*n.*pi+4);x3=0.8.*exp(3*n);y1=conv(x1,x2);y2=conv(x2,x3);y3=conv(x3,x2);subplot(3,1,1);stem(y1);title('y1=x1*x2');subplot(3,1,2);stem(y2);title('y2=x1*x3');subplot(3,1,3);stem(y3);title('y3=x3*x2');图1.11从分别使用FFT和conv来实现卷积运算,在实验结果上可以看出,两种方法的结果是一样的。三.一个综合性例子使用MALAB中的图像用户接口功能,设计简单的操作界面,在列表中包含正弦波、方波、三角波和锯齿波。可以使用滑动块跳动参数。我设计的界面如下图1.12运行结果:图1.13正弦波图1.14正弦波图1.15方波图1.16方波图1.17三角波图1.18三角波四、实验小结在实验中,在卷积那题上面,用fft函数实现卷积计算时,我参考了书本上的例题,对照着理解下来,可以很顺利的运用到此题实验中,最后实验结果能显示出来。但是,老师后来要求我们用conv函数来验证时,就遇到了些小麻烦。虽然可以在用fft来实现的代码根底上修改下就能实现,但是,在刚开始的时候,保存的名字是conv,所以编译运行后还是有错误。后来和同学商量以后,知道原来错误时在保存的名字上面,修改后就也能出来结果了。在综合例子创立简易界面的实验中,对照着老师要我们修改的一些参数改完,也把相应的代码放进去回调函数里面,但是每次运行的时候,滚动条总是会消失。后来在经过屡次查看还是没能解决问题,只能寻求同学的帮助。在同学的指导下,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论