logo资料库

基于Visual C++和OpenGL的红外目标景象仿真研究.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
第 32 卷 第 2 期 红 外 技 术 Vol.32 No.2 2010 年 2 月 Infrared Technology Feb. 2010 基于 Visual C++和 OpenGL 的红外目标景象仿真研究 黄 迁,张 涛,吕银环,崔文楠 (中国科学院上海技术物理研究所,上海 200083) 摘要:对红外目标的红外辐射特性进行了分析计算,提出了在 Visual C++ 6.0 环境下利用 OpenGL API 对空间目标红外辐射特性进行仿真的方法。针对假定目标给出了该目标在不同观察方向上的辐射 强度并据此生成灰度图像,并利用上海技术物理研究所自行研制的 128×128 像素电阻阵列红外景象 转换器进行了仿真实验,取得了实验结果。对红外目标的红外辐射特性仿真进行研究,为红外景象模 拟提供基础。 关键词:Visual C++;OpenGL;红外景象;红外辐射特性;仿真 中图分类号:TN216 文献标志码:A 文章编号:1001-8891(2010)02-0101-04 Research of Infrared Target Images Simulation Based on Visual C++ and OpenGL HUANG Qian,ZHANG Tao,LV Yin-huan,CUI Wen-nan (Shanghai Institute of Technical Physics, Chinese Academy of Sciences, shanghai 200083, China) Abstract:Infrared target’s radiation characteristic is analyzed and calculated, the simulation of space target’s infrared radiation characteristic is based on Visual C++ 6.0 and OpenGL API. Based on target’s radiant intensity, the gray images of assumed target in different observation direction are created. Simulation experiment is done with the 128×128 pixels infrared image resistance arrays. The simulation of infrared target’s infrared radiation characteristic is analyzed. Some basic work is done for simulation of infrared image. Key words:Visual C++,OpenGL,infrared image,infrared radiation characteristic,simulation 引言 由于红外辐射的一些优越特性,使得物体的红外 景象被越来越多地使用,例如在军事、航天、民用等 领域,红外景象已经被广泛应用。相应的,目前对红 外景象仿真的需求量也越来越大。红外景象仿真的一 般方法是,从红外物理和传热分析等方面入手计算出 物体的温度场分布和观察方向上的辐射通量,再利用 计算机图像技术,模拟出物体的红外景象。本文在传 统红外景象计算机模拟的基础上,利用 Visual C++ 下 OpenGL 对空间目标的红外景象进行仿真,更进一 步直接使用了上海技术物理研究所开发的电阻阵列 红外景象转换器进行了仿真实验。 1 Visual C++下 OpenGL 图形仿真 SGI 公司开发,支持阴影、纹理映射、光照、动画等, 是图形硬件的一种软件接口。该接口包括了 250 个左 右的不同函数[3],可以利用这些函数在 PC 上创建高 品质、交互式的三维应用程序。OpenGL 独立于窗口 系统和操作系统,其开发的程序可以方便的在各平台 间移植。 在 Windows 环境下,OpenGL 支持 Visual C++、 Visual Basic、Boland C++、Delphi 等环境,而在 Visual Studio 中与 OpenGL 有着紧密接口、功能强大并且代 码效率较高的 Visual C++又成为绘制 OpenGL 图形 的首选。基于 Visual C++中的 MFC 类库可方便地进 行 OpenGL 图形绘制,生成红外景象。 2 目标红外辐射特性分析计算 2.1 红外辐射影响因素分析 OpenGL(Open Graphic Library 开放图形库)由 影响目标温度分布的因素很多,以空间目标为 收稿日期:2009-12-03. 作者简介:黄迁(1983-),男,广西柳州人,博士研究生。主要研究方向为物理电子学。 101
第 32 卷 第 2 期 红 外 技 术 Vol.32 No.2 2010 年 2 月 Infrared Technology Feb. 2010 外辐射功率;εS 为面元的热辐射率;σ为斯蒂芬-波尔 兹曼常数;TS 为面元的绝对温度;εeff 为面元与内部 热交换的当量发射率;TI 表示目标内部的绝对温度; CS 为面元表面材料的比热;mS 为面元的质量;δS 为 面元表面材料的厚度;ρS 为面元表面材料的比重;τ 为时间,单位为秒。 根据热平衡方程时,即可计算出空间目标各个面 元实时的温度。根据普朗克公式和空间目标表面的辐 射率即可得到目标表面自身的红外辐射特性。再将目 标表面的反射系数乘以外界在 7~9 μm 波段对目标的 红外辐射功率,得到目标表面反射的红外辐射功率。 将目标表面自身红外辐射功率与目标反射外界 的红外辐射功率两部分叠加,即可得到目标表面的红 外辐射特性。 3 红外目标景象仿真技术 3.1 仿真系统硬件构架 图 1 所示的是整个仿真系统硬件构架,数据主机 通过以太网,向工作主机发送目标实时的运动特征数 据。工作主机接收运动特征数据后,实时计算目标的 红外辐射特性,生成目标的红外图像,并通过以太网 将目标的图像数据发送到电阻阵列红外景象转换器 系统。电阻阵列根据收到的图像数据显示红外景象。 本文主要的工作是在工作主机上进行,完成红外目标 仿真系统的软件工作。 图 1 仿真系统的硬件构架 Fig.1 Hardware structure of simulation system 3.2 软件实现 图 2 为程序总体框图。 例,影响空间目标红外辐射特性的因素包括太阳辐 射、地球辐射、地球反照太阳辐射等,空间目标自身 的表面结构参数和温控方式也是影响因素之一。由红 外物理可知,空间中,目标与空间背景的热交换以辐 射为主。空间目标吸收各种外部辐射,自身也同时向 外辐射能量。针对空间目标的长波红外探测,并根据 探测器需要,本文模拟的是空间目标在 7~9 μm 波段 内的红外辐射特性。在 7~9 μm 波段内,空间目标表 面的最终辐射功率分为两部分,一部分是空间目标自 身在 7~9 μm 波段上的辐射,另一部分是空间目标表 面反射其它辐射体在 7~9 μm 波段的辐射。其中反射 的辐射功率主要来自地球。 1)太阳辐射 空间目标受到的太阳辐射大小与空间目标表面 与太阳矢量的夹角大小有关。目标表面法向量与太阳 矢量的夹角越小,说明太阳越接近对目标表面进行直 射,目标表面接收到的功率自然越大。在热计算时, 太阳常数取 1353 W/m2。 当空间目标运行到地球的阴影区域时,目标接收 不到太阳的直接辐射。 确定轨道、确定姿态的空间目标,其在空间运行 时本体坐标与太阳矢量的夹角以及进出地球阴影区 的时刻等数据,都可以利用 STK 软件给出。STK 全 称是 Satellite Tool Kit(卫星仿真工具包),由美国 AGI 公司开发,是航天工业中的商品化的分析软件[6]。 2)地球-大气系统的辐射 地球-大气系统在吸收太阳辐射后,转化为自身能 量,然后又以长波热辐射方式辐射到太空,这部分能 量也被空间目标接收到。在工程热计算时,将地球— 大气系统当作 250 K 绝对黑体。 3)地球-大气系统对太阳辐射的反照 地球-大气系统还会对太阳辐射进行反照。在进行 热计算时,假定地球-大气系统的反射遵循朗伯余弦定 理[1]分布,并取平均反射率 a=0.35。 2.2 空间目标红外辐射特性的求解 在定量的计算出影响空间目标红外辐射的各个 因素后,利用文献[4]中的方法,得到目标的热平衡方 程式: S R α S S sun cos θ α S + P S earthref + P α e earth S T ( 4 ε σ S eff S − 4 T I ) + c δ ρ S S S S S ⋅ + S T 4 = εσ S S S T d S d τ (1) 式中:SS 为面元的面积;αS 为面元对太阳辐射的吸收 率;Rsun 为太阳常数;θS 为面元与太阳光的夹角;Pearthref 为面元接收到地球反射太阳的辐射功率;αe 为面元对 地球红外辐射的吸收率;Pearth 为面元接收到的地球红 102 图 2 软件程序总体框图 Fig.2 Software framework
第 32 卷 第 2 期 Vol.32 No.2 2010 年 2 月 黄 迁等:基于 Visual C++和 OpenGL 的红外目标景象仿真研究 Feb. 2010 3.2.1 数据接收和发送 利用 TCP 协议从数据主机接收目标的运动特征 数据。采用 TCP 协议,有利于保证可靠地接收到目标 的动力学数据及数据的完整性,便于程序对目标红外 辐射特性进行计算。具体编程时,利用集成在 MFC 类库中的 CAsyncSocket 类(异步非阻塞套接字类) 完成数据接收功能。 工作主机对电阻阵列系统发送图像数据时,将生 成的红外图像数据分成多个 UDP 数据包,发送到电 阻阵列系统板上。采用 UDP 通信,不需要建立连接, 没有数据确认和重传机制,工作主机可以直接向一个 IP 地址发送数据,保证了图像显示的实时性[5]。 3.2.2 目标红外辐射特性计算 程序数据输入包括两部分:第一部分,数据主机 通过以太网给工作主机发送的动力学数据。这部分数 据主要是一些关于目标环境和位置、姿态等实时数 据。这部分数据由数据主机实时输出。第二部分数据 是关于目标的先验数据。这部分数据包括目标的外形 参数、表面吸收率、反射率、质量等与热计算相关的 物理参数。这些参数是已知或预先设定的,可以在程 序中直接输入,不需要外部的数据主机输入。 利用 2.2 节介绍的方法,计算各个面元的热平衡 方程式。计算中,需要用到积分运算,在 VC++中, 可以根据实际模拟精度需要,设定积分步长。 求解出热平衡方程式中的各个参数后,可将方程 式变形为: A B T − ⋅ C 4 S d ⋅ τ = d T (2) 式中:A、B、C 均为常数,由热平衡方程式(1)中的各 个系数求出。根据目标面元的初始温度,即可求出在 小时间间隔 dτ内,面元的变化温度 dT。所以后一时 刻的面元温度 TNEW 与前一时刻温度 T 的关系: T NEW = + T T T d = + 4 A B T − ⋅ C ⋅ d τ (3) TNEW 就是面元的实时温度。根据 2.2 节的介绍, 得到面元实时温度后,即可计算出目标实时的红外辐 射特性。 数据主机发送的运动特征数据:主要是一些关于 目标实时的环境数据,包括目标的位置、姿态、外部 影响红外辐射特性的实时因素等。目标各个面元的相 关参数:包括外形参数、初始温度、吸收率、反射率、 比辐射率、质量等热计算相关参数。 3.2.3 OpenGL 模拟红外景象 基于 VC++下 MFC 类库,建立红外景象的显示窗 口,便于在工作主机上监视程序生成的实时红外景象。 图 3 是 OpenGL 中场景的坐标表示,计算机屏幕 为坐标轴的 xy 平面,z 轴由计算机屏幕指向观察者。 由上坐标系可知,OpenGL 场景中的景物要能在屏幕 上显示出来,其坐标中的 z 值必须为负值[2]。 图 3 OpenGL 场景的坐标 Fig.3 Coordinate of OpenGL scene 1)OpenGL 场景设置 上海技术物理所开发的电阻阵列分辨率为 128× 128,相应地在显示程序中将 OpenGL 场景的大小设 置为 128×128。利用视见区(viewport)来限制 OpenGL 场景大小: glViewport(0,0,width,height); width,height 分别为 OpenGL 场景的宽度和高度 值,此处都设为 128。 除了设置好红外景象的分辨率外,还需设置红外 景象的视场大小: gluPerspective(fovy,aspect,zNear,zFar); fovy 是竖直方向上的视场角大小,aspect 是水平 方向视场角与竖直方向视场角大小之比,zNear 是场 景中景物最近距离,zFar 是场景中景物最远距离。 2)红外景象模拟 红外景象是灰度图像,在绘制 OpenGL 物体时, 物体表面颜色的 RGB 值都赋为同一个值,物体表面 即为灰色。在 OpenGL 中,物体灰度为 0 至 1 之间一 个值,0 为全黑、1 为全白。可根据实际绘制需要对 其进行量化,例如本文实验中,电阻阵列系统使用八 位的 DA 控制电阻阵列,因此,程序中将 OpenGL 中 的颜色单位 0 至 1 量化为 0~255 之间的整数。因此, 程序中红外景象的灰度值量化为 0~255,0 表示全暗、 255 表示最亮。 通过计算好的目标各个面元在观察方向上的辐 射强度 J,对各个面元表面灰度进行赋值,即可得到 模拟的红外景象。 图 4 就是工作机利用 OpenGL 模拟出来的假定目 标的红外景象。由图可见在各个时刻,由于目标的各 个面元由于在距离、相对观察者的姿态、实时温度等 的不同,其表面红外辐射特性是一直变化的,相应的 图像灰度也是变化的。 OpenGL 使用双缓存技术,程序中,可以方便的 将图像缓存中的数据读到内存中。在将内存中的图像 103
第 32 卷 第 2 期 红 外 技 术 Vol.32 No.2 2010 年 2 月 Infrared Technology Feb. 2010 数据打包为 UDP 数据包,发送给电阻阵列系统。 5 结语 图 4 OpenGL 模拟的红外目标 Fig.4 Infrared target simulated in OpenGL scene 4 仿真结果 电阻阵列红外景象转化系统接收红外景象数据 的 UDP 包后,将红外景象在电阻阵列上进行显示。 电阻阵列发射的光谱范围是 2.5~14 μm,利用美 国 FLIR 公司热像仪在 8~12 μm 波段拍摄电阻阵列所 显示的红外图像如 5 所示。 本文采用基于 Visual C++环境下利用 OpenGL 库,对空间目标的红外辐射特性进行图形仿真的方法。 根据传热学规律自建模型,从原理上给出系统实现, 模型复杂[7]。Visual C++代码的可修改性与移植性较 强,程序扩展性好,用文中热计算的方法,可以方便 的改变外界环境变量、目标的各类参数以适应不同的 模拟需要。得到的图像,可以作为系统测试图像源。 参考文献: [1] 张幼文. 红外光学工程[M]. 上海: 上海科学技术出版社 1982. [2] Edward Angel. OpenGL 程序设计指南(第二版)[M]. 北京: 清华大 学出版社 2005. [3] Dave Shreiner. OpenGL 编程指南(第五版)[M]. 北京: 机械工业出版 社 2006. [4] 向诗红. 空间低温目标红外辐射特性研究[D]. 中科院上海技术物理 研究所, 2007. [5] 孙鑫, 余安萍. VC++深入详解[M]. 北京: 电子工业出版社 2006. [6] 杨颖, 王琦. STK 在计算机仿真中的应用[M]. 北京: 国防工业出版社 2005. [7] 马丙辰, 谌海新. 红外目标仿真的两种热源模型比较与分析[J]. 红外 技术, 2004, 26(6): 79-82. 图 5 电阻阵列红外景象转换器显示的红外目标 Fig.5 Infrared target showed by infrared image resistance arrays 104
分享到:
收藏