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