快速傅里叶变换

快速傅里叶变换

快速傅里叶变换的引入为了解决传统DFT巨大的算法复杂度.

根据DFT定义
M ( k ) = ∑ n = 0 N − 1 m ( n ) W N n k , k = 0 , 1 , ⋯ N − 1 M(k)=\sum_{n=0}^{N-1}m(n)W_N^{nk} \quad,\quad k=0,1,\cdots N-1 M(k)=n=0N1m(n)WNnk,k=0,1,N1
可以看到在一次计算中需要执行N次复数乘法和N-1次复数加法,共执行N次,因此时间复杂度为 O ( N 2 ) O(N^2) O(N2),可以说是一个很糟糕的算法,对于大数据的处理十分吃力.

所以这一朴素算法势必被优化,这也就出现了今天要讲解的FFT算法

FFT算法的根本是基于 W N n k W_N^{nk} WNnk的对称性
( W N n k ) ∗ = W N − n k W N n k = W N ( n + N ) k = W N n ( k + N ) (W_N^{nk})^* = W_N^{-nk} \\ W_N^{nk}=W_N^{(n+N)k}=W_N^{n(k+N)} (WNnk)=WNnkWNnk=WN(n+N)k=WNn(k+N)

但是以下推导基本不用,需要知道的是
W N 2 k = W N 2 k (1) W_N^{2k}=W_{\frac N2}^k \tag{1} WN2k=W2Nk(1)

证明如下:
W N k = e − j 2 π N k W_N^{k}=e^{-j\frac{2\pi}{N}k} WNk=ej

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值