0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

突破FPGA限制:TS-M4i系列數(shù)字化儀利用GPU加速實現(xiàn)高效塊平均處理

Sophia_wff ? 來源:Sophia_wff ? 作者:Sophia_wff ? 2024-08-19 15:27 ? 次閱讀

一、應(yīng)用背景

塊或分段內(nèi)存平均模式常用于在不同應(yīng)用當中,移除信號中不相干的噪聲。不管是哪家的數(shù)字化儀制造商,幾乎所有基于FPGA實現(xiàn)的塊平均模式都會受到塊或者段內(nèi)存大小的限。該限制一般取決于FPGA的容量,最大樣品量通常在32k到500k之間。

本白皮書將展示如何使用TS-M4i系列數(shù)字化儀的高速PCIe流模式來在軟件中實現(xiàn)塊平均處理,從而突破FPGA的限制。我們用了TS-M4i.2230(1通道,5 GS/s,8位垂直分辨率,1.5 GHz帶寬)作為例子,對比硬件和軟件進行塊平均處理的效果。

二、什么是塊平均?

塊平均模式可以用來移除隨機噪聲成分,提高重復(fù)信號的保真度。該模式允許對多次單段采集進行處理、累積和平均。這個過程減少了隨機噪聲,提高了重復(fù)信號的可見性,平均后的信號具有增強的測量分辨率和更高的信噪比(SNR)。

塊平均模式可用于改善雷達測試、天文學(xué)、質(zhì)譜學(xué)、醫(yī)學(xué)成像、超聲波測試、光纖測試和激光測距等各種不同應(yīng)用中的測量。

下面截圖顯示了一個較低電平的信號(大約2mV),完全被隨機噪聲覆蓋的情形,以及使用不同平均因子獲得的信號質(zhì)量改進。雖然在原始單次采集中源信號基本無法看到,但10x平均時,能顯示出實際上有5個信號峰。執(zhí)行1000x的塊平均可以進一步改善信號質(zhì)量,揭示出帶有二次最大值和最小值峰的完整信號形狀。

wKgaombC5imAFW_WAAHroimRuGo166.png

通過塊平均改善噪聲問題,該示例使用了一個500MS/s采樣率(每個采樣點2ns)和14位分辨率的數(shù)字化儀制作

三、系統(tǒng)配置

為了兼顧更多老舊設(shè)備的性能狀況,測試系統(tǒng)選用了一臺德思特公司內(nèi)的舊辦公電腦,大致配置如下:

●主板:技嘉GA-H77-D3H

CPUIntel i7-3770,4核3.4 GHz

●運行內(nèi)存:8 GB DDR3

●硬盤:120 GB固態(tài)

操作系統(tǒng):Win 7 64bit

● IDE:Visual Studio 2005標準版

主板上有一個空閑的PCIe Gen2 x8插槽,我們就使用該插槽來插數(shù)字化儀板卡。此時,德思特的TS-M4i板卡的流式傳輸可以達到滿速,約3.4 GB/s(不考慮數(shù)據(jù)處理的情況下)。

四、軟件實現(xiàn)

測試軟件使用純C++編寫,并基于德思特流式傳輸示例。數(shù)字化儀板卡通過外部觸發(fā)采集,板卡會自動在每個觸發(fā)事件后獲取一段數(shù)據(jù)。數(shù)據(jù)會先存儲在板載內(nèi)存中,然后通過分散聚集式式DMA直接傳輸?shù)絇C的運行內(nèi)存,并在運行內(nèi)存中進行累積,進而執(zhí)行塊平均操作。我們針對不同的配置方式和優(yōu)化策略進行了測試,來看看分別能達到什么樣的性能水平。

摘錄出來的一小段源代碼顯示了多線程版本的主求和循環(huán),這正是軟件處理的關(guān)鍵部分,也是決定速度的部分。

wKgaombC5k-AUwNyAAEEz4WWJ6k232.png

以下列表提供了具體實現(xiàn)各個方面的一些信息和備注:

●數(shù)據(jù)段大小:收到觸發(fā)事件后將獲取數(shù)據(jù)的樣本點數(shù)量

