声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2894|回复: 8

[综合讨论] 请问FFT函数的返回值

[复制链接]
发表于 2007-3-1 22:52 | 显示全部楼层 |阅读模式

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

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

x
假设需要对3个点计算FFT,一般都是补0得到四个点后计算FFT,这样返回值是4个数。

例如:



  1. fft([1 2 3],4)
  2. ans =
  3.    6.0000            -2.0000 - 2.0000i            2.0000            -2.0000 + 2.0000i
复制代码


但是如果直接计算这3个点的FFT,则返回的就是3个数,例如:



  1. fft([1 2 3])
  2. ans =
  3.    6.0000            -1.5000 + 0.8660i           -1.5000 - 0.8660i

复制代码


如果直接按照DFT公式计算的话,3个数就应该返回3个值,补0后到2的整数倍后返回的是4个值,这与上面的例子是一致的。

可是FFT不都是将数补0达到2的整数倍后进行计算的吗?使用matlab中fft函数计算3个点的FFT为何返回的是3个值呢?

谢谢!
回复
分享到:

使用道具 举报

发表于 2007-3-1 22:56 | 显示全部楼层
可是FFT不都是将数补0达到2的整数倍后进行计算的吗


自己 help fft 看看吧,有公式显示
 楼主| 发表于 2007-3-2 16:47 | 显示全部楼层
谢谢。

看了一下,难道FFT就是按照DFT的公式计算的?而不是按照CurleyTrukey的基2或基4算法?
发表于 2007-3-2 17:04 | 显示全部楼层
难道FFT就是按照DFT的公式计算的?


正是

而不是按照CurleyTrukey的基2或基4算法?


未听说过,完全不懂


--------------------------------
个人认为按照DFT计算是最正常的,毕竟在计算机上只能做离散的运算
--------------------------------
发表于 2007-3-3 07:06 | 显示全部楼层
在MATLAB中确如Aprilgogo所说,能计算任何点数的FFT。而在MATLAB中FFT的函数不是一个M文件,至于它的内部是用DFT还是其它的什么算法就不得而知。我感觉上能计算任何点数的FFT,很方便,同时在计算速度上也相当快,好象把非2^n数据个数加零补到2^n,和不补零时,在计算速度上感觉不到有很大的差别。
 楼主| 发表于 2007-3-4 17:09 | 显示全部楼层
原帖由 eight 于 2007-3-2 17:04 发表


正是



未听说过,完全不懂


--------------------------------
个人认为按照DFT计算是最正常的,毕竟在计算机上只能做离散的运算
----------- ...


那个写错了,应该是Cooley和Tukey的FFT算法。也就是库利-图基算法了。
 楼主| 发表于 2007-3-4 17:10 | 显示全部楼层
原帖由 songzy41 于 2007-3-3 07:06 发表
在MATLAB中确如Aprilgogo所说,能计算任何点数的FFT。而在MATLAB中FFT的函数不是一个M文件,至于它的内部是用DFT还是其它的什么算法就不得而知。我感觉上能计算任何点数的FFT,很方便,同时在计算速度上也相当快 ...


说得很对,就是不知道MATLAB怎么算的,既能计算任何点数的FFT,速度又能很快,有点厉害...
发表于 2007-3-9 09:48 | 显示全部楼层
matlab帮助的最后一段有算法介绍

下面这段是《数字信号处理:使用matlab》158页的介绍
fft(x, N)计算N点DFT,如果x长度不足N则补零
fft(x)计算x长度的DFT
这个函数是用机器语言写成的,不是matlab命令.m文件,执行速度非常快
如果N是2的某个幂,那么他就采用高速的基-2FFT算法
否则将N分解质因素,用较慢的混合基FFT算法
如果N是一个质数,那么只能使用原始的DFT算法

这样大家明白了吧
发表于 2007-3-9 15:15 | 显示全部楼层
刚才看到一个chirp z变换
用czt(x)也可以计算DFT,特别是对于长度为质数的,有可能比FFT有效
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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