基于Unity3D的微波暗室环境下天线测量虚拟实验系统设计与实现

2020-01-13 09:48薛小荣李晓峰李韦泓
实验室研究与探索 2019年12期
关键词:暗室微波天线

薛小荣, 李晓峰, 李韦泓, 史 卓

(桂林电子科技大学 a.艺术与设计学院; b.信息与通信学院,广西 桂林 541004)

0 引 言

天线或辐射器件的空间辐射特性测量需要对器件周围空间的电磁波分布状态进行测绘,测绘过程是一个由机械扫描、电子测量、电气控制等多系统协同工作的过程,为了避免其他外界电磁波以及周围反射回来的电磁波的干扰,一般测绘需要在纯净的微波暗室中完成[1-2]。无论是微波暗室还是天线测量系统,其建造和维护成本都颇为高昂,而且测量过程包括设备调试、工件组装、仪器校准与设定、扫描测量、数据处理等,单次测量花费时间较长,很难在实验教学中普遍应用[3-4]。然而,了解微波暗室的结构和功能,掌握微波与天线的空间特性及其测量方法是相关专业学生必要的技能。利用虚拟现实技术,开发一个虚拟实验系统,可以在一定程度上解决实验设备短缺,实验时间和环境受限等问题[6-12]。本项目以一个典型的实际天线测量系统为原型,以真实实验为依据,模拟在微波暗室环境下天线测试的操作流程和几种常见天线的测量结果。本系统以Unity3D为开发平台,以C#为编程语言,以3ds Max为建模工具,其他辅助工具有Adobe PhotoShop、Premiere等。设计的目标是:使用者通过该系统对微波暗室的组成、内部布局和功能有全面、直观的了解;了解微波暗室内天线测试系统、天线测试过程和系统的使用方法;能够实现一些常规天线或者自定义参数天线的虚拟方向图测量实验。

1 虚拟实验系统总体框架及功能

1.1 虚拟实验系统总体框架

系统总体框架如图1所示。

图1 系统总体框架图

1.2 系统各主要功能模块

1.2.1 仪 器

如图1系统总体结构框图所示,此模块分为5个二级功能模块,分别介绍天线测量所需要的仪器与硬件环境。其中微波暗室、NSI系统、矢量网络分析仪3个子模块是以图、文结合的形式介绍各系统或仪器的功能和作用。在查看相应仪器的图文介绍时,点击下方的“观看模型”按钮,即可全方位地观察仪器的三维模型。“查看布局”子模块整体介绍所有硬件系统的结构组成,通过点击,以图片形式说明微波暗室、扫描转台、测量仪器以及操控室之间的空间布局关系。“进入暗室”子模块点击可查看微波暗室内部3D仿真模拟空间,拖动鼠标可旋转观察微波暗室内部结构及布局。虚拟现实技术以第一人称视角提供一种步入感,使人有身临其境的感觉。

1.2.2 实验操作

实验操作模块是虚拟实验系统的主要部分。选取典型常用天线为例,设置了cm波矩形喇叭天线、平面微带阵列天线和自定义参数天线的测试内容。图1框架图以矩形喇叭天线为例给出了实验设置及操作选项。按照实验流程,天线测量包括天线安装、测量设置、测试过程模拟和结果显示4方面内容。

(1) 天线安装。点击会播放一个三维动画,利用分解组合的方式直观地给出了天线安装方式和安装过程,图2是喇叭天线安装某一瞬态截图。

图2 天线装载过程3D模拟动画

(2) 测量设置。该模块模拟常规主流天线测试控制系统的操作界面,采用选项卡形式。测试设置包括项目建立、扫描设置、多波束设置、检测探头设置、参考设置和机械转台设置[13-14]。机械转台设置包括主转台位置设定和角度旋转,探头转台的极化轴设定及旋转,参数设置界面如图3所示。鼠标停留在参数设置文本框位置时,会出现一个文本提示标签,解释说明该参数的性质及设置方法。参数设置可以使用键盘输入数据,点击“+”,“-”可调整数值。

(3) 测试过程模拟。测试过程模拟界面的瞬态截图如图4所示:左边是以彩色进度条直观显示测试过程中信号的幅度和相位的实时状态;同时,相对应的转动天线姿态通过右边的三维动画进行模拟。

(4) 结果显示。测量结果的显示是调用该天线的方向图参考数据,包括E面方向图、H面方向图、3D方向图等参数,并以数据列表、曲线拟合和三维合成的常规形式显示。因为调取数据为实际天线的测量结果,所以显示的各项参数可以做到真实、细致和逼真。

图3 测试设置界面

图4 测试过程模拟

1.2.3 操作考核

