一种原码帧提取遥测原码值的方法及装置与流程

文档序号:17396466发布日期:2019-04-13 00:51阅读:488来源:国知局
一种原码帧提取遥测原码值的方法及装置与流程

本发明属于卫星遥测解码技术领域,尤其涉及一种原码帧提取遥测原码值的方法及装置。



背景技术:

当前卫星发射数量逐年增加,卫星应用也日渐丰富且愈加贴切在人民日常生活之中。地面要获取星上各系统的工作参数和环境参数,必须对星上下传到地面的原码帧进行遥测处理。遥测处理首先需要根据特定航天器遥测原码数据的编码方式,从原码中规定位置提取出该参数的对应字节数据,再通过各种算法处理得出遥测参数的工程值。

卫星遥测原码数据格式主要有pcm遥测和分包遥测格式两类,但是具体到每一颗卫星的地面处理遥测时又各不相同。现有的各种解决方案多是开发专有的遥测处理程序,用于处理特定的卫星或者一系列相似卫星的原码数据,这种方式使得软件开发工作量很大,尤其是当今卫星发射量越来越多,遥测参数量越来越大发展趋势。

因此,如何提高原码提取的效率是目前亟待解决的问题。



技术实现要素:

本发明解决的技术问题:提供了一种原码帧提取遥测原码值的方法及装置,能够适用于多种卫星型号的地面卫星解码应用中,可以在卫星解码处理方面减少工作量和节约成本。

为了解决上述技术问题,本发明公开了一种原码帧提取遥测原码值的方法,包括:获取外部输入的遥测处理配置信息;对所述遥测处理配置信息进行格式化处理,生成单字节处理单元集合;其中,所述单字节处理单元集合包括字节偏移量、掩码、移位量、子原码;依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码,对所述原码帧进行处理,生成遥测参数原码值。

优选地,所述对所述遥测处理配置信息进行格式化处理,生成单字节处理单元集合的步骤,包括:创建原码提取规则列表;按照所述遥测处理配置信息中各字节由低至高的顺序,从所述遥测处理配置信息中提取所述各字节对应的字节偏移量和掩码;依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码量,生成列表记录,并将所述列表记录存储于所述原码提取规则列表;轮询所述原码提取规则列表,依据预先申明的位移统计量,并累计所述列表记录的各所述掩码的有效比特数量;将各所述有效比特数量赋值到当前记录的位移量,以生成所述单字节处理单元集合。

优选地,所述依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码,对所述原码帧进行处理,生成遥测参数原码值的步骤,包括:依据各所述字节偏移量从所述原码帧中提取对应的初始原码值,并将各所述初始原码值存入对应的各所述子原码中,得到第一更新后的单字节处理单元集合;依据所述掩码对所述第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至所述第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合;依据所述移位量对所述第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成所述遥测参数原码值。

优选地,所述依据各所述字节偏移量从所述原码帧中提取对应的初始原码值,并将各所述初始原码值存入对应的各所述子原码中,得到第一更新后的单字节处理单元集合的步骤,包括:轮询所述原码提取规则列表,依据所述字节偏移量提取所述原码帧中的字节数据;在需要进行高低字节交换的情况下,将所述字节数据赋值到所述列表记录的子原码中,生成各更新后的子原码;在需要进行高低比特交换的情况下,对各更新后的子原码进行高低比特交换;依据交换结果,生成所述第一更新后的单字节处理单元集合。

优选地,所述依据所述掩码对所述第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至所述第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合的步骤,包括:创建临时子原码变量;提取各所述掩码和各所述更新后的子原码;按照预先申明的有效比特位次数,轮询各所述掩码的有效比特位;依据轮询结果,将所述临时子原码变量赋值到各所述更新后的子原码中;依据赋值结果,生成所述第二更新后的单字节处理单元集合。

优选地,所述依据所述移位量对所述第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成所述遥测参数原码值的步骤,包括:申明遥测原码值;轮询所述原码提取规则列表;依据所述位移量,将各所述更新后的子原码向左移动;将所述移动后的子原码与所述遥测原码值相或,生成所述遥测参数原码值。

为了解决上述技术问题,本发明还公开了一种原码帧提取遥测原码值的装置,包括:配置信息获取模块,用于获取外部输入的遥测处理配置信息;单元集合生成模块,用于对所述遥测处理配置信息进行格式化处理,生成单字节处理单元集合;其中,所述单字节处理单元集合包括字节偏移量、掩码、移位量、子原码;遥测原码生成模块,用于依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码,对所述原码帧进行处理,生成遥测参数原码值。

