轨/姿控发动机脉冲后效冲量快速算法的研究及应用

2012-03-16 05:48马军强
火箭推进 2012年1期
关键词:冲量磁盘内存

张 伟,陈 锋,马军强,刘 帅

(北京航天试验技术研究所,北京100074)

0 引言

轨/姿控发动机常用于星、箭等航天器或导弹的精确飞行弹道控制、轨道修正、姿态控制及机动目的。脉冲工作模式是实现精确轨道修正或精确姿态的基本方法。后效冲量是从发出关机指令开始,到燃烧室压力 (简称燃压)或推力下降到零这段时间内产生的冲量 (分别称为燃压后效冲量和推力后效冲量)。脉冲工作模式下的后效冲量值直接影响导弹的命中精度或卫星的入轨精度。快速而准确地计算出地面高空模拟试验中各种脉冲宽度下的后效冲量值及散布,对于评价轨/姿控发动机脉冲工作性能和设计空中点火程序具有重要意义。

轨/姿控发动机高空模拟试验是发动机研制和鉴定过程中不可缺少的工作环节,它为评估发动机性能提供大量可靠数据。目前液体火箭发动机试验通常采用Pacific6000数据采集系统用于试验参数测量。由于轨/姿控试验的特殊性,一次试验将产生4~20 GB的二进制原始试验数据,处理时间很长。虽然国内引进多套Pacific6000用于火箭发动机试验,但对大量脉冲数据如何快速连续按条件分段计算的研究未见报道。本文以后效冲量的连续计算过程为研究对象,将网络脚本语言的解释执行思想引入处理过程,提出了数据流式算法,能够快速准确地实现一个脉冲程序中所有脉冲后效冲量的计算和统计,并开发了相应的工程软件在试验中使用,时效性能显著。随着液体火箭发动机试验技术的发展,各类试验的数据量将逐渐增长,此快速技术具有良好的工程应用意义。

1 后效冲量计算要求

算法过程以燃压后效冲量的计算为例进行说明。燃压后效冲量定义为燃压对时间的积分历程。控制系统发出关机指令后,发动机按照程序关机,由于各种因素,推进剂主阀关闭后,燃压和推力要经过一段时间后才下降到零,此过程中燃压的衰减特性如示意图1所示。

图1 关机过程燃压衰减特性示意图Fig.1 Attenuation curve of pcduring shutdown process

燃压后效冲量的解析表达式:

式中:Iaft为冲量,N·s;ts为关机指令发出时刻,s;tt为燃压为零时刻,s;At为发动机喉部面积,常量,m2;pc为燃烧室压强,MPa。

燃压后效冲量计算的基本要求:运用公式(1)计算一个脉冲程序中所有脉冲点火对应的燃压后效冲量,并给出同等脉冲宽度下燃压后效冲量的数学期望及方差。积分时间起点为关机指令发出时刻;积分终点为燃压降至为零时刻,当燃压尚未降为零而后续脉冲点火已经开始时,积分终点为后续脉冲开机时刻;定义开机时刻为阀电流上升到额定值70%的时刻,定义关机时刻为阀电流降低到额定值70%的时刻。

2 高空模拟试验特点及Pacific6000简介

2.1 轨/姿控发动机高空模拟试验特点

为考核轨/姿控发动机的脉冲工作性能和得到各种脉冲工况下的后效冲量,需要进行高空模拟试验。高空模拟试验技术非常复杂,除具有一般液体火箭发动机试验的特点外(过程不可逆,成本费用高,具高度危险性,测量参数多且精度高等),还具有其独有特点,如工艺系统复杂,试验工况复杂,发动机启动及关闭频繁,数据量大,数据处理要求多,复杂度高且工作量大等。

2.2 Pacific6000原理及数据文件结构

Pacific6000数据采集系统在设计和制造上有独到之处,它抗干扰能力强、精度高且可灵活组装和扩展,适合于远距离小信号测量,已作为一种标准仪器被广泛使用。其数据采集原理如下:不同类型传感器的输出信号被送入模拟量 (数字量)通道模板后,被放大、滤波、采样/保持,在经过A/D转换为数字信号,数字信号被送入数字化数据选择器 (Digital Data Selector,DDS),经DDS选择后存入两个并行缓存器FIFO和RING,再经高速IEEE-488.2(PCI-GPIB) 接口送入计算机,进行显示、处理和存储等。

