關鍵字:LabVIEW MATLAB 數(shù)字天線陣列
引言
數(shù)字天線陣列是天線和數(shù)字信號處理技術結合的產物,,它具有工作方式靈活,、抗干擾性能卓越和超角分辨等眾多優(yōu)點,,因此在軍事和民用領域都得到了廣泛的應用,。陣列系統(tǒng)的多天線單元和多收發(fā)通道必然帶來陣列系統(tǒng)的誤差,,這些誤差會引起系統(tǒng)性能的下降,,甚至會使各種先進的信號處理算法完全失效,。因此,,必須對數(shù)字天線陣列系統(tǒng)進行校正。一般陣列天線校正和波瓣測量需要采集大量的數(shù)據,,進行多次循環(huán)計算,,工作效率低且動用的儀器設備眾多。而LabVIEW作為軟件化儀表在數(shù)據采集及控制,、數(shù)據分析和顯示等方面具有強大的功能,,其支持的信號接口卡豐富,用戶能夠快捷方便地對各個輸入數(shù)據參數(shù)進行即時設置和調試,,程序運行結果也十分直觀,。因此在陣列天線測試中,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ù)據采集,、通道監(jiān)視和最后驗證等工作,為系統(tǒng)測試帶來極大便利,。
1 系統(tǒng)簡介
在系統(tǒng)接收端,,接收天線各單元通道將接收到的信號通過接收前端放大后,直接送到數(shù)字接收機和采集計算機,。由數(shù)據采集卡對接收機輸出的I/Q信號和天線方位等機械參數(shù),、觸發(fā)信號進行采集和控制,,并最終在終端控制處理訃算機上計算出天線波瓣圖。系統(tǒng)工作過程如圖1所示,。
在測試過程中,,采用LabVIEW設計用戶圖形界面,負責數(shù)據采集,,并調用由MATLAB牛成的COM組件對象或者在后臺直接調用MATLAB,。LabVIEW中數(shù)據采集系統(tǒng)由采集硬件、硬件驅動程序和數(shù)據采集函數(shù)等組成,。安裝的硬件驅動程序包含了硬件可以接收的操作命令,,在使用這些硬件之前,根據需要進行硬件和軟件設置,,以滿足采樣頻率等方面的要求,。水系統(tǒng)中采用NI公司的PCI-6534采集卡,LabVIEW通過控制數(shù)據采集卡對接收機輸出的I/Q信號以及其他機械參數(shù)等進行采集,。在完成采集卡的設置后,,就可以進行采集和監(jiān)控等工作。
2 系統(tǒng)軟件的實現(xiàn)
下面將結合實例來介紹LabVIEW與MATLAB混合編程在天線測試過程中的具體應用,。
2.1 LabVIEW與MATLAB的接口實現(xiàn)
LabVIEW已提供了MATLAB Script節(jié)點來調用MATLAB語言開發(fā)的算法,,這實際上就是通過Activex控件與MATLAB Server進行通信,用該方法實現(xiàn)它們的混合編程簡單實用,,但是不能脫離MATLAB的環(huán)境,,而只是將它在后臺執(zhí)行,因此十分不利于獨立應用程序的開發(fā),。相對于此,,有3種所謂無縫集成的方法即COM組件法、中間文件傳遞法以及VC++參數(shù)類型轉化法,。在本系統(tǒng)中,,基于MATLAB平臺,根據使用要求的不同,,在通道監(jiān)視中采用COM組什法,,在測量驗證中利用了 MATLAB Script節(jié)點。MATLABScript節(jié)點的調用十分簡單,,不再贅述,,這里只簡要介紹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ù)據類型,,如果選擇了錯誤的數(shù)據類型,LabVIEW將反饋錯誤的信息,。下面分別對測試過程中幾個設計實例進行介紹,。
2.2 通道監(jiān)視
由于整個系統(tǒng)由多個通道構成,為了保證在校正過程中各個通道處于正常工作狀態(tài),,在校正開始前需要對通道進行檢查,。同時,由于本系統(tǒng)工作頻帶位于民用通信頻帶內,,為了避免其對校正過程的影響,,也需要對外界電磁信號進行臨視。因此,,通道監(jiān)視是確保校正順利進行的重要一步,。
圖2是通道監(jiān)視VI的前面板界面。圖中使用了Dialog Tab Control控件,,從而可以在多通道同時監(jiān)控與單通道觀測間切換,。在該VI中,除了可以直觀監(jiān)視各個通道是否正常工作外,,還可以測量,、比較各個通道功率增益的差異,并完成對通道時域信號幅度,、I/Q信號正交度等信息的監(jiān)控,。
圖3是通道監(jiān)視Ⅵ的框圖。圖中調用了COM組件對象,,它完成的主要任務是將采集卡輸出的多個通道串行數(shù)據流按通道進行分組,,并根據需要進行數(shù)制轉換和數(shù)據分析等工作,這些功能提高了程序運行速度,,并大大簡化甚至完成了一些LabVIEW很難完成的任務,。與調用MATLAB Script節(jié)點相比,,COM組件法具有運行速度更快、內存管理更好和運行穩(wěn)定等優(yōu)點,。
2.3 數(shù)據采集和測量驗證
數(shù)據采集是測試過程中最基本,、最重要的環(huán)節(jié),其前面板見圖4,。
在數(shù)據采集VI中不但可以控制采集的起止,,還可通過在前面板修改參數(shù)控制采集數(shù)據的長度,從幾十kHz到幾十MHz都可以實現(xiàn)連續(xù)采集,。
由于天線測試尤其是遠場測試必須到合適的環(huán)境中才能完成,,所以在完成天線陣列的校正后,除了仔細分析結果外還希望能夠驗證一下測試的結果,。因此,,在用校正系數(shù)進行補償后采用DBF(數(shù)字波束合成)技術在空間實時形成同時多波束,以遠場輻射源為目標,,用比幅法進行了波瓣實時測試和測角性能驗證,,其結果令人滿意。前面板見圖5,。
在該VI采用了MATLAB Script節(jié)點,,這是因為,雖然采用MATLAB Script節(jié)點不能脫離MATLAB環(huán)境,,要在后臺肩動MATLAB,,不利于獨立應用程序的開發(fā),但是根據實際情況的不同,,MATLAB Script節(jié)點有時顯得更為方便和實用,。在本例中,一方面,,實時性已不是我們考慮的最重要因素,,另一方面,在調試過程中可以在MATLAB Script節(jié)點中方便地修改MATLAB程序,,而不必像調用COM組件那樣反復進行編譯,,而且在測試過程中不僅需要測量的最終結果,一些中間變量也是我們感興趣的,。這時通過查看在后臺運行的MATLAB上作空間就可以方便地看到這些數(shù)據,,而這在調用COM組件法中是無法或者不方便實現(xiàn)的。
3 結束語
通過以上幾個主要程序和其他一些輔助程序,,完成了在天線測試過程巾從通道監(jiān)視,、數(shù)據采集到最后驗證的完整過程。本系統(tǒng)充分利用了LabVIEW在軟件化測量編程,、數(shù)據采集和MATLAB在數(shù)據處理方面的優(yōu)勢,,通過混合編程將兩者有效,、合理地結合,并經過了實踐的驗證,。