薛小榮, 李曉峰, 李韋泓, 史 卓
(桂林電子科技大學(xué) a.藝術(shù)與設(shè)計學(xué)院; b.信息與通信學(xué)院,廣西 桂林 541004)
天線或輻射器件的空間輻射特性測量需要對器件周圍空間的電磁波分布狀態(tài)進(jìn)行測繪,測繪過程是一個由機(jī)械掃描、電子測量、電氣控制等多系統(tǒng)協(xié)同工作的過程,為了避免其他外界電磁波以及周圍反射回來的電磁波的干擾,一般測繪需要在純凈的微波暗室中完成[1-2]。無論是微波暗室還是天線測量系統(tǒng),其建造和維護(hù)成本都頗為高昂,而且測量過程包括設(shè)備調(diào)試、工件組裝、儀器校準(zhǔn)與設(shè)定、掃描測量、數(shù)據(jù)處理等,單次測量花費(fèi)時間較長,很難在實驗教學(xué)中普遍應(yīng)用[3-4]。然而,了解微波暗室的結(jié)構(gòu)和功能,掌握微波與天線的空間特性及其測量方法是相關(guān)專業(yè)學(xué)生必要的技能。利用虛擬現(xiàn)實技術(shù),開發(fā)一個虛擬實驗系統(tǒng),可以在一定程度上解決實驗設(shè)備短缺,實驗時間和環(huán)境受限等問題[6-12]。本項目以一個典型的實際天線測量系統(tǒng)為原型,以真實實驗為依據(jù),模擬在微波暗室環(huán)境下天線測試的操作流程和幾種常見天線的測量結(jié)果。本系統(tǒng)以Unity3D為開發(fā)平臺,以C#為編程語言,以3ds Max為建模工具,其他輔助工具有Adobe PhotoShop、Premiere等。設(shè)計的目標(biāo)是:使用者通過該系統(tǒng)對微波暗室的組成、內(nèi)部布局和功能有全面、直觀的了解;了解微波暗室內(nèi)天線測試系統(tǒng)、天線測試過程和系統(tǒng)的使用方法;能夠?qū)崿F(xiàn)一些常規(guī)天線或者自定義參數(shù)天線的虛擬方向圖測量實驗。
系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)總體框架圖
1.2.1 儀 器
如圖1系統(tǒng)總體結(jié)構(gòu)框圖所示,此模塊分為5個二級功能模塊,分別介紹天線測量所需要的儀器與硬件環(huán)境。其中微波暗室、NSI系統(tǒng)、矢量網(wǎng)絡(luò)分析儀3個子模塊是以圖、文結(jié)合的形式介紹各系統(tǒng)或儀器的功能和作用。在查看相應(yīng)儀器的圖文介紹時,點(diǎn)擊下方的“觀看模型”按鈕,即可全方位地觀察儀器的三維模型?!安榭床季帧弊幽K整體介紹所有硬件系統(tǒng)的結(jié)構(gòu)組成,通過點(diǎn)擊,以圖片形式說明微波暗室、掃描轉(zhuǎn)臺、測量儀器以及操控室之間的空間布局關(guān)系?!斑M(jìn)入暗室”子模塊點(diǎn)擊可查看微波暗室內(nèi)部3D仿真模擬空間,拖動鼠標(biāo)可旋轉(zhuǎn)觀察微波暗室內(nèi)部結(jié)構(gòu)及布局。虛擬現(xiàn)實技術(shù)以第一人稱視角提供一種步入感,使人有身臨其境的感覺。
1.2.2 實驗操作
實驗操作模塊是虛擬實驗系統(tǒng)的主要部分。選取典型常用天線為例,設(shè)置了cm波矩形喇叭天線、平面微帶陣列天線和自定義參數(shù)天線的測試內(nèi)容。圖1框架圖以矩形喇叭天線為例給出了實驗設(shè)置及操作選項。按照實驗流程,天線測量包括天線安裝、測量設(shè)置、測試過程模擬和結(jié)果顯示4方面內(nèi)容。
(1) 天線安裝。點(diǎn)擊會播放一個三維動畫,利用分解組合的方式直觀地給出了天線安裝方式和安裝過程,圖2是喇叭天線安裝某一瞬態(tài)截圖。
圖2 天線裝載過程3D模擬動畫
(2) 測量設(shè)置。該模塊模擬常規(guī)主流天線測試控制系統(tǒng)的操作界面,采用選項卡形式。測試設(shè)置包括項目建立、掃描設(shè)置、多波束設(shè)置、檢測探頭設(shè)置、參考設(shè)置和機(jī)械轉(zhuǎn)臺設(shè)置[13-14]。機(jī)械轉(zhuǎn)臺設(shè)置包括主轉(zhuǎn)臺位置設(shè)定和角度旋轉(zhuǎn),探頭轉(zhuǎn)臺的極化軸設(shè)定及旋轉(zhuǎn),參數(shù)設(shè)置界面如圖3所示。鼠標(biāo)停留在參數(shù)設(shè)置文本框位置時,會出現(xiàn)一個文本提示標(biāo)簽,解釋說明該參數(shù)的性質(zhì)及設(shè)置方法。參數(shù)設(shè)置可以使用鍵盤輸入數(shù)據(jù),點(diǎn)擊“+”,“-”可調(diào)整數(shù)值。
(3) 測試過程模擬。測試過程模擬界面的瞬態(tài)截圖如圖4所示:左邊是以彩色進(jìn)度條直觀顯示測試過程中信號的幅度和相位的實時狀態(tài);同時,相對應(yīng)的轉(zhuǎn)動天線姿態(tài)通過右邊的三維動畫進(jìn)行模擬。
(4) 結(jié)果顯示。測量結(jié)果的顯示是調(diào)用該天線的方向圖參考數(shù)據(jù),包括E面方向圖、H面方向圖、3D方向圖等參數(shù),并以數(shù)據(jù)列表、曲線擬合和三維合成的常規(guī)形式顯示。因為調(diào)取數(shù)據(jù)為實際天線的測量結(jié)果,所以顯示的各項參數(shù)可以做到真實、細(xì)致和逼真。
圖3 測試設(shè)置界面
圖4 測試過程模擬
1.2.3 操作考核
該模塊是以選擇題的形式考核使用者對天線測試系統(tǒng)的相關(guān)知識和技能的了解和掌握情況。題目涵蓋了操作流程、操作規(guī)范、測量儀器使用、微波基本參數(shù)、天線測試過程等方面的內(nèi)容。
系統(tǒng)實現(xiàn)的過程用圖5所示流程圖說明。
圖5 系統(tǒng)實現(xiàn)流程圖
系統(tǒng)的實現(xiàn)包括三維模型創(chuàng)建、三維動畫制作、UI界面的設(shè)計與實現(xiàn)、各種交互功能的實現(xiàn)等多個方面[15-16]。
2.2.1 三維模型創(chuàng)建、貼圖以及模型導(dǎo)出
(1) 三維模型創(chuàng)建。微波暗室環(huán)境下天線測量實驗室由微波暗室內(nèi)部空間和外部操控室構(gòu)成。操控室主要包括控制電腦、控制器、驅(qū)動器等設(shè)備;微波暗室內(nèi)部空間由微波暗室超大空間、吸波材料、信號發(fā)射天線及發(fā)射支架、待測天線接收轉(zhuǎn)臺及底座、矢量網(wǎng)絡(luò)分析儀等構(gòu)成[13-14]。本項目建模工作主要包括微波暗室建模、待測天線與探測天線結(jié)構(gòu)建模,測試結(jié)果的3D方向圖建模。
(2)材質(zhì)貼圖。所創(chuàng)建的模型主要采用VRayMtl材質(zhì)球和標(biāo)準(zhǔn)材質(zhì)球。根據(jù)實體物的材質(zhì),制作了各種VRayMtl材質(zhì)球,比如吸波材料材質(zhì)球、金屬材質(zhì)球、烤漆材質(zhì)球、不銹鋼材質(zhì)球等。根據(jù)貼圖對象的形狀,選擇合適的貼圖工具和方法。比如吸波材料的貼圖,選擇漫反射給予藍(lán)色磨砂貼圖,反射均為0,0,0,形成吸波材料材質(zhì)球,將其給予所有的吸波材料。吸波材料的四棱錐形狀使用UVW貼圖工具,使貼圖適合其形狀。而測試結(jié)果的3D方向圖使用標(biāo)準(zhǔn)材質(zhì)球,漫反射給予紅到藍(lán)的顏色漸變,使用UVW貼圖工具,使紅色在橄欖球形狀的上方,藍(lán)色在橄欖球形狀下方,然后將編輯好的材質(zhì)球給予橄欖球形狀。最終喇叭天線的3D方向圖以及材質(zhì)貼圖效果如圖6所示。
圖6 喇叭天線3D方向圖
(3) 模型的導(dǎo)出。將打包成組的模型單獨(dú)導(dǎo)出為FBX格式。分割出來的模型包括:底座、發(fā)射天線、發(fā)射支架、吸波材料、接收轉(zhuǎn)臺、屏蔽門、微波暗室等。
2.2.2 天線測試過程3D動畫實現(xiàn)
天線方向圖測量的過程是探測器圍繞待測天線作球面掃描,測量其向空間各個方向的輻射強(qiáng)度的過程,其通常的實現(xiàn)方法是保持探測器不動,待測天線自身通過2個維度的旋轉(zhuǎn),實現(xiàn)對其不同方向的檢測[2]。這個過程通過3D動畫會很直觀地展現(xiàn)出來,本項目采用3dsmax制作關(guān)鍵幀動畫實現(xiàn)。
動畫的幀速率設(shè)置為15FPS,根據(jù)微波暗室環(huán)境下天線測試的過程,待測天線極化旋轉(zhuǎn)180°對應(yīng)時間約為187幀,待測天線圍繞球面中心旋轉(zhuǎn)2.5°時間約為30幀,發(fā)射天線極化旋轉(zhuǎn)90°時間約為99幀。制作的動畫從待測天線極化旋轉(zhuǎn)開始到發(fā)射天線旋轉(zhuǎn)完90°為止,整個過程7911幀。測試過程中,極化軸的旋轉(zhuǎn)分為正、反360°交替進(jìn)行,由于反向測試的動畫過程與正向反向,采用后期視頻剪輯技術(shù)完成。
其他天線的測試動畫,與喇叭天線的測試動畫一致,僅需進(jìn)行模型替換即可。
2.2.3 交互界面的設(shè)計與實現(xiàn)
在Unity3D里,包含了基本的UI界面制作所使用到的控件。本系統(tǒng)的UI界面可以分為兩類,一類是各功能模塊的界面,包括首頁、儀器介紹、天線選擇和操作考核等界面,主要使用到的UI控件是Text、Image、Button、Canvas和Panel 5種控件;另一類是模擬天線近場測試控制系統(tǒng)軟件界面,這類界面的制作除了上述5種控件之外,還使用到Toggle、InputField、Dropdown等控件。
界面的設(shè)計與實現(xiàn)方法大體相同,主要是根據(jù)界面的功能,先設(shè)計草圖,確定使用何種控件、以及控件的位置和大小,為了使界面清晰、簡潔、美觀,在各畫布下添加背景圖片,并對按鈕進(jìn)行貼圖美化。
2.2.4 交互功能的實現(xiàn)
系統(tǒng)的交互功能主要包括界面間的跳轉(zhuǎn)、文本提示標(biāo)簽的顯示、打開播放動畫視頻、對3D模型控制操作、點(diǎn)擊“+”或“-”調(diào)整天線模型的旋轉(zhuǎn)角度等。本項目交互功能主要通過start.cs、cameraController.cs、Choose.cs、Introduce.cs、Operation.cs、test.cs、Rotator.cs、Player.cs、controller3D.cs、BtnText.cs等C#腳本文件實現(xiàn)。
start.cs主要實現(xiàn)各功能模塊界面間的跳轉(zhuǎn);cameraController.cs為查看三維模型提供一個第一人稱控制攝像機(jī)視角;Choose.cs的作用是選擇要測試的天線類型;Introduce.cs主要實現(xiàn)“儀器介紹”模塊的交互功能;Operation.cs主要實現(xiàn)“實驗操作”模塊的交互功能;test.cs主要實現(xiàn)“操作考核”模塊的功能;BtnText.cs實現(xiàn)文本提示標(biāo)簽的顯示。
(1) 調(diào)整天線模型的旋轉(zhuǎn)角度。在圖3所示測量設(shè)置界面,通過按鈕“+”或“-”調(diào)整發(fā)射天線和待測天線的旋轉(zhuǎn)角度。實現(xiàn)該功能的主要步驟如下:
·在MovePanel下創(chuàng)建攝像機(jī),設(shè)置參數(shù),視角垂直向下。將模型拖入對象中。
·創(chuàng)建Rotator.cs,進(jìn)行對象實例化,創(chuàng)建函數(shù)來控制3個模型的旋轉(zhuǎn)。核心代碼為:GameObject.transform.Rotate(new Vector3(x, y,z) * Time.deltaTime。
·使用MovePanel下的按鈕來調(diào)整模型旋轉(zhuǎn)的次數(shù),為各按鈕添加On Click()事件,賦予對象的Rotator.cs的對應(yīng)函數(shù)。
(2) 對3D模型的控制操作。用戶可以通過鼠標(biāo)控制各3D模型的縮放和旋轉(zhuǎn)。實現(xiàn)方法如下:
·創(chuàng)建空對象,為空對象創(chuàng)建攝像機(jī),并設(shè)置攝像機(jī)參數(shù)。
·創(chuàng)建controller3D.cs,在Start()函數(shù)下,實現(xiàn)目標(biāo)坐標(biāo)的獲取,攝像機(jī)的初始狀態(tài),攝像機(jī)和目標(biāo)模型之間的距離。
·在Update()函數(shù)下,實現(xiàn)按下鼠標(biāo)左鍵拖動模型,按下Esc鍵則返回之前的軟件操作界面。
·創(chuàng)建static float ClampAngle(float angle, float min, float max),實現(xiàn)旋轉(zhuǎn)角度數(shù)值在360°范圍內(nèi)變化。
·將腳本controller3D.cs賦予到空對象下的攝像機(jī)。
(3) 播放測試過程相位、幅度動態(tài)變化動畫視頻和測試中天線模型運(yùn)動動畫視頻。天線測試設(shè)置完成后,點(diǎn)擊“Create New Scan”按鈕,則“Acquire”按鈕由灰色顯示狀態(tài)轉(zhuǎn)變?yōu)榭刹僮鳡顟B(tài),點(diǎn)擊“Acquire”按鈕,會打開圖4所示“測試過程模擬”界面,并播放幅度、相位實時變化的動畫視頻和相對應(yīng)的機(jī)械轉(zhuǎn)動及天線姿態(tài)的三維動畫視頻。主要實現(xiàn)方法如下:
·在Operation.cs中,定義函數(shù)clickAcquire()和clickReturn(),其功能分別是打開和關(guān)閉“測試過程模擬”界面。
·為“Acquire”按鈕,添加On Click()事件,運(yùn)行Operation.cs中的函數(shù)clickAcquire()。為返回按鈕添加On Click()事件,運(yùn)行Operation.cs中的函數(shù)clickReturn()。
·創(chuàng)建Player.cs,聲明對象,并創(chuàng)建播放動畫的函數(shù) movTexture.Play()和停止播放的函數(shù)movTexture.Stop()。
·將Player.cs和video目錄下兩個視頻文件testing.ogv和喇叭.ogv分別賦予到對象的MovTexture中。
·為“Acquire”按鈕添加兩個On Click()事件,運(yùn)行Player.cs的函數(shù)clickPlay(),實現(xiàn)兩個視頻文件的同時播放。
·為返回按鈕添加兩個On Click()事件,運(yùn)行Player.cs的函數(shù)clickStop(),實現(xiàn)兩個視頻文件的同時停止播放。
(1) 二維和三維相結(jié)合。為了提高系統(tǒng)的運(yùn)行速度,系統(tǒng)采用二維和三維結(jié)合的呈現(xiàn)方式。在需要提供直觀、形象感知時,采用三維模型或三維動畫呈現(xiàn)。
(2) 靜態(tài)和動態(tài)相結(jié)合。系統(tǒng)采用文本、圖片、模型、動畫等媒體形式呈現(xiàn)實驗信息。為了直觀、生動和真實地反映實驗的一些實際過程,系統(tǒng)將實驗過程的幾個動態(tài)過程,用二維或三維動畫形式呈現(xiàn)。
(3) 參數(shù)設(shè)置和機(jī)械轉(zhuǎn)臺變化狀態(tài)對應(yīng)。在天線測試設(shè)置時,將暗室內(nèi)部的機(jī)械轉(zhuǎn)動及天線姿態(tài)的三維變化與參數(shù)設(shè)置放置在同一界面,直觀呈現(xiàn)參數(shù)設(shè)置產(chǎn)生的效果。
(4) 測試過程天線運(yùn)動變化和幅度、相位變化對應(yīng)。將測試過程中幅度、相位變化與天線運(yùn)動變化的三維動畫放置在同一界面,方便對照,使使用者全程觀察實驗過程,直觀了解電磁波的空間分布。
項目采用虛擬技術(shù)實現(xiàn)了在微波暗室環(huán)境下天線方向圖測量的虛擬實驗。該系統(tǒng)能夠使使用者對微波暗室的構(gòu)成、布局以及功能獲得直觀認(rèn)知,了解天線測量系統(tǒng)的構(gòu)成及使用方法,熟悉天線與電磁波的測量原理和技術(shù),練習(xí)微波測量儀器的操作,并實現(xiàn)對常規(guī)天線或自定義天線進(jìn)行模擬測量;該系統(tǒng)也可輔助教師進(jìn)行理論教學(xué)與課堂演示。利用虛擬實驗技術(shù)降低實驗成本,提高實驗教學(xué)效率,使原本昂貴復(fù)雜的空間電磁波分布測繪實驗可以用電腦方便地自主完成。本系統(tǒng)的開發(fā)是虛擬技術(shù)和實驗技術(shù)的一個結(jié)合,是對虛擬技術(shù)在教學(xué)中應(yīng)用的一個探索,也是對電磁波實驗教學(xué)的一個擴(kuò)充和支撐,具有廣泛的應(yīng)用價值和推廣意義。