目录

    • 摘要
    • 1 信号级仿真的必要性
    • 2 信号级仿真的速度问题及其解决出路
    • 3 从仿真软件本身找速度问题的解决出路
      • 3.1 提高模型抽象和实现的层次和水平
      • 3.2 提高算法优化的层次和水平
    • 3.3 提高以空间换时间的水平
    • 3.4 提高数据存取的速度水平
  • 4 结束语

摘要

重点介绍和分析了提高仿真软件本身运行速度的四种基本技术方法:

  1. 提高模型抽象和实现的层次和水平;
  2. 提高算法优化的层次和水平;
  3. 提高以空间换时间的水平;
  4. 提高数据存取的速度水平。舰载多功能相控阵雷达仿真软件的研制实践表明,综合运用上述技术方法,可以使该仿真软件的运行速度提高近 20 倍。

现代信息化战争的一个最显著的特点就是电子战的作用和地位日益突出,甚至可以说,电子战水平和应用能力的高低,在很大程度上决定了战斗和战役的胜负。雷达和针对雷达的电子对抗是电子战中最主要的内容和攻防矛盾之一,应用计算机仿真对雷达/电子干扰攻防对抗进行研究非常必要。

雷达/电子干扰攻防对抗计算机仿真可以粗略分为功能级仿真信号级仿真两大类,在满足了真实性要求的前提下,信号级仿真最突出的问题就是仿真速度的问题。在本文中,我们结合多年从事雷达/电子干扰攻防对抗信号级仿真的体会,就提高雷达/电子干扰攻防对抗信号级仿真的仿真速度的问题进行一些讨论,主要包括以下内容:

  1. 信号级仿真的必要性;
  2. 信号级仿真的速度问题及其解决出路;
  3. 从仿真软件本身找速度问题的解决出路。

1 信号级仿真的必要性

简而言之,我们认为,对于相参雷达,能够再现雷达内部的零中频及其以下的信号流动流程及其处理过程; 对于非相参雷达,能够再现雷达内部的视频及其以下的信号流动流程及其处理过程,就是信号级仿真。而功能级仿真,通常仅涉及空间能量计算以及一些基于概率计算的随机变量门限检测,而不涉及雷达内部的信号流动流程及其处理过程。

从信号级仿真和功能级仿真的作用和实际效果看,在雷达/电子干扰攻防对抗仿真中,有以下区别。

  1. 客观还是主观的区别
    信号级仿真要求把雷达本身真实地仿出来,把干扰机产生的干扰信号真实地仿出来,还要求把目标和环境也真实地仿出来。攻防对抗的结果,是通过运行仿真软件来产生的,是客观的。而功能级仿真在多个环节上都要有人的主观参与和决策,特别是一些关键的结论性数据,要由“专家”人为设定,因而有很强的主观性。
  2. 能不能实现的区别
    由于在信号流动流程及其处理过程的层面对雷达、干扰信号、目标信号和环境信号进行真实的仿真,在信号级仿真中,所有的干扰都可以加入雷达中。而在功能级仿真中,一些干扰是加不到雷达中的。换句话说,一些干扰在功能级仿真中不能实现,因而是得不
    出结果的。特别是欺骗性干扰( 一个典型的例子是距离波门拖引干扰) ,信噪比虽然是重要因素,但已经不是决定性因素,决定性因素是目标回波信号、干扰信号在雷达组件中的相互作用以及雷达组件对信号的处理。对欺骗性干扰进行功能级仿真既没有针对性,也没有实际意义。
  3. 误差与颠覆的区别
    毋庸讳言,任何仿真都是有误差的,信号级仿真也不例外。但功能级仿真与实际情况的差别在一些场合下是颠覆性的。以反舰导弹末制导雷达为例。反舰导弹末制导雷达在受到舰载有源压制式干扰时,按照功能级仿真通常使用的信噪比准则,由于信噪比极低,在末制导雷达中已经看不到目标回波,干扰是成功的。但实际情况是,在这种情况下,末制导雷达会启动杂波源跟踪( HOJ) 功能,继续在方位上跟踪水面舰艇目标,引导反舰导弹准确命中,从而使得干扰彻底失败。

