首发于个人博客
FFT前置知识
FT和DFT
傅里叶变换FT(fourier transform)用于将时域信号和频域信号之间变换,公式如下所示:
对于计算机系统中,无法处理连续的过程,因此离散化为离散傅里叶变换DFT(Discrete Fourier Transform):
取,可将DFT改写为以下公式:
DFT改进(削减计算量)
首先分析原始公式的计算量,取一个8点DFT算法,对于一个点:
- 需要复数乘法N次,每次复数乘法由四次实数乘法和两次实数加法实现
- 需要复数加法N-1次,每次复数加法由两次实数加法构成
因此,对于一个点,需要实数乘法共4N次,实数加法共(2N-2+2N)=4N-2次。削减计算量的主要重点在上,使用欧拉公式有:
考虑的情况,有以下公式:
同理有,因此以一个4点DFT为例,有以下公式:
可减少所需要的复数乘法的次数,进而减少对应的