新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 通過LabVIEW優化多核環境下的信號處理性能

        通過LabVIEW優化多核環境下的信號處理性能

        作者: 時間:2010-07-21 來源:網絡 收藏

          和其他文本編程語言一樣,處理多通道信號的傳統方法是將各個通道信號按順序讀入并逐通道的進行分析,上面基于的順序編程模型很好的說明了這點,0、1兩通道的數據被按順序讀入后,整合為一路數組,并由一個FFT函數進行信號分析并輸出。雖然順序結構能夠順利地在多核機器上運行,但確不能使得CPU負擔得到有效的分攤,因為即使在雙核的機器上, FFT程序也只能在一個CPU上被執行,而此時另一個CPU卻被閑置了。

          實際上,兩個通道的FFT運算相互獨立,如果程序能夠將兩個FFT自動分配到一臺雙核機器上的的兩個CPU上,那么理論上程序的運行效率將提高一倍。在的圖形化編程平臺上,情況正是如此,我們可以通過并行化處理這兩個通道來真正提高算法性能。圖2表示了一種采用并行結構的代碼,從圖形化編程的角度來看,僅僅是增加了一路并行的FFT函數而已。

        利用并行執行的LabVIEW代碼

          圖2. 利用并行執行的LabVIEW代碼

          由于數據量越大,運算在工程應用中所占的處理器時間就越長,所以通過簡單的程序改動將原來的程序并行化,可以改善程序性能,減少了總的執行時間。

          圖3. 對于大于1M采樣(100 Hz精度帶寬)的數據塊,并行方式實現了80%或更高的性能增長。

          圖3描述了性能隨采集數據塊大小(以采樣數為單位)增大而提高的精確百分比。事實上,對于更大的數據塊,并行算法方法確實實現了近2倍的性能改進。工程師們不需要創建特殊的代碼來支持多線程,在環境下,只需通過最少的編程調整,利用LabVIEW自動分配每一個線程到的特性,可以方便的實現能力的大幅度提升,從而達到了自動化測試應用的性能改進。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤峰市| 绍兴县| 恩平市| 东海县| 信丰县| 华蓥市| 瓦房店市| 静宁县| 喀喇沁旗| 弥渡县| 天等县| 澄迈县| 仲巴县| 辛集市| 饶阳县| 芮城县| 军事| 昭通市| 三穗县| 阳山县| 涡阳县| 建平县| 哈巴河县| 察隅县| 济阳县| 贺兰县| 厦门市| 台东县| 胶州市| 遵义市| 江都市| 南木林县| 黎城县| 河源市| 河西区| 嘉定区| 三门峡市| 宜君县| 剑河县| 昭平县| 杂多县|