一种振动突频快速统计与瀑布图重建分析系统
2017-01-09高林
高林
(西安航天动力试验技术研究所,陕西西安710100)
一种振动突频快速统计与瀑布图重建分析系统
高林
(西安航天动力试验技术研究所,陕西西安710100)
在液体火箭发动机试验过程中,对获得的试验振动频域二维数据进行快速提取与分析以及通过三维瀑布图详细查看某时刻的突频数据有着重要的意义。在LMS Test.Lab Rev软件的基础上,使用VS2010与Eclipse联合开发环境编写程序对其导出的.txt数据进行处理,实现二维突频数据的快速统计与排版以及三维数据的彩色显示与频谱切片。在二维数据快速统计程序设计中,提出了一种大文本数据快速统计算法;在三维瀑布图显示中,提出了一种基于文本数据重建三维瀑布图的算法。通过阐述两种算法并对程序进行测试,结果表明程序有着高可靠性与应用推广价值。
发动机;振动突频;快速统计;三维瀑布图;频谱切片
0 引言
液体火箭发动机试验的最终目的是获取试验数据,但数据获取的可靠性、及时性是液体火箭发动机试验成功的保证与对发动机性能做出有效分析与评估的必要条件。长期以来,试验后对振动突频数据的处理,一般使用LMS Test.Lab Rev软件并拖动数据到Navigator视图下的1×1平均频谱图中手动标记每个参数的频谱极值,并将精度处理后的频率及对应的幅值填写到Word报告中的方法,但是该方法消耗较大的人力和时间成本。另一方面,随着数据量的增多,使用该方法对突频点标记容易误标到共频点上,从而对后续的检查和修改带来较大的不便。
当技术人员需查看振动历史数据时,一般需要数据处理人员重新处理试验数据进行分析,这样导致大量的重复劳动。本文提出一种数据处理算法不仅快速地得到发动机各个部位的振动突频数据报告,而且还为数据解析到数据库奠定基础。这样,一方面可以将数据库中的历史数据进行存储、查询和比对等,还可以对存储的数据做进一步的分析,如采用阈值检验算法验证频谱的有效性。此外,本文采用MFC+OpenGL技术编程实现了三维瀑布图的重建、显示与分析功能,首先解决了LMS Test.Lab Rev软件只能通过属性对话框中设置视角参数来改变视角操作繁琐的缺点。其次解决了视角改变幅度有限以及视角改变后三维立体效果直线下降,显示效果类似“伪3D”,不利于用户灵活分析数据的缺点。接着解决了单色三维瀑布图数据显示混叠、显示效果模糊、区分度不强等缺点,最后,为动态视角数据分析模块、缩放坐标轴数据分析模块、频谱切片数据分析模块等新的数据分析模块提供可扩展接口。
1 需求分析
在当前振动测量领域中,比利时生产的LMS Test.Lab测试系统及其软件占据重要的地位,但是结合液体火箭发动机试验速变参数特点,存在对任意频率区间突频值求取不能一步到位的问题,需要繁琐地在1×1平均频谱图手动逐个标记突频值,软件虽然自带有求取全频段最大值的函数,但是在一个1×1平均频谱图只能标记1个点,而试验要求是5个点且针对较多参数时,仍然需要一系列的繁琐操作。此外,还存在不能将求取的突频值快速写入Word报告中的问题。同时,软件的1×1瀑布图虽然可以显示三维振动频谱数据且具有任意缩放坐标轴查看数据的功能,但由于液体火箭发动机试验对数据分析独具的高要求性,需要直观清晰地查看频域数据,本文对三维频谱数据在时间轴进行频谱切片,即对三维数据进行降维,在三维坐标系的时间轴提取某时刻有用的频域数据。同时,取LMS Test.Lab Rev软件自带的例子数据拖动到该软件的1×1三维瀑布图中显示效果如图1所示,存在着单色三维瀑布图数据显示混叠、显示效果模糊、区分度不强、切换视角查看数据需在属性中重新调整角度进行设置、视角改变幅度有限以及视角改变后三维立体效果直线下降,显示效果类似“伪3D”等一系列缺点。基于该软件瀑布图导出的.txt文本数据采用MFC+OpenGL技术重建三维瀑布图的方法,将单色显示变为可由程序控制的彩色显示,这样使得数据分析时更加清晰地查看三维频谱数据。通过以上需求分析,设计开发出一种振动突频快速统计与排版及三维瀑布图重建与分析系统。
图1 LMS-Desktop-Advanced 1×1三维瀑布图Fig.1 LMS-Desktop-Advanced 1×1 three-dimensional waterfall plot
如图2所示,将整个软件系统划分为快速统计程序子系统与三维瀑布图子系统两大子系统。如快速统计程序子系统应该具有频谱极值输出功能并基于该功能读取输出的文本结果数据扩展出生成报告功能,针对数据管理用例,还可将输出的文本结果数据解析入数据库的表中,技术人员通过查询数据用例的功能可随时查看二维频谱数据并绘制二维曲线图,这样可大大节省数据比对时间,方便快速获得有用信息。而根据试验实际应用需求,三维瀑布图子系统主要划分为三维数据压缩、三维数据显示、谱线切片等用例。
图2 软件系统功能用例图Fig.2 Functional use case diagram of software system
2 软件系统架构与设计
2.1 系统架构
系统采用典型的C/S架构,部署在本地的客户端软件和本地或远程数据库服务器,图3不仅展示了整个系统功能组成,还从宏观的角度来阐述各个模块之间的关系。
在对Word报告排版功能中采用著名的MVC模型-视图-控制器软件体系结构,使用业务层控制类将FreeMarker组件生成的模版映射为Word报告,这种方法非常适合轻型化的系统软件。本对于三维瀑布图使用JNI技术调用基于MFC+ OpenGL编译好的.lib动态链接库嵌入并显示到系统软件界面中[1-3]。数据访问层的主要职责是读取数据库存储层的数据和传递查询返回的数据,这样的好处是可以封装对数据库的操作,将运算直接放在数据库服务器,减少客户端软件运行时的压力,并提高软件执行的效率。在数据库存储层存放试验数据临时表结构,并将频谱数据解析到该表中,好处是当存储过程执行完成时,将自动删除创建的本地临时表,避免重复执行数据库操作。
2.2 算法设计
针对快速统计子系统,提出了一种数据处理算法并构建出一种数据处理系统[4-5],如图4所示。系统启动后会扫描固定路径下的xxx.txt文件,用户按下预处理后软件会自动提取参数名、数据列信息并调用编写的删除列算法将文本中多余的频率和相位列删除,得到新的xxx.txt文件,然后系统将该文本数据解析到后台数据库中,并调用编写的SQL语句得到极大值的结果集数据写入到xxx.csv文件。系统采用Struts2框架中的FreeMarker模版引擎组件实现生成Word报告功能。根据历史经验统计,得到发动机各个部位的传感器或电缆故障振动阈值,可以初步识别发生故障的采集参数,不仅可以验证频谱数据的有效性而且自动在Word报告中对失效突频数据进行初步的标记。
三维瀑布图子系统基于MFC+OpenGL技术提出了一种三维瀑布图重建算法,算法流程图如图5所示,首先读取一种格式的原始.txt文件数据中有效的三维频谱数据并存入数组。该种格式的.txt文件由头文件信息字符串和频率列、幅值列、相位列依次按一定规律存储的数据列字符串组成。其中提取头文件中形如“Tracking time 0 s(间隔一个Tab键)0.32 s(间隔一个Tab键)0.64 s...”时间轴字符串到一维数组中,提取头文件中形如“X axis increment 6.25 Hz”与“X axis 0-12800 Hz”频率轴字符串并存储到一维数组中。然后按照索引方式提取频率列、幅值列、相位列信息中有效部分到二维数组中,该有效部分为按照一定规律提取的不同时刻对应的幅值列信息,从而将. txt文件数据保存为重建三维瀑布图循环读取的二维数组数据结构。最后,按照索引方式依频率、时间递增的方向循环读取按照索引方式存储的幅值列二维数组并绘制在三维坐标系中。
图3 系统架构图Fig.3 Diagram of system architecture
图4 快速统计程序子系统流程图Fig.4 Process diagram for subsystem of quick statistics program
此外,拖动鼠标可改变查看视角,从而可以多角度地分析三维振动数据,缩放坐标轴时调用点云三角化算法使用适量三维数据重绘瀑布图轮廓[6-7]。对数据处理过程中涉及到的各个细节,均对数据处理算法进行优化以获得最高效的性能,如对获取有效的振动频率与幅值数据编写了特定的删除列算法[8]。
图5 三维瀑布图重建算法流程图Fig.5 Flow chart for reconstruction algorithm of three-dimensional waterfall plot
2.3 数据库设计
在数据库设计方面应用了关系型数据库处理数据库中的数据的核心思想[9]。由于使用LMS Test. Lab Rev软件导出文本格式的数据具有按照频率、幅值、相位有规律排列的特点,所以将原始的文本数据映射到原始数据表,将文本处理后的数据映射为后期管理的突频数据表。显然突频数据表是原始数据表的子集。概括模型有一个很重要的性质:继承性,即子类继承超类上定义的所有抽象,这样突频数据表继承了原始数据表的所有属性,当然,子类突频数据表还可以增加自己的属性,如试验代号、振动测点的参数名,该属性与用户查询界面输入的参数值进行匹配,筛选出所选目标结果集。
3 算例分析
3.1 快速统计程序算例分析
使用LMS Test.Lab测试系统任意采集一段数据,使用LMS Test.Lab Rev软件做5 s的平均频谱运算,假设采集的参数名为a1,a2和a3,将测试数据采用快速统计程序子系统进行处理生成振动突频值统计Word报告,如表1所示。手动在1×3平均频谱图中标记各个参数在4~5 kHz频率区间的5个突频值进行验证,如图6所示。比较可得通过该数据快速统计算法得到的数据与手动标记的突频数据完全吻合。
表1 快速统计程序突频值统计Tab.1 Sudden frequency value statistics of fast statistical program
图6 某次振动测试1×3平均频谱图Fig.6 1×3 average spectrum of the vibration test
由此得出,频谱极值输出模块及生成报告模块满足预期要求。
此外,数据管理模块可以将每次试验数据解析入数据库,以试验代号、发动机参数名为输入查询频谱极值并在信息提示界面进行显示,还可将突频坐标绘制为曲线图[10],在频域上得到振动信号的频域包络线图,从而为技术人员直观地评估发动机各个部位性能和故障诊断提供很好的解决方案[11]。
3.2 三维瀑布图重建算例分析
如图7所示,对三维瀑布图子系统中彩色三维瀑布图重建、显示功能进行算例分析,结果表明:使用彩色三维瀑布图显示解决了当前LMS Test.Lab Rev软件中1×1瀑布图功能中单色显示存在的一系列问题,从而使得试验数据分析更加直观高效。
此外,对三维瀑布子系统中谱线切片功能进行测试,选取图中三维坐标系Time(s)轴某时刻的频谱切片,程序按照选择的谱线序号导出为.txt文本数据,系统会将所提取的频谱切片高亮显示,而且导出的二维文本数据采用本文提出的快速统计算法可以快速得到频域的二维特征数据,从而增加了一种对液体火箭发动机振动频谱分析的手段。同时,对三维瀑布图视角改变最大范围进行测试,即前后左右上下均为90°进行测试,测试结果表明,多角度动态显示模块满足预期要求。
图7 三维瀑布图子系统中三维瀑布图Fig.7 Three-dimensional waterfall of three-dimensional subsystem
4 结论
提出了一种振动二维数据快速统计算法与一种基于文本数据的三维瀑布图快速重建算法,并构建出一种数据处理分析系统。该系统将提取发动机振动突频并生成Word报告这项工作完全自动化,大大减轻数据处理人员负担并极大提高数据处理效率。
如一次试验有40个发动机参数且含3段发动机工作时间,根据大量实测统计,工作效率可以从原来的约6小时/人次降低到约3分钟/人次,工作效率可以提高近百倍。该系统可将振动极大值获得的准确率提高到100%,保证了试验数据的可靠性。通过对三维瀑布图子系统进行算例验证,得出该子系统不仅彻底解决了三维瀑布图单色显示数据效果欠佳的问题,而且可对三维数据灵活进行分析,如谱线切片分析。此外,对得到的振动突频数据建立数据管理系统,可为事后比对分析历史试验数据提供很好的解决方案。更为重要的是,在每次试验结束后,快速统计算法可帮助数据分析人员快速准确地获得发动机参试部位的振动数据,对发动机的性能评估及故障诊断提供极其重要的参考。
[1]埃克尔.Java编程思想[M].陈昊鹏,译.北京:机械工业出版社,2007.
[2]SCOTT M.Effective C++[M].候捷,译.北京:电子工业出版社,2011.
[3]严蔚敏.数据结构:C语言版[M].北京:清华大学出版社,2007.
[4]THOMAS H C,CHARLES E L.算法导论[M].殷建平,徐云,译.北京:机械工业出版社,2012.
[5]ROBERT S.算法[M].谢路云,译.北京:人民邮电出版社,2012.
[6]DAVE S,GRAHAM S.OpenGL编程指南[M].王锐译.北京:机械工业出版社,2014.
[7]肖嵩,杜建超.计算机图形学原理及应用[M].西安:西电电子科技大学出版社,2014.
[8]邹恒明.算法之道[M].北京:机械工业出版社,2010.
[9]莫顿.Oracle SQL高级编程[M].朱浩波,译.北京:人民邮电出版社,2011.
[10]林智扬,范明翔,陈锦辉.深入浅出JAVA Swing程序设计[M].北京:中国铁道出版社,2005.
[11]吴建军,黄强,程玉强.液体火箭发动机故障检测诊断理论与方法[M].北京:国防工业出版社,2013.
(编辑:陈红霞)
A system for rapid statistics and waterfall plot reconstruction analysis of vibration sudden spectrum
GAO Lin
(Xi'an Aerospace Propulsion Test Technology Institute,Xi'an 710100,China)
In liquid rocket engine test,it is important to extract and analyze the two-dimensional data of the vibration test frequency domain quickly,and check the sudden frequency data in some moment by means of three-dimensional waterfall plot.Based on LMS-Desktop-Advanced software,VS2010 and Eclipse development environment are used to compile program to process the derived TXT data,and realize two-dimensional sudden frequency data's quick statistics,three-dimensional data's multi-color display and spectrum slice.In the design of two-dimensional data fast statistical program,a fast statistical algorithm of large-text data is proposed.And also an algorithm to reconstruct the waterfall plot on the basis of text data is proposed to display the three-dimensional waterfall plot. The two algorithms are elaborated in this paper.The program testing result shows that the program has high reliabilityand application value.
engine;vibration sudden frequency;rapid statistics;3D waterfall plot;spectrum slice
V434-34
A
1672-9374(2016)05-0033-06
2016-08-09;
2016-09-13
高林(1988—),男,硕士,主要研究领域为液体火箭发动机试验测量技术