Quatusii实用总结1..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Quatusii实用总结1.

Quatus ii 实用总结 下面以100号心电数据为例: 先调出心电数据: fid=fopen(E:\VHDL\lunwentest\work\2048个点\100c.txt); a=fscanf(fid,%g%g,[3 inf]); a=a; fclose(fid) b= a(:,3);%调出心电数据 bquan=b*(2^8);%将b量化 brod=round(bquan);%四舍五入取整 for i=1:2048 %有符号数补码化 if brod(i)0 bcom(i)=2^12+ brod(i);%负数加2^12 else bcom(i)=brod(i); %正数不变 end; end; plot(brod); 在matlab界面的右侧 选中bcom并双击,里面存的都是在放在硬件rom里的心电数据,共有2048个,选中这2048个数据并copy出来: 在Quartus ii中新建一个Memory Intialization File,并按下图进行设置: 然后把matlab中bcom出的2048个数据都拷在这里,设置如下: 为了标注起始点,把开头的几个数改为0(牺牲几个心电数据)来标注起始点。保存为100_2k(3ge0)即牺牲开头的3个数据,都设为0来标注起始点。 然后修改rom里面的心电数据:双击rom模块,进行如下设置: 这里调用100_2k(3ge0),并进行更新 选择是 然后再进行一次编译 每次对quartus ii有改动的时候,都得先进行一下编译才能用signal tap ii出图 因为此工程比较大,所以每次编译时间比较长,大约10分钟 编译成功 进行Signal Tap ii页面,进打开实验箱 然后再重新加载一下数据,点该图标才能把新加进来的数据加载在实验箱了 然后进行编译 因为进行了360分频,所以此过程需要大概5分钟的时间,如果把心电信号发生部分的360分频去掉,就会很快出数据 加了360分频之后,一出现数据就先生成一次文件,此时是rom时里的数据,即rom_q 的数据出来了,因为时延re|y即最终的输出y还没有完全出来,此时截一次数据,可以判断y延时q多少个采样点 此时命名为denoise_out_rom刚出来,然后在最后一列,即rom_q按之前标注的3个零把整个数据调整次序,如此时起始点在第215行,刚把215行和后面的数据都提前到最前,得到 denoise_out_rom刚出来_变序 然后调用下面的程序,显示q和y的数据和rom_q顺序正常后q和y的波形 fid=fopen(E:\VHDL\最终程序\100号最终数据\加上360分频后的\denoise_out_rom刚出来_变序.txt); a=fscanf(fid,%g%g,[16 inf]); a=a; fclose(fid) b= a(:,16);%rom里面的数据 y=a(:,15); %FPGA最后输出y subplot(211);plot(b); subplot(212);plot(y) b Y 波形如下图 并可以得到两组数据:q_正常(调节rom顺序正常后)和y_rom正常(调节rom顺序正常后) 由上图可以看出,y大约比q延时1500多个点,具体的还要看q_正常和y_rom正常_刚出来 从q_正常的数据可中可以看到,rom_q在第76个采样点处达到第一个R波峰(也可以从rom_q的输出波形上可以看到),对应的在y_rom正常_刚出来的输出数据中在1652个采样点处达到第一个R峰值,故可以得到最后的输出y比输入rom _q延时1576个点。此时可以把输出y第1577个点及以后的数据搬到最前面,得到y_1576_刚出来,此时的y_1576_刚出来是消除了延时后的输出 此时调用下面程序: fid=fopen(E:\VHDL\最终程序\100号最终数据\加上360分频后的\denoise_out_rom刚出来_变序.txt); a=fscanf(fid,%g%g,[16 inf]); a=a; fclose(fid) b= a(:,16);%rom里面的数据 fid=fopen(E:\VHDL\最终程序\100号最终数据\加上360分频后的\y_1576.txt); c=fscanf(fid,%g%g,[1 inf]); c=c; fclose(fid) subplot(211);plot(b); title(输入rom_q); subplot(212);plot(c); title(输出y); 可以得到下图 此时可以看到,输出y已经消除了和rom_q的延时,故可以得到硬件最后输出y和输入的心电数据rom_q的关系是延时了1576个点(对于其他号心电数据

文档评论(0)

bhzs + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档