hanjingyu2008的个人空间 https://blog.eetop.cn/219089 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

64点FFT FFT_Matlab_Verify.m

已有 1411 次阅读| 2019-2-28 20:23 |系统分类:芯片设计

% 构建输入数据并写入文件用于verilog
width = 8;
depth = 64;
index = linspace(0, 2*pi, depth);
sin_value = sin(index);
sin_value = sin_value * (2^(width-1) -1 );
sin_value = fix(sin_value);
toVerilog = mod(sin_value+256, 256);
fid = fopen('Data_Input.txt', 'wt');
fprintf(fid, '%02x 00\n', toVerilog);
fclose(fid);

% 计算用于verilog的Wn的参数,均乘以255
fid = fopen('Data_Parameter.txt', 'wt');
for i = 1:6
    N = 2^i;
    for j = 0:N/2-1
        real_f = cos(2*pi*j/N);
        imag_f =-sin(2*pi*j/N); 
        real_d = fix(real_f * 127);
        imag_d = fix(imag_f * 127);
        real_d = mod(real_d + 256, 256);
        imag_d = mod(imag_d + 256, 256);
        %fprintf(fid, '(%02d.%02d) %02x %02x \t%1.4f     %1.4f\n',i, j, real_d, imag_d, real_f, imag_f);
        fprintf(fid, '%02x %02x\n',real_d, imag_d);
    end
end
fclose(fid);  


% 计算FFT
n = 0:depth-1;
y = fft(sin_value);
for i = 1 : depth
    yreal(i) = fix(real(y(i)));
    yimag(i) = fix(imag(y(i)));
end
yint = [yreal; yimag]'; % 最终比对用FFT结果




点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 6

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3128

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 12:49 , Processed in 0.024471 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部