在本篇博客中,主要展示了一个长度为N=2^3序列的蝶形计算过程示例,帮助理解FTT算法的原理。
原始的DFT算法:
基于2时间抽取的FFT算法,对有限长序列不断进行奇偶抽取,直到分解成一系列长度等于2的短序列,只计算长度为2的短序列DFT变换。
基于2时间抽取的FFT算法,单次抽取算法。
由于,所以可以将公式(3)改写为
另外,由于,所以有
。我们只需要计算即可。
下面主要通过一个N=8的例子,通过三次抽取,来说明算法如何重复利用长度为2的短序列计算结果以达到减少计算量的。
假设N=8的序列为,根据公式(4)的抽取算法,可以写出的计算表达式,如下所示。
根据公式5,可以得到的计算公式,
可知,,根据此我们就可以画出一个蝶形计算过程,如下图所示。
以上仅说明了基于2时间抽取的FFT算法,后续将补充基于2频率抽取FFT算法。
参考目录:MATLAB数字信号处理85个实用案例精讲--入门到进阶,宋知用,北京航空航天大学出版社.