本篇关注从 DFT 到 FFT 的过渡。
快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的高效算法,其核心思想是利用 DFT 的对称性和周期性,将计算复杂度从 降低到
。接下来概述性地罗列一下推导过程。
1. DFT 的标准定义回顾
这次使用化简友好的书写格式,DFT 的定义式为:
其中:
(旋转因子,Twiddle Factor)
直接计算 DFT 需要 次复数乘法和加法,计算量较大。
2. FFT 的核心思想:分治法(Divide and Conquer)
FFT 的关键在于 将 DFT 分解为更小的 DFT,从而减少计算量。最经典的 FFT 算法是 Cooley-Tukey 算法,适用于 (即 N 是 2 的幂次)。
(1) 将 DFT 分解为奇偶序列
假设 N 是偶数,将输入序列 分成 偶数索引 和 奇数索引 两部分:
![\begin{cases} x_{\text{even}}[m] = x[2m], \quad m = 0,1,\dots,\frac{N}{2}-1 \\ x_{\text{odd}}[m] = x[2m+1], \quad m = 0,1,\dots,\frac{N}{2}-1 \end{cases}](https://latex.csdn.net/eq?%5Cbegin%7Bcases%7D%20x_%7B%5Ctext%7Beven%7D%7D%5Bm%5D%20%3D%20x%5B2m%5D%2C%20%5Cquad%20m%20%3D%200%2C1%2C%5Cdots%2C%5Cfrac%7BN%7D%7B2%7D-1%20%5C%5C%20x_%7B%5Ctext%7Bodd%7D%7D%5Bm%5D%20%3D%20x%5B2m+1%5D%2C%20%5Cquad%20m%20%3D%200%2C1%2C%5Cdots%2C%5Cfrac%7BN%7D%7B2%7D-1%20%5Cend%7Bcases%7D)
(2) 将 DFT 表示为两个更小的 DFT
利用 DFT 的线性性质,可以将其拆分为两个 点的 DFT:
由于 ,因此:
即:
(3) 利用周期性减少计算量
由于 和
都是 N/2 点的 DFT,它们的周期是 N/2,因此:
于是,我们只需要计算 ,然后利用对称性得到后半部分:
这里利用了 。
3. 递归计算 FFT
上述分解过程可以 递归进行,直到 N = 1(此时 DFT 就是它本身)。
计算步骤:
分解:将 N-点 DFT 分解为 2 个 N/2-点 DFT。
递归计算:计算 和
。
合并:根据对称性合并结果。
计算复杂度分析
每层递归的计算量:(合并阶段)。
递归深度:(因为每次 N 减半)。
总计算量: ,远优于 DFT 的
。
4. 示例:8 点 FFT(N = 8N=8)
(1) 第一次分解
偶数索引: (4 点 DFT)
奇数索引: (4 点 DFT)
(2) 第二次分解
对 4 点 DFT 继续分解:
偶数部分的偶数: (2 点 DFT)
偶数部分的奇数:(2 点 DFT)
奇数部分的偶数:(2 点 DFT)
奇数部分的奇数:(2 点 DFT)
(3) 最终分解
2 点 DFT 可以直接计算:
(4) 逐层合并
按照对称性逐层合并,最终得到 8 点 DFT 结果。
5. 归纳总结一下
FFT 步骤操作
1. 分治分解 将 N-点 DFT 分解为 2 个 N/2-点 DFT(奇偶分离)
2. 递归计算 对更小的 DFT 继续分解,直到 N = 1
3. 对称合并 利用 减少计算量
4. 最终结果 通过逐层合并,得到完整的 DFT 频谱
FFT 的优势
计算复杂度从 降到
,适用于实时信号处理。
广泛应用于音频处理、图像压缩(JPEG)、通信系统(OFDM)等领域。
数学公式总结
DFT 定义:
FFT 分解:
旋转因子性质:
通过这种分治策略,FFT 极大提升了 DFT 的计算效率,成为现代数字信号处理的基石。
6. 深入思考环节
6.1. 递归性的物理意义
FFT 的递归分治不仅是一种数学技巧,还具有深刻的物理和几何意义:
(1) 多分辨率频率分析
物理意义:FFT 的递归分解类似于“逐步聚焦”的频率分析。每一层递归对应不同的频率分辨率,高层(大 N)捕捉低频趋势,底层(小 N)捕捉高频细节。类似小波变换(Wavelet Transform)的多尺度思想。
(2) 旋转因子的几何意义
的几何解释:在复平面上,
是单位圆上的等间隔旋转(角度
)。
FFT 的递归性对应旋转因子的 对称分组,将计算量从 次旋转减少到
次。
(3) 信号的能量重新分配
奇偶分解的物理含义:
偶数样本( )代表信号的“平滑”部分(低频主导)。
奇数样本( )代表信号的“细节”部分(高频主导)。
递归过程逐步分离信号的不同频率成分。
6.2. 几何代数意义
(1) 群论视角
DFT 的矩阵表示:
DFT 可以看作一个 的酉矩阵
,其元素为
。
FFT 的递归性对应矩阵 的 块对角化分解,即:
其中 是对角旋转因子矩阵,
是排列矩阵。
(2) 张量积结构
FFT 的递归性反映了 信号空间的张量积分解:
这种结构在量子计算中有应用(如量子傅里叶变换)。
(3) 多项式插值
DFT 是多项式求值:
可以看作多项式
在
处的值。
FFT 的递归性对应 多项式的分治求值(类似快速多项式乘法)。
6.3. 归纳一下
说得有点乱,整理到表格里:
层面 | 意义 |
---|---|
计算优化 | 通过分治递归将复杂度从 O(N^2)O(N2) 降至 O(N \log N)O(NlogN)。 |
物理意义 | 多尺度频率分析,旋转因子的对称性,信号能量分层提取。 |
几何意义 | 复平面上的旋转分组,矩阵的块对角化分解。 |
代数意义 | 群论中的酉矩阵分解,多项式插值的分治策略。 |
一言以蔽之,FFT 的递归性不仅是算法优化,更揭示了信号在时域和频域中的深层对称性与结构!