几种常用的FPGA系数表产生方法

编程技术  /  houtizong 发布于 3年前   62
1 滤波器系数表

%%========================================%%==FPGA滤波器核系数转换%%==把Matlab产生的滤波器系数文件".mat"格式%%==转换为FPGA滤波器核用的系数文件%%========================================clear all;close all;clc;load('input_file_name.mat');s = h;s = round(s*(2^10)/max(abs(s)));    %%量化(这里为10bit)for( k = 1:length(s) )   %%求补码    if ( s(k)<0 )       s1(k) = 2^12 + s(k);    else       s1(k) = s(k);    endend%%==按FPGA格式储存fid_s = fopen('CoeFilterH.coe','wt');fprintf = (fid_s,'%s\n','radix = 10;');fprintf = (fid_s,'%s\n','coefdata =');fprint = (fid_s,'%0.0f,\n',s(1 : end-1));fprint = (fid_s,'%0.0f;\n',s(end));fclose(fid_s);disp('========转换完成========');return;



2 RAM系数表

%%========================================%%==FPGA核初值转换%%==把Matlab产生的RAM初值表".mat"格式%%==转换为FPGA的RAM核用的初值文件%%========================================clear all;close all;clc;load('input_file_name.mat')'s=str;s = round(s*(2^10)/max(abs(s)));    %%量化(这里为10bit)for( k = 1:length(s) )   %%求补码    if ( s(k)<0 )       s1(k) = 2^12 + s(k);    else       s1(k) = s(k);    endend%%==按FPGA格式储存fid_s = fopen('CoeData.coe','wt');fprintf = (fid_s,'%s\n','MEMORY_INITIALIZATION_RADIX = 10;');fprintf = (fid_s,'%s\n','MEMORY_INITIALIZATION_VECTOR =');fprintf = (fid_s,'%0.0f,\n',s(1 : end-1));fprintf = (fid_s,'%0.0f;\n',s(end));fclose(fid_s);disp('========转换完成========');return;

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客