原创 使用Signal Tap II采集到的数据进行Matlab仿真

2010-3-8 20:38 5638 9 5 分类: FPGA/CPLD

    在使用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命令,如下图所示:


image


    选择刚才的数据文件,会出现如下对话框:


image


    可以看到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

文章评论3条评论)

登录后参与讨论

wangjin3811_940408743 2015-11-17 15:04

为什么使用matlaB读取signal tap ii 中的数据是说.stp文件没法打开?错误提示如下:Error: File FilteringLab_mod.stp cannot be opened to read Error: Acquisition stopped unexpectedly. No data are returned. Please check previous error messages. ??? One or more output arguments not assigned during call to "alt_signaltap_run".

用户377235 2012-8-8 20:49

讲的很详细,很实用

zcf287 2011-4-5 18:28

太好了哦
相关推荐阅读
用户1651241 2011-04-28 14:00
TMSI的作用
TMSI (Temporary Mobile Subscriber Identity),TMSI 是为了加强系统的保密性而在VLR 内分配的临时用户识别,它在某一VLR 区域内与IMSI 唯一对应,它...
用户1651241 2011-02-11 17:16
关于CDMA系统同步
终端首先应捕获附近基站的导频信道,这样就获得了基站经过路径delay的短码偏置和载波相位,有了这两个信息,终端就可以解调同步信道。 在同步信道传输的同步信息中,有三个和同步有关系的信息:LC_STAT...
用户1651241 2011-02-09 11:57
CDMA系统中的“掩码”和“扰码”的概念
在CDMA系统中,掩码用在长码发生器中,长码是利用一个42bit的m序列发生器与长码掩码进行模2加(即异或)来产生的。 掩码的作用就是使输出的m序列产生不同的偏移(通过用掩码也m序列模2加实现)。  ...
用户1651241 2011-02-08 21:42
Walsh码与M序列的区别
Walsh码互相关性好,不同Walsh码是完全正交的,即互相关为零。但是自相关性不好,虽然与自身的自相关为1,但是与自身延时后的码的互相关就不为0了。另外,Walsh码的数量较少,而M序列的数量较多,...
用户1651241 2011-01-30 23:06
CDMA功率控制技术
在功率控制技术,有以下几个术语: 前向功率控制 反向功率控制 开环功率控制 闭环功率控制 内环功率控制 外环功率控制 我们先以IS-95为例,用下面这个图来说明一下这几个概念之间的关系。 下面分别简单...
用户1651241 2011-01-30 22:55
转:CDMA中关于功率的几个概念
在CDMA中关于功率的这些概念比较多,容易混了,所以网上找了一些资料整理了一下。 由于下面的这个资料网上有很多,不知道原始的出处,所以就不一一注明了。 E是Energy(能量)的简称,c是...
我要评论
3
9
关闭 站长推荐上一条 /2 下一条