定点化_mif文件生成
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文件生成的更多相关文章
- gsoap 学习 1-由wsdl文件生成h头文件
开始前先看一下用户向导吧 http://www.cs.fsu.edu/~engelen/soap.html 中左侧点击Documentation 英语水平确实有限,有些内容可能说的不准确,敬请参考向导 ...
- 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Android first---xml文件生成与解析
一.使用append进行xml生成 Message类属性:private String body; private String date; private String a ...
- ActiveX: 如何用.inf和.ocx文件生成cab文件
ActiveX: 如何用.inf和.ocx文件生成cab文件
- ssl证书生成:cer&jks文件生成摘录
一.生成.jks文件 1.keystore的生成: 分阶段生成: keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg ...
- LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件
参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...
- 将WSDL文件生成的Java文件
- C#根据WSDL文件生成WebService服务端代码
转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html 虽然现在已经进入了.NET FrameWork 4.0的时代,WebS ...
- core文件生成总结
1.确定系统支持生成core dump文件 ulimit -c 如果返回0, 可以ulimit -c unlimited 设定 2.kill 加上信号量, kill 信号如下 信号 信号值 功能 ...
随机推荐
- for语句 2017-03-17
一.for语句 For(初始条件:循环条件:状态改变) { 循环体 } 步骤: 1. 先判断条件 2. 如果满足条件,执行循环体 3. 状态改变 例题: 1. i++和++i 的区别: var ...
- 解决新电脑的系统安装问题:针对BIOS的UEFI模式
安装win7或win8系统时UEFI和Legacy模式的设置 新的的笔记本或台式机主板都开始支持UEFI模式,不过这种模式让很多打算给电脑换win7或win8的用户头疼不已,尤其是笔记本用户. ...
- parted分区和挂载及非交互式操作
author : headsen chen date : 2017-11-17 09:45:36 个人原创,转载请注明作者,出处,否则依法追究法律责任 1,将磁盘上原有的分区删除掉: 进入:#pa ...
- 1-3 Spring Bean 的属性值设置
详见http://www.cnblogs.com/chenssy/archive/2013/03/17/2964593.html 1.注入普通的属性值 <bean id="Cat&qu ...
- java 常用正则表达式总结
邮政编码: ^[1-9]\d{5}$ QQ号码: ^[1-9]\d{4,10}$ 或者:[1-9][0-9]{4,11} 邮箱: ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0- ...
- CI框架传递数组到view层问题记录
给大家分享一下在做页面显示天气预报功能中遇到的问题和解决方法!! 项目开发中,我用的天气预报API是心知天气的免费接口.关于天气预报接口,可用的有很多,看需求怎么要求了!有兴趣的小伙伴可以链接到这个地 ...
- npm5 packag-lock.json
前几天升级了 Node.js v8.0 后,自带的 npm 也升级到了5.0,第一次使用的时候确实惊艳到了:原本重新安装一次模块要十几秒到事情,现在一秒多就搞定了.先不要激动,现在我来大概讲一下 np ...
- MYSQL数据库学习五 表的操作和约束
5.1 表的基本概念 表示包含数据库中所有数据的数据库对象.一行代表唯一的记录,一列代表记录的一个字段. 列(Columns):属性列,创建表时必须指定列名和数据类型. 索引(Indexes):根据指 ...
- 【眼见为实】自己动手实践理解REPEATABLE READ && Next-Key Lock
首先设置数据库隔离级别为可重复读(REPEATABLE READ): set global transaction isolation level REPEATABLE READ ; set sess ...
- Spark Job的提交与task本地化分析(源码阅读)
Spark中任务的处理也要考虑数据的本地性(locality),Spark目前支持PROCESS_LOCAL(本地进程).NODE_LOCAL(本地节点).NODE_PREF.RACK_LOCAL(本 ...