数字卫星载荷情报编码解码源代码书写方法与流程

文档序号:15828712发布日期:2018-11-03 00:11阅读:210来源:国知局
本发明涉及航天器仿真领域,更具体的说是涉及一种数字卫星载荷情报编码解码源代码书写方法。
背景技术
目前工程设计、研发、测试过程中利用数字世界进行仿真验证的比例大大提升,卫星实物测试成本高,数字卫星的作用更加明显。数字仿真有效性取决于是数字卫星和环境模型的精度,为了达到与真实一致的仿真结果,数字卫星的设计精度需要达到部件级,环境包括了机电热光磁多方面因素的耦合,这就造成了数字航天器开发工作量大,并且整个系统的耦合关系复杂,修改难度高。因此提出了利用人工智能程序员技术,由计算机完成数字卫星源程序的智能书写。为了降低载荷情报传输中的误码率,星上的载荷情报在传输过程中需要进行编码解码处理。在不同的卫星中,遥测系统不同,出现误码的几率也不同,因此实际中采用了不同的编解码算法。在数字仿真中,不同的数字卫星也要采用与真实卫星一致的编解码算法,随着集群规模的增加,算法书写的工作量也随之增加。因此,如何提供一种数字卫星载荷情报编码解码源代码书写方法是本领域技术人员亟需解决的问题。技术实现要素:有鉴于此,本发明提供了一种数字卫星载荷情报编码解码源代码书写方法,本发明能够针对星上控制程序的编码解码算法要求进行准确的选择和编写,提高了数字卫星仿真效率。为了达到上述目的,本发明采用如下技术方案:一种数字卫星载荷情报编码解码源代码书写方法,所述方法包括以下步骤:步骤一、获取卫星测控编码解码算法,建立编码解码算法库,并对所述编码解码算法进行评估,获得评估信息,并将所述评估信息存入算法信息数据库;步骤二、根据真实卫星应用环境、模式对卫星参数进行估计,或直接获取卫星参数;分析出卫星载荷情报编码解码需求,将所述编码解码需求进行格式化转换,并进行格式化描述;步骤三、对满足卫星参数的编码解码算法进行选择和校验;步骤四、对星上控制程序编码解码位置确定;步骤五、对数字卫星仿真程序中编码解码源代码进行书写。优选的,在上述数字卫星载荷情报编码解码源代码书写方法中,所述步骤一中,对所述编码解码算法进行评估,计算评估指标,包括有效数据密度ηf和最大容错密度ηe;ηf=k/n,k表示编码的原码分组长度,ηe=t/n,t表示在该n的编码长度中最多允许出现的错误位个数,n表示编码后加上校验位的长度。优选的,在上述数字卫星载荷情报编码解码源代码书写方法中,所述步骤二中对卫星载荷情报编码解码需求进行格式化描述,所述格式化描述包括直接描述和特征描述;其中直接描述是由用户直接指定算法的类型和参数;特征描述是利用所述编码解码算法的特征参数值对算法进行约束,所述特征参数包括:载荷情报编码解码要求或载荷情报编码解码算法、载荷情报传输协议参数;其中,所述载荷情报编码解码要求包括是否存在编码要求、有效数据密度要求、最大容错密度要求;所述载荷情报编码解码算法包括两部分内容:是否编码类型限制,是否限制编码参数;所述载荷情报传输协议参数包括协议名称、协议结构、是否允许编码。优选的,在上述数字卫星载荷情报编码解码源代码书写方法中,所述步骤三具体包括:当所述格式化描述为直接描述时,直接输出用户指定的编码解码算法;当所述格式化描述为特征描述时,首先根据所述特征参数进行粗筛选,将不满足用户要求的算法排除,再利用所述评价指标进行加权平均,得到综合评价指标,选择所述综合评价指标中评价值最高的编码解码算法;当所述格式化描述同时包括直接描述和特征描述时,对所述直接描述给定的算法进行评价,判断是否满足特征描述的约束,如果满足则输出所述编码解码算法,如果不满足则提示用户两个输入要求不符,请用户选择其中一个所述格式化描述作为参考。优选的,在上述数字卫星载荷情报编码解码源代码书写方法中,所述步骤四具体包括,根据所述载荷情报传输协议参数,找到协议最后一层;在所述算法信息数据库中查询所述编码类型是否对包头进行编码,若是,则先组包后编码,若否,则先编码后组包。优选的,在上述数字卫星载荷情报编码解码源代码书写方法中,所述步骤五具体为,从所述编码解码算法库中调用所选择的所述编码解码算法,并插入至所述编码解码位置。经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种数字卫星载荷情报编码解码源代码书写方法,能够针对星上控制程序的编码解码算法要求进行准确的选择和编写,满足不同卫星间不同遥测系统对编码解码的要求,有助于建立星间多智能体协商体系架构。提高了数字卫星的仿真效率,缩短数字卫星的研制周期,减轻了数字卫星开发者的工作量。具体实施方式下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明数字卫星载荷情报编码解码源代码书写方法具体包括以下步骤:s101,在一个实施案例中,具体实施为获取编码解码算法,将这些算法进行评估,将评估结果存入数据库,将编码解码算法以文件形式存入到算法库中。根据实际卫星通常使用的编解码方式,首先建立编码解码算法库,该算法库可以在使用过程中不断补充,编码解码算法库中包含常规的信道编码算法如线性分组码、卷积码、级联码、turbo码和ldpc码,其中分组码又分为汉明码,格雷码,循环码(bch码,rs码,crc循环冗余校验码)等。针对这些算法不同的配置参数又构成了不同的编码解码算法,将这些编码解码算法进行评估,计算两个评估指标:有效数据密度ηf和最大容错密度ηe。ηf=k/n,k表示编码的原码分组长度,n表示编码后加上校验位的长度;ηe=t/n,t表示在该n的编码长度中最多允许出现的错误位个数。以rs编码算法的评估为例详细介绍算法评估与入库过程。rs编码有一个特点:在不同的算法参数下算法结构一致,只需要改变几个参数即可。rs编码存在两个关键描述参数n和k,其中,n表示编码后加上校验位的长度,k表示编码的原码分组长度,t表示在该n的编码长度中最多允许出现的错误位个数,t=(n-k)/2。以算法一rs(255,223)和算法二rs(255,239)编码为例,因此,算法一中,n1=255,k1=223,t1=(n1-k1)/2=16;算法二中,n=255,k=239,t=(n-k)/2=8。下面计算有效数据密度ηf和最大容错密度ηe。有效数据密度为编码的原码占总长度的比重,即k/n。最大容错密度为最多允许出现的错误位位数占总长度的比重,即t/n。算法一中,有效数据密度ηf1=k1/n1=87.45%,最大容错密度ηe1=t1/n1=6.27%。算法二中,有效数据密度ηf2=k2/n2=93.73%,最大容错密度ηe2=t2/n2=3.14%。将该算法信息分别存入编码解码算法库的三个表中:算法信息表、算法参数表、算法性能表。其中,算法信息表包含算法id、算法名称、算法类型和算法源程序所在路径;由于不同的算法描述它的算法参数不同,因此存放在不同的算法参数表中,对于rs算法,数据库中有rs算法参数表,内部包含算法id、编码长度n和原码长度k;算法性能表包含算法id、有效数据密度和最大容错密度,如下表所示。表1算法信息表id名称类型算法路径1rs255_223rs$sourcepath$\encode\rs2rs255_239rs$sourcepath$\encode\rs…………表2rs算法参数表id编码长度n原码长度k12552232255239………表3算法性能表id有效数据密度最大容错密度10.87450.062720.93730.0314………s102,在一个实施案例中,具体实施为对卫星载荷情报编码解码需求进行格式化描述;格式化描述包括两种方式,直接描述和特征描述。其中直接描述是由用户直接指定算法的类型和参数;特征描述是用户提供算法应达到的特征参数,即实现什么样的效果,然后将格式化描述的数据保存到xml(extensiblemarkuplanguage,可扩展标记语言)文件与access数据库中。对卫星载荷情报编码解码需求进行格式化描述,包括:载荷情报编码解码要求或载荷情报编码解码算法、载荷情报传输协议参数。载荷情报编码解码要求包括是否存在编码要求、有效数据密度要求、最大容错密度要求。载荷情报编码解码算法包括两部分内容:是否编码类型限制、编码类型、是否编码参数限制、编码参数。载荷情报传输协议参数包括协议名称、协议结构、是否允许编码。在本案例中,是否存在编码要求、是否编码类型限制和是否编码参数限制的描述,在xml节点中用“y”、“n”表示。编码类型为算法类型,在本案例中用“rs”、“convolution”等名称表示,与数据库算法信息表中的类型列中的内容一致。编码参数节点下包含算法参数节点,不同算法的参数节点不一致,但与其对应参数表中的参数类型一致。在本案例中,协议名称用id编号和名称表示,协议结构按层存储在数据库中,利用id进行索引。是否允许编码是决定是否生成编码代码的标识位。例如针对某真实卫星猜测其采用rs编码算法,不知道设计参数,但根据其任务场景分析其性能满足有效数据密度大于80%、最大容错密度大于5%。采用的是ccsds(consultativecommitteeforspacedatasystems,国际空间数据系统咨询委员会)的aos(advancedorbitingsystems,高级在轨系统)协议,协议id号为2。协议结构参照ccsds标准。允许编码。上述信息在xml文件中的表述如下:<isencode>y</isencode><encode><istypeconstraint>y</istypeconstraint><type>rs</type><isparameterconstraint>n</isparameterconstraint><parameter><n>0</n><k>0</k></parameter><iscapabilityconstraint>y</iscapabilityconstraint><effectivedensity>0.8</effectivedensity><errordensity>0.05</errordensity><protocolid>2</protocolid><protocolname>aos</protocolname></encode>数据库中针对该协议的层级关系记录如下s103,在一个实施案例中,具体实施为编码解码算法选择和校验。将直接描述进行了更细一步的划分,分为算法类型和算法参数,只有当用户同时给定算法类型和参数的时候才认为用户做出了直接描述,否则将其按照特征描述处理,视为一个约束条件。对于给定直接描述、未给特征描述的,直接采用用户给定的编码解码算法。对于既给定直接描述、也给特征描述的,在数据库中查询用户给定的编码解码算法,得到其特征值,看其是否满足特征描述。如果满足则选用,不满足则提示用户输入有误,由用户决定按照规定的直接描述还是给定特征描述完成后面的推理。对于只给定特征描述,未给定直接描述的,将特征描述作为约束条件,先在算法库中找到满足特征描述的可用算法集,然后在可用算法集中确定一个编码解码算法。在可用算法集中选定最终算法可以采用简单的策略,如选择第一个算法、选择有效数据密度最大的算法等,也可以采用决策树、聚类、推理、优先选择等方式。例如,在s102给出的案例中,用户只对算法类型进行了限定,而未给出算法参数,因此,不认为用户给出了直接描述,将用户限定的rs算法作为一个约束,即在rs算法中查找满足有效数据密度大于80%、最大容错密度大于5%条件的算法集。具体实施可通过数据库查询语句完成,查询所有满足算法类型为rs编码算法、有效数据密度>80%、最大容错密度>5%的算法,即可得到可用算法集。本案例中为了简化,选择第一个算法,根据算法编号,选择结果为rs(255,223)算法。s104,具体实施为确定编码解码算法库位置,首先通过用户选择的传输协议,找到协议最后一层,然后在数据库中查询该类型编码算法是否对包头进行编码,最后确定其编码解码位置是传输协议最后一层打包前或打包后。编码解码算法库位置通常在传输层的最后一层。通过协议信息即可分析出编码解码所在位置。唯一的区别在于有的编码算法只编码包内容,不编码包头;而有的编码解码算法先完组包,而后同时编码包头和包内容。在一个实施案例中,例如,在步骤s102给出的案例中。首先根据传输协议编号为2,查询到数据库中编号为2的传输协议为ccsds的aos协议。进而对传输协议的层进行查询,得到aos最多7层,第7层为cadu层,因此确定编码函数添加位置为cadu组包函数内。进一步查询编码算法类型表,可以得到rs算法的编码不包括包头,即先编码后组包,因此编码函数应添加到组包代码开始行前。s105,在一个实施案例中,具体实施为源代码书写过程,从编码解码算法库中调用所选择的编码解码算法,并插入至编码解码位置。插入至编码解码位置时还包括算法代码关键字替换、算法代码拷贝、算法宏定义书写三部分。算法关键字替换主要是为了增加算法实用性,将一些关键词进行了替换,再次取出算法书写的过程中需要根据实际情况替换会这些关键词,在本实施案例中包括飞行器名称、设备名称、设备型号。算法拷贝是指将替换好关键字的算法复制到步骤s104中输出的算法添加位置。算法宏定义书写是指由于部分算法结构具有通用性,而算法的参数不同,因此采用对参数进行宏定义的形式实现,因此需要在算法添加所在文件头添加相关宏定义参数。例如,在步骤s102给出的案例中。首先完成特征参数替换,假设飞行器名称为“craft1”、设备类型名称为“cmu”、设备型号为“cmu01”。利用步骤s102中提到的rs算法所在位置,找到算法文件rsalgorithm.c文件,将文件中的“$$$$”替换成“craft1”,将文件中的“@@@@”替换成“cmu”,将文件中的“&&&&”替换成“cmu01”。然后完成算法拷贝,将替换好的编码代码片段复制到cadu组包函数的组包代码前,将替换好的解码代码片段复制到cadu解包函数的解包代码后。最后完成宏定义书写,根据数据库中对rs算法的表示可知算法包括两个核心参数n和k,对这两个参数进行宏定义。宏定义代码如下:#definers_n255#definers_k223将这两行代码复制到cadu组包函数所在文件的文件头,即完成载荷情报编码解码算法库代码的书写。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1