2012
近年来,随着雷达仿真系统研究的不断深入和计算机技术的不断发展,传统的雷达系统仿真软件存在重用性和扩展性差等问题,已经不能满足雷达仿真系统规模日益扩大、结构日益复杂和功能不断则强的需求,组件化雷达仿真软件设计模式已经成为今后发展的趋势。
本文给出了组件化雷达仿真系统软件设计方案,对雷达仿真软件进行了三层结构划分:系统层、功能层和矩阵层。根据仿真系统与用户交互的不同功能划分了系统层组件,并采用仿真软件总线结构实现了对系统层各组件的互联。通过组件对象模型标准设计实现了功能层组件,包括发射系统组件、回波模拟组件、天线组件、接收机组件、信号处理组件、数据处理组件、噪声组件、杂波组件、干扰组件和辅助功能组件等功能组件。以动态链接库的形式设计并开发了矩阵层,其中包括信号处理函数、数学函数、逻辑操作函数和可扩展标记语言操作函数等。然后开发并对整个仿真软件进行了调试。最后通过对一个两坐标系统的设计、建
模、显示、评估和回放验证了整个软件的仿真功能。
通过计算机对外场环境的模拟,反复进行测试和设计修改,可以有效的缩短外场做实验
的周期和减少其浪费。
采用不同方式的软件设计方法往往会对雷达仿真系统产生不同的影响,而在对软件进行设计的阶段对仿真软件整体的设计则尤为重要,甚至会影响仿真系统的成败。
通过采用组件化的设计思想,雷达仿真系统可以分解成为独立、可复用、可替代的组件。通过模型组件化之后可以有效的减少开发周期和提高软件的利用率,从而满足当前雷达仿真系统面临的复杂电磁环境要求。
在工程级与交战级装备仿真结构标准及其应用的研究和开发则相对较少,由于在HLA 中作为系统最小组成单位的联邦成员之间的耦合性非常强,对于不同的联邦成员需要进行独立的设计与开发,从而造成系统内部与系统之间成员重用性和扩展较差。
首先对基于组件的雷达仿真系统进行需求分析,发现在实现其需求时必须对仿真系统进行分层处理,然后对软件系统中的分层体系结构进行分析,最后根据软件中的分层思想,将雷达仿真系统分为了矩阵层、功能层和系统层,并对其中每一层进行了功能划分处理。
COM技术
在 COM 标准中,组件也称为模型,通常有两种存在方式:进程内组件和进程外组件。进程内组件是一个 DLL(动态链接库),进程外组件一般为 EXE(应用程序)
进程内组件在使用时由于是在进程内部进行数据访问,组件运行效率比较高,但是组件程序的好坏往往决定着整体程序的稳定性。
进程外组件在使用时由于是跨进程进行数据访问,组件的运行效率自然比进程内组件的要低,但是组件程序的崩溃不会引起整个程序运行的出错,对于稳定性要求比较高比较适合使用进程外组件。
在客户程序调用 COM 组件时无论是进程内组件还是进程外组件,对于客户程序来说,在调用这两种组件模型的过程中存在的的区别是透明的。
XML技术
XML(Extensible Markup Language)即可扩展的标记语言。XML 是一种应用非
常广泛的标记语言,通过一系列文本格式定义规则对文本进行标记。
动态链接库的显示加载则是指在程序运行过程中,有程序代码调用LoadLibrary 和 LoadLibraryEx 函数来加载动态库。即是在程序运行时通过地址映射来查找到库中所需函数的地址来调用函数。
从而在雷达系统矩阵层函数库设计时使用动态链接库的隐式链接方式来进行。
雷达系统仿真是在计算机机上模拟、再现真实雷达系统在不同场景中的工作机理和过程,从而求解、验证和评估真实雷达系统特性、效能等方面的一套方法。
首先将雷达系统依据模块化的思想进行逐级划分生成标准的功能模块,再根据不同模块之间的连接关系设计不同的标准的模型接口,制定标准化的接口关系,通过一定的系统结构框架,各标准化的功能模块可以以组装的方式构建不同的雷达系统。在这种设计模式下,不同的模块可以进行独立的设计、开发、测试和运行,模型组件得到了很好的重用性。
为了建立通用的、可移植的和可扩展的雷达功能组件,在开发时统一采用软件系统设计中比较流行的 COM 组件方法。将雷达仿真系统的功能组件都以 COM 组件的形式进行开发和封装。通过将雷达功能模型组件化则实现了雷达系统的分集处理,而通过建立功能层组件与组件之间的接口交互标准,解决了功能组件之间接口互联的标准问题。
矩阵层以动态链接库为开发方式,包括矩阵操作库和 XML 操作库两个方面的内容。
综上所述,整个仿真系统对于矩阵层的要求非常的高,矩阵层功能的完备性则就至关重要了。而由 MATCOM 公司出的 Matrix矩阵库则可以满足矩阵层的基本要求。而对于矩阵库的操作则可以按照动态库的静态加载来使用。
基于矩阵操作层的基础上建立雷达仿真系统的各大功能模块,将整个雷达系统的功能组件可以分解为如下所示:
1、发射系统组件
2、回波模拟组件
3、天线组件
4、接收机组件
5、信号处理组件;
6、数据处理组件;
7、噪声组件;
8、杂波组件;
9、干扰组件;
10、辅助功能组件;
组件库管理文件设计
组件即是根据雷达仿真系统的功能开发的 COM 组件,而组件库说明文件则是用来对组件的详细信息进行说明的配置配置文件。 首先发射机组件和回波模拟组件分别载入参数表中其相应的参数段参数,然后按照组件与组件之间的连接关系的先后顺序进行运行。发射机组件运行并将输出数据放入指定的内存区,然后回波模拟组件首先会从发射机组件的输出接口上提取数据,最后再将输出数据放入指定的内存区来等待下一个模块的数据提取。
由于在接口进行数据交互时对数据类型不敏感,在仿真运行时有一定的几率会出现仿真数据类型的不匹配而造成仿真系统崩溃。所以在进行接口交互时必须通过指针缓存变量来记录输出信号的数据类型,在输入时进行接口匹配检查。
进行雷达仿真系统建模。在建模系统中集成了雷达仿真系统的所有功能组件,用户通过建模界面可以从模型库中选择合适的功能组件来构建所需的仿真系统。
对雷达仿真系统的仿真结果信息二三维显示。本仿真系统在仿真过程中可以通过 PPI 显示和三维显示器来显示仿真过程中的波束、目标、雷达和探测等信息。对已经仿真过的雷达系统支持回放操作。雷达系统信号级仿真通常数据量非常大,仿真耗时非常严重,若通过再次仿真来重新观察系统仿真过程中的现象通常是不可取的。而通过数据回放系统则可以高效的回放仿真过程的细节信息。
雷达显控等辅助软件可以做到和某种特定的仿真系统解耦合,对于不同的仿真系统,只需要在设计仿真系统时将其设计为可以插入到仿真总线上的系统则显控等软件可以在不做修改的情况下继续使用,实现了仿真框架的通用性。 系统功能:主要完成雷达系统的组件建模和系统建模,组件建模是利用模型组件连接生成功能组件的过程,而系统建模则是利用功能组件连接生成仿真系统的过程。同时也包含仿真系统的参数设置、仿真系统的存储和载入等系统相关的功能;
PPI 显示设计
首先读取总线数据,然后对总线数据进行解包,将数据存入显示器的数据存储区中,再读取显示器的配置信息,将配置信息存入显示器的配置信息存储区中,然后调用 MFC 的绘图 DC 进行绘制背景、经纬线、波束、点迹和文本信息等显示信息。最后程序检查是否要退出,若退出则结束线程,否则继续进行总线数据读取等一系列的线程处理。
双缓冲技术
在本方案中使用了独立的线程进行绘图操作,在此过程中窗口在重绘时会首先将背景显示清除,然后在重新绘制。在短时间内背景色与显示图形的交替出现而出现闪屏。而双缓存就是除了在屏幕上有图形进行显示以外,在内存中也有图形在绘制。先把要绘制的图形在内存中绘制完成,然后再一次性的复制到屏幕上去。当图像帖到屏幕上时由于最终图形和屏幕上显示的图形差别很小而去除了闪屏现象。
数据回放设计
在雷达系统建模仿真过程中通常由于仿真过程中耗时量较大而采用回放的方式来再现仿真过程。在进行数据回放时是统一针对已经存储好的数据文件进行,包括对数据文件的提取,对不同文件之间的数据进行时间同步,将数据文件按指定格式打包并发送到总线上等等问题。而针对用户的实际要求则需要在回放软件中有进行倍速、减速、暂停、终止和恢复等基本的功能。
数据回放软件采用双线程的技术来实现,主线程负责相应用户的界面操作,而辅助线程则负责整个回放过程的数据处理。如图 3.11 所示为数据回放软件的程序流程图,在主线程中通过改变总时间 T 来控制仿真的速度、暂停和恢复等功能,而在辅助线程中,首先根据载入的不同的数据文件计算每个数据文件中的仿真间隔时间 t,通过n = T / t计算出需要提取的数据在文件中的位置来提取数据,然后对数据进行指定格式的打包和发送,如果提取数据已经完成则退出仿真,否则继续。若用户在界面中点击终止仿真的按钮则强制结束辅助线程的数据处理操作。 雷达仿真系统组件使用 Microsoft 提供的 COM 标准进行开发,采用进程内组件模型,即以 DLL(动态链接库)的形式存在。
PPI 显示器用于对仿真结果进行直观显示
本程序提供对用户关心的某一区域的放大和缩小显示功能,用户可以通过工具菜单中选择放大或缩小来实现。
单击“工具”菜单中的“参数设置选项”,弹出如图 4.15 所示的参数设置界
面,在此界面中用户可以设置 P 显的刷新频率,背景色、P 显扫描范围、威力范围、
波束颜色、波门颜色、纬线颜色、纬线出现间隔、纬线起始和终止距离、经线颜
色、经线绘制间隔和目标的点迹大小等参数。
数据回放开发
数据回放程序提供对已有存储数据进行载入回放操作,程序开发界面如图4.16 所示,程序主界面比较简洁,提供了载入数据按钮、导入文件设置按钮以及回放时必须的如开始回放、加速回放、减速回放、终止回放、暂停回放和恢复回放按钮。
用户通过单击“导入文件设置”按钮,可以弹出如图 4.17 所示界面,在此界面中用户首先通过数据路径后面的配置按钮来设定数据文件路径,然后在相关的数据列表下方单击添加按钮则可以将数据文件加入到回放系统中,在设定完成之后点击应用和确定按钮。在回放主界面中单击载入数据将数据载入完成之后则可以进行数据回放相关操作。
集成启动界面开发
组件化雷达仿真软件应用
雷达仿真系统组件模型是根据雷达系统相关原理进行的模型抽象,以 C++语言为基础进行的开发,从而在将组件模型加入到系统中进行仿真之前,需要保证各组件模型功能的正确性。
本仿真系统中通过对仿真数据进行存储来实现对仿真过程的再现,数据回放界面如图 4.16 数据回放界面所示,在载入仿真数据之前需首先设定导入文件,点击导入文件设置按钮,在如图 4.17 数据回放导入文件设置界面所示的界面中设定数据文件为 10km 高度层数据并根据存储时的文件名称依次选择雷达数据、目标数据、波束数据和探测数据,点击应用和确定按钮,在主回放界面中点击载入数据,然后点击开始回放按钮,回放结果和图 5.19 相同。
首先针对常规以往雷达仿真系统在设计和开发过程中的不足,要求在仿真系
统设计时必须考虑到软件的可重用性和可扩展性,而利用软件工程中的分层体系
结构和组件化程序设计思想分别可以解决可扩展性差和可重用性差的问题。