一种航天器遥测处理算法标准化描述的方法与流程

文档序号:26919646发布日期:2021-10-09 16:30阅读:179来源:国知局
一种航天器遥测处理算法标准化描述的方法与流程

1.本发明涉及航天器遥测处理领域,尤其涉及一种航天器遥测处理算法标准化描述的方法。


背景技术:

2.在我国航天测控领域,将外部遥测文件加工整理,转化为遥测软件运行所需的配置信息,这一过程称为遥测参数的装订。在装订过程中,制约装订效率的最大瓶颈就是遥测参数的处理算法。在以往任务中,任务操控人员处理遥测参数算法时,首先将外部输入文件中的特殊算法归纳整理反馈给软件研制人员,软件研制人员针对每种算法的特点设计专门的处理函数,通过编程来满足任务需求。这种模式的弊端在于:操控人员与研发人员工作耦合度过高:操控人员需要清晰地表达算法需求,研发人员需要根据需求变化频繁更动遥测处理软件,二者之间需要频繁互动,互动的过程中也难免有错误发生。遥测处理软件的频繁更改也极易造成整个测控系统的不稳定。另外,由于历次任务航天器遥测参数数量庞大、算法复杂、版本更动频繁,对任务操控人员和软件研发人员而言都是巨大的压力,需要耗费了大量的时间、人力去完成所有参数的更新、维护,严重制约了现阶段多个飞控任务的并行开展。
3.因此,有必要提出一种通用的遥测参数处理算法描述规则,将参数处理逻辑从遥测处理软件中独立出来,实现操控人员与研发人员工作的完全解耦:操控人员专注于研究任务需求,依据描述规则清晰描述每个参数的具体算法,实现复杂遥测逻辑的程序可读。研发人员只需编写描述规则的通用解析程序即可实现未知逻辑的自动处理,无需编写任何专用代码,也无需和任务操控人员频繁沟通。这样就大大降低了任务沟通交流以及程序频繁迭代带来的软件风险,同时极大提高了任务准备的效率,最大限度地保证遥测处理的正确性。


技术实现要素:

4.本发明要解决的技术问题是:提供一种航天器遥测处理算法标准化描述的方法,实现各种复杂的遥测处理算法的通用化描述,便于程序解析、读取,达到遥测信息描述和遥测处理程序的松散耦合的目的,进而大幅节约人力成本,提高任务准备效率。
5.不同型号部门提供的类型多样的遥测处理算法包括但不限于一种或多种条件下的温度遥测处理算法、多种传感器采集的温度遥测处理算法、电压遥测处理算法、电流遥测处理算法、agc电平遥测处理算法、有符号数遥测处理算法、功率曲线拟合等。
6.本发明的设计思想是:不管外部遥测文件提供的参数处理公式如何复杂,它们都可以通过基本函数的嵌套组合得以实现。基本函数应具备如下特点:
7.原子性:基本函数的设计必须功能单一、用途明确,基本函数不能被其他函数通过嵌套组合描述。
8.易复用性:基本函数是复杂函数的基本组成,每个基本函数的功能都代表一种独
立的、常用的逻辑。可复用性强,任何复杂逻辑都可以通过基本函数的嵌套组合进行描述。
9.基于此,本发明设计了一套航天器遥测处理元函数库,归纳总结出一组遥测处理基本算法,包括遥测原码计算、线性函数计算、对数函数计算、指数函数计算、幂函数计算、遥测温度量计算、遥测模拟量曲线拟合计算等。任何复杂的遥测处理逻辑,都可以通过这些基本函数的嵌套组合清晰描述,同时便于程序解析。常用遥测处理涉及的基本函数见表1。
10.表1遥测处理元函数库中的基本函数列表
11.[0012][0013]
基于遥测处理元函数库,本发明设计了一种遥测处理逻辑通用描述规则:以字符串的形式描述各种基本函数的嵌套组合关系,实现复杂遥测处理逻辑的形式化描述。该描述规则涉及以下几个要点:
[0014]
遥测处理字符串采用表1中提到的算法代号+形参列表的形式描述。例如:算法y=2x+3,x为遥测原码,符合线性函数的最简表达式,可使用算法元数据库中算法代号为f002的描述形式,其描述形式为:f002(x,2,3)。又例如:函数y=2*6x+3+1,x为遥测原码,该函数不是最简表达式,需化简,化简后的最简表达式为y=12x+4为线性函数,因此,该最简表达式的算法代号为算法元数据库中算法代号f002,根据算法代号对应的算法系数表述方式,其描述形式为:f002(x,12,4)。
[0015]
任何一个基本函数或基本函数的组合结果均可作为形参变量嵌入另一函数。例如遥测处理公式y=(3x+5)/(2x

3),可以看做两个线性函数y=3x+5和y=2x

