【八】快速傅里叶变换——2

一.快速傅里叶变换——时域抽取2FFT算法

基本出发点是利用旋转因子【八】快速傅里叶变换——2对称性和周期性,将一个大的DFT分解成一些小的DFT来计算。

算法原理:设输入序列长为【八】快速傅里叶变换——2(M为正整数),将该序列按时间顺序的奇偶分解为越来越短的子序列,称为基2按时间抽取的2FFT算法。

如序列长度不满足条件【八】快速傅里叶变换——2,可以加零补长,使其达到【八】快速傅里叶变换——2

输入序列长为【八】快速傅里叶变换——2(M为正整数),【八】快速傅里叶变换——2

第一步:分组和变量置换

【八】快速傅里叶变换——2【八】快速傅里叶变换——2,将【八】快速傅里叶变换——2按奇偶分成两组:

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

第二步:带入DFT定义式

【八】快速傅里叶变换——2

第三步:求子序列的DFT

【八】快速傅里叶变换——2

(有的资料写【八】快速傅里叶变换——2。)

其中,【八】快速傅里叶变换——2【八】快速傅里叶变换——2分别为【八】快速傅里叶变换——2【八】快速傅里叶变换——2【八】快速傅里叶变换——2点DFT,式中:

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

因为【八】快速傅里叶变换——2【八】快速傅里叶变换——2均以【八】快速傅里叶变换——2为周期,且【八】快速傅里叶变换——2

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

至此,一次时域抽取法的理论推导就完成了,从上面的两个式子中,我们定义一种新的运算符,蝶形运算符:

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

用同样的方法,我们可以得到:

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

【八】快速傅里叶变换——2  ,【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

二.DIT-FFT与直接DFT运算量的比较

1.DIT-FFT

从上面的蝶形算法,当【八】快速傅里叶变换——2时,其运算应该有M级蝶形,每一级都由【八】快速傅里叶变换——2个蝶形运算构成。因此每一级运算都需要【八】快速傅里叶变换——2

次复数乘法和N次复数加法,所以M级蝶形运算的乘法次数为:

【八】快速傅里叶变换——2

【八】快速傅里叶变换——2

2.直接DFT运算

取定【八】快速傅里叶变换——2的一个值至少需要【八】快速傅里叶变换——2次复数乘法和【八】快速傅里叶变换——2次复数加法,而K的取值有【八】快速傅里叶变换——2个,所以总的时间复杂度为【八】快速傅里叶变换——2次复数乘法和【八】快速傅里叶变换——2次复数加法。

3.FFT算法与直接计算DFT所需乘法次数比郊曲线

【八】快速傅里叶变换——2


注:本文整理网上资料,包括知乎、博客等,如有侵权立刻删除。