综上所述,我们认为,对于雷达/电子干扰攻防对抗而言,要进行客观、全面、准确的研究,信号级仿真是非常必要的。

2 信号级仿真的速度问题及其解决出路

相对于功能级仿真,信号级仿真有一些特别突出的问题,例如仿真速度问题,模型校核问题。在满足了真实性要求的前提下,信号级仿真的一个最引人关注的问题就是仿真速度的问题。信号级仿真速度慢,主要原因在两个方面: 一是计算内容多而且细致导致的计算量大; 二是计算频率高。以非相参雷达为例,系统采样频率需要达到 20 MHz。这两个方面的因素是由于信号级仿真本身的性质决定的,是无法改变的。

信号级仿真的速度慢主要导致三个方面的问题:一是一次仿真要花费很长的时间,效率太低,同时也影响了仿真应用者对重点问题的关注; 二是极大地限制了信号级仿真在系统层面、体系层面上的应用; 三是不能用于任何有硬件参与的研究,包括模拟训练等。

虽然计算量大、计算频率高是信号级仿真的天然特性,但提高其仿真速度,使其达到实时或近实时( 这里的近实时指的是: 名义时间 ∶计算机时间< = 1 ∶3) 还是大有可为的。从通用的角度看问题,提高信号级仿真的速度有赖于在以下方面取得突破:

  1. 计算机硬件的整体速度有大幅度的提高;
  2. 计算机的多核并行处理能力有大幅度的提高;
  3. 通过辅助硬件加速使计算机系统的速度得到大幅度的提高;
  4. 使仿真软件本身的运行速度得到大幅度的提高。

第一个方面,计算机硬件的整体速度,至少涉及CPU、内存、主板等多个硬件( 或硬件组件) 的速度以及整合速度,这里主要拖后腿的是内存( 也涉及主板和总线) 的存取速度。除非出现系统性的技术变革,要计算机硬件的整体速度有大幅度的提高是不现实的。

第二个方面,计算机的多核并行处理能力的大幅度提高,在今天已经成为技术现实。多核并行处理能力的提高,通过多个实体仿真软件( 多枚反舰导弹同时攻击水面舰艇目标情况下,每一枚反舰导弹的末制导雷达都是一个实体仿真软件) 的并行运行,可以提高整个仿真系统的运行速度,但对于构成真正瓶颈的单个实体仿真软件的速度提高则没有意义。实际情况下,不大可能为了多核并行处理,把一个实体仿真软件拆分成为多个部分。这里有三个问题:

  1. 能不能并行的问题
    并行计算是需要条件的。或者说,并不是任何实体仿真软件的任何部分都能够任意地拆分来进行并行计算的。一个实体软件的某些部分要能够并行,必须满足一定的时序、逻辑或计算关系。事实上,对于一个雷达的仿真软件实体而言,能够进行拆分进而进行并行计算的部分是非常有限的。
  2. 并行化改造的代价
    无论是对一个已经完成的实体仿真软件进行拆分并行化改造,还是在设计、编制一个新的实体仿真软件过程中贯彻并行化,都需要在较深的技术层次上付出较大的人力和时间代价。
  3. 并行化执行的代价
    在并行化执行一个实体仿真软件时,相应的通信/控制、数据分配、数据合并和数据( 包括程序) 存取/传输等,都是要付出时间代价的。特别是最后一个环节,由于涉及的是不同核之间的数据/程序的传输和存取,会付出相当大的时间代价。当并行化执行的代价接近甚至高于并行化带来的收益的时候,并行化就失去意义了。由于上述三个问题的存在,要利用计算机的多核并行处理能力的大幅度的提高来提高单个实体仿真软件的运行速度是没有普遍意义的。