理解原始数据文件结构是进行正确解码的前提条件。Pacific6000单通道最高采样率10 kS/s,通过软件设置可以使不同通道以同样或不同采样率进行采样,配置每一个扫描通道设置 (增益、滤波、采样率、激励及公式等)的表格称为扫描表。Pacific6000按扫描表配置进行通道数据的扫描、A/D转换和数据传输。最终数据以Raw格式的二进制文件形式存入计算机磁盘。

Raw格式文件由多个数据桢次序组成。每个数据桢包括一个16 bit的头部和一组数据块,数据桢的头部保护Pacific6000的数据同步、报警和系统屏蔽位等信息。桢中的数据块是扫描表中的通道在同一物理时刻的数字采样值。桢中数据块的内容和扫描表的设置直接相关。如果扫描表中所有通道的采样速率设置都相同,如表1所示,则Raw文件所有数据桢中文件块的格式类似S97S98S99S100(Sn代表通道n在某个物理时刻的数字采样值);如果各个通道的采样速率不同,则桢中数据块的内容和采样时刻相关。表1、表2和图2为示例说明。

表1 扫描表配置例1Tab.1 Scan list setup (demo 1)

表2 扫描表配置例2Tab.2 Scan list setup (demo 2)

图2 按表1和表2生成的Raw文件格式Fig.2 Raw file format generated according to Tab.1 and Tab.2

3 当前计算方式及优缺点

由脉冲高模试验特点可知,在一个脉冲工作程序中,同宽度脉冲可能有数千个,总脉冲个数可能会有数万个(某些轨/姿控发动机脉冲寿命可达30多万次),而且此脉冲工作程序对应的测量数据是可达数千兆字节的二进制原始数据。当前常用的数据处理技术主要有两种方式:①将原始数据文件一次性调入物理内存,然后直接对内存中的数据进行解码、D/A转换、工程值计算及误差修正等操作 (这种方法在时间上非常高效,但太依赖物理内存大小,只适合于原始数据文件较小的情况);②使用小缓存或不使用缓存,直接对硬盘上的文件进行I/O操作,计算在CPU中完成(此方式不依赖物理内存大小,但I/O操作频繁,且依赖于CPU的处理速率,适合于大文件操作但效率不高)。

为快速实现脉冲后效冲量的计算,当前计算手段为:取脉冲前段、中段和后段的若干个脉冲进行逐个积分,然后再计算这些样本点的数学期望与方差。此方法选取样本点少,但是处理过程中人工参与较多,仍相对费时费力。从统计角度来看,以牺牲样本点个数和统计精度来换取较快的统计速度,统计精度和统计速度之间的平衡难以把握,存在较大的处理方法缺陷。

4 数据流式处理算法

4.1 算法设计思想和流程

数据流式处理算法的设计灵感来源于网络脚本语言的设计思路。脚本语言的设计理念是边解释边执行,解释完毕即执行完毕,而不是传统的类似C和Java等高级语言先解释编译最后执行。

图3 脉冲程序燃压后效冲量快速算法主流程Fig.3 Main flow chart of fast algorithm for calculating pulse residual impulse in pulse working mode

数据流式处理算法的核心思想是将阀电流数据和燃压数据作为同步流失的两个数据流,两个数据流从硬盘上经内存经CPU同步流失,流失完毕即同步处理完毕。为加快流失速率,使用页面置换算法和大缓冲技术。为在流失的同时进行处理,设置两类标志开关、脉冲信息器和冲量存放器。一类开关用于监视阀电流数据,另一类开关用于监视燃压数据;脉冲信息器记录脉冲宽度及个数等信息;冲量存放器用于存放各脉冲对应冲量积分结果。该算法充分结合了常用数据处理技术的优点,又同时避免了它们的缺陷。算法主流程如图3所示。

算法的主要步骤是进行一系列初始化工作后,将文件按合适大小 (依据内存情况)分段载入内存。

针对文件的一维操作转化为针对文件分段(又称页面)的二维操作;针对页面进行基本处理操作后将阀电流数据和燃压数据形成单独的两个同步数据流(可用下标一致的两个数组实现),当阀电流开机时,触发脉冲信息器(脉冲信息器记录脉宽及同脉宽的个数信息),当阀电流关机时,一个脉冲信息统计完成,更新脉冲信息器,同时开始一个冲量存放器的积分工作,当阀电流再次开机或燃压为零时,该次脉冲积分终止,更新冲量存放器。按上述过程不断流失,数据全部流失完毕后,全部脉冲信息存放在脉冲信息器中,全部脉冲对应的冲量信息存放在冲量存放器中,将文件及内存全部释放后,针对脉冲信息器和冲量存放器中的数据进行同类型脉冲的数学期望及方差计算,最后将结果打印输出。

