首先给大家提供DFT和FFT的运算量的教程:
1直接用DFT计算运算量与用FFT计算的运算量比较。
2.多种DFT算法(时间抽取算法DIT算法,频率抽取算法DIF算法
3线性调频Z变换即CZT法)
4.FFT的应用
重叠相加法
重叠保留法
N点DFT共需要N2次复数乘法和N(N-1)次复数加法,共4N2次实数乘法和(2N2+2N*(N-1))次实数加法。当N很大时,这是一个非常大的计算量。
利用FFT算法之后,任何一个N为2的整数幂(即N= 2M)的DFT,都可以通过M次分解,最后成为2点的DFT来计算。M次分解构成了从x(n)到X(k)的M级迭代计算,每级由N/2个蝶形运算组成。完成一个蝶形计算需一次乘法和两次复数加法。因此,完成N点的时间抽选FFT计算的总运算量为:
复数乘法次数:M*N/2=log2N*N/2
复数加法次数:M*2*N/2= log2N*N
大多数情况下复数乘法所花的时间最多,所以以复数乘法的计算次数来比较DFT与FFT的效率为:DFT/FFT=2N/log2N。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部2条评论
快来发表一下你的评论吧 !