第三个方面,通过辅助硬件加速使计算机系统的速度得到大幅度的提高。通行做法有两条途径:
一条途径是采用 FPGA 或 FPGA+DSP 构建专用的辅助硬件; 一条途径是采用 GPU 等通用辅助硬件。采用 FPGA 或 FPGA+DSP 构建的专用辅助硬件,的确能够大幅度提高单个实体仿真软件的运行速度,除了构建专用辅助硬件需要付出的成本和人力/时间代价外,其最大缺点是灵活性差。

GPU 从本质上看是一种并行多核,而且其处理单元数比 CPU 中的核数高好几个量级。除了上述的多核并行处理的三个问题外,GPU 并行处理还有一个特殊的问题,就是其处理深度很浅,因而需要频繁地交换数据,在这个方面会付出更大的时间代价。有 GPU 方面的资深专家给出了一个例子,对于同一个问题,采用程序优化和 GPU 加速两种方法,GPU 加速方法的速度仅比程序优化方法快一倍。我们认为,GPU 加速的适用面受到很大的限制。

第四个方面,使仿真软件本身的运行速度得到大幅度的提高,在下面作为一个专题,进行一定程度上的
展开讨论。

3 从仿真软件本身找速度问题的解决出路

从理论和实践两个方面看,从仿真软件本身找速度问题的解决出路,使仿真软件本身的运行速度得到大幅度的提高,是大有可为的。基于我们的具体实践,以下列出四条基本思路或者说是基本技术方法:

  1. 提高模型抽象和实现的层次和水平;
  2. 提高算法优化的层次和水平;
  3. 提高以空间换时间的水平;
  4. 提高数据存取的速度水平。

3.1 提高模型抽象和实现的层次和水平

提高模型抽象和实现的层次和水平,在一定意义上,对于提高仿真软件的运行速度具有根本的、普遍的意义和作用。

系统仿真以模型为基础,在本质上是模型试验,仿真运行主要就是模型的运行。模型的有效性和精度决定了仿真的有效性和精度,模型也决定了仿真软件运行的计算量。这里所说的通过提高模型抽象和实现的层次和水平来提高仿真软件的运行速度,以保证模型的有效性和精度不下降为基本前提。

本文以目标回波的仿真为例阐述模型抽象的问题。这里仅考虑回波的时间位置和标准波形( 与发射基带波形相同的单位幅度的波形,这里采用简单矩形脉冲) 。提高模型抽象和实现的层次和水平对于提高仿真软件的运行速度可以具有非常显著的作用。

3.2 提高算法优化的层次和水平

针对不同的具体问题,算法优化的具体方法可能千差万别,但还是有一些共同的规律可以摸索和遵循。例如,已有计算结果的重用( 重复使用) 、避免数据的不必要的移动等。本文以在雷达信号级仿真中经常会遇到的非相参脉冲滑窗积累( 滑窗宽度设为 M) 的算法优化为例来进行说明。

简而言之,非相参脉冲滑窗积累就是对于雷达接收机在连续 M 个脉冲重复周期中的视频输出数据按距离单元相加,其基本原理如表 1 所示。表 1 中,L 表示一个脉冲重复周期中的距离单元数,当前的脉冲重复周期编号为 N+M-1,要与前面的编号直到 N 的各个脉冲重复周期( 一共是 M 个脉冲重复周期) 中的数据按距离单元相加。

3.3 提高以空间换时间的水平

狭义地讲,以空间换时间就是以计算机的存储空间资源换取计算机的时间资源,提高计算机的运行速度。以空间换时间的最简单也是非常有效的例子之一就是通过查表法来避免复杂计算,直接得到相关数据结果。下面以 FFT 为例进行说明和讨论。FFT 算法是在计算 DFT 的最高层面上,主要通过计算结果的重用提高了计算效率,属于算法优化的层次。

3.4 提高数据存取的速度水平

信号级的雷达/电子干扰攻防对抗仿真软件在目前的计算机( 指 PC 机,以下同) 上要提高运行速度,一条大有潜力的技术途径是提高数据存取的速度。

