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