FFT算法的理解
FFT算法 在理论、工程中具有非常广泛的应用。在实际应用中,工程师并不需要我完全理解,就可以利用其实现结果的输出,但是在某些特殊、高级的应用场合,需要对fft的结果进行进一步分析是,往往会同时还需要注意到它在频谱分析中可能带来的频率混叠、频率泄露,甚至算法优化等等问题。工程师们就需要首先理解现有算法的原理、流程,并以此为基础比较不同fft的实现方式下的优缺点,从而选择最适合自己工程应用的算法。后面结合本人实践中的应用,对c程序实现的fft算法进行剖析和比较。
前置知识
要完全理解FFT,我们就需要从DFT说起,在DFT和FFT算法中,无法避开的数学基础知识就是欧拉方程:
简化的欧拉恒等式(Euler’s identity)是如下表示:

其更通用的表达式:

其中:
e是自然对数的底,
i是虚数单位。
它将指数函数的定义域扩大到复数,建立了三角函数和指数函数的关系,网上关于其原理文章汗牛充栋,但大多晦涩难懂,对应应用的工程师而言,完全是一头雾水,此处从应用角度出发,结合代码的实现,通俗易懂地做个阐述,力求满足大多数工科类工程师的理解需要。但必要的前置知识还是要有的。
自然数e的理解
在教科书上,e的定义为:
借助编程工具,我们可以如下验证:

最终,
就和大名鼎鼎的π一样,它是一个无理数。e在科学技术中用得非常多,一般不使用以10为底数的对数。以e为底数,许多式子都能得到简化,用它是最“自然”的,所以叫“自然对数”,看看下面这张图,是不是有异曲同工之妙:

指数函数扩展到复平面
现在我们知道了e,可是:
又是什么玩意?
我们先从实数域谈起,有过初中知识的都知道,在实数域:
当指数n>0,且n为整数时

特殊情况下:
当指数n=0时,
但是在复变指数函数中,还是这样的情况吗?我们下期讲

本文深入浅出地介绍了快速傅立叶变换(FFT)的基本原理及其在工程实践中的应用。通过对离散傅立叶变换(DFT)的基础知识回顾,以及自然数e和复数指数函数的解释,为读者提供了理解FFT算法所需的基础知识。此外,还探讨了在不同应用场景下选择合适FFT实现的重要性。
--对FFT算法的理解1&spm=1001.2101.3001.5002&articleId=126573587&d=1&t=3&u=825c89401bc041298de6d40ccf11f3d8)
892

被折叠的 条评论
为什么被折叠?