信号级的雷达/电子干扰攻防对抗仿真软件在目前的计算机上运行时,人们感觉运行缓慢,这是一种整体感觉。事实上,真正缓慢的、或者说成为仿真软件整体速度瓶颈的是计算机中的存储器( 指内存,以下同)及其相关部件。因为很久以来,CPU 的运行速度已经达到了存储器存取速度的 100 倍以上。容易想到,如果能够提高存储器存取度使其达到 CPU 的运行速度,仅此一条就可以大幅度提高仿真软件的运行速度,使信号级的雷达/电子干扰攻防对抗仿真软件的运行速度达到实时。但令人遗憾的是,全面、大幅度提高存储器的速度在目前以及可以预见到的将来都是做不到的,只能采取 Cache 等折中的办法。

Cache 被称作缓冲存储器,其特点是速度快( 比内存快 10 倍以上) 但容量小。因其容量小,产生了命中率的概念。Cache 的命中率定义为 CPU 需要的信息已经存在于 Cache 中的比率。显然,只有当 CPU 需要的信息已经存在于 Cache 中时,才能发挥 Cache 速度快的优 势,真正提高仿真软件的运行速度。因 此,提 高Cache 的命中率对于提高仿真软件的运行速度可以起到直接的、显著的作用。Cache 命中率的提高涉及多方面的因素,但数据/程序是否存入 Cache 在根本上遵循所谓的局部性原理: 在访问完一个内存区域后,程序会在不久的将来( 时间局部性) 访问邻近的区域( 空间局性) 。

Cache 的局部性原理可以在不同的层次、从不同的角度加以利用,以提高 Cache 的命中率。这里以 Matlab中矩阵数据的存储和应用为例,来阐述和讨论一些典型问题。众所周知,在 Matlab 的 m 语言中,矩阵数据是按列存储的。这就意味着,如果在组织矩阵数据的时候,把相关的数据组织到相同的列中去,在处理的时候也按列进行处理,将获得( 相对于按行组织数据和按行处理) 更快的处理速度。

4 结束语

对于雷达/电子干扰攻防对抗信号级仿真,提高仿真软件的运行速度具有非常重要的意义。基于技术分析和多年的实践经验,我们认为在当今的技术条件下,针对仿真软件本身挖掘潜力,对于提高速度仍然是大有可为的。以我们的亲身经历为例,我们研制了一个信号级的舰载多功能相控阵雷达仿真软件,最初的运行速度为 1 ∶80,采取多种方法改进后,在原有功能不变,技术性能还有所提高的情况下,在相同的硬件环境中,使该仿真软件的运行速度提高近 20 倍,达到 1 ∶4左右。所采取的方法就是上述的模型抽象、算法优化、以数据表格替换复杂计算、提高 Cache 命中率等。我们希望并相信,经过更加深入的艰苦努力,在国内同行的支持和共同参与下,雷达/电子干扰攻防对抗信号级仿真以及其他领域中具有计算量大和计算频率高特点的信号级仿真,在运行速度方面,能够有进一步的显著提高,从而使得信号级仿真在应用广度上得到大幅度的扩展,包括应用于系统层面、体系层面上的仿真,应用于有硬件参与的研究,如模拟训练等。

