在使用fpga进行无线通信或者进行信号处理时,一般按照这样的步骤进行:
(1)利用matlab进行浮点算法仿真
(2)将matlab浮点算法转换为定点算法,进行仿真,并与浮点算法的性能进行比较
(3)如果定点算法性能到达要求,就可以在fpga上进行定点算法的实现
(4)fpga实现定点算法后,要将fpga实现的算法性能与matlab仿真进行比较,以确定是否达到要求
第四步需要进行fpga与matlab仿真的比较。如果是用fpga的仿真结果与matlab仿真结果进行比较的话,可以借助modelsim仿真时将产生的数据写入文件,然后再在matlab中读出文件中的数据,进行仿真比较。
那么如果要更加真实的比较fpga实现后的结果与matlab仿真效果的话,可以利用signal tap ii,在线采集fpga内部处理产生的数据,然后在signal tap ii窗口右键点击,选择create signaltap ii list file命令。如下图所示。
进行这步操作后,会产生一个文件,下面是从文件中截取了一部分数据,如下所示:
signal legend:
key signal name
0 = ad_clk
1 = ad_data
2 = rx:rx_inst|rx_demsk:rx_demsk_inst|compare_decesion:compare_decesion|data_out
3 = rx:rx_inst|rx_demsk:rx_demsk_inst|fir_lpf_16:fir_lpf_16_inst|data_out
data table:
signals-> 0 1 2 3
sample
-256 0 2604 0 -7024719322
-255 1 2604 0 -7024719322
-254 1 2604 0 -8128737870
-253 1 421 0 -8128737870
-252 0 421 0 -8128737870
-251 0 421 0 -8128737870
-250 1 421 0 -8128737870
-249 1 421 0 -8813966451
-248 1 4 0 -8813966451
-247 0 4 0 –8813966451
……
下面就可以利用matlab读取这些数据了,为了matlab读取方便,我们可以把前面表明信号名称等内容删除,只保留sample后面的数据。
然后打开matlab,选择file –> import data命令,如下图所示:
选择刚才的数据文件,会出现如下对话框:
可以看到matlab把数据文件中的数据,作为一个矩阵进行存储,矩阵的名称就是刚才数据文件保存的名称。这时你就可以在workspace中看到这个数据了,如下图所示:
这样我们就可以利用这些数据在matlab中进行仿真了,如果想读取这个矩阵中第5列的数据可以一下命令:
data5 = stp_data(:,5);
这里然后进行可对data5进行处理,下图是直接读取signaltap ii采集的数据,在matlab进行显示:
另外,除了可以使用gui操作读取数据的话,matlab也提供了响应的函数textread,可以使用下面的命令读出数据:
[a1,a2,a3,a4,a5]=textread('stp_data.txt','%d%d%d%d%d')
这样,就可以将stp_data.txt中的数据读入。具体关于textread的使用方法可以参考matlab的help
24V转5V芯片6.5V-36V降压整流芯片
凌壹科技OPS-M201规格
艾拉比斩获铃轩奖量产、前瞻两项金奖
SpaceX获美军1.49亿美元订单 生产4颗导弹追踪卫星
中国移动的4G网络越来越慢的真正原因你知道吗
使用Signal Tap II采集到的数据进行Matlab仿真
BMW超长模组概念和实物设计
嵌入式UI界面快速开发的方法
国行三星S8售价曝光!网友:逆天,再见!这配置,这价格,你约不约?
超值锐龙本抢时爆价,这个时间点的AMD锐龙本别错过了!
天嵌科技TQ335XB v1开发板-TI系列产品介绍
OPPO将在明年Q1发布搭载骁龙888的Find X手机
数字资产抵押平台开发公司,企业内部聊天系统开发,交易所开发
为什么使用医用超声波清洗机来清洗医疗器具?
NFC促进出行智能化
益登科技代理ArkX Labs非接触式语音解决方案 扩展亚洲及印度业务版图
ARM去年出货292亿芯片,年营收增长35%,安谋科技功不可没
云栖专辑| 阿里毕玄:程序员的成长路线
蔡浩轩:在币圈交易中是心法不对还是招式太少?
Tracealyzer跟踪RTOS需要多少处理器开销?