利用DFT近似计算信号频谱专题研讨.doc

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

《数字信号处理》课程研究性学习报告 DFT近似计算信号频谱专题研讨 姓名 学号 同组成员 指导教师 薛 健 时间 2013年5月17日 利用DFT近似计算信号频谱专题研讨 【目的】 (1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法; (2) 理解误差产生的原因及减小误差的方法; (3)研究用DFT近似计算连续周期信号的方法; (4) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。 【研讨内容】 基本题 问题一 已知某离散序列为 (1)用L=32点DFT计算该序列的频谱,求出频谱中谱峰的频率; (2)对序列进行补零,然后分别用L=64、128、256、512点DFT计算该序列的频谱,求出频谱中谱峰的频率; (3)讨论所获得的结果,从中你能得到了什么结论?该结论对序列的频谱计算有何指导意义? 【题目分析】 本题讨论补零对离散序列频谱计算的影响。 补零可以使DFT计算得出的频谱更加细致,但是不能改变序列的DTFT 【温磬提示】 在计算离散非周期序列频谱时常用?/?作为横坐标,称?/?为归一化频率?normalized frequency) 由于离散非周期序列频谱是周期的,所以在计算时不必用fftshift 函数对fft计算的结果进行重新排列。 【序列频谱计算的基本方法】 在MATLAB中,用函数fft(x,N)可以计算X[k]序列的N点DFT 【仿真结果】 L=32: L=64: L=128: L=256: L=512 L=32: L=128: 【结果分析】 对长度为32点的序列x[k]进行32点的DFT,只可以获得其频谱函数X很少的细节,谱峰的频率为0.1Hz和0.9Hz。我们知道,理论上在0.2处和-0.2处有谱峰,但是由于周期性,所以所以在[0,2π]出的频谱如图所示。 对长度为32点的序列x[k]进行64点的DFT,相比32点的DFT,其频谱函数获得了X很多的细节;对长度为32点的序列x[k]进行128点的DFT,相比64点的DFT,其频谱函数获得了X更多的细节。 通过对该序列不断的补零,我们从图中可以看出补零越多,则频谱间隔越减小,频谱更清晰,频谱函数越详细,细节越多,越精确,频谱的显示分辨率越大。而且不管序列补零到多少点,频谱的峰值处的对应点都是0.2和1.8,所以,序列补零并不能改变频谱的值,只能提高频谱分辨率。 【自主学习内容】 利用DFT分析连续非周期信号的频谱 栏栅现象 【阅读文献】 《数字信号处理》(第三版) 陈后金主编 【发现问题】(专题研讨或相关知识点学习中发现的问题): 在序列后面补零的作用 【问题探究】 在序列后面补零不能提高频谱的分辨率。DFT是对信号fourier变换的离散化处理,从后两个图中可以明显地看出:对序列后面补零,只是增加了信号fourier变换后的离散抽样点,并不能改变信号本身的采样点,故不能提高频谱的分辨率。在 连续信号在离散化或时域加窗过程中,由于混叠或泄露等过程已经造成信号频谱中信息的失真,则无论怎么补零也无法再恢复已损失的信息。 【仿真程序】 k=0:31 x=sin(0.2*pi*k) L=0:31 X=fft(x,32) plot(2*L/32,abs(X)) title(L=32) k=0:31 x=sin(0.2*pi*k) L=0:63 X=fft(x,64) plot(2*L/64,abs(X)) title(L=64) k=0:31 x=sin(0.2*pi*k) L=0:127 X=fft(x,128) plot(2*L/128,abs(X)) title(L=128) k=0:31 x=sin(0.2*pi*k) L=0:255 X=fft(x,256) plot(2*L/256,abs(X)) title(L=256) k=0:31 x=sin(0.2*pi*k) L=0:511 X=fft(x,512) plot(2*L/512,abs(X)) title(L=512) k=0:31; x=sin(0.2*pi*k) L=0:1023 X=fft(x,1024) plot(2*L/1024,abs(X),b) hold on; k1=0:31 X1=fft(x,32) stem(2*k1/32,abs(X1),x,r) title(L=32) k=0:31; x=sin(0.2*

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档