定点化_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 信号如下 信号 信号值 功能 ...
随机推荐
- EventBus VS Spring Event
EventBus VS Spring Event 本地异步处理,采用事件机制 可以使 代码解耦,更易读.事件机制实现模式是 观察者模式(或发布订阅模式),主要分为三部分:发布者.监听者.事件. Gua ...
- vue.js设置、获取、删除cookie
项目需要前端获取后台返回的cookie,并以此作判断.我是在main.js入口文件下使用的 具体代码: new Vue({ el: '#app', router, template: '<App ...
- Android 零散知识点整理
Android 零散知识点整理 为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停 ...
- 原生js实现简单的全屏滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++实现Date日期类
定义一个Date类,包含三个属性年.月.日 实现了如下功能: 年月日的增加.减少:2017年10月1日加上100个月30天是2025年5月31日 输出某天是星期几:2017年10月1日是星期日 判断某 ...
- Day3--------------目录文件的浏览、管理及维护
1.pwd命令功能 2.cd命令功能 cd.. 返回上一级 cd~ cd- 返回上一次的目录 cd 3.ls命令功能 ls -a ls -all ls -l 4.cp命令功能 cp -i 覆 ...
- React 组件间通讯
React 组件间通讯 说 React 组件间通讯之前,我们先来讨论一下 React 组件究竟有多少种层级间的关系.假设我们开发的项目是一个纯 React 的项目,那我们项目应该有如下类似的关系: 父 ...
- memcache图形化管理工具MemAdmin
给大家介绍一款 memcache图形化管理工具: MemAdmin 下载地址: http://www.junopen.com/memadmin/ wget http://www.junopen.com ...
- 使用ADO.NET查询和访问数据库
使用ADO.NET查询和访问数据库步骤 使用ADO.NET查询和访问数据库 连接数据库操作: 1. 定义连接字符串: String connString = "Data Sour ...
- 实现win的on程序数据更新
枚举是一组描述性的名称定义一组有限的值,不包含方法对可能的值进行约束枚举是一组指定的常数,对可能的值进行约束枚举使用时直观方便.更易于维护 pictureBox控件属性名称 说明image ...