色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時間:2017-10-13 來源:網(wǎng)絡 收藏

          在使用進行無線通信或者進行信號處理時,一般按照這樣的步驟進行:
          (1)利用matlab進行浮點算法仿真

          本文引用地址:http://cafeforensic.com/article/201710/365698.htm

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

          (3)如果定點算法性能到達要求,就可以在上進行定點算法的實現(xiàn)

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

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

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

          進行這步操作后,會產(chǎ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讀取方便,我們可以把前面表明信號名稱等內(nèi)容刪除,只保留sample后面的數(shù)據(jù)。

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

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

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

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

          data5 = stp_data(:,5);

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

          另外,除了可以使用GUI操作讀取數(shù)據(jù)的話,matlab也提供了響應的函數(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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