码迷,mamicode.com
首页 > 编程语言 > 详细

FFT算法理解

时间:2019-02-15 21:12:43      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:算法   fft算法   优化   加法   src   span   png   点数据   拆分   

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的少了一半(除去计算和的乘法技术图片技术图片加法)

 

FFT算法理解

标签:算法   fft算法   优化   加法   src   span   png   点数据   拆分   

原文地址:https://www.cnblogs.com/yuandonghua/p/10385899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!