优选地,所述单元集合生成模块包括:规则列表创建子模块,用于创建原码提取规则列表;偏移量及掩码提取子模块,用于按照所述遥测处理配置信息中各字节由低至高的顺序,从所述遥测处理配置信息中提取所述各字节对应的字节偏移量和掩码;列表记录生成子模块,用于依据各所述字节偏移量、各所述掩码和各所述子原码量,生成列表记录,并将所述列表记录存储于所述原码提取规则列表;规则列表轮询子模块,用于轮询所述原码提取规则列表,依据预先申明的位移统计量,并累计所述列表记录的各所述掩码的有效比特数量;单元集合生成子模块,用于将各所述有效比特数量赋值到当前记录的位移量,以生成所述单字节处理单元集合。

优选地,所述遥测原码生成模块包括:第一单元集合生成子模块,用于依据各所述字节偏移量从所述原码帧中提取对应的初始原码值,并将各所述初始原码值存入对应的各所述子原码中,得到第一更新后的单字节处理单元集合;第二单元集合生成子模块,用于依据所述掩码对所述第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至所述第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合;遥测原码值生成子模块,用于依据所述移位量对所述第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成所述遥测参数原码值。

优选地,所述第一单元集合生成子模块包括:字节数据提取子模块,用于轮询所述原码提取规则列表,依据所述字节偏移量提取所述原码帧中的字节数据;更新子原码生成子模块,用于在需要进行高低字节交换的情况下,将所述字节数据赋值到所述列表记录的子原码中,生成各更新后的子原码;比特交换子模块,用于在需要进行高低比特交换的情况下,对各更新后的子原码进行高低比特交换;第一更新单元集合生成子模块,用于依据交换结果,生成所述第一更新后的单字节处理单元集合。

优选地,所述第二单元集合生成子模块包括:子原码变量创建子模块,用于创建临时子原码变量;更新子原码提取子模块,用于提取各所述掩码和各所述更新后的子原码;有效比特位轮询子模块,用于按照预先申明的有效比特位次数,轮询各所述掩码的有效比特位;变量赋值子模块,用于依据轮询结果,将所述临时子原码变量赋值到各所述更新后的子原码中;第二更新单元集合生成子模块,用于依据赋值结果,生成所述第二更新后的单字节处理单元集合。

优选地,所述遥测原码值生成子模块包括:遥测原码申明子模块,用于申明遥测原码值;规则列表轮询子模块,用于轮询所述原码提取规则列表;子原码移动子模块,用于依据所述位移量,将各所述更新后的子原码向左移动;遥测参数原码值生成子模块,用于将所述移动后的子原码与所述遥测原码值相或,生成所述遥测参数原码值。

本发明具有以下优点:

本发明实施例公开了一种原码帧提取遥测原码值的方法及装置,通过获取外部输入的遥测处理配置信息,对遥测处理配置信息进行格式化处理,生成单字节处理单元集合,其中,单字节处理单元集合包括字节偏移量、掩码、移位量、子原码,进而依据字节偏移量、掩码、移位量和子原码,对原码帧进行处理,生成遥测参数原码值,具有以下有益效果:

1)方便嵌入,适用于现在多数在轨卫星的地面解码系统;

2)依据遥测配置信息格式化生成提取逻辑,提取逻辑可循环使用,减少中间计算步骤,可以加快原码值提出效率;

3)以单字节处理为基础而后再合并的处理逻辑,可方便、快速的完成跨帧跨波道的遥测原码提取。

附图说明

图1示出了本发明实施例提供的一种原码帧提取遥测原码值的方法的步骤流程图;

图2示出了本发明实施例提供的一种原码帧提取遥测原码值的装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公开的实施方式作进一步详细描述。

实施例一

参照图1,示出了本发明实施例提供的一种原码帧提取遥测原码值的方法的步骤流程图,具体可以包括如下步骤:

步骤101:获取外部输入的遥测处理配置信息。

本发明实施例可以应用于够适应多种卫星地面解码的原码提取,采用格式化的配置信息来预设原码提取逻辑,可以加速的从原码帧中提取原码值,适用于跨帧跨波道提取遥测原码值。

遥测处理配置信息可以是预先存储于数据库中的配置信息,也可以是在提取遥测原码值时创建的配置信息,本发明实施例对此不加以限制。

在从原码帧中提取原码值是,可以接收由外部输入遥测处理配置信息,并执行步骤102。

