FFT算法理解

1、 DFT运算及性质

 

DFT计算量很大,且随N的增多急剧增加,计算量和成正比,要降低计算复杂度,就需要将DFT分解成小点数的DFT处理。在DFT分解处理中,出现了“按时间抽取的FFT”、“按频率抽取的FFT”,其中“按频率抽取的FFT”使用比较多,特别是基于“分裂机”的“频率抽取FFT”相对于常规的“按频率抽取”的基2 FFT要更省计算量。

1、 按时间抽取的基2 FFT算法

所谓的按“时间”抽取还是按“频率”抽取指的是在最终推到公式中是对时域数据进行分组还是对频域数据进行分组。按时间抽取的基2 FFT算法的公式中是对时域数据进行奇偶分组,公式如下:

只需要时域偶数项数据计算即可得到,只需要时域的奇数项数据计算即可,但是需要计算N个,利用可以减少一半的计算量。下面是推导:

到这里我们会发现,通过计算时域数据偶数点位置的N/2点DFT,和计算奇数位置的N/2点DFT就可以得到N点数据的DFT,即将一个N点的DFT运算拆分成了两个N/2点的DFT运算,这样的话N点的DFT运算只是N/2点DFT运算的2倍(除去中的加法和乘法运算有N个乘法和N个加法),这样的话相对于DFT计算量按增长方式,有了很大的优化。

8点DFT

这样通过将N点时域数据计算得到的N/2点再通过计算这两个N/2点的DFT就可以得到原来N点数据得到DFT,计算复杂度也现对于直接计算N点DFT的少了一半(除去计算和的乘法加法)

猜你喜欢

转载自www.cnblogs.com/yuandonghua/p/10385899.html