3做商复合而
成,所以我们可以利用复合函数f999描述其运算,描述形式为:f999(f002(x,3,5),f002(x,2,

3),3)。
[0016]
为了对基本函数中的算法系数有更清晰地描述,设计一组系数描述关键字,见表2,明确界定了函数系数的取值范围,避免理解上的二义性。
[0017]
表2系数描述关键字列表
[0018][0019]
自变量包括遥测参数的原码、补码、浮点型或自定义数据类型。遥测参数下传时,其数据类型也是不一样的:有的是原码,直接将二进制数据转换为十进制数就是遥测值。有的利用补码(有符号数)表示,还有的遵循ieee754标准,通过4字节或8字节浮点数的形式下传。基于此,我们设计了几个自变量取值关键字,如表3所示:
[0020]
表3自变量取值关键字列表。
[0021]
关键字取值含义x自变量为遥测原码b自变量为补码(有符号数)类型f4自变量为4字节浮点数类型(ieee)f8自变量为8字节浮点数类型(ieee)
[0022]
遥测处理元函数库涉及算法代号,算法描述,算法系数,算法解释等关键内容。算法代号是算法主键,是算法的唯一性标识不允许重复。算法系数字段规定了每种算法的系数要求:包括系数的个数、顺序、数据类型。算法描述字段是算法实现的伪代码描述,利用伪代码能够更清晰地描述算法用途,避免二义性,方便任务操控人员与软件研发人员间的沟通交流。算法描述中的伪代码还可以方便转换成c++、python等编程语言中的代码片段,直接嵌入到应用程序中生成处理逻辑。算法解释字段是具体算法的中文描述:包括算法的名称、用途、算法系数的取值范围等信息。上述四个字段中,算法代号和算法系数是必填字段,算法描述和算法解释是选填字段。采用算法代号(算法系数)列表的形式可唯一标识一个遥测参数的处理方法。
[0023]
在表1中,f001~f009是遥测处理的基本函数:包括原码计算、线性函数、幂函数、指数函数、对数函数、反函数线性运算、选择函数运算、等基础数学函数以及温度计算、曲线拟合运算等算法相对复杂,但功能较为单一的函数。基于大部分复杂函数都是由基本函数复合而成,我们设计了复合函数f999,利用函数间的四则运算描述相对复杂的遥测处理公式;选择函数f998:利用边界值及区间内的函数指针描述同一遥测参数在不同区间内的不
同处理算法。
[0024]
例如:遥测处理公式y=(3x+5)/(2x

3),自变量x的参数类型为补码。这个函数可以看做两个线性函数y=3x+5和y=2x

