FFT算法理解与c语言的实现

完整内容迁移至

 http://www.face2ai.com/DIP-2-3-FFT算法理解与c语言的实现/

http://www.tony4ai.com/DIP-2-3-FFT算法理解与c语言的实现/

  • 为什么需要FFT

 

       第一个问题是为什么要创造FFT,简单的说,为了速度。我们承认DFT很有用,但是我们发现他的速度不是很快,1D的DFT原始算法的时间复杂度是O(n^2),这个可以通过公式观察出来,对于2D的DFT其时间复杂度是O(n^4),这个速度真的很难接受,也就是说,你计算一幅1024x768的图像时,你将等大概。。。大概。。。我也没试过,反正很久。不信的自己去试试。所以找到一种快速方法的方法计算FFT势在必行。

以下为DFT公式

FFT算法理解与c语言的实现_第1张图片

     计算一个4点DFT。计算量如下:

FFT算法理解与c语言的实现_第2张图片

 

  • 如何得到FFT

       

 

你可能感兴趣的:(FFT,快速离散傅里叶变换,c语言实现,快速傅里叶算法,数字图像处理,数字图像处理)