FFT 及信号的谱分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FFT 及信号的谱分析

实验九 FFT 及信号的谱分析 一、实验目的 1.通过实验加深对 FFT 的理解,熟悉 FFT 程序、结构及编程方法。 2.熟练应用 FFT 对典型信号进行谱分析的方法。 3.了解应用 FFT 进行信号频域分析可能出现的问题以便在实际中正确应用FFT。 4. 理解 FFT 与 IFFT 的关系。 5. 熟悉应用 FFT 实现两个序列的线性卷积的方法。 二、实验原理及方法 在各种信号序列中,有限长序列信号处理占有很重要的位置,对有限长序列,我们可以使用离散 Fourier 变换(DFT)。这一变换不但可以很好地反映序列的频谱特性,而且已永快速算法在计算机上实现,当序列x(n)的长度为 N时,它的 DFT 定义为: (一)、在利用DFT进行频谱分析时可能会出现三种误差。 (1) 混叠 为了利用计算一个连续信号的频谱,首先需要对这个连续信号进行取样,如果取样率 太低,也即抽样周期太大,在频域内将产生混叠现象,这样就不可能无失真的恢复原连续信 号。对带限信号,当所处理模拟信号最高频率 fh与抽样频率f s满足 时就不会出现频谱混叠现象。 (2)泄漏 实际信号序列往往很长,甚至是无限长序列。为了方便,我们往往用截短的序列来近似他们。这样可以使用较短的DFT 来对信号进行频谱分析。对序列xn 截短的过程就是将 原信号序列与矩形窗函数相乘的过程,在频域就是两者频谱的卷积。一般情况下这样都会造 成由此得到的频谱不同于信号原来的频谱,这种现象叫做泄漏。在实际应用中,可以选用频 谱主瓣小、旁瓣小、尽量接近于窗函数来减少泄漏。泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。 为了减少泄漏影响,可以选择适当的窗函数是频谱的扩散减至最小。 (3)栅栏效应 DFT 是对单位园上 z变换的均匀取样,所以它不可能将频谱视为一个连续函数。这样就产生了栅栏效应。就一定的意义上看,用 DFT 来观看频谱就好像通过一个尖桩的栅栏来观看一个图景一样,只能在离散点上看到真实的频谱。这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所挡住,不能被我们观察到。减小栅栏效应的一个方法是借助于原列 的末端增加一些零值,从而变动 DFT 的点数。这一方法实际上是人为的改变了对真实频谱 采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得原来看不到的频谱的峰点或谷点就有可能看到了。 IFFT 一般可以通过 FFT 程序来完成,只要对X[k]取共轭,进行 FFT 运算,然后再取共轭,并乘以因子 1/N,就可以完成 IFFT。 实验中用到的信号序列: 三、实验内容 1.用三种不同的DFT 程序计算x(n)= Rn(8)的傅里叶变换exp(jw) ,并比较三种程序计算机运行时间。 (1)用 for loop 语句的M函数文件dft1.m,用循环变量逐点计算 X(k) ; (2)编写用 MATLAB矩阵运算的 M函数文件 dft2.m, 完成下列矩阵运算; (3)调用 FFT 库函数,直接计算 X (k); (4)分别利用上述三种不同方式编写的DFT 程序计算序列 x(n) 的傅立叶变换 exp(jw) ,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。 (1)代码:dft1(x) function [Am,pha] = dft1(x) N = length(x); w = exp(-j*2*pi/N); for k = 1:N sum = 0; for n = 1:N sum = sum+x(n)*w^((k-1)*(n-1)); end Am(k) = abs(sum); pha(k) = angle(sum); end 代码: clc; clf; clear; n=0:9; x=[ones(1,8),zeros(1,2)]; %x=stepseq(0,0,7); subplot(311) stem(n,x); [Am,pha] = dft1(x); subplot(312) stem(Am); subplot(313) stem(pha); 图形: (2)代码:dft2(x) function [Am,pha] = dft2(x) N = length(x); n = [0:N-1]; k = [0:N-1]; w = exp(-j*2*pi/N); nk = n*k; wnk = w.^(nk); Xk = x*wnk; Am = abs(Xk); pha = angle(Xk); 代码: clc; clf; clear; n=0:9; x=[ones(1,8),zeros(1,2)]; %x=stepseq(0,0,7); subplot(311)

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档