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