●平均次數(shù):對于一個數(shù)據(jù)段,在算法重置前,整個過程中需要執(zhí)行多少次平均前的累加操作。

●通知大?。河布芍袛嗨璧臄?shù)據(jù)量。該參數(shù)決定了整個平均循環(huán)的速度。如果通知大小大于數(shù)據(jù)段大小,則會在一次中斷中傳輸多個數(shù)據(jù)段的內(nèi)容,這將減少線程通信和中斷處理的額外開銷。

●緩沖區(qū)大?。篋MA傳輸?shù)哪繕司彌_區(qū)整體大小。在我們的實驗中,這個緩沖區(qū)固定等于通知大小的16倍。

●觸發(fā)速率:作為外部觸發(fā)的信號發(fā)生器的信號重復(fù)頻率。在結(jié)果表格中,我們給出的是在不填滿(溢出)緩沖區(qū)的情況下可以達到的最大觸發(fā)速率。

●線程數(shù):為了加快求和過程,我們對該任務(wù)進行并行化優(yōu)化,將其分割成多個不同的軟件線程。如果線程為1,則表示求和過程不使用額外線程,而是直接在主循環(huán)中直接執(zhí)行。

● CPU負載:由于平均過程是用軟件完成的,具體來說就是CPU進行了所有的工作。幸好現(xiàn)代CPU往往包含多個內(nèi)核,我們實際上可以輕松地在它們之間共享工作任務(wù)。

● SSE/SSE2指令:乍一看,這些命令似乎非常適合并行化求和過程,并似乎可以在不需要任何線程編程的情況下加快軟件的速度。但不幸的是,SSE命令集都是基于相同類型的數(shù)據(jù)的,而由于獲取的數(shù)據(jù)是8bit寬度,而平均緩沖區(qū)是32位寬,因此在本例中無法利用該指令集進行加速。

五、效果和比較

所有的測量都是使用一個采樣率高達5GS/s、垂直分辨率為8位,并且?guī)в型獠坑|發(fā)通道的數(shù)字化儀進行的。我們在表格中還列出了不同的程序配置以對比效果差異。

wKgaombC5maAF01pAAQeKZV7m6E451.png

通過普通(性能偏低的)PC在時域上進行塊平均的性能對比

六、新方法:使用CUDA進行平均運算

2018年11月,我們推出了一些使用SCAPP(通過CUDA訪問數(shù)據(jù)和并行處理)選項進行塊平均的示例,適用于非常高速的數(shù)據(jù)處理。其基本概念與前文所述相同,即數(shù)據(jù)由數(shù)字化儀采集并通過PCIe總線連續(xù)傳輸。不同之處在于,平均值的計算操作不是由CPU完成,而是在GPU中完成。GPU解決方案的一個主要優(yōu)點在于,GPU本身就是為并行計算而設(shè)計,這使GPU成為各種類型的塊平均運算的理想選擇。

在實現(xiàn)上,SCAPP允許用戶直接將數(shù)據(jù)傳送到GPU,這使用了RDMA(遠程直接內(nèi)存存取)技術(shù),然后可以在GPU上執(zhí)行高速時域和頻域信號的平均,并突破通常在CPU和FPGA中出現(xiàn)的數(shù)據(jù)長度或算力限制。

比如,TS-M4i.2220數(shù)字化儀可以以2.5 GS/s的速度連續(xù)采樣信號,我們可以做到在不丟失樣品點的情況下,進行長達數(shù)秒的平均運算。類似地,我們還有14位垂直分辨率的TS-M4i.4451數(shù)字化儀可以以450 MS/s的速度同時對四個通道的信號進行同一功能的采樣。數(shù)字化儀板卡還提供了靈活的觸發(fā)、捕獲和讀出模式設(shè)置,從而使它們能夠在觸發(fā)速率極高的情況采回原始信號,進而做平均處理。相比之下,F(xiàn)PGA方案需要最高性能級別的FPGA來同時滿足數(shù)據(jù)拉取和平均運算,而GPU方案則可以輕松跑滿數(shù)字化儀的全速,即使是使用入門級GPU也不會成為瓶頸。