4.2 算法的时间复杂性分析

该算法充分体现了以空间换时间的思想,将针对磁盘文件的一维操作转为针对磁盘和内存的二维操作,并充分利用计算机硬件计算特性,形成流式处理,算法优化了大数据文件的I/O操作效率,技巧性地运用监视开关实现后效冲量计算。从算法主流程图中可以看出,算法的时间复杂性主要体现在对磁盘文件分段的I/O操作上。假设原始数据文件为2 GB,当前可用物理内存为1 GB。如果直接进行磁盘操作,那么磁盘I/O和内存I/O的次数各是2*1 024*1 024*1 024*1 024次,而本算法则需要进行8次磁盘I/O,每次磁盘I/O对应的内存I/O为256*1 024*1 024*1 024;磁盘I/O花费的时间主要是寻址时间,数据读写时间相对于寻址时间可忽略不计,假设每次磁盘I/O时间为1 μs,每次内存I/O时间为0.05 μs,则单纯进行一维磁盘I/O操作时间为2 210 s,而本算法的主要I/O操作时间为0.3 s;综合考虑算法的CPU逻辑运算时间及其他操作时间,本方法约为原方法的1/23。算法的时间效能明显。

4.3 算法的软件设计

在该算法具体实现时,需要合理配置文件分段信息,需要在物理内存分配和CPU处理速率之间有个平衡,把可用物理内存全部利用起来并不一定能提高软件效率,一般而言,分段文件大小为可用物理内存的1/4时,软件效率比较理想。因算法中有内存分配和磁盘一次性读写大量数据的操作要求,相应的算法实现语言必须提供这些操作的支持,典型语言有C、C++及Java等,在VC++6.0环境下,软件主体设计流程见图4。

图4 软件主体架构Fig.4 Main architecture of software

4.4 应用效果

该算法及软件经评审论证后,被用于轨/姿控发动机高空模拟试验中脉冲后效冲量的计算,经多次试验实践,发现该流式处理算法相较于旧有的处理手段,数据处理的时间性能有了很大提升,同台计算机上同一操作员处理100个7 ms脉宽的脉冲,平均处理时间可由约36 min缩短到0.8 min,时效性能显著。

5 结论

轨/姿控发动机脉冲工作程序下后效冲量的数据流式处理算法和相应的工程软件,在高空模拟试验中使用,表现出良好的效果,满足了数据处理的时效性要求,为及时分析和评价发动机脉冲工作性能提供了大量数据。

[1]刘国球,任汉芬,朱宁昌,等.液体火箭发动机原理[M].北京:中国宇航出版社,2005.

[2][美]萨顿G P,比布拉兹O.火箭发动机基础[M].洪鑫,张宝炯,译.北京:科学出版社,2003.

[3]张迎新,雷道振,陈胜,等.非电量测量技术基础[M].北京:北京航空航天大学出版社,2002.

[4]美国太平洋公司.Pacific Instrument[M].美国:太平洋公司,2000.

[5]杨思锋,刘鲁,陈锋.基于数据挖掘技术的液体火箭发动机试验数据分析和处理[J].宇航计测技术,2010,30(6):57-61.

[6]清汉工作室.Visual C++6.0数据库与网络开发实例[M].北京:机械工业出版社,2000.

[7]常增坡,唐柏森.离子束溅射薄膜压力传感器的动态特性[J].传感器技术,2001,20(6):15-17.

[8]吴文斗,周兵,张丽莲,等.计算机测控系统中的可靠性技术[J].云南大学学报:2006,28(S2):132-135.

[9]李正军.计算机测控系统的设计与应用[M].北京:机械工业出版社,2004.

猜你喜欢
冲量磁盘内存
叶腊石聚合成型及其旋转磁盘的制作方法
连续3年销量翻番,2022年欲冲量4000万,福建这家动保企业正强势崛起
它的好 它的坏 详解动态磁盘
解决Windows磁盘签名冲突
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
Windows系统下动态磁盘卷的分析与研究
薄片炸药与固体靶冲量耦合的计算模型*
内存搭配DDR4、DDR3L还是DDR3?
物体受到F=kv的力时的归类解析