该模块是以选择题的形式考核使用者对天线测试系统的相关知识和技能的了解和掌握情况。题目涵盖了操作流程、操作规范、测量仪器使用、微波基本参数、天线测试过程等方面的内容。

2 虚拟实验系统的实现

2.1 系统实现流程图

系统实现的过程用图5所示流程图说明。

图5 系统实现流程图

2.2 系统功能的实现

系统的实现包括三维模型创建、三维动画制作、UI界面的设计与实现、各种交互功能的实现等多个方面[15-16]。

2.2.1 三维模型创建、贴图以及模型导出

(1) 三维模型创建。微波暗室环境下天线测量实验室由微波暗室内部空间和外部操控室构成。操控室主要包括控制电脑、控制器、驱动器等设备;微波暗室内部空间由微波暗室超大空间、吸波材料、信号发射天线及发射支架、待测天线接收转台及底座、矢量网络分析仪等构成[13-14]。本项目建模工作主要包括微波暗室建模、待测天线与探测天线结构建模,测试结果的3D方向图建模。

(2)材质贴图。所创建的模型主要采用VRayMtl材质球和标准材质球。根据实体物的材质,制作了各种VRayMtl材质球,比如吸波材料材质球、金属材质球、烤漆材质球、不锈钢材质球等。根据贴图对象的形状,选择合适的贴图工具和方法。比如吸波材料的贴图,选择漫反射给予蓝色磨砂贴图,反射均为0,0,0,形成吸波材料材质球,将其给予所有的吸波材料。吸波材料的四棱锥形状使用UVW贴图工具,使贴图适合其形状。而测试结果的3D方向图使用标准材质球,漫反射给予红到蓝的颜色渐变,使用UVW贴图工具,使红色在橄榄球形状的上方,蓝色在橄榄球形状下方,然后将编辑好的材质球给予橄榄球形状。最终喇叭天线的3D方向图以及材质贴图效果如图6所示。

图6 喇叭天线3D方向图

(3) 模型的导出。将打包成组的模型单独导出为FBX格式。分割出来的模型包括:底座、发射天线、发射支架、吸波材料、接收转台、屏蔽门、微波暗室等。

2.2.2 天线测试过程3D动画实现

天线方向图测量的过程是探测器围绕待测天线作球面扫描,测量其向空间各个方向的辐射强度的过程,其通常的实现方法是保持探测器不动,待测天线自身通过2个维度的旋转,实现对其不同方向的检测[2]。这个过程通过3D动画会很直观地展现出来,本项目采用3dsmax制作关键帧动画实现。

动画的帧速率设置为15FPS,根据微波暗室环境下天线测试的过程,待测天线极化旋转180°对应时间约为187帧,待测天线围绕球面中心旋转2.5°时间约为30帧,发射天线极化旋转90°时间约为99帧。制作的动画从待测天线极化旋转开始到发射天线旋转完90°为止,整个过程7911帧。测试过程中,极化轴的旋转分为正、反360°交替进行,由于反向测试的动画过程与正向反向,采用后期视频剪辑技术完成。

其他天线的测试动画,与喇叭天线的测试动画一致,仅需进行模型替换即可。

2.2.3 交互界面的设计与实现

在Unity3D里,包含了基本的UI界面制作所使用到的控件。本系统的UI界面可以分为两类,一类是各功能模块的界面,包括首页、仪器介绍、天线选择和操作考核等界面,主要使用到的UI控件是Text、Image、Button、Canvas和Panel 5种控件;另一类是模拟天线近场测试控制系统软件界面,这类界面的制作除了上述5种控件之外,还使用到Toggle、InputField、Dropdown等控件。

界面的设计与实现方法大体相同,主要是根据界面的功能,先设计草图,确定使用何种控件、以及控件的位置和大小,为了使界面清晰、简洁、美观,在各画布下添加背景图片,并对按钮进行贴图美化。

2.2.4 交互功能的实现

系统的交互功能主要包括界面间的跳转、文本提示标签的显示、打开播放动画视频、对3D模型控制操作、点击“+”或“-”调整天线模型的旋转角度等。本项目交互功能主要通过start.cs、cameraController.cs、Choose.cs、Introduce.cs、Operation.cs、test.cs、Rotator.cs、Player.cs、controller3D.cs、BtnText.cs等C#脚本文件实现。

start.cs主要实现各功能模块界面间的跳转;cameraController.cs为查看三维模型提供一个第一人称控制摄像机视角;Choose.cs的作用是选择要测试的天线类型;Introduce.cs主要实现“仪器介绍”模块的交互功能;Operation.cs主要实现“实验操作”模块的交互功能;test.cs主要实现“操作考核”模块的功能;BtnText.cs实现文本提示标签的显示。

