Matlab生成mif格式波形文件

Altera ROM支持HEX和mif格式文件,生成代码如下:

注意: mif  文件都是ASCⅡ码,负数应该是用反码补码处理的,否则负数会处理为0。另外可以用波形生成工具Guagle_wave生成mif波形文件


clc;

clear;

close all;

width = 10;

depth = 2^width;

t = linspace(0,6.28,depth);

sin_val = sin(t);

%cos_val = cos(t);

sin_val = fix(sin_val*(2^width-1)/2 + 0.5);  %四舍五入

%cos_val = fix(cos_val*(2^width-1)/2 + 0.5);

sin_val(find(sin_val<0))=sin_val(find(sin_val<0)) + 2^width; %将负数求反码

addr = [0:depth - 1];

file = fopen(‘sin.mif‘,‘wt‘);

fprintf(file,‘WIDTH=%d;\n‘,width);       %该格式对应于mif格式,最后不要变

fprintf(file,‘DEPTH=%d;\n‘,depth);

fprintf(file,‘\n‘);

fprintf(file,‘ADDRESS_RADIX=UNS;\n‘);

fprintf(file,‘DATA_RADIX=HEX;\n‘);

fprintf(file,‘\n‘);

fprintf(file,‘CONTENT BEGIN\n‘);

for i=1:depth

    fprintf(file,‘    %d  :  %X;\n‘,addr(i), sin_val(i));

end

fprintf(file,‘\n‘);

fprintf(file,‘END;\n‘);

fclose(file);

来自为知笔记(Wiz)

时间: 2024-10-20 06:25:50

Matlab生成mif格式波形文件的相关文章

用matlab生成mif文件

module rom_ip( clk,data, rst_n ); input clk; input rst_n; output [7:0] data; reg [7:0] add; rom_ip_mif rom_ip_mif_inst ( .address ( add ), .clock ( clk ), .q ( data ) ); always @(posedge clk or negedge rst_n) if(!rst_n)begin add <= 8'd0; end else if(

matlab 生成图像,直接导出到excel, word(转载)

function ceshi_Excel%设定测试Excel文件名和路径filespec_user=[pwd '\测试.xls'];%判断Excel是否已经打开,若已打开,就在打开的Excel中进行操作,%否则就打开ExceltryExcel=actxGetRunningServer('Excel.Application');catchExcel = actxserver('Excel.Application');end;%设置Excel属性为可见set(Excel, 'Visible', 1)

asp.net下调用Matlab生成动态链接库

对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置的博客,配置问题搞了我们差不多2周多的时间,各种编译不通过,各种链接出问题,各种头疼,甚至都有放弃asp.net下建工程,转用matlab的gui来实现前端界面的念头了.但是在队友的强烈要求下,我不得不硬着头皮搞下这配置问题,最终总结出这4篇配置博客.其中艰辛,恐怕连队友都不甚了解. 当然在实验室同

Matlab生成M序列的伪随机码

伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长.线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中.随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]. 图3.5 线性反馈移位寄存器 MATLAB生成M序列

【原创】开源Math.NET基础数学类库使用(三)C#解析Matlab的mat格式

开源Math.NET系列文章目录: 1.开源.NET基础数学计算组件Math.NET(一)综合介绍  2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算  3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式 4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式 5.开源.NET基础数学类库使用Math.NET(五)C#解析Delimited Formats数据格式 6.开源.NET基础数学类库使用Mat

【转】利用matlab生成随机数函数

原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布

pu0quqbcSerlet生成jS0N格式数据并用

榆已 pu0quqbcSerlet生成jS0N格式数据并用

在MDK中如何生成*.bin格式的文件?

在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件.虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具.为了充分地利用现有的工具,同时发挥Realview MDK集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法.本文将详细的探讨这种转换方法. 在详细的

.net 调用 Matlab生成dll出现的问题(The type initializer for &#39;MathWorks?.MATLAB.NE?T.Utility.?MWMCR&#39; threw an exception.)

https://cn.mathworks.com/matlabcentral/answers/278399-i-get-an-error-saying-the-type-initializer-for-mathworks-matlab-net-utility-mwmcr-threw-an-except 这篇文章帮忙解决了问题 记录一下备忘: Hi Nug, Ensure that you have the MCR version corresponding to MATLAB 2012b ins