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. 基于I2C总线的MPU6050学习笔记

    MPU6050学习笔记 1. 简述 一直想自己做个四轴飞行器,却无从下手,终于狠下决心,拿出尘封已久的MPU6050模块,开始摸索着数据手册分析,一步一步地实现了MPU6050模块的功能,从MPU60 ...

  2. 简单解决python安装中的Unable to find vcvarsall.bat问题

    使用python36安装python的murmurhash的时候遇到上述问题,原因是没有找到vcvarsall.bat.查找vcvarsall.bat的方法是定义在_msvccompiler.py文件 ...

  3. Mycat 分片规则详解--ASCII 取模范围分片

    实现方式:该算法与取模范围算法类似,该算法支持数值.符号.字母取模.首先截取长度为 prefixLength 的子串,在对子串中每一个字符的 ASCII 码求和,然后对求和值进行取模运算(sum%pa ...

  4. Vue:渲染、指令、事件、组件、Props、Slots

    如果要我用一句话描述使用 Vue 的经历,我可能会说“它如此合乎常理”或者“它提供给我需要的工具,而且没有妨碍我的工作”.每当学习 Vue 的时候,我都很高兴,因为很有意义,而且很优雅. 以上是我对 ...

  5. Python OJ 从入门到入门基础练习 10 题

    1.天天向上的力量: 一年365天,以第1天的能力值为基数,记为1.0.当好好学习时,能力值相比前一天提高N‰:当没有学习时,由于遗忘等原因能力值相比前一天下降N‰.每天努力或放任,一年下来的能力值相 ...

  6. SSE(Server-sent events)技术在web端消息推送和实时聊天中的使用

    最近在公司闲着没事研究了几天,终于搞定了SSE从理论到实际应用,中间还是有一些坑的. 1.SSE简介 SSE(Server-sent events)翻译过来为:服务器发送事件.是基于http协议,和W ...

  7. [poj2185]Milking Grid_KMP

    Milking Grid poj-2185 题目大意:给出一个字符矩阵,求最小覆盖矩阵(可以残余). 注释:$1\le R\le 10^5$,$1\le C \le 75$ 想法:和bzoj1355不 ...

  8. [jdoj1090]矩阵_区间dp

    矩阵 jdoj-1910 题目大意:给你连续的n个矩阵的长和宽,保证每连续的两个相邻矩阵满足相乘的条件,不能改变题目中矩阵的位置,求将这些矩阵相乘为一个矩阵的最小乘法次数. 注释:1<=n< ...

  9. 理解JAVA内存模型

    实际上java内存模型是如上图所示一样 每个线程有自己的栈内存,存放共享对象的副本,本地变量 每个线程自己的本地变量是不可见的,但是共享对象对每个线程都是可见的. 如果想实现线程通信的话, 线程对共享 ...

  10. python爬虫解决gbk乱码问题

    今天尝试了下爬虫,爬取一本小说,忘语的凡人修仙仙界篇,当然这样不好,大家要支持正版. 爬取过程中是老套路,先获取网页源代码 # -*- coding:UTF-8 -*- from bs4 import ...