蝶形运算的旋转因子计算:旋转因子是WnkN(nk是上标,N是下标),n是原序列里的某一点,k是DFT(或FFT)后的序列某一点,N为变换的点数。WnkN=e^[-j*2pi*n*k/N],这是一个复指数项。do_fft函数:如果需要计算的序列长为2,两个位置分别写为x[0]+x[1]和x[0]-x[1]然后返回。对需要计算的序列前半部分调用do_fft函数。对需要计算的序列后半副本调用do_fft函数。for (int i=0; i<length/2; ++i) 。x[i+length/2] *= Wi;注意这里需要先确定需要的是哪个W。x[i]和x[i+length/2] 分别改写为 x[i]+x[i+length/2]和x[i]-x[i+length/2]。蝶形结此词汇仍最常使用于库利-图基快速傅立叶变换算法中,利用递回的方式将n点离散傅立叶运算中的n点输入分解为 n=r*m,转换输入信号为r点的m组信号分别进行r点离散傅立叶运算(换句焕说就是r点DFT做m次)。而r点的离散傅立叶运算基本上为转换后的输入信号乘上旋转因子以蝶形结架构做加法运算。(前述为时域抽取法的运算方式,逆向操作先进行蝶形结架构做加法运算,再乘上旋转因子,则为频域抽取法运算方式)。