<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 學(xué)習方法與實(shí)踐 > LabVIEW與MATLAB混合編程在數字天線(xiàn)陣列測試中的應用

LabVIEW與MATLAB混合編程在數字天線(xiàn)陣列測試中的應用

作者:李 飛,鄭 恒 時(shí)間:2008-01-29 來(lái)源:《電子工程師》 收藏

引言

本文引用地址:http://dyxdggzs.com/article/78160.htm

  數字天線(xiàn)陣列是天線(xiàn)和數字信號處理技術(shù)結合的產(chǎn)物,它具有工作方式靈活、抗干擾性能卓越和超角分辨等眾多優(yōu)點(diǎn),因此在軍事和民用領(lǐng)域都得到了廣泛的應用。陣列系統的多天線(xiàn)單元和多收發(fā)通道必然帶來(lái)陣列系統的誤差,這些誤差會(huì )引起系統性能的下降,甚至會(huì )使各種先進(jìn)的信號處理算法完全失效。因此,必須對數字天線(xiàn)陣列系統進(jìn)行校正。一般陣列天線(xiàn)校正和波瓣測量需要采集大量的數據,進(jìn)行多次循環(huán)計算,工作效率低且動(dòng)用的儀器設備眾多。而LabVIEW作為軟件化儀表在數據采集及控制、數據分析和顯示等方面具有強大的功能,其支持的信號接口卡豐富,用戶(hù)能夠快捷方便地對各個(gè)輸入數據參數進(jìn)行即時(shí)設置和調試,程序運行結果也十分直觀(guān)。因此在陣列天線(xiàn)測試中,LabVIEW的優(yōu)勢十分明顯,它可以實(shí)現對大量通道信號同時(shí)采集和實(shí)時(shí)監控、分析等工作,這樣既節省了資源,也簡(jiǎn)化了測試過(guò)程,提高了工作效率。

  但是,LabVIEW在數值處理分析和算法工具等方面效率低、功能簡(jiǎn)單,不能滿(mǎn)足工程上多方面的需求。而MATLAB因其強大的數學(xué)處理功能,特別是矩陣運算功能而廣泛應用于工程分析。MATLAB的缺點(diǎn)是不方便實(shí)現實(shí)時(shí)操作和控制。因此在某接收數字天線(xiàn)陣列系統測試過(guò)程中,將LabVIEW和 MATLAB結合運用,實(shí)現優(yōu)勢互補,完成了測試過(guò)程中數據采集、通道監視和最后驗證等工作,為系統測試帶來(lái)極大便利。

1 系統簡(jiǎn)介

  在系統接收端,接收天線(xiàn)各單元通道將接收到的信號通過(guò)接收前端放大后,直接送到數字接收機和采集計算機。由數據采集卡對接收機輸出的I/Q信號和天線(xiàn)方位等機械參數、觸發(fā)信號進(jìn)行采集和控制,并最終在終端控制處理訃算機上計算出天線(xiàn)波瓣圖。系統工作過(guò)程如圖1所示。

  在測試過(guò)程中,采用LabVIEW設計用戶(hù)圖形界面,負責數據采集,并調用由MATLAB牛成的COM組件對象或者在后臺直接調用MATLAB。 LabVIEW中數據采集系統由采集硬件、硬件驅動(dòng)程序和數據采集函數等組成。安裝的硬件驅動(dòng)程序包含了硬件可以接收的操作命令,在使用這些硬件之前,根據需要進(jìn)行硬件和軟件設置,以滿(mǎn)足采樣頻率等方面的要求。水系統中采用NI公司的PCI-6534采集卡,LabVIEW通過(guò)控制數據采集卡對接收機輸出的I/Q信號以及其他機械參數等進(jìn)行采集。在完成采集卡的設置后,就可以進(jìn)行采集和監控等工作。

2 系統軟件的實(shí)現

  下面將結合實(shí)例來(lái)介紹LabVIEW與MATLAB混合編程在天線(xiàn)測試過(guò)程中的具體應用。