以下表格展示了使用GPU,并在和之前表格中板卡參數(shù)相同的情況下的測試結(jié)果:

wKgZombC5oKACl7dAAFaeh2w29c622.png

在時域上使用GPU進行塊平均的測試結(jié)果

這些結(jié)果是在使用一張Quadro P2000 GPU獲得的。如表所示,數(shù)據(jù)段大小和通知大小并未限制性能,我們遇到唯一限制的瓶頸是GPU內(nèi)存(顯存)。

七、使用GPU進行頻域平均

在需要進行頻域平均的情況下,也建議使用GPU,因為GPU允許比FPGA方案更大的平均塊大小。頻域的平均運算過程包含兩個步驟,一個是針對塊數(shù)據(jù)的FFT運算,另一個是對FFT結(jié)果求和(然后取平均)。其中FFT計算在處理能力方面要求非常高,因此對于頻率域平均而言,除了FPGA外,GPU是唯一的可行方案,CPU并不適合在高速下進行FFT轉(zhuǎn)換。

以下表格顯示了使用最大采樣率為500 MS/s的TS-M4i.4451數(shù)字化儀(4通道,14位垂直分辨率)的一些測試結(jié)果。最終表明該方案能高效地實現(xiàn)無間隙數(shù)據(jù)采集,將每個塊中的原始數(shù)據(jù)轉(zhuǎn)換為對應(yīng)電壓值,然后再轉(zhuǎn)換至頻率域做平均。

wKgaombC5qKAbB6FAAHqegEJdTs560.png

使用GPU進行頻率域塊平均的測試結(jié)果

八、結(jié)論

如上述結(jié)果所示,只要重復(fù)率不算太高,得益于PCIe總線的高速數(shù)據(jù)傳輸率,使用基于CPU的軟件在進行塊平均時,可以實現(xiàn)比FPGA更大的總數(shù)據(jù)段大小,從而平均更長時間的樣本;而使用GPU時,更是可以達到PCIe總線傳輸所限制的上限速度。對于需要處理更高重復(fù)觸發(fā)率的情況,會對總線傳輸速度提出更高的要求,此時基于FPGA硬件的塊平均仍將是最佳選擇。

上述測試程序也可以提供給您,以便您自己進行重復(fù)測試,或者作為實現(xiàn)其他軟件程序的基礎(chǔ)。其中GPU示例是SCAPP軟件選項的一部分,在選購后,德思特的客戶可按照NDA協(xié)議使用。

總的來說,通知大小設(shè)為1 MByte時,可獲得最佳性能。具體執(zhí)行的平均次數(shù)對測試性能并沒有明顯的影響。因為復(fù)制結(jié)果段和清除結(jié)果緩沖所需的時間相對于樣本求和運算而言微不足道。

由于在同時采集多個通道時,整個的數(shù)據(jù)處理和求和過程并沒有本質(zhì)區(qū)別,因此只需等價成一個把所有數(shù)據(jù)都合并到一起的新通道即可(等效采樣率= 每通道采樣率 × 通道數(shù))。以下設(shè)置對應(yīng)的最大觸發(fā)速率完全相同:

●1通道5 GS/s @ 數(shù)據(jù)段大小S1

●2通道2.5 GS/s @ 數(shù)據(jù)段大小S1/2

●4通道1.25 GS/s @ 數(shù)據(jù)段大小S1/4

將采樣速度降低到2.5 GS/s時,可以在理論上使軟件針對1個通道執(zhí)行平均運算的速度最大化。對于1 M樣本點的數(shù)據(jù)段大小,外加死區(qū)長度為160個樣本點時,理論上的最大觸發(fā)速率為:(2.5 GS/s) / (1 MS+ 160 S) = 2.38 kHz。

