LabVIEW與MATLAB混合編程在數(shù)字天線陣列測試中的應
引言
數(shù)字天線陣列是天線和數(shù)字信號處理技術結合的產(chǎn)物,它具有工作方式靈活、抗干擾性能卓越和超角分辨等眾多優(yōu)點,因此在軍事和民用領域都得到了廣泛的應用。陣列系統(tǒng)的多天線單元和多收發(fā)通道必然帶來陣列系統(tǒng)的誤差,這些誤差會引起系統(tǒng)性能的下降,甚至會使各種先進的信號處理算法完全失效。因此,必須對數(shù)字天線陣列系統(tǒng)進行校正。一般陣列天線校正和波瓣測量需要采集大量的數(shù)據(jù),進行多次循環(huán)計算,工作效率低且動用的儀器設備眾多。而LabVIEW作為軟件化儀表在數(shù)據(jù)采集及控制、數(shù)據(jù)分析和顯示等方面具有強大的功能,其支持的信號接口卡豐富,用戶能夠快捷方便地對各個輸入數(shù)據(jù)參數(shù)進行即時設置和調(diào)試,程序運行結果也十分直觀。因此在陣列天線測試中,LabVIEW的優(yōu)勢十分明顯,它可以實現(xiàn)對大量通道信號同時采集和實時監(jiān)控、分析等工作,這樣既節(jié)省了資源,也簡化了測試過程,提高了工作效率。
但是,LabVIEW在數(shù)值處理分析和算法工具等方面效率低、功能簡單,不能滿足工程上多方面的需求。而MATLAB因其強大的數(shù)學處理功能,特別是矩陣運算功能而廣泛應用于工程分析。MATLAB的缺點是不方便實現(xiàn)實時操作和控制。因此在某接收數(shù)字天線陣列系統(tǒng)測試過程中,將LabVIEW和MATLAB結合運用,實現(xiàn)優(yōu)勢互補,完成了測試過程中數(shù)據(jù)采集、通道監(jiān)視和最后驗證等工作,為系統(tǒng)測試帶來極大便利。
1 系統(tǒng)簡介
在系統(tǒng)接收端,接收天線各單元通道將接收到的信號通過接收前端放大后,直接送到數(shù)字接收機和采集計算機。由數(shù)據(jù)采集卡對接收機輸出的I/Q信號和天線方位等機械參數(shù)、觸發(fā)信號進行采集和控制,并最終在終端控制處理訃算機上計算出天線波瓣圖。系統(tǒng)工作過程如圖1所示。
在測試過程中,采用LabVIEW設計用戶圖形界面,負責數(shù)據(jù)采集,并調(diào)用由MATLAB牛成的COM組件對象或者在后臺直接調(diào)用MATLAB。LabVIEW中數(shù)據(jù)采集系統(tǒng)由采集硬件、硬件驅(qū)動程序和數(shù)據(jù)采集函數(shù)等組成。安裝的硬件驅(qū)動程序包含了硬件可以接收的操作命令,在使用這些硬件之前,根據(jù)需要進行硬件和軟件設置,以滿足采樣頻率等方面的要求。水系統(tǒng)中采用NI公司的PCI-6534采集卡,LabVIEW通過控制數(shù)據(jù)采集卡對接收機輸出的I/Q信號以及其他機械參數(shù)等進行采集。在完成采集卡的設置后,就可以進行采集和監(jiān)控等工作。
2 系統(tǒng)軟件的實現(xiàn)
下面將結合實例來介紹LabVIEW與MATLAB混合編程在天線測試過程中的具體應用。
2.1 LabVIEW與MATLAB的接口實現(xiàn)
LabVIEW已提供了MATLAB Script節(jié)點來調(diào)用MATLAB語言開發(fā)的算法,這實際上就是通過Activex控件與MATLAB Server進行通信,用該方法實現(xiàn)它們的混合編程簡單實用,但是不能脫離MATLAB的環(huán)境,而只是將它在后臺執(zhí)行,因此十分不利于獨立應用程序的開發(fā)。相對于此,有3種所謂無縫集成的方法即COM組件法、中間文件傳遞法以及VC++參數(shù)類型轉(zhuǎn)化法。在本系統(tǒng)中,基于MATLAB平臺,根據(jù)使用要求的不同,在通道監(jiān)視中采用COM組什法,在測量驗證中利用了 MATLAB Script節(jié)點。MATLABScript節(jié)點的調(diào)用十分簡單,不再贅述,這里只簡要介紹COM組件法。使用MATLAB的MATLAB Builderfor COM創(chuàng)建COM組件非常簡單,只要創(chuàng)建工程、管理M文件和MEX文件、編譯生成組件、打包和發(fā)布組件4個步驟。在MATLAB Builder for COM中創(chuàng)建對象(object)后,加入編寫好的M文件,編譯后生成一個dll文件(如test_1_0.dll)。然后在LabVIEW 中選擇自動化引用(Automation Refnum)控制量,再從對象列表中選擇自己生成的test 1.0 Type Library Version 1.0,這樣該dll文件就添加到LabVIEW程序中。為簡化訪問自動化服務器的過程,LabVIEW提供了一組與組件操作相關的子VI(虛擬儀器),其中Automation Open打開一個與COM對象相連的Refnum,然后Refnum能夠傳遞給其他節(jié)點。值得注意的是,LabVIEW程序員必須清楚COM對象所返回的數(shù)據(jù)類型,如果選擇了錯誤的數(shù)據(jù)類型,LabVIEW將反饋錯誤的信息。下面分別對測試過程中幾個設計實例進行介紹。
2.2 通道監(jiān)視
由于整個系統(tǒng)由多個通道構成,為了保證在校正過程中各個通道處于正常工作狀態(tài),在校正開始前需要對通道進行檢查。同時,由于本系統(tǒng)工作頻帶位于民用通信頻帶內(nèi),為了避免其對校正過程的影響,也需要對外界電磁信號進行臨視。因此,通道監(jiān)視是確保校正順利進行的重要一步。
圖2是通道監(jiān)視VI的前面板界面。圖中使用了Dialog Tab Control控件,從而可以在多通道同時監(jiān)控與單通道觀測間切換。在該VI中,除了可以直觀監(jiān)視各個通道是否正常工作外,還可以測量、比較各個通道功率增益的差異,并完成對通道時域信號幅度、I/Q信號正交度等信息的監(jiān)控。
評論