?? my_fft_float.m
字號:
function dout = my_fft_float(din);
PI = 3.1415926535897;
cols=size(din,2);
c=rand(1,128);% 定制128點抽樣%
%%%%求反序,實現(xiàn)反序輸入,正序輸出%%%%
c(1)=0;c(2)=64;
for i=1:6 % log(128)-1=6%
c((2^i+1):2^(i+1))=c(1:2^i)+2^(6-i);
end
d=rand(1,128);
%%%%求出所有的蝶算指數(shù)因子%%%%
x=rand(128,8);a=rand(1,64);q=1;w=rand(1,64);
for o=1:64
w(o)=exp(-j*2*PI*(o-1)/128);
end
for cl=1:cols
for i=1:128
d(i)=din((c(i)+1),cl);
end%完成初始值的反序%
%%%%fft變換%%%%
x(:,1)=d';
for k=2:8
i=1;p=1;
for m=1:2^(k-2)%求出每級所需的蝶算指數(shù)因子%
q=(m-1)*128/(2^(k-1));
a(p)=w(q+1);p=p+1;
end
for n=1:128/(2^(k-1))%對偶節(jié)點個數(shù)的確定及變換計算%
p=1;
for h=i:i+(2^(k-2)-1)
x(h,k)=x(h,k-1)+a(p)*x(h+2^(k-2),k-1);
x(h+2^(k-2),k)=x(h,k-1)-a(p)*x(h+2^(k-2),k-1);
p=p+1;
end
i=(2^(k-1))*n+1;
end
end
dout(:,cl) = x(:,8);
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -