新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用Signal Tap II采集到的數(shù)據(jù)進(jìn)行Matlab仿真

        使用Signal Tap II采集到的數(shù)據(jù)進(jìn)行Matlab仿真

        作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò) 收藏

        在使用進(jìn)行無(wú)線(xiàn)通信或者進(jìn)行信號(hào)處理時(shí),一般按照這樣的步驟進(jìn)行:
        (1)利用matlab進(jìn)行浮點(diǎn)算法仿真

        本文引用地址:http://www.104case.com/article/201710/365698.htm

        (2)將matlab浮點(diǎn)算法轉(zhuǎn)換為定點(diǎn)算法,進(jìn)行仿真,并與浮點(diǎn)算法的性能進(jìn)行比較

        (3)如果定點(diǎn)算法性能到達(dá)要求,就可以在上進(jìn)行定點(diǎn)算法的實(shí)現(xiàn)

        (4)實(shí)現(xiàn)定點(diǎn)算法后,要將FPGA實(shí)現(xiàn)的算法性能與matlab仿真進(jìn)行比較,以確定是否達(dá)到要求

        第四步需要進(jìn)行FPGA與的比較。如果是用FPGA的仿真結(jié)果與結(jié)果進(jìn)行比較的話(huà),可以借助Modelsim仿真時(shí)將產(chǎn)生的數(shù)據(jù)寫(xiě)入文件,然后再在Matlab中讀出文件中的數(shù)據(jù),進(jìn)行仿真比較。

        那么如果要更加真實(shí)的比較FPGA實(shí)現(xiàn)后的結(jié)果與效果的話(huà),可以利用Signal Tap II,在線(xiàn)采集FPGA內(nèi)部處理產(chǎn)生的數(shù)據(jù),然后在Signal Tap II窗口右鍵點(diǎn)擊,選擇create signalTap II list File命令。如下圖所示。

        進(jìn)行這步操作后,會(huì)產(chǎn)生一個(gè)文件,下面是從文件中截取了一部分?jǐn)?shù)據(jù),如下所示:

        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讀取這些數(shù)據(jù)了,為了matlab讀取方便,我們可以把前面表明信號(hào)名稱(chēng)等內(nèi)容刪除,只保留sample后面的數(shù)據(jù)。

        然后打開(kāi)matlab,選擇File –> import data命令,如下圖所示:

        選擇剛才的數(shù)據(jù)文件,會(huì)出現(xiàn)如下對(duì)話(huà)框:

        可以看到matlab把數(shù)據(jù)文件中的數(shù)據(jù),作為一個(gè)矩陣進(jìn)行存儲(chǔ),矩陣的名稱(chēng)就是剛才數(shù)據(jù)文件保存的名稱(chēng)。這時(shí)你就可以在Workspace中看到這個(gè)數(shù)據(jù)了,如下圖所示:

        這樣我們就可以利用這些數(shù)據(jù)在Matlab中進(jìn)行仿真了,如果想讀取這個(gè)矩陣中第5列的數(shù)據(jù)可以一下命令:

        data5 = stp_data(:,5);

        這里然后進(jìn)行可對(duì)data5進(jìn)行處理,下圖是直接讀取signaltap II采集的數(shù)據(jù),在Matlab進(jìn)行顯示:

        另外,除了可以使用GUI操作讀取數(shù)據(jù)的話(huà),matlab也提供了響應(yīng)的函數(shù)textread,可以使用下面的命令讀出數(shù)據(jù):

        [a1,a2,a3,a4,a5]=textread(stp_data.txt,%d%d%d%d%d)

        這樣,就可以將stp_data.txt中的數(shù)據(jù)讀入。具體關(guān)于textread的使用方法可以參考Matlab的help



        關(guān)鍵詞: FPGA Matlab仿真 SignalTapII

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沙河市| 东丽区| 汝阳县| 肃南| 宜兴市| 屯昌县| 高平市| 宁安市| 团风县| 漾濞| SHOW| 陵川县| 体育| 阳曲县| 开原市| 伊春市| 和顺县| 读书| 彰武县| 彭水| 扎囊县| 连州市| 井冈山市| 饶平县| 调兵山市| 阳谷县| 乌兰察布市| 冷水江市| 奉化市| 成武县| 东兰县| 手游| 安龙县| 南江县| 教育| 丰镇市| 东阳市| 中山市| 汨罗市| 乐山市| 高陵县|