新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 通過LabVIEW優(yōu)化多核環(huán)境下的信號(hào)處理性能

通過LabVIEW優(yōu)化多核環(huán)境下的信號(hào)處理性能

作者: 時(shí)間:2010-07-21 來源:網(wǎng)絡(luò) 收藏

  和其他文本編程語言一樣,處理多通道信號(hào)的傳統(tǒng)方法是將各個(gè)通道信號(hào)按順序讀入并逐通道的進(jìn)行分析,上面基于的順序編程模型很好的說明了這點(diǎn),0、1兩通道的數(shù)據(jù)被按順序讀入后,整合為一路數(shù)組,并由一個(gè)FFT函數(shù)進(jìn)行信號(hào)分析并輸出。雖然順序結(jié)構(gòu)能夠順利地在多核機(jī)器上運(yùn)行,但確不能使得CPU負(fù)擔(dān)得到有效的分?jǐn)?,因?yàn)榧词乖陔p核的機(jī)器上, FFT程序也只能在一個(gè)CPU上被執(zhí)行,而此時(shí)另一個(gè)CPU卻被閑置了。

  實(shí)際上,兩個(gè)通道的FFT運(yùn)算相互獨(dú)立,如果程序能夠?qū)蓚€(gè)FFT自動(dòng)分配到一臺(tái)雙核機(jī)器上的的兩個(gè)CPU上,那么理論上程序的運(yùn)行效率將提高一倍。在的圖形化編程平臺(tái)上,情況正是如此,我們可以通過并行化處理這兩個(gè)通道來真正提高算法性能。圖2表示了一種采用并行結(jié)構(gòu)的代碼,從圖形化編程的角度來看,僅僅是增加了一路并行的FFT函數(shù)而已。

利用并行執(zhí)行的LabVIEW代碼

  圖2. 利用并行執(zhí)行的LabVIEW代碼

  由于數(shù)據(jù)量越大,運(yùn)算在工程應(yīng)用中所占的處理器時(shí)間就越長,所以通過簡單的程序改動(dòng)將原來的程序并行化,可以改善程序性能,減少了總的執(zhí)行時(shí)間。

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

  圖3描述了性能隨采集數(shù)據(jù)塊大?。ㄒ圆蓸訑?shù)為單位)增大而提高的精確百分比。事實(shí)上,對于更大的數(shù)據(jù)塊,并行算法方法確實(shí)實(shí)現(xiàn)了近2倍的性能改進(jìn)。工程師們不需要?jiǎng)?chuàng)建特殊的代碼來支持多線程,在環(huán)境下,只需通過最少的編程調(diào)整,利用LabVIEW自動(dòng)分配每一個(gè)線程到的特性,可以方便的實(shí)現(xiàn)能力的大幅度提升,從而達(dá)到了自動(dòng)化測試應(yīng)用的性能改進(jìn)。



評(píng)論


相關(guān)推薦

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

關(guān)閉