一种卫星遥测数据处理系统以及其实现方法

文档序号:6440627阅读:319来源:国知局
专利名称:一种卫星遥测数据处理系统以及其实现方法
技术领域
本发明属于卫星遥测领域,涉及一种卫星遥测数据处理系统以及其实现方法。
背景技术
遥测数据处理系统的主要任务是完成不同型号卫星的各种遥测数据的处理,判读、存储以及广播等操作,以独立的、跨平台的软件工具包形式存在。在航天器的电性能测试阶段,遥测参数是监视航天器部件工作状态的主要途径, 所以遥测数据的处理是整星地面测试设备的核心功能之一。然而,目前所采用的遥测数据处理系统主要存在以下几点不足(1)由于各型号卫星结构和功能的各种需要,它们下传的遥测数据的格式不尽相同,数据下传通道的数量也不相同,原有的数据处理系统的通用性比较差,基本上每一种类卫星都有自己的处理数据系统,针对目前型号卫星广泛采用的帧和包两种数据格式,原有的数据处理系统并不能很好的兼容,型号与型号之间的数据处理系统在代码上总是有些差异,这样十分不利于代码的升级与维护,不利于软件的产品化发展;(2)由于各个型号的遥测参数众多,处理公式千变万化,对于新的处理公式,原有的数据处理系统不能够动态修改和增加,必须通过修改代码完成,扩展性较差;(3)原有的遥测数据处理系统运行于UNIX平台,跨平台性差,属于综合测试总控系统中主测试计算机 (MTP)的专有子系统,很难被其它操作系统平台的应用软件使用;(4)由于软件用户对遥测数据处理结果有不同的需要,有的希望处理结果能够实时广播,有的希望处理结果能够保存在文件中等,而原有遥测数据处理系统不支持功能扩展,只能按照预定的功能进行数据处理,用户不能自行更改和扩充。

