⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_fft_fix.m

📁 基于EMCA368国际标准的物理层超宽带协议的基本仿真程序,都是自己编写的
💻 M
字号:
function dout = my_fft_fix(din);

bit_length = 32
MAX = 2^(bit_length-1);

cols=size(din,2);

c=rand(1,128);% 定制128点抽样% 
%%%%求反序,实现反序输入,正序输出%%%% 
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); 

%%%%求出所有的蝶算指数因子%%%% 
x=rand(128,8);a=rand(1,64);q=1;w=rand(1,64); 
for o=1:64 
    w(o) = round(MAX*exp(-j*2*pi*(o-1)/128))/MAX; 
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)%求出每级所需的蝶算指数因子% 
        q=(m-1)*128/(2^(k-1)); 
        a(p)=w(q+1);p=p+1; 
    end 
    for n=1:128/(2^(k-1))%对偶节点个数的确定及变换计算% 
        p=1; 
        for h=i:i+(2^(k-2)-1)
            x(h,k)=round(MAX*(x(h,k-1)+comp_multi(a(p),x(h+2^(k-2),k-1),MAX))/2)/MAX; 
            x(h+2^(k-2),k)=round(MAX*(x(h,k-1)-comp_multi(a(p),x(h+2^(k-2),k-1),MAX))/2)/MAX; 
            p=p+1; 
        end 
        i=(2^(k-1))*n+1; 
    end 
end 

dout(:,cl) = x(:,8)*128;

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -