基2与基4时间抽取fft算法
基2时间抽取FFT计算
DFT变换定义:
IDFT变换定义:
基2算法,序列的长度是为2的幂,序列的DFT为。序列可以由奇序列和偶序列组成,它们的DFT分别为和。
假设x[2r]和x[2r+1]的N/2点的DFT值为:
,
那么可以得到:
这样我们可以将时域长序列逐次按奇偶分解为两个短序列,然后由两个短序列的DFT逐次合成相应长序列的DFT称为基2时间抽取FFT算法。
从最后一级往前分解对应的蝶形结构,这些蝶形结构最左边的输入都是序列的DFT值,而分解直到最左边的蝶形结构是两点序列的DFT,此时最左边的值是序列x[k],
概括起来就是由N点序列的DFT最终分解为2点序列的DFT。
基2时间抽取FFT算法计算复杂度:
直接计算法:共需要N*N次复数乘法器,和N*N次复数加法。
基2的FFT快速算法:
共需要分解的总级数为:,
每一级含有的蝶形结构个数为:N/2
每个蝶形结构完成一次复数乘法和两次复数加法运算。
总共运算量为:
复数乘法:
复数加法:
基2蝶形结构系数的变化规律
第一级蝶形运算的系数均为,
第二级蝶形运算的系数均为和
之后M级蝶形运算的系数为:
、、……
基4时间抽取FFT计算
将序列分为4个短序列,分别为x[4k]、x[4k+1]、x[4k+2]、x[4k+3].
每一级有N/4个蝶形运算,总共需要分的级数是
第一级每个蝶形运算不需要乘选择因子,所以没有复数乘法。之后的级数,因为,不需要乘积,所以每个蝶形运算都需要3次乘旋转因子,故需要3次复数乘法。
基4时间抽取FFT算法复数乘法次数为:
16点的基4时域抽取的FFT算法框图
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