【论文-笔记】雷达/电子干扰攻防对抗信号级仿真中提高仿真速度的思考和实践相关推荐

  1. 【论文笔记】基于生成对抗网络的强化学习算法的研究

    目录 摘要 关键词 0 引言 1 相关理论 1.1 强化学习理论 1.2 生成对抗网络理论 1.3 基于生成对抗网络的强化学习算法 1.3.1 算法总体结构框架 2 实验与分析 3 总结 摘要 解决: ...

  2. 论文笔记——Adversarial Patch(对抗补丁)

    摘要 We present a method to create universal, robust, targeted adversarial image patches in the real w ...

  3. 【论文笔记】基于深度学习的机器人抓取虚拟仿真实验教学系统

    文章目录 摘要 关键词 0 引言 1 基于深度学习的机器人抓取实验原理 2 机器人抓取虚拟仿真实验设计方案 2.1 虚拟仿真实验系统总体设计 2.2 机器人抓取实验教学过程 3 实验教学考核与管理 4 ...

  4. 阅读小车循迹论文笔记:灰度传感器、仿生处理器、路径跟踪机制()

    阅读小车循迹论文笔记 灰度传感器 grayscale sensors 小车循迹中灰度传感器的工作原理 发射 接收 电压比较器(运放) 红外灰度传感器总电路原理图 仿生处理器Bio-inspired p ...

  5. 基于特征的对抗迁移学习论文_[论文笔记] 对抗样本不是bugs,而是特征

    [论文笔记] Adversarial Examples Are Not Bugs, They Are Features 说在前面 个人心得: 这是关于对抗样本可解释性的工作 理论部分看不懂,看懂了再来 ...

  6. 【论文-笔记】软件化雷达显示终端的设计与实现

    在各种雷达数据处理系统中,雷达显示终端是雷达与操作员之间直接进行交互操作的界 面,是整个系统的最重要组成部分之一.在建立雷达数据处理或虚拟操作系统时,雷达显示 器的仿真水平将直接影响到整个系统的效果. ...

  7. 【论文笔记】组件化雷达仿真软件设计与实现

    2012 近年来,随着雷达仿真系统研究的不断深入和计算机技术的不断发展,传统的雷达系统仿真软件存在重用性和扩展性差等问题,已经不能满足雷达仿真系统规模日益扩大.结构日益复杂和功能不断则强的需求,组件化 ...

  8. 论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)

    本文参考了三篇笔记,帮助很大: <Explaining and Harnessing Adversarial Examples>阅读笔记 [论文笔记]Explaining & Ha ...

  9. 【论文-笔记】海防雷达仿真系统中PPI的设计与实现

    摘要 重点介绍: 仿真系统中的PPI. 提出了矩阵融合法,实现雷达余晖效果,通过衰减矩阵来控制位图中任一维颜色向量,相对于逐点消隐法的速度提升较大. 针对干扰模型进行研究,构造出适用于雷达的干扰模型. ...

最新文章

  1. 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...
  2. 每日一皮:啥一文理解TCP和UDP的区别!这张图才是最屌的!
  3. 【宝藏女孩】独行40国,风控女孩的环球之旅
  4. kylinH5框架之项目脚手架
  5. 关于Dapper.NET的相关论述
  6. sql server累计求和函数_SQL基础--SQL高级功能
  7. 按插入顺序排序的map
  8. 【OS学习笔记】十四 保护模式二:段描述符
  9. 计算机系统内部五大部件的主要连接关系总结
  10. 【第1章】初识MySQL
  11. java 二级联动实现
  12. matlab ode45 二阶微分,matlab用ode45求解二阶微分方程为题 - 数学 - 小木虫 - 学术 科研 互动社区...
  13. 如何导入python标准库_Python标准库需要导入吗
  14. 为什么说服务逻辑,才是SaaS的底层逻辑
  15. Linux命令之压缩gzip
  16. java stack top_Java中的堆栈类Stack类 - Break易站
  17. 个人博客网站编写(01)
  18. 华为老员工谈华为终端的来龙去脉
  19. 如何实现gerrit的垃圾回收功能
  20. 入行月薪过万的数据挖掘必看的学习建议!

热门文章

  1. 配置汇编环境(王爽)
  2. snkrs暂时无法链接服务器,安卓snkrs一直出错了怎么解决 苹果snkrs无法连接服务器什么原因...
  3. 搭配购买——C++详解
  4. java虚拟机笔记—运行时数据区域
  5. 数据争用(data race) 和竞态条件(race condition)
  6. After Effects Guru: Plugins You Should Know After Effects 大师教程之你必须了解的插件 Lynda课程中文字幕
  7. unity接入quick sdk报错总结(Andriod第二版)
  8. 思杰虚拟服务器退出管理主机,详解Citrix思杰XenServer虚拟化(8)
  9. GitHub上搭建个人网站
  10. clickhouse的日期处理