2.1 LabVIEW與MATLAB的接口實(shí)現

  LabVIEW已提供了MATLAB Script節點(diǎn)來(lái)調用MATLAB語(yǔ)言開(kāi)發(fā)的算法,這實(shí)際上就是通過(guò)Activex控件與MATLAB Server進(jìn)行通信,用該方法實(shí)現它們的混合編程簡(jiǎn)單實(shí)用,但是不能脫離MATLAB的環(huán)境,而只是將它在后臺執行,因此十分不利于獨立應用程序的開(kāi)發(fā)。相對于此,有3種所謂無(wú)縫集成的方法即COM組件法、中間文件傳遞法以及VC++參數類(lèi)型轉化法。在本系統中,基于MATLAB平臺,根據使用要求的不同,在通道監視中采用COM組什法,在測量驗證中利用了 MATLAB Script節點(diǎn)。MATLABScript節點(diǎn)的調用十分簡(jiǎn)單,不再贅述,這里只簡(jiǎn)要介紹COM組件法。使用MATLAB的MATLAB Builderfor COM創(chuàng )建COM組件非常簡(jiǎn)單,只要創(chuàng )建工程、管理M文件和MEX文件、編譯生成組件、打包和發(fā)布組件4個(gè)步驟。在MATLAB Builder for COM中創(chuàng )建對象(object)后,加入編寫(xiě)好的M文件,編譯后生成一個(gè)dll文件(如test_1_0.dll)。然后在LabVIEW 中選擇自動(dòng)化引用(Automation Refnum)控制量,再從對象列表中選擇自己生成的test 1.0 Type Library Version 1.0,這樣該dll文件就添加到LabVIEW程序中。為簡(jiǎn)化訪(fǎng)問(wèn)自動(dòng)化服務(wù)器的過(guò)程,LabVIEW提供了一組與組件操作相關(guān)的子VI(虛擬儀器),其中Automation Open打開(kāi)一個(gè)與COM對象相連的Refnum,然后Refnum能夠傳遞給其他節點(diǎn)。值得注意的是,LabVIEW程序員必須清楚COM對象所返回的數據類(lèi)型,如果選擇了錯誤的數據類(lèi)型,LabVIEW將反饋錯誤的信息。下面分別對測試過(guò)程中幾個(gè)設計實(shí)例進(jìn)行介紹。

2.2 通道監視

  由于整個(gè)系統由多個(gè)通道構成,為了保證在校正過(guò)程中各個(gè)通道處于正常工作狀態(tài),在校正開(kāi)始前需要對通道進(jìn)行檢查。同時(shí),由于本系統工作頻帶位于民用通信頻帶內,為了避免其對校正過(guò)程的影響,也需要對外界電磁信號進(jìn)行臨視。因此,通道監視是確保校正順利進(jìn)行的重要一步。

  圖2是通道監視VI的前面板界面。圖中使用了Dialog Tab Control控件,從而可以在多通道同時(shí)監控與單通道觀(guān)測間切換。在該VI中,除了可以直觀(guān)監視各個(gè)通道是否正常工作外,還可以測量、比較各個(gè)通道功率增益的差異,并完成對通道時(shí)域信號幅度、I/Q信號正交度等信息的監控。

  圖3是通道監視Ⅵ的框圖。圖中調用了COM組件對象,它完成的主要任務(wù)是將采集卡輸出的多個(gè)通道串行數據流按通道進(jìn)行分組,并根據需要進(jìn)行數制轉換和數據分析等工作,這些功能提高了程序運行速度,并大大簡(jiǎn)化甚至完成了一些LabVIEW很難完成的任務(wù)。與調用MATLAB Script節點(diǎn)相比,COM組件法具有運行速度更快、內存管理更好和運行穩定等優(yōu)點(diǎn)。

2.3 數據采集和測量驗證

  數據采集是測試過(guò)程中最基本、最重要的環(huán)節,其前面板見(jiàn)圖4。

  在數據采集VI中不但可以控制采集的起止,還可通過(guò)在前面板修改參數控制采集數據的長(cháng)度,從幾十kHz到幾十MHz都可以實(shí)現連續采集。

  由于天線(xiàn)測試尤其是遠場(chǎng)測試必須到合適的環(huán)境中才能完成,所以在完成天線(xiàn)陣列的校正后,除了仔細分析結果外還希望能夠驗證一下測試的結果。因此,在用校正系數進(jìn)行補償后采用DBF(數字波束合成)技術(shù)在空間實(shí)時(shí)形成同時(shí)多波束,以遠場(chǎng)輻射源為目標,用比幅法進(jìn)行了波瓣實(shí)時(shí)測試和測角性能驗證,其結果令人滿(mǎn)意。前面板見(jiàn)圖5。

  在該VI采用了MATLAB Script節點(diǎn),這是因為,雖然采用MATLAB Script節點(diǎn)不能脫離MATLAB環(huán)境,要在后臺肩動(dòng)MATLAB,不利于獨立應用程序的開(kāi)發(fā),但是根據實(shí)際情況的不同,MATLAB Script節點(diǎn)有時(shí)顯得更為方便和實(shí)用。在本例中,一方面,實(shí)時(shí)性已不是我們考慮的最重要因素,另一方面,在調試過(guò)程中可以在MATLAB Script節點(diǎn)中方便地修改MATLAB程序,而不必像調用COM組件那樣反復進(jìn)行編譯,而且在測試過(guò)程中不僅需要測量的最終結果,一些中間變量也是我們感興趣的。這時(shí)通過(guò)查看在后臺運行的MATLAB上作空間就可以方便地看到這些數據,而這在調用COM組件法中是無(wú)法或者不方便實(shí)現的。

3 結束語(yǔ)

  通過(guò)以上幾個(gè)主要程序和其他一些輔助程序,完成了在天線(xiàn)測試過(guò)程巾從通道監視、數據采集到最后驗證的完整過(guò)程。本系統充分利用了LabVIEW在軟件化測量編程、數據采集和MATLAB在數據處理方面的優(yōu)勢,通過(guò)混合編程將兩者有效、合理地結合,并經(jīng)過(guò)了實(shí)踐的驗證。



關(guān)鍵詞: LabVIEW MATLAB

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>