注意,這確實會明顯低于單純采集時的最大觸發(fā)速率:2.9 kHz @ 5 GS/s。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603656
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4742

    瀏覽量

    128972
  • 數(shù)字化儀
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    17953
收藏 人收藏

    評論

    相關(guān)推薦

    助力AIoT應(yīng)用:在米爾FPGA開發(fā)板上實現(xiàn)Tiny YOLO V4

    層、池層)映射為硬件友好的 C/C++ 結(jié)構(gòu)。例如,將卷積映射為乘累加(MAC)數(shù)組,通過流水線實現(xiàn)并行。 2.算子加速與指令優(yōu)化: 流水線(Pipelining):
    發(fā)表于 12-06 17:18

    Spectrum高速數(shù)字化:從雷達脈沖測試到信號分析的廣泛應(yīng)用!

    Spectrum高速數(shù)字化TS-M5i.33xx-x16系列具有七種型號,支持10 GS/s的最大采樣率,可提供超過4.7 GHz的帶寬和12位的分辨率,能廣泛適用于各類射頻和高速
    的頭像 發(fā)表于 11-25 13:54 ?165次閱讀
    Spectrum高速<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>:從雷達脈沖測試到信號分析的廣泛應(yīng)用!

    高速數(shù)字化的技術(shù)原理和應(yīng)用場景

    。FPGA可以實現(xiàn)高速的數(shù)字信號處理、存儲和數(shù)據(jù)分析功能。同時,高速數(shù)字化還可以通過接口將數(shù)據(jù)
    發(fā)表于 10-21 14:34

    解鎖TS-M4i.66xx AWG潛能:深度探索序列模式與實時波形控制

    任意波形發(fā)生器(AWG)的一個重要功能點是,它們可以生成幾乎無限數(shù)量種的波形形狀。AWG的運行模式控制了這些波形輸出的方式。在這篇應(yīng)用筆記中,我們將探討如何高效利用TS-M4i.66xx系列
    的頭像 發(fā)表于 09-29 17:29 ?242次閱讀
    解鎖<b class='flag-5'>TS-M4i</b>.66xx AWG潛能:深度探索序列模式與實時波形控制

    精準高效,頂堅單北斗工作記錄:行業(yè)數(shù)字化轉(zhuǎn)型的得力助手

    數(shù)字化和智能的浪潮中,各行各業(yè)正以前所未有的速度邁向智能轉(zhuǎn)型。在這一進程中,精準、高效的數(shù)據(jù)記錄與分析成為了推動行業(yè)進步的關(guān)鍵力量。而頂堅單北斗工作記錄
    的頭像 發(fā)表于 09-02 11:38 ?276次閱讀
    精準<b class='flag-5'>高效</b>,頂堅單北斗工作記錄<b class='flag-5'>儀</b>:行業(yè)<b class='flag-5'>數(shù)字化</b>轉(zhuǎn)型的得力助手

    德思特分享 突破FPGA限制:德思特TS-M4i系列數(shù)字化利用GPU加速實現(xiàn)高效平均處理

    本白皮書將展示如何使用德思特TS-M4i系列數(shù)字化的高速PCIe流模式來在軟件中實現(xiàn)
    的頭像 發(fā)表于 08-20 09:26 ?1305次閱讀
    德思特分享 <b class='flag-5'>突破</b><b class='flag-5'>FPGA</b><b class='flag-5'>限制</b>:德思特<b class='flag-5'>TS-M4i</b><b class='flag-5'>系列</b><b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b><b class='flag-5'>利用</b><b class='flag-5'>GPU</b><b class='flag-5'>加速</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>高效</b><b class='flag-5'>塊</b><b class='flag-5'>平均</b><b class='flag-5'>處理</b>

    TLV990-21完整的CCD信號處理器/數(shù)字化數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TLV990-21完整的CCD信號處理器/數(shù)字化數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-29 11:10 ?0次下載
    TLV990-21完整的CCD信號<b class='flag-5'>處理</b>器/<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>數(shù)據(jù)表

    TS高速數(shù)字化板卡數(shù)據(jù)采集與存儲的優(yōu)化策略

    板卡式數(shù)字化,也成為ADC板卡,目前廣泛應(yīng)用于科研、工業(yè)、醫(yī)療等領(lǐng)域的數(shù)據(jù)采集設(shè)備。它的工作就是將模擬信號轉(zhuǎn)換為數(shù)字信號,供計算機進行處理和分析。而在使用這些
    的頭像 發(fā)表于 07-19 10:56 ?340次閱讀
    <b class='flag-5'>TS</b>高速<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>板卡數(shù)據(jù)采集與存儲的優(yōu)化策略

    從探頭到傳感器:德思特數(shù)字化的全面結(jié)合與應(yīng)用

    電壓探頭可以用于轉(zhuǎn)換信號電平、改變阻抗或提供更方便的連接方法。而包括電流探頭、加速度計和光電倍增管在內(nèi)的傳感器或變送器,則可以將各種物理量轉(zhuǎn)換為電信號。 這兩種輸入設(shè)備都受到德思特數(shù)字化的支持
    的頭像 發(fā)表于 06-28 10:59 ?337次閱讀
    從探頭到傳感器:德思特<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>的全面結(jié)合與應(yīng)用

    工業(yè)數(shù)字化平臺是什么

    幫助工業(yè)企業(yè)更高效地收集、存儲、處理、分析和分享數(shù)據(jù),從而提升運營效率、優(yōu)化生產(chǎn)過程、改善決策制定,并最終推動業(yè)務(wù)增長。 工業(yè)數(shù)字化平臺的核心功能通常包括: 1. 數(shù)據(jù)集成:收集和整合來自不同來源和格式的工業(yè)數(shù)據(jù),包括傳感器、機
    的頭像 發(fā)表于 06-16 10:27 ?626次閱讀

    數(shù)字化技術(shù)革新PMC管理,賦能企業(yè)高效運營新篇章

    數(shù)字化浪潮席卷全球的今天,企業(yè)對于高效、精準的產(chǎn)品物料控制(PMC)管理的需求日益迫切。數(shù)字化技術(shù)作為新時代的引擎,正以其強大的數(shù)據(jù)處理能力和智能
    的頭像 發(fā)表于 06-13 10:12 ?546次閱讀

    數(shù)字化:為何成為示波器的理想替代品?——PCIe8910M

    的理想替代品。 簡介 在電子測量領(lǐng)域,示波器和數(shù)字化都是常見的測試儀器。傳統(tǒng)示波器主要用于觀察和分析電信號的波形,而數(shù)字化則更加強調(diào)信號的精確測量和數(shù)據(jù)
    的頭像 發(fā)表于 04-15 11:21 ?652次閱讀
    <b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>:為何成為示波器的理想替代品?——PCIe8910<b class='flag-5'>M</b>

    如何正確使用數(shù)字化前端信號調(diào)理?(二)

    在上期文章如何正確使用數(shù)字化前端信號調(diào)理?(一)中,我們?yōu)榇蠹医榻B了數(shù)字化前端電路所需的特性以及使用過程中需要的輸入抗阻和輸入耦合,本期文章將為您介紹
    的頭像 發(fā)表于 04-12 14:31 ?443次閱讀
    如何正確使用<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>前端信號調(diào)理?(二)

    如何正確使用數(shù)字化前端信號調(diào)理?(一)

    一、前言 板卡式的數(shù)字轉(zhuǎn)換器和類似測量儀器,比如圖1所示的德思特TS-M4i系列,都需要為各種各樣的特性信號與內(nèi)部模數(shù)轉(zhuǎn)換器(ADC)的固定輸入范圍做匹配。 圖1:德思特TS-M4i
    的頭像 發(fā)表于 04-11 14:01 ?411次閱讀
    如何正確使用<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>前端信號調(diào)理?(一)

    如何使用SBench6軟件對數(shù)字化采集信號進行處理?(二)——平均運算功能

    上一篇文章介紹了了德思特SBench 6為板卡式數(shù)字化提供的波形算術(shù)運算及直方圖功能。本章將繼續(xù)為大家SBench 6的平均運算功能。
    的頭像 發(fā)表于 01-15 14:05 ?489次閱讀
    如何使用SBench6軟件對<b class='flag-5'>數(shù)字化</b><b class='flag-5'>儀</b>采集信號進行<b class='flag-5'>處理</b>?(二)——<b class='flag-5'>平均</b>運算功能