基2FFT算法matlab程序编写,频率抽取(DIF)基2FFT算法的MATLAB实现

基2FFT算法matlab程序编写,频率抽取(DIF)基2FFT算法的
MATLAB实现
频率抽取(DIF)基2FFT算法和时间抽取(DIT)基2FFT算法是两种等价的FFT算法,其相同之处:
(1)DIF与DIT两种算法均为原位运算
(2)DIF与DIT运算量相同。
不同之处:
(1)DIF的算法结构是将DIT算法结构倒过来。
· DIF为输⼊顺序,输出乱序。运算完毕再运⾏“⼆进制倒读”程序。
· DIT为输⼊乱序,输出顺序。先运⾏“⼆进制倒读”程序,再进⾏求DFT。
(2)DIF与DIT根本区别:在于蝶形结不同。
· DIT的复数相乘出现在减法之前。
红旗检阅车揭秘·
DIF的复数相乘出现在减法之后。
一切如新下图[REF1]是在N=8时,频率抽取(DIT)基2FFT算法的流图。
最后给出MATLAB实现的代码:
function [Xk]=DIF_FFT_2(xn,N);
%蝶形运算开始
M=log2(N);%“级”的数量
for m=0:M-1 %“级”循环开始
Num_of_Group=2^m;%每⼀级中组的个数
Interval_of_Group=N/2^m;%每⼀级中组与组之间的间距
Interval_of_Unit=N/2^(m+1);%每⼀组中相关运算单元之间的间距
Cycle_Count=N/2^(m+1)-1;%每⼀组内的循环次数
拉索Wn=exp(-j*2*pi/Interval_of_Group);%旋转因⼦
for g=1:Num_of_Group %“组”循环开始
Interval_1=(g-1)*Interval_of_Group;%第g组中蝶形运算变量1的偏移量
Interval_2=(g-1)*Interval_of_Group+Interval_of_Unit;%第g组中蝶形运算变量2的偏移量意识的作用
for r=0:Cycle_Count;%“组内”循环开始
k=r+1;%“组内”序列的下标
xn(k+Interval_1)=xn(k+Interval_1)+xn(k+Interval_2);%第m级,第g组的蝶形运算式1
xn(k+Interval_2)=[xn(k+Interval_1)-xn(k+Interval_2)-xn(k+Interval_2)]*Wn^r;%第m级,第g组的蝶形运算式2,注:1和2为同址运算
end
end
end
干涉光刻%序列排序开始
n1=fliplr(dec2bin([0:N-1]));%码位倒置步骤1:将码位转换为⼆进制,再进⾏倒序n2=[bin2dec(n1)];%码位倒置步骤2:将码位转换为⼗进制后翻转
非处方药目录
for i=1:N
Xk(i)=xn(n2(i)+1);%根据码位倒置的结果,将xn重新排序,存⼊Xk中
end

本文发布于:2024-09-21 19:07:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/486232.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运算   算法   码位
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议