步骤102:对所述遥测处理配置信息进行格式化处理,生成单字节处理单元集合;其中,所述单字节处理单元集合包括字节偏移量、掩码、移位量、子原码。

在获取外部输入的遥测处理配置信息之后,可以对遥测配置信息进行格式化处理,针对原码帧中各个字节进行相应的处理,从而生成对应于单个字节的单字节处理单元,以形成单字节处理单元集合。在单字节处理单元集合中包括各字节对应的字节偏移量、掩码、移位量、子原码。

配置信息的格式化处理过程可以包括如下步骤:

步骤s1:预设遥测处理配置信息为{(1,0xc1),(3,0x2f)},表示从原码帧中按对应掩码从字节1和字节3中提取原码值;

步骤s2:原码提取规则列表rawlist,列表记录声明为{字节偏移boffset、掩码mask、位移量bshift、子原码craw};

步骤s3:从遥测处理配置信息中按字节从低到高提取信息,生成rawlist记录信息,预计rawlist数据为{(1,0xc1,0,0x0),(3,0x2f,0,0x0)};

步骤s4:声明临时位移量tempshift默认值为0,轮询rawlist开始生成列表记录中的boffset值,生成步骤如下:

步骤a、提取rawlist的记录record,如:{1,0xc1,0,0x0};

步骤b、按从低到高轮询mask的比特位,提取有效比特位,比特位轮询序号num的顺序为{0,1,2,3,4,5,6,7},具体过程如下:

子步骤b-1、声明操作变量toperand默认赋值1;

子步骤b-2、mask按num的比特位序号右移;

子步骤b-3、toperand和mask相与,如果结果为1,表示该比特位有效,tbshift加1;

子步骤b-4、如果mask的比特位未轮询完,继续执行步骤b-1;

步骤c、如果record是rawlist首条记录,记录中bshift为0,否则tempshift赋值给bshift;

步骤d、如果rawlist记录未轮询完成,继续执行步骤a;

步骤s5:通过本发明的配置信息格式化处理,预计生成的rawlist信息为{(1,0xc1,0,0x0),(3,0x2f,3,0x0)}。

通过上述遥测处理配置信息的格式化处理过程,可以再通过下述步骤生成单字节处理单元集合。

具体地,生成单字节处理单元集合的方式以下述优选实施例进行详细描述。

在本发明实施例的一种优选实施例中,上述步骤102可以包括:

子步骤a1:创建原码提取规则列表;

子步骤a2:按照所述遥测处理配置信息中各字节由低至高的顺序,从所述遥测处理配置信息中提取所述各字节对应的字节偏移量和掩码;

子步骤a3:依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码量,生成列表记录,并将所述列表记录存储于所述原码提取规则列表;

子步骤a4:轮询所述原码提取规则列表,依据预先申明的位移统计量,并累计所述列表记录的各所述掩码的有效比特数量;

子步骤a5:将各所述有效比特数量赋值到当前记录的位移量,以生成所述单字节处理单元集合。

在本发明实施例中,可以首先创建原码提取规则列表rawlist,用于装载格式化后的原码提取逻辑信息,列表记录声明为{字节偏移boffset、掩码mask、位移量bshift、子原码craw}。

然后通过遥测处理配置信息按照原码帧中各字节从低到高提取字节偏移和掩码生成列表记录并存入原码提取规则列表rawlist。

进而轮询原码提取规则列表rawlist的记录,申明位移统计量cshift,累计当前列表记录的掩码mask有效比特数量并赋值到当前记录的位移量bshift,从而生成单字节处理单元集合。

在生成单字节处理单元集合之后,执行步骤103。

步骤103:依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码,对所述原码帧进行处理,生成遥测参数原码值。

在生成单字节处理单元集合之后,可以根据生成的单字节处理单元集合中的各字节偏移量、各掩码、各移位量和各子原码,对原码帧进行处理,从而生成遥测参数原码值。

对于生成遥测参数原码值的具体过程以下述优选实施例进行详细描述。

在本发明的一种优选实施例中,上述步骤103可以包括:

子步骤b1:依据各所述字节偏移量从所述原码帧中提取对应的初始原码值,并将各所述初始原码值存入对应的各所述子原码中,得到第一更新后的单字节处理单元集合;

子步骤b2:依据所述掩码对所述第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至所述第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合;

子步骤b3:依据所述移位量对所述第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成所述遥测参数原码值。

在本发明实施例中,可以依据各字节对应的字节偏移量从原码帧中提取各字节对应的初始原码值,并将各初始原码值存入对应的各子原码中,得到第一更新后的单字节处理单元集合;进而依据各掩码对第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合;然后,依据各移位量对第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成遥测参数原码值。