(1) 调整天线模型的旋转角度。在图3所示测量设置界面,通过按钮“+”或“-”调整发射天线和待测天线的旋转角度。实现该功能的主要步骤如下:

·在MovePanel下创建摄像机,设置参数,视角垂直向下。将模型拖入对象中。

·创建Rotator.cs,进行对象实例化,创建函数来控制3个模型的旋转。核心代码为:GameObject.transform.Rotate(new Vector3(x, y,z) * Time.deltaTime。

·使用MovePanel下的按钮来调整模型旋转的次数,为各按钮添加On Click()事件,赋予对象的Rotator.cs的对应函数。

(2) 对3D模型的控制操作。用户可以通过鼠标控制各3D模型的缩放和旋转。实现方法如下:

·创建空对象,为空对象创建摄像机,并设置摄像机参数。

·创建controller3D.cs,在Start()函数下,实现目标坐标的获取,摄像机的初始状态,摄像机和目标模型之间的距离。

·在Update()函数下,实现按下鼠标左键拖动模型,按下Esc键则返回之前的软件操作界面。

·创建static float ClampAngle(float angle, float min, float max),实现旋转角度数值在360°范围内变化。

·将脚本controller3D.cs赋予到空对象下的摄像机。

(3) 播放测试过程相位、幅度动态变化动画视频和测试中天线模型运动动画视频。天线测试设置完成后,点击“Create New Scan”按钮,则“Acquire”按钮由灰色显示状态转变为可操作状态,点击“Acquire”按钮,会打开图4所示“测试过程模拟”界面,并播放幅度、相位实时变化的动画视频和相对应的机械转动及天线姿态的三维动画视频。主要实现方法如下:

·在Operation.cs中,定义函数clickAcquire()和clickReturn(),其功能分别是打开和关闭“测试过程模拟”界面。

·为“Acquire”按钮,添加On Click()事件,运行Operation.cs中的函数clickAcquire()。为返回按钮添加On Click()事件,运行Operation.cs中的函数clickReturn()。

·创建Player.cs,声明对象,并创建播放动画的函数 movTexture.Play()和停止播放的函数movTexture.Stop()。

·将Player.cs和video目录下两个视频文件testing.ogv和喇叭.ogv分别赋予到对象的MovTexture中。

·为“Acquire”按钮添加两个On Click()事件,运行Player.cs的函数clickPlay(),实现两个视频文件的同时播放。

·为返回按钮添加两个On Click()事件,运行Player.cs的函数clickStop(),实现两个视频文件的同时停止播放。

3 虚拟实验系统的特色

(1) 二维和三维相结合。为了提高系统的运行速度,系统采用二维和三维结合的呈现方式。在需要提供直观、形象感知时,采用三维模型或三维动画呈现。

(2) 静态和动态相结合。系统采用文本、图片、模型、动画等媒体形式呈现实验信息。为了直观、生动和真实地反映实验的一些实际过程,系统将实验过程的几个动态过程,用二维或三维动画形式呈现。

(3) 参数设置和机械转台变化状态对应。在天线测试设置时,将暗室内部的机械转动及天线姿态的三维变化与参数设置放置在同一界面,直观呈现参数设置产生的效果。

(4) 测试过程天线运动变化和幅度、相位变化对应。将测试过程中幅度、相位变化与天线运动变化的三维动画放置在同一界面,方便对照,使使用者全程观察实验过程,直观了解电磁波的空间分布。

4 结 语

项目采用虚拟技术实现了在微波暗室环境下天线方向图测量的虚拟实验。该系统能够使使用者对微波暗室的构成、布局以及功能获得直观认知,了解天线测量系统的构成及使用方法,熟悉天线与电磁波的测量原理和技术,练习微波测量仪器的操作,并实现对常规天线或自定义天线进行模拟测量;该系统也可辅助教师进行理论教学与课堂演示。利用虚拟实验技术降低实验成本,提高实验教学效率,使原本昂贵复杂的空间电磁波分布测绘实验可以用电脑方便地自主完成。本系统的开发是虚拟技术和实验技术的一个结合,是对虚拟技术在教学中应用的一个探索,也是对电磁波实验教学的一个扩充和支撑,具有广泛的应用价值和推广意义。

猜你喜欢
暗室微波天线
具有共形能力的阻抗可调天线
超高耐受功率暗室性能分析与设计
为什么
一种USB 接口的微波开关控制器设计
微波冷笑话
ETC相控阵天线与普通天线应用对比分析
ALLESS转动天线射频旋转维护与改造
卫星导航专用暗室测试环境建设研究
弹载北斗抗干扰天线系统分析与设计
医疗器械电磁兼容暗室选型设计实例