• 大小: 0.02M
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


2048点FFT的matalb程序,生成每一级的地址规律,对编写FFT2048点的verilog Hdl代码很有作用 通过实验验证

资源截图

代码片段和文件信息

%%%copyright:YT_wcj   ///基2—按时间抽取
%date:2011/12/08
%corporation:ZYE
% discription:FFT
%二进制数第一位是最高位
clear all;
clc;
N = 2048;%1024点FFT
m = log2(N);%蝶形的级数 10
x = 0:N-1;%FFT计算输入的原始数据 注意是有规律的数据
for add = 0:N-1%
    new_add = bin2dec(fliplr(dec2bin(addm)));%%%%%%%变址运算
    new_add1(add+1)=new_add;
    xx(new_add+1) = x(add+1);%xx 相当于缓存器
end
% for i_2048=0:2047
%   addr_index(i_2048+1)=find(new_add1==i_2048)-1;
% end

% i_1024=1:2:2048;
% addr_up_1024=new_add1(i_1024);

reverse_order = xx;%排序后的数据
%%%% M=1第一级    旋转因子的地址都是0
R = dec2bin(2^0m);%-----用二进制表示级数--r9r8r7r6r5r4r3r2r1r0
butterfly_cnt = 0:2^(m-1)-1;%-----蝶形计数器512个
c = 0;
c = dec2bin(cm-1);%0000 0000 0
wn = dec2bin(02*(m-1));%0000 0000 0    0000 0000 0
for i = 1:(N/2)%第一级有512个蝶形运算,寻找512个蝶形运算的所需要的地址,存储起来
    cnt = dec2bin(butterfly_cnt(i)m-1);%b8b7b6b5b4b3b2b1b0---9bit  0:511,512个蝶形中计到第i个蝶形的计数值
    for j = 1:length(cnt)%erjinzhi 长度 9
        wn(j) = cnt(j);%wn的二进制长度也是设定的是18bit,这里赋值高9bit所以wn的大小和butte

评论

共有 条评论