发明内容
本发明解决的技术问题是克服现有技术的不足,提供了一种卫星遥测数据处理系统以及其实现方法,解决了遥测数据处理的通用化、扩展性和跨平台性等问题。本发明的技术解决方案是一种卫星遥测数据处理系统包括日志模块、指针容器模块、内存管理模块、基础数据管理模块、配置信息管理模块、索引表管理模块、数据预处理模块、处理方法模块、数据解析模块以及数据初始化与管理模块;其中日志模块为其它模块提供日志记录的接口函数,供其它模块记录系统的关键调试信息;指针容器模块为其它模块提供信息的动态存储;内存管理模块对与内存操作的相关函数进行封装和管理,用来记录内存分配的次数和释放的次数,并提供接口列出内存泄露的数量;基础数据管理模块用来读取、存储并管理所有遥测参数的基础数据信息,并提供对外接口,供索引表管理模块、处理方法模块和数据初始化与管理模块调用;配置信息管理模块用来读取并管理不同型号的配置文件中的数据信息,供索引表模块、预处理模块、数据解析模块和数据初始化与管理模块调用,使遥测数据处理系统达到通用性;索引表管理模块用来创建并管理参数处理的索引表,并提供接口,供数据解析模块和数据初始化与管理模块调用,使得当一帧或者一包源码待解析时,系统能够找出该原始数据中包含哪些参数的源码,然后系统按照索引
4表中的参数的基础信息,提取源码,调用相应的处理方法处理参数;数据预处理模块根据型号的配置文件信息,将帧遥测数据和包遥测数据的格式进行整合,通过预处理,使包遥测数据的格式和帧遥测数据的格式具有相似性,并提供接口供数据解析模块调用;处理方法模块提供曲线处理、列表处理、常用函数处理、专用函数处理、表达式处理、同源校准处理和异源校准处理方法,供数据解析模块调用,完成遥测参数从源码到工程值的处理;数据解析模块负责整个数据处理流程的管理,首先根据数据预处理模块整合原始数据,其次通过索引表管理模块获取索引,然后通过基础数据管理模块获取参数的具体位置和处理方法信息, 最后获取源码并调用处理方法模块解析源码数据;数据初始化与管理模块用来对其它模块进行初始化与管理,首先调用内存管理模块分配空间,其次调用配置信息管理模块和基础数据管理模块加载配置信息和基础数据,然后调用索引表管理模块创建索引表,并提供管理接口供外部其它软件调用,使其能够对通用数据处理软件包进行设置和管理。一种卫星遥测数据处理方法,包括以下步骤第一步准备配置文件,其中定义帧格式或者包格式遥测数据的特征信息;第二步准备基础数据,其中定义遥测参数的名称、代号、模式、位置、处理方式信息;第三步读取第二步中的基础信息,根据基础信息,用动态数组即指针容器创建帧索引表或者包索引表;第四步接收遥测数据;第五步读取第一步中的配置文件,根据配置文件,将第四步接收到的帧遥测数据和包遥测数据的格式进行有效性判断和数据整合;对于包遥测则以包遥测的CADU为输入, 经过一系列缓存与拼接处理后,输出为一系列的源包数据,并以每个源包对应一个段的形式缓存;对于帧遥测将整帧遥测作为一个段缓存;第六步将第五步中的段数组依照第三步生成的索引表进行参数处理,并对参数结果按照用户定义的方式处理;第七步如果基础数据信息有更改,重复执行第三步至第六步,直至处理完所有遥测数据;如果基础数据信息没有更改,重复执行第四步至第六步,直至处理完所有遥测数据。本发明与现有技术相比的有益效果为(1)本发明引入基础数据信息管理模块,对参数的基础信息格式进行了优化,采用开源、跨平台的sqlite小型数据库文件存储参数的基础信息,基础数据信息管理模块统一管理和维护这些参数的基础信息,并提供给其它模块使用。通过基础数据管理模块维护基础数据库文件的方式,能够使非常繁琐的基础信息得到规范的管理,出错率极大降低,安全性极大提高;(2)本发明提供了数据的预处理模块,根据型号的配置信息,将帧遥测数据和包遥测数据的格式进行整合。对于包遥测,该模块以包遥测的CADU为输入,经过一系列处理后, 输出为一系列的源包数据,并以段(segment)数组的形式存储;对于帧遥测,该模块将整帧也作为一个段(segment)存储。经过这样转化,包遥测数据的格式和帧遥测数据的格式就具有较好的相似性,为实现数据处理的通用化打下基础;(3)本发明提供了遥测参数的表达式解析方法,用户可以在参数的基础数据信息的处理方法表中自行编辑该参数的处理方法表达式,表达式的语法与C语言相近,这样就实现了参数处理方法的动态扩展,使得该遥测数据处理软件包能够处理很多具有新形式处理方法的遥测参数,而不必再修改代码;(4)本发明提供了封装良好、简单易用的外部接口,供其它应用软件调用。同时通过函数指针的方式提供了接口的扩展功能,能够允许外部函数对本软件包自身功能的扩充,满足了外部用户对遥测数据处理的功能扩展要求;(5)本发明选用标准C语言进行编码,所用到的外部库全部是跨平台的开源库 (Expat和Sqlite),所选用的编译工具是跨平台的Cmake工具,消除了该软件包对操作系统平台的依赖性。