3通过做商操作复合而成,我们可以利用复合函数“f999”及补码关键字“b”对其进行准确描述,描述形式为:f999(f002(b,3,5),f002(b,2,

3),3)。f999中的第三个系数“3”表示两个线性函数(f002)间是“除”的关系。
[0025]
上述描述方式的最大优势在于应用程序可实现算法字符串的动态解析,动态计算出遥测参数的处理结果,无需修改应用程序的任何代码,从而在最大限度上保证了应用程序的稳定性。以上述遥测处理公式y=(3x+5)/(2x

3)为例,应用程序可以利用如下的递归算法对其算法字符串f999(f002(b,3,5),f002(b,2,

3),3)进行解析。
[0026]
步骤一:对任务文件中涉及的遥测参数处理算法字符串进行分类,针对通过元函数库中的函数复合而成的算法字符串,按照由外而内的顺序对遥测参数处理算法字符串进行解析。首先解析最外层函数时(上述公式为f999),以“,”号为分隔符得到算法系数,如果算法系数个数与元函数库中某个函数规定的算法系数的参数个数一致,表明最外层函数解析正确,以“算法代号(算法系数)”字符串的形式描述;
[0027]
步骤二:对步骤一中解析得到的所有算法系数的表达式进行再次解析;
[0028]
如果所有系数表达式的内容均为数字,不必解析,其数值直接参与运算;
[0029]
如果系数表达式中有本次任务涉及的遥测参数代号,取遥测参数的结果值替换遥测参数代号参与算法运算;
[0030]
如果系数表达式中有系数关键字(上述算法为b,表示补码运算),取遥测源码经过补码运算后的结果值替换系数关键字参与算法运算;
[0031]
如果所有系数表达式由元函数库中的函数(基本函数、复合函数或选择函数)复合而成,以“算法代号(算法系数)”字符串的形式替换相应的系数表达式;
[0032]
如果系数表达式中有复杂复合函数,进一步解析,进入步骤三。
[0033]
如果自变量为遥测源码,算法系数的表达式不改变,如果自变量为补码、4字节浮点数或8字节浮点数,分别用自变量取值关键字b、f4、f8替换算法系数的表达式中的自变量。
[0034]
步骤三:解析该复杂复合函数是否可以通过元函数库中的函数复合而成,若可以,以“算法代号(算法系数)”字符串的形式替换系数表达式,否则返回至步骤二,重复上述过程,继续下一层解析,直至每个系数均转换为数字。
[0035]
遥测处理软件根据上述递归算法即可编写通用的复杂公式解析程序,一次编写完成后无需随着任务需求变化大幅修改。当元函数库中的函数无法描述新增需求时,可以拓展元函数库加入新函数,新增函数的原则是:
[0036]
新增函数应具备原子性:新增函数功能必须简单、明确,如果能够通过其他函数复合而成,决不新增函数。
[0037]
新增函数应具备可复用性:元函数库中的函数应代表一类参数的处理需求,而不是某个参数的特殊处理需求,设计基本函数时应充分考虑其复用性和可拓展性。
[0038]
本发明具有以下有益效果:
[0039]
1、在国内航天测控领域首次构建了遥测处理算法元函数库,基于此设计了嵌套式的通用遥测处理描述规则。
[0040]
2、通过基本数学函数的组合嵌套实现复杂的遥测处理逻辑,解决了复杂遥测算法难于描述、难以自动化处理的难题。
[0041]
3、本发明在工作实践中,可以大幅节省人力成本,提高工作效率,为将来高强度、长周期的深空探测任务搭建可靠平台,提供决策支持。
具体实施方式
[0042]
下面以某型号任务文件中部分算法为例,对本发明作出进一步详细描述,有必要在此指出的是,以下具体实施方式只用于对本发明进行进一步的说明,不能理解为对本发明保护范围的限制,该领域的普通技术人员可以根据上述发明内容对本发明作出一些非本质的改进和调整。
[0043]
本发明的一种航天器遥测处理算法标准化描述的方法,包括如下步骤:
[0044]
步骤一、分析任务文件,对任务文件中涉及的遥测参数处理方法进行分类。
[0045]
结合遥测处理元函数库,总结哪些方法可以沿用元函数库中的函数,哪些方法可以通过基本函数复合而成,这部分方法可以直接调用元函数库,不需要对元函数库进行扩充。对于元函数库中不存在,不能或很难被基本函数复合而成的处理方法,需要对元函数库进行拓展,在库中加入新的函数,新加函数应满足原子性和易复用性。
[0046]
步骤1.1:对任务文件中涉及的算法进行分类梳理。
[0047]
表4是xxx任务部分遥测参数处理方处理算法的片段。这里面涉及到如下几类算法:线性函数计算:函数自变量分别为无符号整数(参数1),有符号整数(参数2),浮点数(参数3)以及自变量为其他参数的依赖关系运算(参数4);曲线拟合运算:参数5;温度计算:参数6;选择函数运算:参数7;异或运算:参数8。在上述算法中,除了异或运算,其他算法都能在元函数库中找到原型函数。
[0048]
表4xxx任务算法描述形式
[0049][0050]
步骤1.2:依据元函数库以及遥测处理算法通用描述规则,以“算法代号”+“算法系
数形参列表”的方式对表2中涉及的算法分别进行描述。
[0051]
(1)对于线性函数y=x/2

