绍兴 网站制作,微信朋友圈推广方案,目前网站开发的新技术,android studio入门频率抽取(DIF)基2FFT算法和时间抽取(DIT)基2FFT算法是两种等价的FFT算法#xff0c;其相同之处#xff1a;(1)DIF与DIT两种算法均为原位运算。(2)DIF与DIT运算量相同。不同之处#xff1a;(1)DIF的算法结构是将DIT算法结构倒过来。 DIF为输入顺序#xff0c;输出乱序。运算…频率抽取(DIF)基2FFT算法和时间抽取(DIT)基2FFT算法是两种等价的FFT算法其相同之处(1)DIF与DIT两种算法均为原位运算。(2)DIF与DIT运算量相同。不同之处(1)DIF的算法结构是将DIT算法结构倒过来。· DIF为输入顺序输出乱序。运算完毕再运行“二进制倒读”程序。· DIT为输入乱序输出顺序。先运行“二进制倒读”程序再进行求DFT。(2)DIF与DIT根本区别在于蝶形结不同。· DIT的复数相乘出现在减法之前。· DIF的复数相乘出现在减法之后。下图[REF1]是在N8时频率抽取(DIT)基2FFT算法的流图。最后给出MATLAB实现的代码function [Xk]DIF_FFT_2(xn,N);%蝶形运算开始Mlog2(N);%“级”的数量for m0:M-1 %“级”循环开始Num_of_Group2^m;%每一级中组的个数Interval_of_GroupN/2^m;%每一级中组与组之间的间距Interval_of_UnitN/2^(m1);%每一组中相关运算单元之间的间距Cycle_CountN/2^(m1)-1;%每一组内的循环次数Wnexp(-j*2*pi/Interval_of_Group);%旋转因子for g1:Num_of_Group %“组”循环开始Interval_1(g-1)*Interval_of_Group;%第g组中蝶形运算变量1的偏移量Interval_2(g-1)*Interval_of_GroupInterval_of_Unit;%第g组中蝶形运算变量2的偏移量for r0:Cycle_Count;%“组内”循环开始kr1;%“组内”序列的下标xn(kInterval_1)xn(kInterval_1)xn(kInterval_2);%第m级第g组的蝶形运算式1xn(kInterval_2)[xn(kInterval_1)-xn(kInterval_2)-xn(kInterval_2)]*Wn^r;%第m级第g组的蝶形运算式2注1和2为同址运算endendend%序列排序开始n1fliplr(dec2bin([0:N-1]));%码位倒置步骤1将码位转换为二进制再进行倒序n2[bin2dec(n1)];%码位倒置步骤2将码位转换为十进制后翻转for i1:NXk(i)xn(n2(i)1);%根据码位倒置的结果将xn重新排序,存入Xk中end
相关文章: