网站大量收购独家精品文档,联系QQ:2885784924

用matlab编的fft变换程序.doc

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

用matlab编的fft变换程序 用蝶形算法和码位倒置法编写的fft变换程序,并验证之,有兴趣的可以看看。 function data=myfft(datat,nn,isign) datat=mybitrevorder(datat,nn);? ?? ?? ?? ?? ? %这个地方也可以用matlab自带的bitrevorder,有兴趣的还是自己编一下 for i=0:length(datat)-1 ? ? data(2*i+1)=datat(i+1); ? ? data(2*i+2)=0; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% n=nn.*2; mmax=2; while nmmax; ? ? istep=2.*mmax; ? ? theta=6.28318530717959/(isign*mmax); ? ? wtemp=sin(0.5*theta); wpr = -2.0*wtemp*wtemp; wpi=sin(theta); wr=1.0; wi=0.0; ? ? for m=1:2:mmax ? ?? ???for i=m:istep:n ? ?? ?? ?? ?j=i+mmax; ? ?tempr=wr*data(j)-wi*data(j+1); ? ?tempi=wr*data(j+1)+wi*data(j); ? ?data(j)=data(i)-tempr; ? ?data(j+1)=data(i+1)-tempi; ? ?data(i)=data(i)+tempr; ? ?data(i+1)=data(i+1)+tempi; ? ?? ???end ? ?? ???wtemp=wr; ? ?? ???wr=wtemp*wpr-wi*wpi+wr; ??wi=wi*wpr+wtemp*wpi+wi; ? ? end ? ? mmax=istep; end?? %%%%%%%%%%%%%码位倒置程序%%%%%%%%%%%%%%%%%%%% function??A=mybitrevorder(A,N) j=N./2; for i=2:1:N-1 ? ? if ij ? ?? ???temp=A(i); ? ?? ???A(i)=A(j+1); ? ?? ???A(j+1)=temp; ? ? end ? ? k=N/2; ? ? while j=k ? ?? ???j=j-k; ? ?? ???k=k/2; ? ? end ? ? j=j+k; end %%%%%%%%%%%%%进行验证(matlab自带的fft,自己编写的fft,和函数的解析fft三者的比较%%%%%%% clear all; isign=1; nn=256; t=linspace(0,3,nn); f=2.*exp(-3.*t); data=myfft(f,nn,isign); Ts=t(2)-t(1); Ws=2.*pi./Ts; W=Ws.*(0:nn./2)./nn; for i=0:nn-1 ? ? datar(i+1)=data(2.*i+1).*Ts; ? ? datai(i+1)=data(2.*i+2).*Ts; end for i=1:nn./2+1 ? ? co(i)=datar(i); ? ? si(i)=datai(i); ? ? power(i)=(co(i).^2+si(i).^2).^0.5; end F=fft(f); Fp=F(1:nn./2+1)*Ts; Fpr=real(Fp); Fpi=imag(Fp); W=Ws.*(0:nn./2)./nn; A=abs(Fp); Fa=2./(3+j.*W); B=abs(Fa); plot(W,B,o,W,A,+r,W,power,g);

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档