基于C#的雷达侦察设备测向精度试验数据处理软件设计与实现*
2020-12-02群王勇军
袁 航 于 群王勇军
(1.91404部队 秦皇岛 066001)(2.中国人民解放军海军航空大学 烟台 264000)
1 引言
随着军队电子信息装备的发展,各类探测手段的精度大大提高,雷达侦察装备试验的数据量也急剧增加。以往的雷达侦察装备试验中采用的人工处理的手段已无法适应现代雷达侦察设备试验的数据处理需求,需要一种快速处理大量数据的数据处理方法[1]。
C#语言是一种运行于.NET Framework框架的高级程序设计语言,具有简单的可视化操作和高运行效率等特点,具有丰富的第三方软件库,是实现数据自动化处理的最佳方法之一[2]。
笔者提出了一种基于C#的雷达侦察设备测向精度试验的数据处理软件设计方法,通过C#语言编写计算机程序自动处理雷达侦察设备测向精度试验中产生的大量数据,节省大量人力资源,并能避免人工处理过程中可能产生的错误[3]。
2 需求分析
雷达侦察设备测向精度试验通常需要计算其均方根误差,根据式(1)计算被试设备测向精度:
式中:σθ为测向误差,(°);θi为被试设备第i次测量的方位值,(°);γi为北斗卫星导航系统第i次测量的方位值,(°);n为测量次数。
随着雷达侦察设备测向精度精度水平和要求的提高,每一航次所需测量次数急剧增加,处理速度需要快速提升[4];被试设备产生的测量数据与北斗卫星导航系统产生的真值数据需要用时刻对齐的方法比对;均方根误差结果需要复杂的计算。传统的人工处理方式已无法满足以上需求,急需一种数据自动化处理的方法[5]。因此,笔者提出了一种基于C#的雷达侦察设备测向精度试验的数据处理软件,具体设计与实现方法如下。
3 软件设计与实现方法
3.1 总体设计
具体流程如图1所示。
图1 软件总体设计
主要包含数据读/写程序设计、数据匹配程序、均方根误差计算程序、界面等四个模块。首先,软件读取测量数据文件与真值数据文件,之后对两组数据进行匹配,匹配完成后将数据结果输出。
3.2 数据读/写程序设计
本程序所用数据文件均为xlsx格式,以方便数据采集与后续处理。目前,C#读写xlsx格式文件共有几种比较经典的方法。
第一种是采用OleDB方法。该方法是把xlsx当做一个数据源来进行数据的读取操作,该方法读取速率较高,但缺点是方法不灵活,只能一次性读取文件的全部数据,无法判断数据类型,而且代码与操作系统安装的office版本有关,可能会出现兼容性问题。
第二种是将xlsx转化成csv格式后,用文件流读取的方法。该方法的代码较简单,但处理前后手动转换文件会增加用户的操作量,且无法判断数据类型。
第三种是引用com组件的方法。该方法代码较复杂,但方法比较灵活,能够判断数据类型且处理前后不需要转换文件格式。
因此,我们这里采用引用com组件的方法。首先添加office自带的Microsoft.Office.Interop.Excel命名空间。使用OpenFileDialog.ShowDialog()方法让用户选择数据文件目录,使用Worksheet.get_Item方法获取xlsx文件的sheet,使用get_Value()方法得到获取文件中的数据,将数据以object[,]格式的变量保存,以便后续处理。经过数据匹配、均方根误差等程序计算后,使用set_Value()方法,将匹配后的真值数据和均方根误差值写入测量数据文件的最右列。
3.3 数据匹配程序设计
图2 数据匹配程序设计
该程序主要是将测量数据与真值数据采用时刻对齐的方式相匹配。例如1时刻测量数据值需要与同为1时刻的真值数据作比较,在程序中无法像人一样直接找到确切位置,而是需要遍历整个数据。因此,该程序通过双重循环与判断实现。具体流程如图2所示。
3.4 均方根误差计算程序设计
该程序计算出最终均方根误差的结果。利用xlsx文件的公式功能,将“=SQRT(DEVSQ(D:D)/COUNT(D:D))”公式存入变量中,该变量写入文件后的计算结果即为该试验的最终结果[6]。
3.5 界面设计
为了方便用户的操作使用,将该软件弄到winform框架中,该框架人机交互界面友好,简单易学。界面的设计因人而异,可根据需求及编程者自身设计能力而定,本文在此举出一个界面设计的实例,使用TextBox控件传递文件目录[7]。输入文件目录后,软件自动读取选取文件的所有Sheet,并使用ComboBox控件传递用户对Sheet的选择。根据实际需求,增加进度条以便用户掌握数据处理进度。
4 软件应用方法及运行实例
4.1 软件应用方法
分别输入数据文件与真值文件的路径和两文件数据所在的Sheet。之后点击开始按钮,程序便会自动运行,并将数据结果保存至数据文件中[8]。
数据[9]经过处理后,部分结果表格如表1所示。
表1 经处理后部分数据
图3 误差数据图
将上述数据中的误差值制作为图表,如图3所示。
该图表即为该测向精度试验数据经该软件处理后得到的误差数据图。
4.2 运行效率分析
对加载特定数据数量情况下的软件运行时长进行统计分析,结果如表2所示。
表2 数据数量与运行时长关系统计表
由表2可见,软件运行时长主要与数据数量关系较大,与真值数量关系较小。在试验数据总量较少的情况下[10](20k数据量以内),运行时长主要由软件初始化时长决定,约为固定值。以20k数据量为例,通过本软件处理仅需9s,其效率是传统人工手段所不可企及的[11]。
5 结语
通过雷达侦察设备测向精度试验数据处理软件进行数据处理工作,能够节省人力资源,并提高数据处理效率,推动了靶场信息化水平建设[12]。以该软件为基础,可开发其他试验项目的处理软件,并对功能进行整合,可使雷达侦察设备试验的数据处理工作效率大大提高,具有较高的应用前景。