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. @Controller 类中初始化问题解决办法

    在Controller类中常常遇到有些参数需要初始化,甚至有些只允许初始化一次,而Controller类不像servelet类可以调用init()函数进行初始化,这里想到的办法是设置标记值,让初始化部 ...

  2. MySQL 中如何存储 emoji ?

    MySQL 中如何存储 emoji ? 问题还原 使用 erlang 存储一些特殊字符串到 MySQL 的时候,却没法读出来.经检查,这些字符串的二进制格式如下: <<240,159,15 ...

  3. git使用.gitignore设置不生效或不起作用的问题

    偶然遇到的问题,记录如下: 通常我们在push项目时,会有些配置文件或本地文件不想上传到服务器上 这时候我们会通过设置.gitignore  文件 一般设置成这样: # 20170418 by 51a ...

  4. 初识mango DB

    换工作了,第一次接触到mango数据库,有点云里雾里,整理一篇最基本的增删该查语句 百度百科说mango DB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据 ...

  5. 在nuxt中加入element-ui插件遇到的问题

    gen1.首先进入nuxt的官网跟着步骤实现内容. https://zh.nuxtjs.org/guide/plugins 2.在我们的项目目录中找plugin 根据图片中的表示引入内容: impor ...

  6. lua循环,减少不必要的循环

    lua中for循环的理解 for i=1, 10 do i = i+3 cclog("i=======%d",i) end 输出:4,5,6,7,8,9,10,11,12,13 相 ...

  7. JavaScript(第一天)【<script>标签浅析】

    一.创建一张HTML页面 初学者创建一张html页面建议借助工具,例如Dreamweaver可视化编辑器.   二.<Script>标签解析 <script>xxx</s ...

  8. Alpha冲刺No.7

    一.站立式会议 彻底完成初步的界面设计 实现界面的简单跳转 完成部分事件监听 移植摄像头.图库功能到真实手机环境测试 数据库上传获取日记 二.项目实际进展 完成了简单的界面设计 大致完成了跳转任务 数 ...

  9. Flask 学习 十 博客文章

    提交和显示博客文章 app/models.py 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer ...

  10. Hibernate之深入持久化对象

    Hibernate是一个彻底的O/R Mapping 框架.之所以说彻底,是因为相对于其他的 框架 ,如Spring JDBC,iBatis 需要手动的管理SQL语句,Hibernate采用了完全 面 ...