clc;                                             %全屏清零
clear all; %变量清零
N=^; %设置ROM深度(字变量)的变量参数,
s_p=:; %正弦波一个周期的采样点数
sin_data=sin(*pi*s_p/N); %离散正弦波数据,这里的N决定了由ROM的深度决定,如果要更多的采样点,需要把N增大
%打印我们的波形
%plot(sin_data,'r*'); %红色r*打印
%hold on; %保持
%plot(sin_data); %打印原来的波形
%定点化
fix_p_sin_data=fix(sin_data*); %调用fix函数,原来幅度是1,扩展到127——(-)为什么乘127呢?因为每一个采样点
%的位数是8位,而定点化前,正负的点的个数各占一半,也就是7位,^- = 。
%若需要精度更高的定点化数据,那么需要把幅度乘的数加大。
%由于使用的DAC位数只有8位,因此定点化8位就可以了,也就是乘以2^(-)-=127即可
for i=:N %总共1:^,即1:,共256个点(深度),对每个点进行定点化
if fix_p_sin_data(i)< %如果得到的值小于零,那么就加上256(定点化位数的幅度)进行取正值
fix_p_sin_data(i)=N+fix_p_sin_data(i); %记住这里是负数用加号即可
else
fix_p_sin_data(i)=fix_p_sin_data(i); %若大于0,不需要修正
end
end
%打印定点化后的波形
%plot(sin_data,'r*'); %红色r*打印
%hold on; %保持
%plot(*sin_data); %打印原来的波形
fid=fopen('sp_ram_256x8.mif','w+'); %创建并打开名字叫‘p_ram_256x8.mif'的文件,'w+'进行写数据
fprintf(fid,'WIDTH=8;\n'); %打印(写) WIDTH=; 然后 /n 换行
fprintf(fid,'DEPTH=256;\n'); %
fprintf(fid,'ADDRESS_RADIX=UNS;\n'); %
fprintf(fid,'DATA_RADIX=UNS;\n'); %
fprintf(fid,'CONTENT BEGIN \n'); %上面的print都是写.mif文件的固定格式
for i=:N %这里开始写数据
fprintf(fid,'%d:%d; \n',i-,fix_p_sin_data(i)); %数据格式是 行:数据
end %行从0~,数据则从sin的第一个数(没有0个)写到256个数,12行可以看出
fprintf(fid,'END; \n'); %文件格式'END;'
fclose(fid); %关闭文件

定点化_mif文件生成的更多相关文章

  1. gsoap 学习 1-由wsdl文件生成h头文件

    开始前先看一下用户向导吧 http://www.cs.fsu.edu/~engelen/soap.html 中左侧点击Documentation 英语水平确实有限,有些内容可能说的不准确,敬请参考向导 ...

  2. 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  3. Android first---xml文件生成与解析

    一.使用append进行xml生成 Message类属性:private String body;        private String date;       private String a ...

  4. ActiveX: 如何用.inf和.ocx文件生成cab文件

    ActiveX: 如何用.inf和.ocx文件生成cab文件  

  5. ssl证书生成:cer&jks文件生成摘录

    一.生成.jks文件 1.keystore的生成: 分阶段生成:     keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg ...

  6. LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件

    参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...

  7. 将WSDL文件生成的Java文件

  8. C#根据WSDL文件生成WebService服务端代码

    转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html 虽然现在已经进入了.NET FrameWork 4.0的时代,WebS ...

  9. core文件生成总结

    1.确定系统支持生成core dump文件 ulimit -c    如果返回0, 可以ulimit -c unlimited 设定 2.kill 加上信号量, kill 信号如下 信号 信号值 功能 ...

随机推荐

  1. FineUI控件集合

    FineUI(开源版)基于 ExtJS 的开源 ASP.NET 控件库. using System; using System.Collections.Generic; using System.Te ...

  2. Eclipse中JRE(unbound)问题的一种解决方法

    (如果有写的不对的地方,欢迎指正!) 1.检查Java环境变量配置是否有问题 jdk1.8环境变量配置(1.8和8是一个意思) jdk9环境变量配置 注:配置不成功的一种可能是安装多个jdk,解决方法 ...

  3. 关于SQL性能优化的十条经验

    1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...

  4. 面向对象写的简单的colors rain

      <!DOCTYPE html>   <html>   <head>   <meta charset="UTF-8">   < ...

  5. Java 缩写总结

    1.JVM:Java Virtual Machine(Java虚拟机)的缩写. 它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. Java语言的一个非常重要的特点就是与 ...

  6. 笔记:Struts2 输入校验

    Struts2的输入校验包含了客户端校验和服务器端校验,通过编写校验规则文件来实现输入校验,需要增加 Convention 插件,将 struts2-convention-plugin-2.3.31. ...

  7. Vue之七导航守卫

    { path:'/',component:Recommend,beforeEnter: (to, from, next) => { console.log(to); ajax('get','/a ...

  8. java大数(BigInteger)

    JAVA之BigInteger 用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的 ...

  9. 手把手 git建立仓库,远程推拉及常用git命令和部分Linux命令集锦

    方法一:直接在GitHub上建立一个项目,然后git clone (git address name): 此时已经建立好了一个git仓库: cd 文件夹 > 添加文件进去 >git add ...

  10. 关于Mysql DATE_FORMAT() 日期格式

    定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的输出 ...