基于HLA的电子对抗区域传输和显示方法研究_第1页
基于HLA的电子对抗区域传输和显示方法研究_第2页
基于HLA的电子对抗区域传输和显示方法研究_第3页
基于HLA的电子对抗区域传输和显示方法研究_第4页
基于HLA的电子对抗区域传输和显示方法研究_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于HLA的电子对抗区域传输和显示方法研究

摘要本文介绍了在开发基于HLA的分布式电子对抗模拟仿真系统时实现电子对抗区域的传输和显示的原理和具体方法,为构建新的电子对抗仿真系统提供了一种稳定、快速而易于实现的途径。关键字HLA;分布式;电子对抗模拟仿真系统;电子对抗区域0引言科学技术的飞速发展,极大地改变了现代战场的面貌,引起了军事科学深刻的变革。电子对抗作为现代信息战的基本支柱,已成为高技术条件下现代战争的一个最重要特征。然而,以电磁波为武器的电子对抗不同于常规武器,其战斗往往进行于无形之间,为了表现其战场态势,就必须采用各种手段对电磁信号及各种电子设备的作战效能进行可视化显示,这样便形成了多种类型的电子对抗区域,其主要包括受干扰前后的地面警戒雷达探测区、受干扰前后的地面通信畅通区、受干扰前后的GPS畅通区、电子侦察区、受干扰前后的火控雷达威力区等,这些区域又通过和、差、交、并、异或等计算形成复杂的合成区域。基于HLA的分布式电子对抗模拟仿真系统通过RTI传输并显示上述这些电子对抗区域。

1基于HLA/RTI的分布式电子对抗模拟仿真系统简介HLA是美国国防部发布的仿真系统结构标准,在2000年全面推行。HLA是为了支持仿真之间的互操作性和可重用性而制订的,它主要包括规则、对象模型模板以及接口规范。而HLA的核心——运行支撑系统是HLA研究的重点。RTI实际上是一个中间件,是HLA仿真应用的支撑平台,它提供了HLA接口规范中定义的标准接口调用。图1给出了一种基于HLA/RTI的分布交互式仿真系统的逻辑拓扑结构。图1基于HLA/RTI的分布交互式仿真系统的逻辑拓扑结构联邦由联邦成员构成,联邦的目标由联邦成员协同完成,各联邦成员既要完成自己的绘制子任务,又要根据需要通过RTI与其它联邦成员发生交互,获得自身需要的信息或向其他联邦成员提供信息。这种体系结构和工作体制能够较好的满足采用合成兵种作战模拟的需要,其根据各自的作战想定要求,把各个兵种划分成相对独立的子系统,参照实际运行的具体模式,在HLA联邦中形成多个联邦成员,通过联邦成员内部的仿真运行逻辑完成相应的子任务,子系统模块间电子对抗态势的传送定义为联邦成员间的资料交换,主要体现为对象类和交互类的发布与订购。同时,战场态势显示软件也定义为一个联邦成员,通过向RTI订购来获得各个其它联邦成员发布的电子对抗区域信息,通过计算得到合成电子对抗区域供显示所用。实际信息传输过程和时间同步可以利用改进过的HLA/RTI强大的时间管理功能实现。利用HLA技术框架实现电子战战场态势的计算和显示具有高效率、高逼真度、灵活、低配置要求等优点。

2电子对抗区域的表示方法

