重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了如何使用matlab生成sine波mif文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联专注于企业营销型网站、网站重做改版、晋中网站定制设计、自适应品牌网站建设、H5网站设计、成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为晋中等各大城市提供网站开发制作服务。
使用matlab生成sine波mif文件
在使用altera 的FPGA中的rom过程中常常会使用到.mif文件或.hex文件。对于初学者,无论mif还是hex都是很令人疑惑的东西,这里就对mif文件的格式及其创建做一点简单的说明。
Mif是memory initialization file 的缩写,中文意思就是存储器初始化文件。直接说就是给rom赋值的文件。下面使用一个简单的.mif文件举例:
width=14; %存储器的位宽 横向宽度
depth =1024; %存储器的深度 总共有多少个数据
address_radix=uns; %设置地址基值(实际就是地址用什么进制的数表示) 可以设为BIN(二进制),OCT(八进制),DEC(十进制),HEX(十六进制)
data_radix=dec; %同上
content begin %开始数据区
0:0; %地址:数据
1:29;
2:57;
3:86;
...
...
...
1023:16008;
end; %结束
Matlab源码:
clear all
close all
clc
t = [0:0.1:360];%输入范围0-90度,步长0.1度
x =pi*t/180;
sin_val = sin(x);
fid=fopen('E:\matlab_project\sin\sine.mif','wt');
fprintf(fid,'width=14;\n');
fprintf(fid,'depth =1024;\n');
fprintf(fid,'address_radix=uns;\n');
fprintf(fid,'data_radix=dec;\n');
fprintf(fid,'content begin\n');
for j=1:1024
i=j-1;
k=round(sin_val(j)*16384);
if(k==16384)
k=16383;
end
fprintf(fid,'%d:%d;\n',i,k);
end
fprintf(fid,'end;\n');
fclose(fid);
plot(sin_val);
结果:
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用matlab生成sine波mif文件”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!