飞参数据综合记录分析系统的设计与实现
2018-03-19高歌梦月刘荣林
高歌梦月, 刘荣林
(天津七一二通信广播股份有限公司, 天津 300140)
现代战争要求新型战斗机具有多种作战功能,随着有源相控阵阵列、开放式架构和数字处理技术的进步,机载多功能综合射频一体化逐渐成为未来航空电子系统的发展方向[1]。综合射频系统采用信息综合、资源共享、功能分区、分布式并行处理以及功能组件化等技术,基于通用硬件平台实现通信、导航、识别、电子侦察等软件综合化设计,通过软件可配置技术,可动态满足不同作战任务、构型下的功能需求[2]。系统运行过程中,将产生大量接口数据及软件维护性数据,这些数据包含重要的飞行状态参数,能客观真实地反映飞机运行状态。飞参数据记录为系统数据回收、操作过程回溯提供参考,对这些数据进行有效的分析,有利于飞机检测维护及排故处理。
综合射频系统内部及与其他系统间的交互,采用多种类型的接口总线, 不同总线在电气特征、拓扑结构、数据传输格式等方面存在很大的差异性[3]。目前很多飞参记录分析系统针对的接口类型较为单一,缺乏综合性与可扩展性。如何高效、准确地对多种类数据进行综合分析,日益成为航电系统数据分析领域研究的热点。
基于上述情况,本文设计了飞参数据综合记录分析系统。数据记录部分可以稳定可靠记录各个接口的飞参数据,数据解析部分可以解析多种类接口数据并进行数据融合,设计数据曲线分析与航迹、音频综合回放功能,丰富了数据分析手段。该系统对飞机故障快速定位、飞行质量全面评估具有重要意义。
1 系统总体方案设计
本设计方案目标是实现综合射频系统各个关键接口数据的记录、解析及分析。数据记录方面,需要记录多总线接口数据,并生成可转存的具有规范格式的记录文件。数据分析方面,需要融合多种类型数据进行统一管理,为数据分析提供数据支撑,数据分析包含数据内容解析与数据状态分析。
系统框图如图1所示。数据记录分析系统包括数据记录子系统与数据分析子系统。数据记录板卡通过数据接口接收不同类型的飞参数据并存储,由数据拷出设备将数据记录文件转存到计算机,由数据分析软件进行数据处理、数据管理、数据解析及数据分析[4,5]。
2 子系统方案设计
2.1 数据记录子系统设计
数据记录子系统主要由数据记录板卡和数据记录文件组成。数据记录板卡主要完成综合射频系统各设备之间关键接口的数据记录,并从物理和逻辑上对接口进行隔离,不影响接口正常工作。接口包括RapidIO、FC、CAN、ARINC429、GPIO及RS422。
为统一多种接口数据的存储格式,便于分析软件自动识别接口类型,设计了如下存储规则:记录单元每次上电生成一个新目录保存单架次飞行数据,目录格式为“数字序号-年月日”;单架次记录的所有接口数据保存为.dat文件,存储在该目录下,按“接口名称-源地址-目的地址”规则命名。
数据记录板卡主要技术性能指标如下:
1)具有RTC实时时钟功能,上电时接收系统发送的时间进行校准,对记录数据打时间戳;
2) 可连续记录8小时数据;
3) 可通过网口读出指定数据;
4) 具有预留可扩展接口;
5) 具有自检能力。
2.2 数据分析子系统设计
数据分析子系统通过数据分析软件实现数据分析功能。数据分析软件采用模块化设计,包括数据处理、数据管理、数据解析与数据分析模块。数据分析子系统结构如图2所示。
数据处理模块读取数据记录文件,识别接口类型,解封装数据,提取错误帧,实现多总线接口数据融合;数据管理模块基于数据库实现数据统一管理;数据解析模块读取XML格式的接口控制文件ICD(Interface Control Document),根据数据块ID查找对应定义实现解析;数据分析模块包括数据检索、曲线分析及数据回放,实现飞参数据的综合分析。
3 关键技术与解决途径
3.1 多接口数据融合
3.1.1 多线程处理
本研究项目的综合射频系统在单次飞行中约产生几十个记录文件,文件总大小约为几百MB,包含6类接口数据。实际应用中需要集中分析多次飞行数据,为适应海量飞参数据处理需求,本设计采用多线程并行处理方法[6]。
部署一个管理线程,根据CPU情况设定文件处理线程的数量。管理线程将待处理文件加入文件处理列表,查找空闲的文件处理线程读取并处理列表中的文件。处理结束后,管理线程将文件名从文件处理列表中移除并回收该文件处理线程。文件处理线程负责数据记录文件读取、拼帧处理及错误帧提取。
3.1.2 数据融合
根据文件名称识别文件类型,按照不同总线数据格式执行数据解封装、拼帧及校验。提取时间戳、源地址、目的地址、消息属性、消息类型、消息长度及消息数据,统一存储在结构体链表listMsg
数据记录板上电时接收系统时间有延迟,为提高系统分析精度,对非系统时间的时间戳进行校正。按照时间顺序,将全部类型的正确帧存储在数据库有效数据表TableUser中,将全部类型错误帧数据存储在数据库错误数据表TableError中,完成数据融合。
3.2 数据快速存储
3.2.1 存储模式
本系统采用SQLite数据库存储数据,该数据库具有实时性高、系统开销小的特点,能够高效利用有限资源,提高数据存取速度。为避免重复解析,每架次飞行记录数据对应一个数据库文件,查看某架次飞行数据历史记录时,根据文件命名自动匹配对应库。对单次分析的数据文件采取MEMORY内存记录模式,将数据库创建在计算机内存中,可随时存储查询,相比硬盘记录模式能够有效提高读写性能。
3.2.2 存储性能优化
数据插入数据库的全部时间
RT=m×(NetTime+ParseTime+ExecTime+CommitTime)
(1)
式中,RT为应用程序总响应时间,NetTime为SQL语句的传输时间,ParseTime为SQL语句的编译时间,ExecTime为SQL语句执行时间,CommitTime为数据库提交时间。综合采用绑定变量、批处理及事物操作方式缩短RT[7],提高数据入库效率。
1)绑定变量
该方式可降低SQL语句的ExecTime。将插入语句中的value值用变量代替:
insert into TableUser (idKey, Time, dataType, Src, Dst, Hid, Lid, Len, data)
values(:v-idKey,:v-Time,:v-dataType,:v-Src,:v-Dst,:v-Hid,:v-Lid,:v-Len,:v-data);
多条插入语句将被处理为一条语句,只需硬解析1次,大大降低插入命令在硬解析中的开销。
2)批处理
SQL语句的传输时间NetTime由计算机硬件条件决定,批处理通过一次发送多条SQL命令,可降低NetTime。本系统对使用批处理插入数据时间进行测试,插入时间随每次提交SQL语句条数增加而降低,当一次性提交数量达到10 000时,时间稳定在150ms左右,当提交条数继续增加,插入时间缓慢回升。综合测试结果,本系统选择一次性提交10 000条数据。
3)事物操作
SQLite中每条插入或更新语句都执行一次打开数据库、写数据库、关闭数据库的操作,事务操作将大批量插入或更新操作定义为一组事务,有效降低了数据库操作的时间。
3.3 数据解析
常规解析模式是针对不同ICD分别开发解析程序,工作量大、代码冗余度高,修改或添加接口时需要同步修改解析程序,降低了数据分析工作效率。为了解决这一问题,本文设计了基于XML的数据解析方法[8],建立了数据值与其代表含义的映射关系,实现ICD和程序编码的隔离,可灵活变动数据接口协议,降低解析程序开发和维护成本,增强系统通用性。
3.3.1 XML文件设计
XML文件由Interface接口文件与ICD协议文件两部分构成。
Interface接口文件建立了数据帧到对应ICD协议文件的映射关系。根据数据所属接口类型划分,每个目的地址(设备序号)对应一个协议文件,主要结构如下:
…
…
其中,INTER代表数据接口,INTER-TYPE定义了接口类型,ICDS代表该接口的设备对应的接口协议,icd-filename 定义了设备序号、设备名称及设备对应协议的XML文件路径。
协议文件为具体的解析协议,建立了消息内容到代表含义的映射关系,主要结构如下:
…
…
…
…
其中,ICD-DESCRIPTION定义了ICD名称、版本、数据大小端信息,BLOCK-CTRL与BLOCK-ANSWER分别代表发送消息块与应答消息块,BLOCK定义了消息块号与消息块名称,BLOCK-LEN规定了消息块长度,VAR-STRUCT定义了消息内容占用空间、起始字节及数据类型,VARIANT定义了具体消息的bit位与名称,Map建立了数据值Value与其代表含义的映射。
3.3.2 XML解析过程
由原始数据帧的源地址与目的地址,根据接口XML的映射关系即可确定对应ICD的XML文件及消息传输方向,结合消息块号BLOCK-ID可定位该数据帧对应的消息块。由VAR-STRUCT及VARIANT定义,将数据转化为对应的数据结构,在Map映射中根据键值Value即可获取其含义。
3.4 数据回放
数据回放需要提取飞行状态数据与话音数据,实现飞行航迹与音频回放。
通过QtWebkit引擎加载JavaScript脚本,调用百度离线地图API加载本地瓦片地图。调取指定飞行数据库文件,提取航迹相关数据,对经纬度加以纠偏校正,随时间步长变化在地图上同步更新显示。其中,经纬度数据用于绘制飞行轨迹,飞行高度及飞行姿态数据用于当前飞行状态的辅助分析。提取音频文件的初始时间戳,当回放时间进行到音频记录初试时间时,播放.wav音频文件。
回放模块可以进行航线规划、飞行模拟等功能拓展[9],并构建3D场景模拟飞行路线,同时可结合其他飞参数据实现多种类数据的同步回放。
4 系统实际应用示例
4.1 数据解析示例
对数据内容部分进行解析,解析结果包含消息块名称、消息内容名称与对应含义,结果输出如图3所示。
4.2 数据检索示例
通过数据检索可视化界面,可自定义组合筛选条件。检索条件包括时间检索、消息格式检索、消息内容检索及多种条件组合检索。消息内容检索精确到bit级,提高了消息内容分析的灵活性与准确度。组合条件可保存为txt文件,支持重复调用,实现检索功能的个性化配置。组合检索条件设置及检索结果如图4所示。
4.3 曲线分析示例
曲线图可直观反映高度、方位等飞参数据随时间的变化趋势,折线图可显示出离散线电平变化,同时,根据数据突变点能够快速定位到异常消息时间点,精度达到1s。用户可自定义数据源及图像参数,将需要查看的数据bit位通过曲线精准显示。自定义数据曲线如图5所示。
4.4 数据回放示例
航迹回放在二维平面地图上显示飞行轨迹,并可查看当前时间、经纬度、飞行高度、飞行姿态等信息。音频回放能够播放指定.wav音频文件,根据音频波形快速定位至有效话音时段,能够满足实际分析需要。数据回放界面如图6所示。
5 结束语
本设计构建了综合射频系统数据记录与数据分析的一体化平台。数据记录子系统记录多种接口的飞参数据,并统一了存储格式与文件命名,为大量数据的综合分析奠定了基础。数据分析子系统中,数据处理模块通过多线程设计提高处理效率,实现多接口数据融合;数据管理模块采用数据库存储管理数据,优化了数据存取模式,有效降低了数据存储及检索时间,为数据分析提供支撑;数据解析模块设计基于XML的解析方式,增强了系统通用性;数据分析模块集数据检索、曲线分析、数据回放功能于一体,通过数据、图像、航迹及音频全方位评估飞行质量、快速定位系统故障。与现有飞参分析系统相比,本系统综合性强、通用性好、分析效率高,已成功应用在实际项目中。
[1] 薛慧,张昊. 机载多功能综合射频一体化发展研究[J]. 中国电子科学研究院学报,2016,11(5):532-539.
[2] 胡元奎,靳学明,范忠亮. 多功能综合射频系统技术研究[J]. 雷达科学与技术,2015,13(3):233-234.
[3] 朱良,杜承烈. 通用航空总线测试与分析软件的设计和实现[J]. 微电子学与计算机,2007,24(7):125.
[4] 乔晋龙,李冠林. 一种飞参记录数据解析软件的设计与实现[J]. 电子设计工程,2016,24(13):21-25.
[5] 卫保国,蔡伟等. 航电ARINC429总线监测系统的设计与实现[J]. 电子设计工程,2014,22(3):37-41.
[6] 冯晓林,戴卫兵,彭国金. C919飞机航空总线采集和实时分析技术[J]. 飞行力学,2016,34(5):73-76.
[7] 张逸,杨洪耕. 海量电能质量数据交换格式文件快速解析方案[J]. 电力自动化设备,2013,33(12):116-121.
[8] 辛怀声,王鹏. 基于XML的数据解析软件设计与实现[J]. 电脑知识与技术,2014,10(1):57-59.
[9] 张宁,张安,张耀中. 飞行数据综合回放系统设计[J]. 火力与指挥控制,2013,38(12):43-47.