实验六 离散傅里叶变换(DFT).pptVIP

  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文档。上传文档
查看更多
实验六 离散傅里叶变换(DFT)

实验三 离散傅里叶变换(DFT) 一、实验目的 dft1.m: 用for循环计算DFT 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 调用dft1.m函数文件的M程序文件 x=ones(1,8) [Am1,pha1]=dft1(x); n=[0:(length(x)-1)]; w=(2*pi/length(x))*n; figure(1) subplot(2,1,1),stem(w,Am1,b); title(Magnitude part); xlabel(frequency in radians); ylabel(|X(exp(jw)|) subplot(2,1,2),stem(w,pha1,r);grid; gtext(Phase part); xlabel(frequency in radians); ylabel(arg(X[exp(jw)]/radians); 可以利用MATLAB的矩阵运算计算DFT dft2.m: 用MATLAB矩阵运算计算DFT 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); dft3.m:调用FFT库函数计算DFT function [Am,pha]=dft3(x) Xk=fft(x); Am=abs(Xk); pha=angle(Xk) 计算信号频谱时要注意的问题: 1、采样频率fs2fh 2、信号截断的时间T0 1/F 3、采样点数N= fs×T0 采样16点,做256点DFT,程序如下: fs=32000; n=[1:16]; x=cos(2*pi*6.5*1000*n/fs)+cos(2*pi*7*1000*n/fs)+cos(2*pi*9*1000*n/fs); subplot(2,2,1);stem(n,x);title(signal x(n)) Xk=fft(x,256);magXk=abs(Xk); k1=0:255;w1=2*pi/256*k1; subplot(2,1,2);plot(w1,magXk);title(16点DTFT的幅值);xlabel(w(单位:pi)) fs=32000;%采样频率 n=[0:255]; x=cos(2*pi*6.5*1000*n/fs)+cos(2*pi*7*1000*n/fs)+cos(2*pi*9*1000*n/fs); subplot(2,1,1);plot(n/fs,x);title(signal x(t));xlabel(t/(单位:秒)) Xk=fft(x,256);magXk=fftshift(abs(Xk)); k1=-128:127;f=fs/256*k1; subplot(2,1,2);plot(f,magXk);title(256点DTFT的幅值);xlabel(f(单位:Hz)) * 1.掌握序列傅里叶变换的计算机实现方法。 2.了解DFT的性质及应用。 应用离散傅里叶变换(DFT),分析离散信号 x(n)的频谱。深刻理解DFT分析离散信号频谱 的原理,掌握改善分析过程中产生的误差的方法。 DFT公式: Matlab中提供了fft函数,FFT是DFT的快速算法 X=fft(x):用于计算序列x的离散傅里叶变换(DFT) X=fft(x,n):对序列x补零或截短至n点的离散傅里叶变换。 当x的长度小于n时,在x的尾部补零使x的长度达到n点; 当x的长度大于n时,将x截短使x的长度成n点; x=ifft(X)和x=ifft(X,n)是相应的离散傅里叶反变换。 fftshift(x)将fft计算输出的零频移到输出的中心位置。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档