基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算法框图

 

 

 

 

你可能感兴趣的:(数字信号处理,数字信号处理)