CRgn类简介目前,复杂区域的表示方法可以采用多边形链表方式和CRgn类表示方式。对于二者优缺点的比较,参考文献3已经进行了较为详细的分析,这里研究的电子对抗区域传输和显示方法使用的是CRgn类表示方式。对于区域数据Windows提供的HRGN结构,在MFC中用CRgn类对该结构进行了封装,CRgn类支持圆形(椭圆形)、矩形以及多边形区域的创建和显示,同时支持区域之间的各种操作,如和、差、交、并、异或等。因此通过解析CRgn类的数据组织形式,便可以实现各种电子对抗区域的表示和传输。在Window中,对区域的数据是通过如下结构表示的:typedefstruct_RGNDATA{RGNDATAHEADERrdh;//区域数据的头信息CharBuffer[1];//区域数据指针,指向矩形结构(RECT)}RGNDATA;typedefstruct_RGNDATAHEADER{DWORDdwSize;//区域结构头的大小DWORDiType;//区域的类型,为RDH_RECTANGLESDWORDnCount;//构成区域的矩形数目DWORDnRgnSize;//区域数据大小RECTrcBound;//区域的外接矩形}RGNDATAHEADER;从上述的数据结构可以看出,Windows对区域的表示,无论是基本的图形,如圆、矩形、多边形等,还是各种复杂的合成区域,都是通过用有限个相互毗邻的矩形坐标点来完成的。图2如图2所示,这些矩形的坐标点代表了区域的包络。同时需要注意的是尽管矩形的坐标点代表了区域的包络信息,但这些包络信息的排列顺序是按照对区域由上至下进行扫描时得到的,因此在由这些矩形坐标点反求区域时,不能简单地用多边形函数进行连接得到。

区域的产生方法通过联邦成员的模型计算,可以得到不同电磁辐射单位作用区域以及相互之间的叠加、削减关系。以通信畅通区域为例,多个通信站同时工作时,联邦成员软件使用WindowsGDIAPI函数CreateEllipticRgn()产生每个通信站的通信畅通区域,该函数的结构定义HRGNCreateEllipticRgn(intnLeftRect,//椭圆外接矩形左上角x轴坐标intnTopRect,//椭圆外接矩形左上角y轴坐标intnRightRect,//椭圆外接矩形右下角x轴坐标intnBottomRect//椭圆外接矩形右下角y轴坐标);当多个通信畅通区域相互叠加时,使用WindowsGDIAPI函数CombineRgn()产生合成通信畅通区域,该函数的结构定义intCombineRgn(HRGNhrgnDest,//合成目标区域句柄HRGNhrgnSrc1,//源区域1句柄HRGNhrgnSrc2,//源区域2句柄intfnCombineMode//合成方法);此时,第四个参数fnCombineMode为RGN_OR,从而形成合成通信畅通区域,如图3中的浅蓝色区域所示。图3干扰前的合成通信畅通区域当通信站受到通信干扰压制后,其合成通信畅通区域大幅度缩小,同样,使用WindowsGDIAPI函数CombineRgn()产生合成通信畅通区域,第四个参数fnCombineMode为RGN_OR和RGN_DIFF,从而形成干扰后的合成通信畅通区域,如图4中的深蓝色区域所示,深蓝色区域中的空洞表示通信站受到抵近

式干扰时形成的内部通信盲区。图4干扰前后合成通信畅通区域的比较效果图

3电子对抗区域的传输方法

形成传输结构体各个联邦成员从RTI上接收订购数据后,通过模型计算得到各自的电子对抗区域之后,通过调用将CRgn类区域的RGNDATA结构体进行打包。首先,通过调用MakeRgnFloat()函数将缓冲区dataBuf中的屏幕坐标转换成经纬度坐标,以保证同一个点在各个联邦成员中表示的实际位置是一致的。BOOLMakeRgnFloat(){if(nRegionDataFrm==1)//已经是经纬度坐标,直接返回returnFALSE;}nRegionDataFrm=1;RGNDATA*rgnData;nRgnSize=GetRegionData(NULL,0);//参数为NULL时,返回需要的缓冲区大小dataBuf=newchar[nRgnSize];rgnData=(RGNDATA*)dataBuf;nRgnSize=GetRegionData(rgnData,nRgnSize);POINT*dcpoint;Gpoint*wrectpoint;dcpoint=(POINT*)rgnData-Buffer;wrectpoint=(Gpoint*)rgnData-Buffer;CCoordinatemyCC;for(inti=0;i(int)(*2);i++){CMyPointmPt=(dcpoint[i]);wrectpoint[i].x=(float);wrectpoint[i].y=(float);}returnTRUE;}然后,再形成可供传送的结构体CEWRegion,其定义typedefstructCEWRegion{intnCode;//传输编码intnTotalLen;//区域数据大小intnflag;//区域识别码COLORREFclrRegion;//区域颜色tebFilltype;//区域填充方式charchRegionData[2048];//一般不超过2KCEWRegion(){nCode=1000;memset(chRegionData,0,2048);}}CEWRegion;

传送电子对抗区域各个联邦成员通过RTI将各自产生的区域发布出去后,由态势显示联邦成员从RTI上接收,通过解析结构体,调用GetRgn()函数将结构体中的地理坐标点转换成为可以被WindowsAPI函数识别的屏幕坐标。CRgn*GetRgn(){char*buf=newchar[nRgnSize];//区域信息数据缓冲区,大小为nRgnSizememcpy(buf,dataBuf,nRgnSize);//从公共缓冲区dataBuf获取数据RGNDATA*rgnData;rgnData=(RGNDATA*)buf;POINT*dcpoint;Gpoint*wrectpoint;dcpoint=(POINT*)(buf+sizeof(RGNDATAHEADER));wrectpoint=(Gpoint*)dcpoint;CCoordinatemyCC;for(inti=0;i(int)(*2);i++){CMyPointmPt;//将各个扫描矩形的顶点地理坐标值=wrectpoint[i].x;//转换成为屏幕坐标值=wrectpoint[i].y;CPointpt=(mPt);dcpoint[i].x=;dcpoint[i].y=;}if(m_hObject){DeleteObject();}BOOLbRe=CreateFromData(NULL,nRgnSize,rgnData);deletebuf;returnthis;}图5多种电子对抗合成区域的最终显示效果示意图然后,调用WindowsGDIAPI函数CreateFromData()还原各类区域,形成复杂的、表示多个类型区域的、可以带有空洞的任意二维图形,并将最终结果提交显示终端显示出来,从而完成分布式系统中多种电子对抗合成区域的显示。

4结束语合成电子对抗区域的显示是电子对抗作战模拟系统需要实现的重要内容,其将无形的电子战效能以直观、形象的方法表现出来,本文介绍的方法也将在实现基于HLA的分布式电子对抗模拟仿真系统的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论