对于上述子步骤b1、子步骤b2和子步骤b3以下述优选实施例进行详细描述。

在本发明实施例的一种优选实施例中,上述子步骤b1可以包括:

子步骤c1:轮询所述原码提取规则列表,依据所述字节偏移量提取所述原码帧中的字节数据;

子步骤c2:在需要进行高低字节交换的情况下,将所述字节数据赋值到所述列表记录的子原码中,生成各更新后的子原码;

子步骤c3:在需要进行高低比特交换的情况下,对各更新后的子原码进行高低比特交换;

子步骤c4:依据交换结果,生成所述第一更新后的单字节处理单元集合。

在本发明实施例中,生成第一更新后的单字节处理单元集合的过程如下:

1)预设原码帧数据framedata,例如:{d6b3df78ff583d135c3e};

2)轮询原码提取规则列表rawlist,从原码帧中提取初始原码值,步骤如下:

步骤a1-1:提取rawlist的记录record,如:{1,0xc1,0,0x0};

步骤b1-1:依据record中字节偏移量{1},提取framedata字节数据,预计初始原码值initdata为{b3};

步骤c1-1:如果需高低比特交换,initdata执行高低比特交换,步骤如下:

子步骤c1-11:声明initdata比特位轮询序号num的顺序为{0,1,2,3};

子步骤c1-12:声明操作变量toperand默认值为1,声明临时初始原码值tempinitdata默认值为0;

子步骤c1-13:声明比特轮询当前序号rnum,声明当前序号对应交换序号enum(固定值7减rnum所得);

子步骤c1-14:轮询num的比特序号,内部操作分两部分:操作initdata右移rnum和toperand相与,其结果左移enum和tempinitdata相或;操作initdata右移enum和toperand相与,其结果左移rnum和tempinitdata相或;预计记录tempinitdata为0xcd并赋值修改该记录的子原码;

步骤d1-1:如果未轮询完成,继续执行步骤2-1;

步骤e1-1:预计rawlist信息为{(1,0xc1,0,0xcd),(3,0x2f,3,0x1e)};

3)如果需高低字节交换,rawlist的记录按高低字节交换子原码,预计rawlist信息为{(1,0xc1,0,0x1e),(3,0x2f,3,0xcd)}。

在进行高低字节交换之后,可以得到第一更新后的单字节处理单元集合。

对于生成第二更新后的单字节处理单元集合的具体执行过程,以下述步骤进行详细描述。

在本发明实施例的另一种优选实施例中,上述子步骤b2可以包括:

子步骤d1:创建临时子原码变量;

子步骤d2:提取各所述掩码和各所述更新后的子原码;

子步骤d3:按照预先申明的有效比特位次数,轮询各所述掩码的有效比特位;

子步骤d4:依据轮询结果,将所述临时子原码变量赋值到各所述更新后的子原码中;

子步骤d5:依据赋值结果,生成所述第二更新后的单字节处理单元集合。

在本发明实施例中,生成第二更新后的单字节处理单元集合的具体过程如下:

步骤1):轮询原码提取规则列表rawlist,提取掩码和各更新后的子原码值;

步骤a2-1:提取步骤当前列表记录precord中的掩码mask和子原码craw,如:0xc1、0x1e;

步骤b2-1:申明掩码后的子原码数值变量mvalue,默认值为0;

步骤c2-1:声明有效比特位次数n;

步骤d2-1:轮询record记录中mask{0xc1},提取craw{0x1e}中的有效数据,比特位轮询序号num的顺序为{0,1,2,3,4,5,6,7}步骤如下:

子步骤d2-11:声明操作变量toperand,默认赋值1;

子步骤d2-12:mask按num的比特位序号右移;

子步骤d2-13:toperand和mask相与,如果结果为1,表示该比特位有效,n加1,否则执行步骤d-1;

子步骤d2-14:craw右移num的比特位序号和toperand相与,其结果左移n-1和mvalue相或,结果赋值mvalue;

子步骤d2-15:如果mask的比特位未轮询完,继续执行步骤d-1;

步骤2):把mvalue赋值craw;

步骤3):预计rawlist结果为{(1,0xc1,0,0x0),(3,0x2f,3,0xd)}。

在进行了上述比特位移动,移动结果赋值之后,可以生成第二更新后的单字节处理单元集合。

对于生成遥测参数原码值的过程进行如下详细描述。