图1为本发明卫星遥测数据处理系统的组成框图;图2为本发明卫星遥测数据处理系统中的索引表生成原理图;图3为本发明卫星遥测数据处理系统针对遥测数据处理流程图。
具体实施例方式如图1所示,本发明通用遥测数据处理系统包括日志模块1,指针容器模块2,内存管理模块3,基础数据管理模块4,配置信息管理模块5,索引表管理模块6,数据预处理模块 7,处理方法模块8,数据解析模块9以及数据初始化与管理模块10。日志模块1提供给软件包内其它模块日志记录的接口函数,供其它模块记录系统的关键调试信息;指针容器模块2用C语言模拟实现了 C++的vector容器,供其它模块用来做信息的动态存储;内存管理模块3对与内存操作相关的几个函数进行封装和管理,用来记录内存分配的次数和释放的次数,并提供接口列出内存泄露的数量;基础数据管理模块4用来读取、存储并管理所有遥测参数的基础数据信息,并提供对外接口,供索引表管理模块6、处理方法模块和数据初始化与管理模块10调用,使得上层模块能够根据这些基本信息找出参数的源码和处理方法等处理参数必备的条件;配置信息管理模块5用来读取并管理不同型号的配置文件中的数据信息,供索引表管理模块6、数据预处理模块7、数据解析模块9和数据初始化与管理模块10调用,使遥测数据处理系统达到通用性;索引表管理模块6用来创建并管理参数处理的索引表,并提供接口,供数据解析模块9和数据初始化与管理模块10调用,使得当一帧或者一包源码待解析时,系统能够快速地找出该原始数据中包含哪些参数的源码,然后系统按照索引表中的参数的基础信息,提取源码,调用相应的处理方法处理参数;数据预处理模块7根据型号的配置文件信息,将帧遥测数据和包遥测数据的格式进行整合,通过预处理,使包遥测数据的格式和帧遥测数据的格式具有较好的相似性,并提供接口,供数据解析模块9调用;处理方法模块8提供曲线处理、列表处理、常用函数处理、专用函数处理、表达式处理、同源校准处理和异源校准处理等方法,供数据解析模块9调用,完成遥测参数从源码到工程值的处理;数据解析模块9负责整个数据处理流程的管理,它首先要借助预处理模块7整合原始数据,其次通过索引表管理模块6获取索引, 然后通过基础数据管理模块4获取参数的具体位置和处理方法信息,最后获取源码并调用处理方法模块8解析源码数据;数据初始化与管理模块10用来对其它模块进行初始化与管理,它首先调用内存管理模块3分配空间,其次调用配置信息管理模块5和基础数据管理模块4加载配置信息和基础数据,然后调用索引表管理模块6创建索引表,该模块提供了管理接口供外部其它软件调用,使它们可以对通用数据处理软件包进行设置和管理。日志模块1采用标准C开发,参照大型开源项目log模块的设计惯例,它的功能很直观,用来记录程序运行时的信息。日志模块1在程序打开日志输出后,若收到用户的日志信息,就将日志信息进行规定格式整理后输出到日志文件或者标准输出窗口。日志的格式整理包括a.按重要程度过滤log,把log信息按重要程度分成不同的种类,在不同的情况下,打印不同种类的信息。本次设计中,错误的种类分为严重错误、错误、警告、调试、注意信息、一般信息等几个级别;b.日志的公共内容,主要打印该日志语句的位置,如文件名、行号、函数名等和打印该行日志语句的时间和必要的提示信息。在收到用户的关闭日志命令后,该模块释放初始化时分配的空间,关闭日志功能。指针容器模块2采用标准C语言开发,完全模拟C++语言中标准模板库的vector, 满足动态存储的需要。该模块对外提供了动态数组的初始化函数、释放函数、扩容函数、清空数组函数、设置动态数组元素函数,获取动态数组元素函数,插入动态数组元素函数,删除动态数组元素函数,遍历动态数组元素函数等多个函数供用户使用。在收到用户的初始化命令后,该模块会创建一个动态数组并初始化。在初始化完成之后,用户可以调用该模块提供了各个函数对动态数组进行写入和读出等一系列操作。在收到用户的删除命令后,该模块释放动态数组空间,同时也释放掉动态数组内指针元素指向的空间。内存管理模块3采用标准C语言开发,为了避免内存泄露,对与内存操作相关的几个函数(mall0C、free、StrdUp)进行封装和管理。当收到用户的分配内存命令后,该模块在完成系统的内存分配的同时用动态数组记录了本次内存分配的大小和指针。当收到用户的释放内存命令后,该模块在完成内存释放的同时遍历动态数组,删除该数组中对应的指针和大小。当用户的查看当前分配内存情况命令后,该模块遍历动态数组,可以将动态数组的大小以及每个元素输出给用户。基础数据管理模块4采用标准C语言开发,用来读取、存储并管理遥测参数的基础数据信息。当收到用户的初始化命令后,该模块调用内存管理模块3分配动态存储空间,从基础数据库中加载所有参数的基础数据信息到内存。初始化完成之后,用户可以设置内存中任意参数的各种属性,满足人为干预基础信息的需求,也可以通过命令获取任意参数的基础信息。在收到用户的释放命令后,该模块释放初始化分配的存储空间。配置信息管理模块5采用标准C语言开发,用来读取并管理配置文件中的数据信息,本模块中采用expat开源包对XML格式的配置文件进行解析,并采用哈希表的方式进行存储和查找,提高了效率。当收到用户的初始化命令后,该模块调用内存管理模块3分配存储空间,从配置文件中加载所有配置信息到内存,供用户使用。当收到用户的释放命令后, 该模块释放初始化分配的存储空间。索引表管理模块6用来创建并管理参数处理的索引表,使得当一帧或者一包源码待解析时,系统能够快速地找出该原始数据中包含哪些需要解析的参数。该模块收到用户的初始化命令后,调用内存管理模块3分配索引表空间,遍历基础数据管理模块4的存储空间,根据各个参数的位置信息建立遥测参数解码时使用的索引表,对于帧遥测,该表以帧计数作为索引,对于包遥测,该表以包序号作为索引,如图2所示。初始化完成后,当收到用户的获取索引表命令后,该模块根据用户传递的帧计数或者包序号,返回给用户相应的索引表。当收到用户的释放命令后,该模块释放初始化分配的存储空间。数据预处理模块7用来根据型号的配置文件信息,将帧遥测数据和包遥测数据的格式进行整合。当收到用户的预处理命令后,对于包遥测格式,该模块以包遥测的CADU为输入,经过一系列处理后,输出为一系列的源包数据,并以segment的形式存储;对于帧遥测格式,该模块将整帧也作为一个segment存储,这样包遥测数据的格式和帧遥测数据的格式就具有较好的相似性,供数据解析模块9调用。处理方法模块8用来对遥测源码进行处理,包括曲线管理模块81、列表管理模块 82、通用处理函数模块83、表达式处理模块84和校准模块85。曲线管理模块81是对基础数据库中曲线处理方法所需的曲线信息进行管理,本模块可根据参数源码值,采用分段线性差值的方式得到工程值。列表管理模块82是对基础数据库中列表处理方法所需的列表信息进行管理,本模块可根据参数源码值,采用查表的方式得到工程值。通用处理函数模块83是在处理程序中已经预先编写了一些各个型号通用的处理函数(比如多项式处理),并提供了编号。这些函数以遥测参数的源码以及一些相关信息 (比如相关系数)作为输入,经过预先定义的处理方式处理出工程值。本模块将所有通用函数处理方法集中在一个函数指针数组内,可以根据遥测参数基础数据表中的函数处理公式号得到处理函数指针,然后结合参数的遥测源码和基础数据表中的相关系数,相关参数等信息计算出参数的工程值。表达式处理模块84用来灵活扩展遥测参数的数据处理方法,它直接对遥测参数的处理表达式进行词法和语法分析,生成语法树,在运行时进行解释执行得出参数的工程值。满足处理方法模块动态扩展的功能。校准模块85用来辅助管理参数的校准信息,使得系统能够根据这些校准信息对参数的处理结果进行校准。数据解析模块9负责整个数据处理流程的管理。当收到用户的数据解析命令时, 该模块首先要借助预处理模块7整合原始数据,然后通过索引表模块6获取索引,最后获取源码并调用处理方法模块8解析原始数据,处理流程如图3,最后将已经处理的参数存入利用指针容器模块2生成的结果表。数据初始化与管理模块10用来对其它模块进行初始化与管理。当收到用户的初始化命令后,该模块首先要调用内存管理模块3分配空间,然后调用配置信息管理模块5加载配置信息,调用基础数据管理模块4加载基础数据信息,调用索引表模块6创建索引表。 初始化完成后,该模块提供了重加载参数表、设置某一参数工程值、获取某一参数工程值、 设置某一参数的校准标志、强制模式转换等管理接口供其它调用本通用遥测数据处理系统软件包包的软件使用,使它们可以对本软件包进行设置和管理。当收到用户的释放命令后, 该模块释放初始化分配的存储空间。实现卫星遥测数据处理系统的方法,步骤如下(1)准备配置文件Cxml格式),其中定义帧格式或者包格式遥测数据的特征信息;(2)准备基础数据Cdb格式),其中定义遥测参数的名称、代号、模式、位置、处理方式等信息;(3)读取步骤O)中的基础信息,根据基础信息,用动态数组(指针容器)创建帧索引表或者包索引表;(4)接收遥测数据;(5)读取步骤(1)中的配置信息,根据配置信息,将步骤(4)接收到的帧遥测数据和包遥测数据的格式进行有效性判断和数据整合。对于包遥测,该系统以包遥测的CADU为输入,经过一系列缓存与拼接处理后,输出为一系列的源包数据,并以每个源包对应一个段 (segment)的形式缓存;对于帧遥测,该系统将整帧遥测作为一个段(segment)缓存。(6)将步骤(5)中的段(segment)数组,依照步骤(3)生成的索引表进行参数处理,并对参数结果按照用户定义的方式处理;(7)如果基础数据信息有更改,重复执行步骤( 至步骤(6),直至处理完所有遥测数据;如果基础数据信息没有更改,重复执行步骤(4)至步骤(6),直至处理完所有遥测数据;目前,本发明已经在多个型号的多个平台的多个地面测试软件中得到良好应用, 实现了遥测数据处理的通用性,为地面的遥测数据解析提供了足够的支持。
权利要求
1.一种卫星遥测数据处理系统,其特征在于包括日志模块、指针容器模块、内存管理模块、基础数据管理模块、配置信息管理模块、索引表管理模块、数据预处理模块、处理方法模块、数据解析模块以及数据初始化与管理模块;其中日志模块为其它模块提供日志记录的接口函数,供其它模块记录系统的关键调试信息;指针容器模块为其它模块提供信息的动态存储;内存管理模块对与内存操作的相关函数进行封装和管理,用来记录内存分配的次数和释放的次数,并提供接口列出内存泄露的数量;基础数据管理模块用来读取、存储并管理所有遥测参数的基础数据信息,并提供对外接口,供索引表管理模块、处理方法模块和数据初始化与管理模块调用;配置信息管理模块用来读取并管理不同型号的配置文件中的数据信息,供索引表模块、预处理模块、数据解析模块和数据初始化与管理模块调用,使遥测数据处理系统达到通用性;索引表管理模块用来创建并管理参数处理的索引表,并提供接口,供数据解析模块和数据初始化与管理模块调用,使得当一帧或者一包源码待解析时,系统能够找出该原始数据中包含哪些参数的源码,然后系统按照索引表中的参数的基础信息,提取源码,调用相应的处理方法处理参数;数据预处理模块根据型号的配置文件信息,将帧遥测数据和包遥测数据的格式进行整合,通过预处理,使包遥测数据的格式和帧遥测数据的格式具有相似性,并提供接口供数据解析模块调用;处理方法模块提供曲线处理、 列表处理、常用函数处理、专用函数处理、表达式处理、同源校准处理和异源校准处理方法, 供数据解析模块调用,完成遥测参数从源码到工程值的处理;数据解析模块负责整个数据处理流程的管理,首先根据数据预处理模块整合原始数据,其次通过索引表管理模块获取索引,然后通过基础数据管理模块获取参数的具体位置和处理方法信息,最后获取源码并调用处理方法模块解析源码数据;数据初始化与管理模块用来对其它模块进行初始化与管理,首先调用内存管理模块分配空间,其次调用配置信息管理模块和基础数据管理模块加载配置信息和基础数据,然后调用索引表管理模块创建索引表,并提供管理接口供外部其它软件调用,使其能够对通用数据处理软件包进行设置和管理。
2.如权利要求1所述的一种卫星遥测数据处理系统,其特征在于所述的处理方法模块用来对遥测源码进行处理,包括曲线管理模块、列表管理模块、通用处理函数模块、表达式处理模块和校准模块;其中曲线管理模块对基础数据库中曲线处理方法所需的曲线信息进行管理,根据参数源码值,采用分段线性差值的方式得到工程值;列表管理模块对基础数据库中列表处理方法所需的列表信息进行管理,根据参数源码值,采用查表的方式得到工程值;通用处理函数模块在处理程序中预先编写各个型号通用的处理函数,并提供了编号, 该函数以遥测参数的源码以及相关信息作为输入,经过预先定义的处理方式处理出工程值;将所有通用函数处理方法集中在一个函数指针数组内,根据遥测参数基础数据表中的函数处理公式号得到处理函数指针,然后结合参数的遥测源码和基础数据表中的相关系数,相关参数信息计算出参数的工程值;表达式处理模块用来扩展遥测参数的数据处理方法,直接对遥测参数的处理表达式进行词法和语法分析,生成语法树,在运行时进行解释执行得出参数的工程值;校准模块用来辅助管理参数的校准信息,使得系统能够根据这些校准信息对参数的处理结果进行校准。
3. 一种卫星遥测数据处理方法,包括以下步骤第一步准备配置文件,其中定义帧格式或者包格式遥测数据的特征信息; 第二步准备基础数据,其中定义遥测参数的名称、代号、模式、位置、处理方式信息; 第三步读取第二步中的基础信息,根据基础信息,用动态数组即指针容器创建帧索引表或者包索引表;第四步接收遥测数据;第五步读取第一步中的配置文件,根据配置文件,将第四步接收到的帧遥测数据和包遥测数据的格式进行有效性判断和数据整合;对于包遥测则以包遥测的CADU为输入,经过一系列缓存与拼接处理后,输出为一系列的源包数据,并以每个源包对应一个段的形式缓存;对于帧遥测将整帧遥测作为一个段缓存;第六步将第五步中的段数组依照第三步生成的索引表进行参数处理,并对参数结果按照用户定义的方式处理;第七步如果基础数据信息有更改,重复执行第三步至第六步,直至处理完所有遥测数据;如果基础数据信息没有更改,重复执行第四步至第六步,直至处理完所有遥测数据。
全文摘要
本发明公开了一种卫星遥测数据处理系统以及其实现方法,解决了遥测数据处理的通用化、扩展性和跨平台性等问题。该系统包括日志模块、指针容器模块、内存管理模块、基础数据管理模块、配置信息管理模块、索引表管理模块、数据预处理模块、处理方法模块、数据解析模块以及数据初始化与管理模块;该方法包括准备配置文件和基础数据,并用动态数组即指针容器创建帧索引表或者包索引表;然后接收遥测数据并进行有效性判断和数据整合;其次再进行参数处理,并对参数结果按照用户定义的方式处理;直至处理完所有遥测数据。
文档编号G06F17/30GK102542002SQ20111040724
公开日2012年7月4日 申请日期2011年12月8日 优先权日2011年12月8日
发明者何晓宇, 宋宏江, 李砥擎, 王华茂, 王志富, 王瑞, 白少华, 闫金栋 申请人:北京空间飞行器总体设计部
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1