说明书一种基于组合规则约束的航天器测试数据提取方法
技术领域
本发明涉及一种航天器测试数据采集方法,特别是一种基于组合规则约束 的航天器测试数据提取方法。
背景技术
近年来,航天器设计水平和技术飞速发展,航天器的种类和型谱不断更新, 现有航天器的功能也日趋复杂、工作模式繁多、设计指标也不断提升、航天器 上的产品种类也不断更新、航天器分系统逐渐增多、系统功能也越来越复杂。 随着航天器设计的功能复杂化和指标多样化,对航天器的地面测试数据评估要 求也大大提高。
在航天器综合测试数据判读中,经常需要对同一测试状态下的单机功能性 能进行比对判读,还有针对不同测试阶段同一测试项目、测试过程或测试事件 的功能性能一致性及稳定性进行判读,而这些面向目标需求的测试数据都是按 发生时间顺序存储在庞大的测试数据库中。要解决这一任务需求的关键在于如 何从海量的测试数据中准确快速的提取有效目标数据。目前,现有基本的数据 提取方法是以时间为查询条件,查询形式一般为“时间t1到时间t2之间参数P 的值”,这种查询方式的特点是简单、直观,但无法满足快速便捷地定位与提取 特定条件下的测试数据,如航天器在不同测试时间段同一测试状态或过程的测 试数据,往往需要通过人工判断进行目标数据筛选,严重影响数据提取的完备 性与快速性。因此,如何准确、快速从测试数据库中提取带有复杂约束条件的 目标数据成为一个新课题,它是解决对航天器综合测试长时间中同一单机关键 参数、测试过程或测试事件功能性能指标一致性及稳定性判读的基础技术,是 实现后续航天器复杂任务过程测试数据深入判读的关键环节,直接影响测试有 效性甚至影响卫星研制进度和流程。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种从航天器测 试数据库存储的海量数据中准确快速地筛选与提取目标数据的一种基于组合规 则约束的航天器测试数据提取方法。
本发明的技术解决方案是:一种基于组合规则约束的航天器测试数据提取 方法,包括如下步骤:
(1)获取测试数据提取所需的起始时刻e、终止时刻f、起始前提项Gs、 起始条件项Cs、起始延时项Ds、终止前提项Ge、终止条件项Ce和终止延时 项De;所述起始条件项Cs、起始前提项Gs、终止前提项Ge、终止条件项Ce 为测试数据一个或几个特征属性的取值范围;所述起始延时项Ds、终止延时项 De为测试数据中测试时刻特征属性的偏移量;所述特征属性包括测试时刻、测 试指令、遥测参数代号;
(2)从测试数据库查询起始时刻e与终止时刻f之间的测试数据并将满足 起始条件项Cs的测试时刻存到数组tmpSCTime;
(3)判断tmpSCTime中测试时刻,如果测试时刻对应的测试数据满足起 始前提项Gs,则将该测试时刻存储至数组STime,否则舍弃该测试时刻,遍 历数组tmpSCTime中测试时刻,计算数组STime中测试时刻的个数并将其作 为终止时刻判断次数N,其中数组STime中测试时刻为STime(i),i=1,2,3,…,N;
(4)以[STime(1),STime(2)]为时间区间,查询该时间区间中的测试数据并 判断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满足终止 前提项Ge,则将该测试数据的测试时刻依次存储至数组ETime,否则舍弃 STime(1),然后以[STime(2),STime(3)]为时间区间,查询该时间区间中的测试 数据并判断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满 足终止前提项Ge,则将该测试数据的测试时刻依次存储至数组ETime,否则 舍弃STime(2),重复上述过程直至以[STime(N-1),STime(N)]为时间区间,查 询该时间区间中的测试数据并判断,如果有测试数据满足终止条件项Ce且该 测试数据的测试时刻满足终止前提项Ge,则将该测试时刻依次存储至数组 ETime,否则舍弃STime(N-1),以[STime(N),终止时刻f]为时间区间,查询该 时间区间中的测试数据并判断,如果有测试数据满足终止条件项Ce且该测试 数据的测试时刻满足终止前提项Ge,则将该测试时刻依次存储至数组ETime, 否则舍弃STime(N),最后得到与数组ETime长度相等的数组STime;
(5)数组STime中所有测试时刻减去起始延时项Ds进行偏移得到新的 数组STime,数组ETime中所有测试时刻加上终止延时项De进行偏移得到新 的数组ETime;
(6)将数组STime中第j个测试时刻作为查询起始时刻,将数组ETime 中第j个测试时刻作为查询终止时刻提取测试数据,j=1,2,3,…,M,其中M为数 组ETime的长度。
本发明与现有技术相比的优点在于:
(1)本发明方法与现有测试数据查询技术相比,通过对组合约束规则的处 理可以快速定位出目标测试数据的分段分布时间区间,然后再采用以时间为基 础的查询方式从各分段时间区间中查询目标测试数据,减少了无关时间区间内 的数据查询工作量,大大提高了数据提取工作的效率,同时测试数据的时间区 间越长愈能显示出本发明的高效性;
(2)本发明以约束规则作为查询的起始和终止点,有利于不同阶段同一测 试事件或过程的数据一致性比对;
(3)本发明提出了以前提项、条件项和延时项组成的组合约束规则,将约 束规则的文字描述转换为数学结合逻辑形式,实际应用表明,基于此种形式的 组合规则能够简洁、准确无歧义地表示目前所有测试过程或测试事件。
附图说明
图1为本发明一种基于组合规则约束的航天器测试数据提取方法原理图;
图2为本发明一种基于组合规则约束的航天器测试数据提取方法流程图。
具体实施方式
下面结合附图具体说明,如图1所示为本发明一种基于组合规则约束的航 天器测试数据提取方法原理图,首先从事件定义配置表中获取并对组合规则约 束条件进行语义解析,然后从测试数据库中查询组合规则涉及特征属性的测试 数据并进行判断,再抽取所有满足组合规则约束的测试数据起止时刻区间,最 后采用以时间为基础的查询方式从各分段时间区间中查询目标测试数据。如图 2所示为本发明一种基于组合规则约束的航天器测试数据提取方法流程图,具 体测试数据提取方法如下:
首先,提出一种数据提取约束条件的通用表达形式,由前提项、条件项和 延时项组合而成,将约束条件的文字描述转换为用数学形式结合逻辑形式描述 和表达出来,能够准确无歧义地筛选目前所有测试过程或测试事件。例如,按 照本发明提出的组合规则约束条件表达形式,某型号的CMG启动过程可抽象 为如下形式:
起始条件:[G:D043=2C:D004_1=>10D:-5];
终止条件:[G:D043=2C:D004_10=>1D:-5];
结合上述两个表达式,对本发明提出的前提项、条件项和延时项说明如下:
1)“C:”——条件项。通过条件项的筛选,可从数据库中快速粗略地判 断是否存在该测试事件。条件项是筛选测试事件的基本条件,只有满足条件项 的时间点才有可能是该测试事件的起始点或终止点。因此,条件项不能为空, 它的几种表达形式如下:
a.某个遥测的值跳变,例如:“C:D004_1=>10”,表示某型号遥测代号D004 的数值由1变为10,对应文字描述为卫星由入轨段模式转为CMG启 动模式的测试事件。
b.某个遥测的取值区间跳变,例如:“C:K001_[15,25]=>[190,220]”,表示 参数代号为K001的遥测数值从[15,25]变至[190,220]。
c.遥控指令形式,且用“!”表明条件项为指令,例如:“C:!TB5C2”,表示发 送遥控指令TB5C2。
2)“G:”——前提项。前提项旨在对测试事件实现更精确地判断与定位, 事件判断时,先通过条件项进行快速粗略的查找,获得一组可能是该事件的时 间节点,还必须满足此前提项的要求,才能成为一个事件的起始或终止时刻。 比如说,通过“C:D004_1=>8”即可判断为姿态机动事件,然而,对整星而言, 姿态机动又分为喷气姿态机动、动量轮姿态机动和CMG姿态机动三种实现方 式,如果本次只对动量轮姿态机动事件分析,就必须通过加前提项进一步限制。 当然,前提项也不是必须的,可以为空,它的几种表达形式如下:
a.单个比较表达式,例如:“G:D043=2”、“G:K036>2.5”、“G:S008<25.6”, 分别表示相应遥测与运算符后面数值的大小关系。
b.多个比较表达式的组合,支持单个表达式的“与”、“或”组合形式,例 如:“G:(D043=1)&(K001>25)”、“G:(D043=3)|(K001<250)”。
c.前提项为空时,表示形式为“G:”。
“D:”——延时项。设置延时项是为了在查询事件数据时,在事件起始时 间之前,获取几帧初始遥测数据,或者获取过程结束后的几帧数据,以便于对 初始状态和结束状态数据分析。例如,“D:-5”表示测试事件发生时刻基础上减5 秒时间。综上,将条件项、前提项和延时项逻辑组合作为筛选测试过程或测试 事件的准则。
然后,根据目前遥感领域卫星的测试并基于上述描述约束条件的组合规则 表达形式,提出了一种从测试数据库中提取目标数据算法流程,与传统的以时 间为基础查询方式相比,能够准确、快速地满足对复杂测试过程或事件筛选及 数据提取需求,并且从实际应用效果来看,具备准确、快速和实用特点,为测 试数据的高效判读提供了强有力的基础技术支持,能够筛选出长达数月时间内 同一测试过程出现的次数并提取出各次有效数据,其具体实施步骤如下:
1)填写事件定义配置表。按照本发明提出的约束条件通用表达形式,定 义数据提取中查需用到的全部事件,各次事件包含起始条件和终止约束条件, 配置表格式形如表1,同一测试过程或事件只需进行一次配置。
表1事件定义配置表
2)分解起始条件和终止条件表达式。得到起始前提项Gs、起始条件项 Cs、起始延时项Ds、终止前提项Ge、终止条件项Ce和终止延时项De,并获 取测试数据提取所需的起始时刻e与终止时刻f。
3)从测试数据数据库查询起始时刻e与终止时刻f之间的测试数据并将 满足起始条件项Cs的测试时刻存到数组tmpSCTime。
4)判断tmpSCTime中测试时刻,如果满足起始前提项Gs,则将该测 试时刻存储至数组STime,否则舍弃该测试时刻,遍历tmpSCTime中测试时 刻,计算终止时刻判断次数N为数组STime中测试时刻的个数,其中数组STime 中测试时刻为STime(i),i=1,2,3,…,N。
5)以[STime(1),STime(2)]为时间区间,查询该时间区间中的测试数据 并判断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满足终 止前提项Ge,则将该测试时刻依次存储至数组ETime,否则舍弃STime(1), 然后以[STime(2),STime(3)]为时间区间,查询该时间区间中的测试数据并判 断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满足终止前 提项Ge,则将该测试时刻依次存储至数组ETime,否则舍弃STime(2),重复 上述过程直至以[STime(N-1),STime(N)]为时间区间,查询该时间区间中的测试 数据并判断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满 足终止前提项Ge,则将该测试时刻依次存储至数组ETime,否则舍弃 STime(N),以[STime(N),终止时刻f]为时间区间,查询该时间区间中的测试数 据并判断,如果有测试数据满足终止条件项Ce且该测试数据的测试时刻满足 终止前提项Ge,则将该测试时刻依次存储至数组ETime,将终止时刻f存储至 数组STime作为STime(N+1),否则不进行操作,最后得到与数组ETime长度 相等的数组STime;
6)根据起始延时项Ds对数组STime中所有测试时刻进行偏移得到新的 数组STime,根据终止延时项De对数组ETime中所有测试时刻进行偏移得到 新的数组ETime;
将数组STime中第j个测试时刻作为查询起始时刻,将数组ETime中第j 个测试时刻作为查询终止时刻对测试数据进行提取,j=1,2,3,…,M,其中M为 数组ETime的长度。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。