(fft和dft)matlab源代码.doc_第1页
(fft和dft)matlab源代码.doc_第2页
(fft和dft)matlab源代码.doc_第3页
全文预览已结束

下载本文档

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

文档简介

对于正弦序列进行16点dft和fft变换: k=16; n1=0:1:15; %取点xa1=sin(2*pi*n1/k); %写入输入函数subplot(2,2,1) %输出输入函数plot(n1,xa1) xlabel(t/T);ylabel(x(n); xk1=dft(xa1); %对xa1做dft变换xk1=abs(xk1); %对xa1做dft变换去绝对值subplot(2,2,2) %输出dft变换后的结果stem(n1,xk1) xlabel(k);ylabel(X(k); k=16; n1=0:1:15; %取点xa1=sin(2*pi*n1/k); %写入输入函数subplot(2,2,1) %输出输入函数plot(n1,xa1) xlabel(t/T);ylabel(x(n); xk1=fft(xa1); %对xa1做dft变换xk1=abs(xk1); %对xa1做dft变换去绝对值subplot(2,2,2) %输出dft变换后的结果stem(n1,xk1) xlabel(k);ylabel(X(k); Dft变换 fft变换fft变换过程:function y=myfft(xr,n) p=0:n-1 ; % 开始倒位序nu=log2(n); p1=p; b=zeros(1,n); for t=1:nu; p2=floor(p1/2); b=b*2+(p1-2*p2); p1=p2; end; yr(p+1)=xr(b+1); xr=yr; % 倒位序结束t=0:n/2-1; %计算因子 w 开始 (只计算for v=0:n/2-1; w=exp(-2*i*pi*t/n); end; %计算因子w 结束 for m=1:nu; % 计算x(k)开始 h=2(m-1); k=1; while(kn+1) for t=1:h; y=bitshift(k-1,nu-m,nu)+1; %求w 的幂次数 xch(k)=xr(k)+w(y)*xr(k+h); k=k+1; end; for t=1:h; y=bitshift(k-1-h,nu-m,nu)+1; %求w 的幂次数 xch(k)=xr(k-h)-xr(k)*w(y); k=k+1; end;end; xr=xch; end; % 计算x(k)结束 y=xr %输出变换后的结果dft和fft时间对比:dft_time=zeros(1,100);for n=1:100 %取1到100点的dftt=clock; a=sin(n)+cos(n);DFTmatlab(a,n); %做不同抽样点的dftdft_time(n)=etime(clock,t); %计算不同点数运行的时间end;n=1:100;subplot(1,2,1) ; %将绘图显示在指定位置plot(n,dft_time,.); %以”.”作时间大小的标记xlabel(N); ylabel(时间 (单位:秒); %制定横纵坐标的显示内容title(DFT执行时间); %绘图的标题fft_time=zeros(1,100);for n=1:1:100t=clock;a1=sin(n)+cos(n);FFTmatlab(a1);fft_time(n)=etime(clock,t);endn=1:100;su

温馨提示

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

最新文档

评论

0/150

提交评论