咨詢熱線:021-80392549

虛擬儀器在儀器領(lǐng)域的應(yīng)用

放大字體  縮小字體 發(fā)布日期:2014-10-21     來源:[標簽:出處]     作者:[標簽:作者]     瀏覽次數(shù):90
核心提示:

  虛擬儀器是虛擬現(xiàn)實技術(shù)在儀器領(lǐng)域的應(yīng)用。虛擬儀器技術(shù)是由于計算機、測量和電子技術(shù)的高度發(fā)展而孕育出的一項革命性新技術(shù)。虛擬儀器的硬件、軟件都具有開發(fā)性、模塊化、可重復(fù)使用及互換性等特點。因此,虛擬儀器使得用戶能夠根據(jù)自己的需要定義、靈活組合儀器功能,大大提高了使用效率,克服了傳統(tǒng)儀器的缺點,系統(tǒng)功能、規(guī)?赏ㄟ^修改軟件來增減,價格、開發(fā)、維護費用低,技術(shù)更新周期短。在現(xiàn)有的虛擬儀器產(chǎn)品中,比較有名的是美國國家儀器公司的LabVIEW系統(tǒng),但它的技術(shù)是不公開的。用微機來實現(xiàn)上述等儀器的功能有著良好的性能價格比,這也是以微機為核心的智能儀器成為當今的發(fā)展方向。本文主要提出虛擬儀器中,功能模塊及功能模塊組合構(gòu)成的虛擬儀器的數(shù)據(jù)結(jié)構(gòu)設(shè)計,以及儀器運行時的搜索算法設(shè)計。 

  1數(shù)據(jù)結(jié)構(gòu)設(shè)計開發(fā)的虛擬儀器主要完成:

  時域分析、頻域分析、幅域分析、數(shù)據(jù)存儲和數(shù)據(jù)再現(xiàn)。具有25個功能模塊來完成上述5大類處理功能,它們是:數(shù)據(jù)采集、信號發(fā)生器、四則運算、數(shù)據(jù)存儲、數(shù)據(jù)再現(xiàn)、正/逆傅立葉變換、功率譜、倍頻程分析、直方圖、自相關(guān)、示波器、XY記錄儀等。  

  每一功能模塊用圖標表示,如所示,所有的功能模塊都放在模塊庫中,用戶可以將需要的功能模塊從模塊庫中拖出并連接好、組成虛擬儀器,這些功能模塊具有可重復(fù)使用及互換性等特點。表示的是:用戶想用這些功能模塊來連接成虛擬儀器完成一組實驗,但還未將這些功能模塊連接起來。是連接好的功能模塊,該虛擬儀器要完成的處理是:數(shù)據(jù)采集功能模塊采集的信號(方波)顯示在示波器1上,信號發(fā)生器產(chǎn)生的正弦波在示波器2上顯示;數(shù)據(jù)采集功能模塊采集的方波與信號發(fā)生器產(chǎn)生的正弦波經(jīng)過疊加顯示在示波器3上,疊加的信號經(jīng)過快速傅立葉變換、功率譜分析,在XY記錄儀上顯示功率譜。 

  為了在計算機中實現(xiàn)以上的功能,需要把、的這些功能模塊的數(shù)據(jù)結(jié)構(gòu)要表達出來,也就是表達功能模塊以及功能模塊之間的數(shù)據(jù)和數(shù)據(jù)關(guān)系,然后,搜索該數(shù)據(jù)結(jié)構(gòu)并執(zhí)行每一功能模塊的功能。因此,要表達、數(shù)據(jù)的邏輯結(jié)構(gòu)。以為例,從該連接好的虛擬儀器看出,每一功能模塊由Out輸出數(shù)據(jù);由In接收數(shù)據(jù),而且,一個功能模塊節(jié)點可以接受多個其他功能模塊的輸入,顯然,這樣的數(shù)據(jù)關(guān)系表達的邏輯結(jié)構(gòu)是有向圖。 

  未連接好的功能模塊連接好的功能模塊組成虛擬儀器所以,用、中的鄰接鏈表來分別表達、中有向圖的存儲結(jié)構(gòu)(未完全表達細節(jié))。、中垂直方向的鏈表分別代表、中的功能模塊節(jié)點;水平方向的鏈表表示該功能模塊節(jié)點的數(shù)據(jù)輸出到那幾個功能模塊節(jié)點。如因功能模塊間未連接,所以無出度鏈表,又如數(shù)據(jù)采集功能模塊的數(shù)據(jù)分別輸出到示波器

  1、四則運算功能模塊。對于每一功能模塊有那些輸入,可以通過遍歷出度鏈表來求得。當然,也可以用鄰接多重鏈表來表達、中有向圖的存儲結(jié)構(gòu),從而使得有向圖中每一節(jié)點的出度、入度都能直接表達出來。 

  2.搜索算法中虛擬儀器的邏輯結(jié)構(gòu)是有向圖,但該虛擬儀器在處理數(shù)據(jù)時是有順序要求的,即:如功能模塊A/D、信號發(fā)生器不需要等待其它功能模塊的輸出數(shù)據(jù)作為輸入數(shù)據(jù),就可以獨立地執(zhí)行自己的功能(A/D轉(zhuǎn)換,信號發(fā)生)。然后,將產(chǎn)生的數(shù)據(jù)輸出到功能模塊示波器1、四則運算、示波器2,也就是說,如功能模塊四則運算要都接收到功能模塊數(shù)據(jù)采集、信號發(fā)生器的輸出數(shù)據(jù)后,才能執(zhí)行自己的功能(進行兩路信號的疊加),其它功能模塊也一樣。 

  搜索算法框圖實際上,中虛擬儀器對應(yīng)的有向圖可以看作按一定順序完成的工程,有向圖的每一頂點是活動,每一有向邊是活動的先后關(guān)系,只有等有向圖中所有的活動都完成了,那么,該工程才完成,稱這樣的有向圖為頂點活動網(wǎng)絡(luò)。虛擬儀器可以有由多個這樣的有向圖或工程組成,從而可同時進行多組實驗,完成多組物理儀器所完成的功能,體現(xiàn)了功能模塊的可重復(fù)使用性。 

  搜索算法就是要對每一幀數(shù)據(jù)從AOV網(wǎng)絡(luò)沒有前驅(qū)的功能模塊開始執(zhí)行活動,然后,按有向邊順序執(zhí)行一個AOV網(wǎng)絡(luò)中的所有活動(一次拓撲排序),接著處理下一幀數(shù)據(jù)。只要儀器還運行就周而復(fù)始地一幀一幀地處理數(shù)據(jù)。這就是搜索算法的核心思想。具體就來說,從沒有前驅(qū)的功能模塊A/D、信號發(fā)生器開始處理數(shù)據(jù)(開始搜索),設(shè)輸出數(shù)據(jù)分別為Da、Dt,然后使等待數(shù)據(jù)Da、Dt功能模塊(示波器1、四則運算、示波器2)節(jié)點的入度減1(開始分別為1、2、1),表示有一路數(shù)據(jù)已到,待到功能模塊示波器1、四則運算、示波器2節(jié)點的入度已減到0,說明所有要等待的數(shù)據(jù)都已到,就可以執(zhí)行這些功能模塊并產(chǎn)生數(shù)據(jù)(若有輸出)。這些功能模塊的功能是通過C語言來實現(xiàn)的。具體算法如下:因為算法的一次執(zhí)行只對所有的頂點和邊搜索一遍,所以算法的時間復(fù)雜度是O(n e),其中,n為虛擬儀器對應(yīng)有向圖(有向圖可能不連通)的頂點數(shù),e為虛擬儀器對應(yīng)有向圖的邊數(shù)。實際上儀器運行時的搜索算法也可用遞歸的算法實現(xiàn),起先,是用遞歸的算法實現(xiàn)的(在本文不介紹)。盡管遞歸的算法表達簡練,但效率沒有本文的算法高。此外,由于入度為零的功能模塊可以并行執(zhí)行,所以,可以采用多線程的方法,采用多線程的方法在多中央CPU并行系統(tǒng)中執(zhí)行速度才有較大的提高,在單中央CPU系統(tǒng)中執(zhí)行速度還是同本文算法的時間復(fù)雜度是一個數(shù)量級的。 

  是虛擬儀器執(zhí)行一幀數(shù)據(jù)后的結(jié)果,其中,信號發(fā)生器產(chǎn)生正弦信號的頻率是1KHz,數(shù)據(jù)采集功能模塊采集信號的頻率是200Hz.右下角的方框代表XY記錄儀,其上顯示的是頻率1kHz正弦信號與頻率是200Hz方波疊加后的信號的功率譜,另外3個方框是示波器1,示波器2,示波器3. 

  示波器1上顯示的是頻率1kHz正弦信號;示波器2上顯示的是數(shù)據(jù)采集功能模塊采集的方波信號,頻率是200Hz;示波器3上顯示的是頻率1kHz正弦信號與頻率是200Hz方波疊加后的信號。當連續(xù)運行時,的畫面是動態(tài)的連續(xù)的一幀幀波形、功率譜的顯示。 

  結(jié)束語

  本文提出基于圖論的實現(xiàn)虛擬儀器環(huán)境的數(shù)據(jù)結(jié)構(gòu)和算法,該虛擬儀器已經(jīng)實現(xiàn),它是可視化、圖形化和模塊化的。本文提出的算法與基于數(shù)據(jù)流和多線程思想實現(xiàn)虛擬儀器環(huán)境本質(zhì)上是一樣的。 

工博士工業(yè)品商城聲明:凡資訊來源注明為其他媒體來源的信息,均為轉(zhuǎn)載自其他媒體,并不代表本網(wǎng)站贊同其觀點,也不代表本網(wǎng)站對其真實性負責。您若對該文章內(nèi)容有任何疑問或質(zhì)疑,請立即與商城(headrickconstructioninc.com)聯(lián)系,本網(wǎng)站將迅速給您回應(yīng)并做處理。
聯(lián)系電話:021-31666777
新聞、技術(shù)文章投稿QQ:3267146135  投稿郵箱:syy@gongboshi.com