FFT快速傅里叶变换

FFT提出的意义

FFT(Fast Fourier Transform)是DFT的高效算法,大幅减少了计算量。

  • 直接计算 点DFT需要 次复数乘法和 次复数加法。
  • FFT利用旋转因子 的对称性和周期性,将运算量降至
  • 为例:DFT需约 次乘法,FFT仅需约 次,速度提升200倍。

基2时间抽取FFT(DIT-FFT)

基本思想

  • 点序列按奇偶分解为两个 点子序列,递归进行直到2点DFT。
  • 利用旋转因子的性质合并子问题结果。

分解过程

  1. 的奇偶分为
  2. 点DFT表示为两个 点DFT的组合: 其中

蝶形运算

  • 每个蝶形单元完成一次复数乘法和两次复数加法:
  • 蝶形单元的图形表示形似蝴蝶,故得名。
  • 时,FFT共有 级,每级 个蝶形运算。

运算量分析

算法复数乘法次数复数加法次数
DFT
FFT(基2)
  • :DFT需1,048,576次乘法;FFT仅需5,120次。
  • 运算效率比:,随 增大而显著提升。

频率抽取FFT(DIF-FFT)

  • 与DIT-FFT对称:按频率的奇偶分解,而非按时间。
  • 将序列 分为前后两半,而不是按奇偶索引。
  • 蝶形结构不同:DIF使用 在蝶形之后,而DIT在之前。
  • 两者的运算量和复杂度相同,只是流图结构略有差异。

IFFT(快速傅里叶逆变换)

  • IFFT的计算结构与FFT完全相同。
  • 利用DFT性质:将 取共轭,做FFT后再取共轭并除以
  • 因此可用同一套硬件/软件实现FFT和IFFT。

链接到