博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定点化_mif文件生成
阅读量:6251 次
发布时间:2019-06-22

本文共 2248 字,大约阅读时间需要 7 分钟。

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

 

转载于:https://www.cnblogs.com/IClearner/p/7273366.html

你可能感兴趣的文章
天气模式_今年台风活跃期即将结束!下周天气将开启“大变脸”模式
查看>>
扫码枪关闭常亮模式_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...
查看>>
如何双击打开vivado工程_利用TCL重建vivado工程
查看>>
mysql的引双向链表_Mysql高手系列 - 第22篇:mysql索引原理详解(高手必备技能)
查看>>
mysql in 查询改成_MySQL not in嵌套查询改写成外连接方式
查看>>
mysql community安装_MySQL Community Server 5.7安装详细步骤
查看>>
python处理多行字符串_python多行字符串
查看>>
java冒泡排序_用java写个冒泡排序?
查看>>
linux 开发java_做开发环境的操作系统是 Linux 好还是 Windows 好?
查看>>
java正文提取_Java网页正文提取工具
查看>>
blocked java_使用jstack排查多线程死锁、阻塞
查看>>
centos7 nohup无法保持_CentOS 不间断会话(ssh关闭后如何保证程序继续运行)(nohup和screen)...
查看>>
显示图片java代码_用于显示下载或是显示图片的一段代码
查看>>
java scrip_js java scrip基本语法
查看>>
java 加上天数_java日期时间加上天数 | 学步园
查看>>
java 爬楼梯算法_9.1 爬楼梯
查看>>
java多态 动态绑定_Java JVM 多态(动态绑定)
查看>>
jpa 去重_JPA 查询Distinct Join条件示例
查看>>
mysql date 索引性能_【转】MYSQL数据库时间字段INT,TIMESTAMP,DATETIME性能效率比较
查看>>
java 加密解密算法_用JAVA设计一个简单的加密、解密算法,用该算法来实现对数据的加密、解密...
查看>>