基于LabVIEW與Matlab混合編程的雷達(dá)回波起伏特性模擬
近年來(lái)隨著電子技術(shù)和計(jì)算機(jī)數(shù)字模擬技術(shù)的飛速發(fā)展,雷達(dá)模擬方式以其經(jīng)濟(jì)、靈活和逼真等特點(diǎn)逐漸成為雷達(dá)系統(tǒng)設(shè)計(jì)、分析和性能測(cè)試過(guò)程中不可或缺的手段,廣泛用于對(duì)雷達(dá)分系統(tǒng)的調(diào)試、性能評(píng)價(jià),雷達(dá)前端不具備的條件下對(duì)系統(tǒng)后級(jí)進(jìn)行分析調(diào)試以及對(duì)雷達(dá)整機(jī)性能和指標(biāo)的檢驗(yàn)等方面。但目前對(duì)雷達(dá)回波起伏特性的模擬一般是基于專用雷達(dá)模擬器的,而利用通用儀器研究回波起伏特性還不多見(jiàn)。
虛擬儀器技術(shù)是現(xiàn)代計(jì)算機(jī)技術(shù)、通信技術(shù)和測(cè)量技術(shù)相結(jié)合的產(chǎn)物,代表了現(xiàn)代測(cè)試技術(shù)和儀器技術(shù)的發(fā)展方向[1]。圖形化虛擬儀器編程軟件Lab VIEW自身功能強(qiáng)大,環(huán)境友善,他在測(cè)試與測(cè)量、過(guò)程控制與處理、科學(xué)研究和分析等方面有廣泛的應(yīng)用。但是,對(duì)于一些需要進(jìn)行大量數(shù)據(jù)運(yùn)算處理的復(fù)雜應(yīng)用,LabVIEW顯得有些力不從心[2,3]。而Matlab具有很強(qiáng)的工程計(jì)算功能,已成為應(yīng)用學(xué)科中的計(jì)算機(jī)輔助分析、設(shè)計(jì)、仿真等不可缺少的基礎(chǔ)軟件[4]。
Agilent E8267D,E4438C,E443XB等系列矢量信號(hào)發(fā)生器允許用戶利用Matlab軟件編寫(xiě)波形文件,然后通過(guò)Agilent Download
因此,可以利用上述通用儀器的特性在LabVIEW軟件平臺(tái)上與Matlab相結(jié)合來(lái)模擬Swerling Ⅰ、Ⅱ型起伏信號(hào)。
2硬 件
圖1為硬件組成,利用Matlab軟件建立雷達(dá)回波起伏模型,然后通過(guò)Agilent Download Assistant程序?qū)atlab產(chǎn)生的I/Q數(shù)字波形經(jīng)GPIB總線送入到通用儀器的任意波形發(fā)生器存儲(chǔ)器中,選擇適當(dāng)?shù)挠|發(fā)源、觸發(fā)類型來(lái)觸發(fā)波形文件,從而可以得到RF輸出。
由于雷達(dá)的工作頻率較高,如果將E8267D的頻率設(shè)為雷達(dá)工作頻率,則E8267D的RF輸出信號(hào)雖可使雷達(dá)工作,但無(wú)法在示波器上觀察。因此為了觀察的方便,將雷達(dá)的同步脈沖信號(hào)接到。E8267D的PATTEN TRIG IN接口,作為信號(hào)發(fā)生器的外部觸發(fā)信號(hào)。將信號(hào)發(fā)生器的頻率設(shè)小些,即可在示波器上觀察RF輸出信號(hào)。
3軟 件
3.1 Swerling Ⅰ,Ⅱ型起伏數(shù)學(xué)模型
Swerling Ⅰ,Ⅱ型起伏是指回波幅度分別按瑞利分布作一致起伏和獨(dú)立起伏,其概率密度函數(shù)如式(1)所示。他們間的差別僅是幅度起伏速度的不同。
其中,y為服從0~1均勻分布的隨機(jī)變量。由式(2)即可得到幅度服從瑞利分布的序列。
3.2 Lab VIEW與Matlab通信接口
Lab VIEW提供了Matlab Script節(jié)點(diǎn)和ActiveX函數(shù)模板使LabVIEW與Matlab之間能夠進(jìn)行通信。
Matlab Script節(jié)點(diǎn)具有多輸入、多輸出的特點(diǎn)。在節(jié)點(diǎn)中,用戶可以編輯Matlab程序,也可以直接調(diào)入已經(jīng)存在的Matlab程序,并在Lab VIEW環(huán)境下運(yùn)行[3],因此快捷方便。
對(duì)于ActiveX函數(shù)模板,用戶可以在Lab VIEW中使用引用(Refnum,也稱"參考")作為某個(gè)對(duì)象(文件、設(shè)備、網(wǎng)絡(luò)連接)的惟一標(biāo)志符。由于引用是指向某一對(duì)象(如Matlab文件)的臨時(shí)指針,因此他僅在對(duì)象被打開(kāi)時(shí)有效,一旦對(duì)象被關(guān)閉,Lab VIEW就會(huì)自動(dòng)斷開(kāi)連接[4]。
由于通過(guò)Matlab Script節(jié)點(diǎn)進(jìn)行通信比較易于實(shí)現(xiàn),因此本文使用該接口。
3.3起伏包絡(luò)
設(shè)定E8267D中的任意波形發(fā)生器的時(shí)鐘頻率smplclk為l00.MHz。脈沖包絡(luò)波形內(nèi)的每一點(diǎn)將占據(jù)1/smplclk或10 ns時(shí)間[5]。設(shè)n為脈沖上升、工作、下降或切斷數(shù)組中的點(diǎn)數(shù),則脈沖相應(yīng)的時(shí)間為,n*10 ns。用戶可以根據(jù)下面的命令來(lái)計(jì)算脈沖寬度和脈沖重復(fù)周期。只要選擇合適的n值就可以得到所需寬度、重復(fù)周期的脈沖。
圖2為利用Matlab Script節(jié)點(diǎn)產(chǎn)生單脈沖包絡(luò)的程序。其中脈沖包絡(luò)的幅度A根據(jù)前面產(chǎn)生瑞利分布序列的原理得到。
設(shè)非相干積累數(shù)為N,則在一個(gè)觀測(cè)時(shí)間內(nèi),對(duì)于Swerling I型回波信號(hào),其N個(gè)序列的幅度A均取同一值;在另一個(gè)觀測(cè)時(shí)間,A的值是獨(dú)立的。對(duì)于Swerling Ⅱ型回波信號(hào),每個(gè)觀測(cè)時(shí)間內(nèi),A的值是獨(dú)立。
3.4 下載起伏波形
Agilent公司開(kāi)發(fā)出的Download Assistant程序可以在公司網(wǎng)站上免費(fèi)下載。他將Matlab的關(guān)鍵詞添加到數(shù)據(jù)控制程序上,并將數(shù)據(jù)數(shù)組經(jīng)公共GPIB接口卡送人信號(hào)發(fā)生器[5]。因此,利用該程序很容易將Matlab波形文件傳輸?shù)紼8267D中。他們實(shí)際上是一些Matlab子程序,可以在主程序中調(diào)用他們,以實(shí)現(xiàn)對(duì)儀器的控制。
E8267D提供了4種觸發(fā)模式,在這里選擇SegmentAdvance→Single。將每個(gè)單脈沖存儲(chǔ)為一個(gè)波形段(Seg-ment),再將波形段組合成序列(Sequence)。若選擇觸發(fā)極性為正,關(guān)閉觸發(fā)延遲,則在每個(gè)同步脈沖的上升沿到來(lái)時(shí)會(huì)有一個(gè)起伏脈沖輸出。下面為部分SCPI命令[7]。
回波信號(hào)相對(duì)于同步脈沖有一定的時(shí)延t。由于將同步脈沖作為觸發(fā)輸入信號(hào),因此延遲時(shí)間f的大小可以通過(guò)Trig Delay來(lái)設(shè)置。
同時(shí)也可以根據(jù)前面編寫(xiě)單脈沖的方法,在單脈沖前加一定長(zhǎng)度的零數(shù)組來(lái)實(shí)現(xiàn)延遲。延遲時(shí)間要根據(jù)數(shù)組點(diǎn)數(shù)與任意波形發(fā)生器的時(shí)鐘頻率smplclk來(lái)計(jì)算。
圖3為下載起伏波形的代碼。為了便于在前面板中對(duì)信號(hào)發(fā)生器幅度、頻率、觸發(fā)延遲時(shí)間進(jìn)行控制,將其設(shè)為輸入變量。由于Matlab Script節(jié)點(diǎn)中要求這3個(gè)輸入變量為字符串型,因此需通過(guò)"Number To FractionalString"函數(shù)將數(shù)值型變量轉(zhuǎn)化成字符型變量。
3.5讀示波器數(shù)據(jù)
示波器在這里主要是充當(dāng)數(shù)據(jù)采集的功能,以便計(jì)算機(jī)對(duì)數(shù)據(jù)進(jìn)行處理。
在Lab V
在儀器I/O助手中選中Query and Parse,并在Entera command文本框中輸入如下查詢命令:
Data:SOUrce CH2;:DATA:ENCdg RIBINARY;WIDTH1;:CURVe?
單擊Run this step按鈕,從示波器第2個(gè)通道中讀取波形數(shù)據(jù)后顯示在響應(yīng)窗口內(nèi)。最后對(duì)波形數(shù)據(jù)進(jìn)行解析,從而可以得到E8267D的RF輸出波形,如圖5,圖6所示。
4結(jié)語(yǔ)
利用LabVIEW與Matlab進(jìn)行混合編程,一方面可應(yīng)用Lab VIEW強(qiáng)大的G語(yǔ)言的編程方法,提高開(kāi)發(fā)虛擬系統(tǒng)的效率;另一方面可利用Matlab能夠進(jìn)行復(fù)雜數(shù)值計(jì)算的優(yōu)勢(shì)大大增強(qiáng)Lab VIEW功效[8],從而可以更好地控制儀器、實(shí)現(xiàn)雷達(dá)回波起伏特性模擬,以便進(jìn)行后續(xù)的自動(dòng)測(cè)試工作。
評(píng)論