fft 快速傅里叶变换 (Matlab)

1.语法:

        Y = fft(X)
        Y = fft(X,n)
        Y = fft(X,n,dim)

2.说明

Y = fft(X) 用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。
        如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换。
        如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换。
        如果 X 是一个多维数组,则 fft(X) 将沿大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。


Y = fft(X,n) 返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同。
        如果 X 是向量且 X 的长度小于 n,则为 X 补上尾零以达到长度 n。
        如果 X 是向量且 X 的长度大于 n,则对 X 进行截断以达到长度 n。
        如果 X 是矩阵,则每列的处理与在向量情况下相同。
        如果 X 为多维数组,则大小不等于 1 的第一个数组维度的处理与在向量情况下相同。


Y = fft(X,n,dim) 返回沿维度 dim 的傅里叶变换。例如,如果 X 是矩阵,则 fft(X,n,2) 返回每行的 n 点傅里叶变换。

3.原理:

向量的离散傅里叶变换:
        Y = fft(X) 和 X = ifft(Y) 分别实现傅里叶变换和傅里叶逆变换。对于长度为 n 的 X 和 Y,这些变换定义如下:
在这里插入图片描述
其中
在这里插入图片描述
为 n 次单位根之一。

4.提示:
  1. fft 的执行时间取决于变换的长度。仅具有小质因数的变换长度的 fft 执行时间明显快于本身是质数或具有较大质因数的变换长度的 fft 执行时间。

  2. 对于大多数 n 值,实数输入的 DFT 需要的计算时间大致是复数输入的 DFT 计算时间的一半。但是,当 n 有较大的质因数时,速度很少有差别或没有差别。

  3. 使用工具函数 fftw 可能会提高 fft 的速度。此函数控制用于计算特殊大小和维度的 FFT 算法优化。

本文转自 matlab官网
网址为:https://ww2.mathworks.cn/help/matlab/ref/fft.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值