157,x为无符号整数,描述形式如下:y=f002(x,0.5,

157)。
[0052]
(2)对于线性函数y=3x+5,x为有符号整数,描述形式为:y=f002(b,3,5)。
[0053]
(3)对于参数3,可用如下形式描述:y=f002(f4,1,1)。
[0054]
(4)对于参数4,一个遥测参数的计算结果线性依赖于另一个遥测参数,这类参数可用如下形式描述:y=f002(para6,5,7)。
[0055]
(5)对于参数5对应的表5,其实质是一种曲线拟合逻辑:根据试验观测到的一组电压和功率值,利用最小二乘法进行曲线拟合运算,得到功率与电压间函数对应关系,在任务中依据此关系根据遥测电压估算输出功率。拟合过程虽然复杂,但算法相对清晰。因此我们选择元函数库中的曲线拟合函数f008,利用两组序列x<>和y<>分别描述两组观测值,r为遥测原码到序列x的转换公式。在这里面r=遥测原码*0.02,对于表3中涉及的拟合逻辑,我们可以用如下形式描述:
[0056]
f008({参数1,参数2
……
参数n},{结果1,结果2
……
结果n},f002(x,0.02,1))。
[0057]
表5曲线拟合对查表示例
[0058]
遥测(v)参数1参数2参数3参数4参数5参数6参数7输出功率结果1结果2结果3结果4结果5结果6结果7遥测(v)参数8参数9参数10参数11参数12
…ꢀ
输出功率结果8结果9结果10结果11结果12
…ꢀ
[0059]
对于参数6涉及的温度计算等复杂处理公式,其基本框架为:
[0060][0061]
这里面a,b,c均为可变参数,不同型号的热敏电阻a,b,c取值均不相同。vcc为校准电压,可能是某一常数,也可能是某一特定参数的遥测值。令指针变量r=v
×
r0/(v
cc
-v),v为遥测电压,通常等于遥测原码*0.02,r0为测温所用热敏电阻的阻值。不同任务、不同分系统、不同遥测参数温度计算涉及的系数a,b,c均不一样,r的计算方法也各不相同,但处理公式的形式是一致的,均可用代号f003元数据库算法2*c/(

b+math.sqrt(b*b

4*c*(a

math.log(f))))

273.15表示,即f003(函数表达式f,系数a,系数b,系数c),对于参数6,其中的f可以看做两个线性函数的复合运算,即两个线性函数y=v
×
r0和y=v
cc

v通过做商操作复合而成,利用f999描述为:f999(f002(x,0.02*r0,0),f002(x,

0.02,v
cc
),3)。因此温度公式可按如下形式描述:f003(f999(f002(x,0.02*r0,0),f002(x,

0.02,v
cc
),3),a,b,c)。
[0062]
(7)参数7涉及的处理公式其实质是一种选择逻辑,我们在元函数库中采用了选择函数f998专门描述这种逻辑,有必要说明的是y=1000也是函数表达式,按照f998(x,a,b,f1,f2,f3)描述形式如下:
[0063]
f998(x,r0,r1,f002(x,2,3),f002(x,3,

5),1000)。
[0064]
(8)参数8采用的异或运算,在元函数库中没有近似公式,我们必须设计新的函数并拓展元函数库才能满足其处理要求。由于异或运算本身具备原子性,在数学运算中也具有普遍意义,满足新增函数的拓展原则,所以我们可以设计新的基本函数f010标识异或运
算,系数x1,x2表示函数系数,在元函数库中描述形式如下:
[0065]
算法代号算法描述算法系数算法解释
………………………………………………………………
f010return x1^x2;x1,x2异或运算
[0066]
表6异或运算在元函数库中的拓展
[0067]
新增公式后,我们可以用f010(para1,para2).的算法字符串对参数8的处理方法进行描述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1