在本发明实施例的另一种优选实施例中,上述子步骤b3可以包括:

子步骤d1:申明遥测原码值;

子步骤d2:轮询所述原码提取规则列表;

子步骤d3:依据所述位移量,将各所述更新后的子原码向左移动;

子步骤d4:将所述移动后的子原码与所述遥测原码值相或,生成所述遥测参数原码值。

在本发明实施例中,生成遥测参数原码值的具体执行过程如下:

步骤1):申明遥测原码值finalraw,默认值为0;

步骤2):轮询原码提取规则列表rawlist,然后执行下述过程:

子步骤a:提取列表记录的子原码craw和位移量bshift,如:0xd,3;

子步骤b:把craw左移bshift后和finalraw相或;

子步骤c:预计rawvalue值为0x68;

子步骤d:如果未轮询完成,继续执行步骤a;

步骤3):预计最终遥测原码值为0x68;

实施例二

参照图2,示出了本发明实施例提供的一种原码帧提取遥测原码值的装置的结构示意图,具体可以包括:

配置信息获取模块210,用于获取外部输入的遥测处理配置信息;单元集合生成模块220,用于对所述遥测处理配置信息进行格式化处理,生成单字节处理单元集合;其中,所述单字节处理单元集合包括字节偏移量、掩码、移位量、子原码;遥测原码生成模块230,用于依据各所述字节偏移量、各所述掩码、各所述移位量和各所述子原码,对所述原码帧进行处理,生成遥测参数原码值。

优选地,所述单元集合生成模块220包括:规则列表创建子模块,用于创建原码提取规则列表;偏移量及掩码提取子模块,用于按照所述遥测处理配置信息中各字节由低至高的顺序,从所述遥测处理配置信息中提取所述各字节对应的字节偏移量和掩码;列表记录生成子模块,用于依据各所述字节偏移量、各所述掩码和各所述子原码量,生成列表记录,并将所述列表记录存储于所述原码提取规则列表;规则列表轮询子模块,用于轮询所述原码提取规则列表,依据预先申明的位移统计量,并累计所述列表记录的各所述掩码的有效比特数量;单元集合生成子模块,用于将各所述有效比特数量赋值到当前记录的位移量,以生成所述单字节处理单元集合。

优选地,所述遥测原码生成模块230包括:第一单元集合生成子模块,用于依据各所述字节偏移量从所述原码帧中提取对应的初始原码值,并将各所述初始原码值存入对应的各所述子原码中,得到第一更新后的单字节处理单元集合;第二单元集合生成子模块,用于依据所述掩码对所述第一更新后的单字节处理单元集合中的子原码进行运算处理,并将运算结果值更新至所述第一更新后的单字节处理单元集合中的子原码中,得到第二更新后的单字节处理单元集合;遥测原码值生成子模块,用于依据所述移位量对所述第二更新后的单字节处理单元集合中的子原码进行移位合并处理,生成所述遥测参数原码值。

优选地,所述第一单元集合生成子模块包括:字节数据提取子模块,用于轮询所述原码提取规则列表,依据所述字节偏移量提取所述原码帧中的字节数据;更新子原码生成子模块,用于在需要进行高低字节交换的情况下,将所述字节数据赋值到所述列表记录的子原码中,生成各更新后的子原码;比特交换子模块,用于在需要进行高低比特交换的情况下,对各更新后的子原码进行高低比特交换;第一更新单元集合生成子模块,用于依据交换结果,生成所述第一更新后的单字节处理单元集合。

优选地,所述第二单元集合生成子模块包括:子原码变量创建子模块,用于创建临时子原码变量;更新子原码提取子模块,用于提取各所述掩码和各所述更新后的子原码;有效比特位轮询子模块,用于按照预先申明的有效比特位次数,轮询各所述掩码的有效比特位;变量赋值子模块,用于依据轮询结果,将所述临时子原码变量赋值到各所述更新后的子原码中;第二更新单元集合生成子模块,用于依据赋值结果,生成所述第二更新后的单字节处理单元集合。

优选地,所述遥测原码值生成子模块包括:遥测原码申明子模块,用于申明遥测原码值;规则列表轮询子模块,用于轮询所述原码提取规则列表;子原码移动子模块,用于依据所述位移量,将各所述更新后的子原码向左移动;遥测参数原码值生成子模块,用于将所述移动后的子原码与所述遥测原码值相或,生成所述遥测参数原码值。

对于装置实施例而言,由于其与方法实施例相对应,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

本发明说明书中未作详细描述的内容属于本领域技术人员的公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1