摘要:为满足大文本试飞数据图形可视化分析需求,基于Matlab语言对大文本试飞数据的可视化绘图策略进行探讨。结合试飞数据绘图分析特点,重点研究大文本试飞数据绘图中的关键策略:①数据加载方式选择;②多参数对比曲线图绘制方法;③绘图操作的继承。通过关键绘图策略程序,减少了试飞数据载入内存时间,完成了3种多参数对比图绘制,达成重复绘图操作的有效继承。该关键策略可在大文本试飞数据可视化绘图分析中发挥关键作用,提高试飞数据绘图分析效率。
关键词:大文本试飞数据;数据加载方式;多参数对比图;操作继承
DOI: 10. 11907/rjdk.191441
開放科学(资源服务)标识码(OSID):
中图分类号:TP317.4
文献标识码:A
文章编号:1672-7800(2020)001-0280-05
0 引言
飞行试验是民机研制较为重要的一环[1-2],而飞行试验成功很大程度上需要试飞数据的强力支撑[3-6]。试飞数据是经过测试采集、预处理后得到的工程量[7-11],表征飞机上诸多复杂系统在飞行中的运行状况,如何正确、迅速地将试飞数据直观、丰富地展现出来,以说明系统运行情况并给出试飞结果,是一项必要且重要的试飞工作。
目前市场上有许多处理分析数据软件[12-15],如Excel、Origin等,很多已商业化,但这些软件在大文本试飞数据绘图分析时,存在数据加载过慢、相似绘图时操作继承性差、很难实现特殊定制需求的图形输出等问题。鉴于以上原因,本文根据试飞数据分析的实际工作需要,基于M atlabn[16-17]语言开发了一款用于大文本试飞数据绘图软件。该软件具有操作简单、图形注释快捷、绘图操作继承性高等特点。
1 绘图流程
试飞过程中测试设备采集记录的数据均为二进制原始数据,用于绘图处理分析的数据均是原始数据经过处理的工程量数据。以工程量数据文本文件作为输入,绘图过程如下:①文件导入,加载试飞数据文本文件,列表显示参数清单;②参数选择。参数列表中挑选待处理参数,根据需要对挑选的参数进行重命名、范围设定等;③载入内存。将选择的待处理参数数据载入内存;④曲线绘图。完成绘图前设置,进行曲线绘图;⑤注释分析。在绘制完成的曲线图形上,按需使用分析工具进行注释分析;⑥图形存储。将按需调整后的图形进行保存;⑦生成报告。根据绘图分析结果,自动生成快速数据分析报告(附加功能,按需使用)。
详细的数据绘图分析过程如图1所示。
2 绘图关键策略方法
在图1所示的绘图流程中,有几点关键策略支撑整个程序绘图,现进行详细介绍。
2.1 数据加载策略
数据加载过程是所有数据处理程序的必需前置过程,只有将文本数据载入到程序内存中,才可进行后续的数据绘图及处理分析。而受限于计算机软硬件性能,对于加载大文本数据文件时,数据加载过程经常耗时较长,从而制约程序的运行效率。若选择的加载策略不恰当则该问题尤为突出。因此针对特定的文本数据对象,选择合适的数据加载策略以提高程序运行效率十分必要。一般情况下文本数据载入内存[18-20]有3种方式。
(1)全部载入。将文本数据全部载入内存,如图2所示。全部参数载人内存后,根据图形Figl、Fig2...的不同参数需要,分别进行若干次(1at、2nd…)绘图。此方法对选择载入内存的参数及绘图都很方便,但当参数量很大时,全部参数载入内存十分耗时。
(2)部分载入——多次加载。每次仅载入单次需要处理的参数数据,当绘图参数需求发生变化时,重新载入所需参数进入内存,如图2所示,
通过试飞获得的各专业试飞数据文本一般情况下文件较大(有时可达到4CB)、参数个数较多,若采用方式(1)将所有数据全部载入内存,需要较多的加载时间且占用大量内存,因此方式(1)不适于试飞数据加载。方式(2)每次只从文本数据中加载需要的参数,分析完成后再根据新的分析需求对参数变化部分重新载入内存,以满足再次分析需求。但实际试飞数据分析经常需要对一个文本数据进行多次不同参数的绘图分析,方式(2)虽然单次加载很高效,但随着数据绘图分析次数的增多,该加载策略的优越性将逐渐降低。为满足多次绘图分析需求,本文采用第(3)种加载策略。
(3)部分载入——单次加载。如图2所示,在数据载入内存前统筹考虑绘图分析可能使用的所有参数(系统很容易做到这点),然后将这些参数一次载入内存形成一个参数池,在不同参数的绘图分析时从参数池中挑选所需参数进行操作。该加载策略在不同参数的多次绘图分析时相对方式(2)有较大优势,可在很大程度上减少多次载人内存的耗时问题。
2.2 多参数对比图绘制策略
在试飞数据绘图分析时,单参数历程曲线(见图3)是最常使用的绘图表现形式,其程序实现较简单,通过sub-plot指令再进行适当调整即可。
很多情景下需要将多个参数放在一张图中进行对比分析,即绘制多参数对比图以更好地辅助分析,而Matlab函数库中无直接使用的函数指令,因此对多参数对比图的绘制实现需要特殊的程序设计,以下是本文探索的多参数对比图绘制方法。
2.2.1 多参数对比图方法一
如图4所示,左侧Y坐标沿Y轴上下交替排列,右侧曲线对应左侧相应的Y坐标区域。程序算法中,将所有参数依据其在1个单位的Y轴上所占据的位置进行缩放。以图中参数P2为例,参数范围[cd],其在单位Y轴上处于[u v](0≤u
(1)左侧区域(Y坐标)绘制。根据所需要绘制的参数个数为每个参数分配1个单位Y轴上的[u v]位置,并按照两列交替排列,然后为每个参数标注Y坐标参数名及范围数值。
(2)右侧区域(曲线图)绘制。对每个参数在其确定的[u v]位置上进行缩放后的v绘制,然后将所有绘制好的曲线拷贝到同一坐标系中,删除同一位置处绘制过的其它坐标系及曲线,完成的效果如图5所示。
2.2.2 多参数对比图方法二
如图6所示,左侧Y坐标从左至右依次排列,右侧所有曲线均在全Y轴范围内分别绘制。程序算法中,将所有参数在1个单位Y轴上进行缩放。以参数P2为例,参数范围[e d],其在单位Y轴缩放中将所有数据值v进行变换:v=(v—c)/( d-c),得到的v即缩放在1个单位的Y轴上,绘图实现过程如下:
(1)左侧区域(Y坐标)绘制。根据所需要绘制的参数个数分配Y坐标在X向占的比例(最大不超过0.5),从左至右为每个参数在Y坐标上进行参数名及范围数值的标注。
(2)右侧区域(曲线图)绘制。对每个参数在其单位Y轴[01]位置上进行缩放后的v绘制,然后将所有绘制好的曲线拷贝到同一坐标系中,删除同一位置处绘制过的其它坐标系及曲线,完成效果如图7所示。
2.2.3 多参数对}匕图方法三
上述两种方法适用于相同时间段内不同参数的对比,若绘制不同时间段(T1,T2…)内相同参数的对比图,则不仅要在Y轴上进行单位缩放,横轴时间也需要在X轴上向单位长度[01]进行缩放,如图8所示。Y轴数值缩放过程可参考方法一,区别在于Y坐标不再进行两列排列,相同Y轴的区段上只标注一个参数的物理名称及数值范围。在进行X轴缩放时应注意程序算法中任一时刻都有唯一的double型数值对应,而且随着时刻的变化该数值连续变化。时间缩放如下:时间段T时刻范围是[t1 t2],程序对应的数值范围为[m n],所有数值进行缩放变化x=(x-m)/(n-m),则x(范围[01])即缩放在单位长度的X轴上。绘图实现过程如下:
(1)左侧区域(Y坐标)绘制。参考方法一,根据所需要绘制的参数,为每个(或每组)参数分配单位Y轴区段位置,并上下依次排列,只标注其中一个参数的物理名称和数值范围。
(2)右侧区域(曲线图)绘制。对每个参数在其确定的Y轴区段位置上进行缩放后绘制,然后将所有绘制好的曲线拷贝到同一坐标系中,删除同一位置处绘制过的其它坐标系及曲线。X轴时间以T1时间段进行标注,其它时间段的时刻不再进行标注,完成的效果如图9所示。
2.3 操作继承策略
试飞数据绘制分析具有与同一系统的试飞数据分析过程基本一样的特点,也即在不同试飞架次的数据分析中,每个专业系统所使用的参数基本一致,绘图使用的参数也基本不变,这点在对同一个架次不同时间段的试验分析中更显突出。因此,在软件交互界面及程序设计时应充分考虑绘图操作过程的继承性,以实现两个目的:①减少重复人工操作及可能出现的人为失误;②绘制的图形保持相似的元素搭配,使得绘制的图形具有统一性。
本文继承操作包括以下几个部分:①数据加载策略方式三中参数池的选择;②参数池中参数属性配置,包括参数物理名称命名、参数范围指定等;③参数对应曲线属性配置,包括曲线线型、曲线颜色等。
上述3个部分是每次绘图的必需输入,在绘图过程中经常需要花费较长时间进行选择和配置,且在重复选择和配置过程中易出现人为操作失误,因此对这部分内容的操作进行继承是必要的。本文建议的操作继承策略是:通过表单将上述3部分信息进行记录,过程如下:
(1)配置表单:每个系统首次分析试飞数据时对表单进行仔细的记录以确定参数池,并对表单中的参数属性、曲线属性进行合理配置,根据绘图效果优化调整。
(2)保存表单:将完善后的表单进行文件保存。
(3)调用表单:进行其它架次数据分析时,通过载人保存的表单文件,加载完善后的表单信息。
3 结语
基于开发的试飞数据绘图软件,本文论述了试飞数据分析绘图中几点关键策略:①数据加载方式选择,讨论了不同加载方式的利弊,针对试飞数据分析的特点推荐了一种数据加载方式,即“部分载入——单次加载”;②多参数对比曲线图绘制,介绍了软件开发过程中探索的3种对比图实现策略;③操作继承,论述了在试飞数据分析时操作继承的重要性,并提供了一种操作继承实现思路。通过对大文本试飞数据绘图分析及程序实现,充分显现出本文的几个关键策略在大文本试飞数据可视化绘图分析中的作用,提高了试飞数据绘图分析效率。
参考文献:
[1]周自全.飞行试验工程[M].北京:航空工业出版社,2010.
[2]
KIMBERLIN R D.Flight testing of fixed-wing aircraft[ M]. AmericanInstitute of Aeronautics and Astronautics. 2003.
[3]周慧楠,席龙.海量试飞数据综合管理技术研究[J].信息与电脑,2017( 16):167-173.
[4]覃杨森,聂睿,范彦勤,等,试飞实时数据可视化方法研究[J].中国科技信息,2015( 21):35-37.
[5] 刘藻珍.基于飞行试验数据的仿真模型验证方法的研究[J].系统仿真学报,2002,14(3):281-284.
[6] 赵倩.基于数据挖掘技术的飞行试验数据分析应用研究[J].电子技术与软件工程,2018(1):91-97.
[7] 白效贤.试飞测试技术现状与发展[C].中国航空学会测试专业委员会换届暨学术交流会,2007.
[8]黄涛,王伟.大型民机试飞测试发展与挑战[J].计算机测量与控制,2016,24(9):5-7.
[9] 孙健,霍培锋.大型飞机试飞测试现状与对策[J].测控技术,2007,26(3):19-21.
[10]彭国金,刘嫚婷,韩璐.基于飞行试验采集的FC数据检测分析技术[J].现代电子技术,2016,39(2):92-94.
[11]秦淋,楊春霞,刘义虎.民用飞机试飞数据协同平台的应用[J].数据采集与处理,2012( s2):429-432.
[12] 覃杨森,范彦勤,刘语乔,等.试飞数据分析结果的可视化输出[J].计算机测量与控制,2015,23( 11):123-128.
[13] 李源,张亚滨,李书,等.基于VB的强度/试飞试验数据处理方法与可视化软件实现[J].民用飞机设计与研究,2015(1):76-82.
[14] 陈骐,张勇,徐州.一种新型试飞数据处理系统的应用研究[J].计算机应用与软件,2010,27( 11):67-71.
[15] 赵毅君,李立,邱泓,等.基于VB和M atlah混合编程的可视化数据采集与处理软件的研究[J].湖南工程学院学报:自然科学版,2008.18(1):54-59.
[16] 罗华飞.Matlab GUI设计学习手记[M].北京:北京航空航天大学出版社.2014.
[17]PALM W J.Introduction to matlab 7 for engineers[M]. New York:McGraw-Hill, 2005.
[18]RAO S,RAMAKRISHNAN R, SILBERSTEIN A. et al. Sailfish:aframework for large scale data processing[C]. Proceedings of theThird ACM Symposium on Cloud Computing, 2012.
[19]嵇智源,潘巍.面向大数据的内存数据管理研究现状与展望[J].计算机工程与设计,2014(10):3499-3506.
[20]11 Y, CAO H, TAN Y.A comparison of two methods for modelinglarge-scale data from time series as complex nenvorks[J]. AIP Ad-vances, 2011,1(1):102-103.
(责任编辑:杜能钢)
作者简介:范志鹏(1989-),男,硕士,中国商飞民用飞机试飞中心试飞工程部工程师,研究方向为发动机控制与操纵、飞机防灾。