声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1084|回复: 2

[综合讨论] 请教这个FFT的图该怎么画出来

[复制链接]
发表于 2008-4-23 16:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. function y=myditfft(x)
  2. % y=myditfft(x)
  3. % ------------------------------------------------------------
  4. % 本程序对输入序列 x 实现DIT-FFT基2算法,点数取大于等于x长度的2的幂次
  5. % x为给定时间序列
  6. % y为x的离散傅立叶变换
  7. %
  8. m=nextpow2(x);N=2^m; % 求x的长度对应的2的最低幂次m
  9. if length(x)<N
  10.    x=[x,zeros(1,N-length(x))]; % 若x的长度不是2的幂,补零到2的整数幂
  11. end
  12. nxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; % 求1:2^m数列的倒序
  13. y=x(nxd); % 将x倒序排列作为y的初始值
  14. for mm=1:m % 将DFT作m次基2分解,从左到右,对每次分解作DFT运算
  15.     Nmr=2^mm;u=1; % 旋转因子u初始化为WN^0=1
  16.     WN=exp(-i*2*pi/Nmr); % 本次分解的基本DFT因子WN=exp(-i*2*pi/Nmr)
  17.     for j=1:Nmr/2 % 本次跨越间隔内的各次蝶形运算
  18.       for k=j:Nmr:N % 本次蝶形运算的跨越间隔为Nmr=2^mm
  19.         kp=k+Nmr/2; % 确定蝶形运算的对应单元下标
  20.         t=y(kp)*u; % 蝶形运算的乘积项
  21.         y(kp)=y(k)-t; % 蝶形运算
  22.         y(k)=y(k)+t; % 蝶形运算
  23.       end
  24.      u=u*WN; % 修改旋转因子,多乘一个基本DFT因子WN
  25.     end
  26. end
复制代码
回复
分享到:

使用道具 举报

发表于 2008-4-23 18:36 | 显示全部楼层

回复 楼主 的帖子

这个是函数,用来调用的吧

到底出现什么问题了
发表于 2008-4-24 08:22 | 显示全部楼层
楼主有时间的话多看看本版置顶帖,会有不小的收获的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 13:31 , Processed in 0.059242 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表