[发明专利]CCSDS体制卫星遥测包分类提取方法、系统及介质有效
申请号: | 201911102051.4 | 申请日: | 2019-11-12 |
公开(公告)号: | CN110932929B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 闫蕾;吴扬 | 申请(专利权)人: | 上海卫星工程研究所 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04B7/185 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ccsds 体制 卫星 遥测 分类 提取 方法 系统 介质 | ||
1.一种CCSDS体制卫星遥测包分类提取方法,其特征在于,包括:
步骤一:获取卫星型号总体定义的遥测帧结构的特征属性及遥测包结构的特征属性;所述遥测帧结构的特征属性包括:帧同步字、帧长、帧识别字位置、帧识别字长度、首导头位置、首导头长度以及CRC校验字段长度;
所述遥测包结构特征属性包括:包识别字段长度、包长字段相对位置或包长字段在遥测包中的位置以及包长字段长度;
步骤二:获取需处理的目标遥测包所属的遥测帧类别属性及所有目标遥测包类别属性;所述目标遥测帧类别属性为目标遥测帧识别字;
所述目标遥测包类别属性为所有需要提取出的目标遥测包的包识别字;
步骤三:获取输入输出文件路径;
步骤四:根据获取的输入输出文件路径读入卫星原始遥测数据,并初始化当前文件处理位置为遥测数据起始位置;
步骤五:锁定一帧遥测帧;步骤5.1:从卫星原始遥测数据的当前文件处理位置开始,比对遥测帧同步字:若同步字不匹配,则进入步骤5.2继续执行;若同步字匹配,则进入步骤5.3继续执行;
步骤5.2:更新当前文件处理位置为下一位遥测字,返回步骤5.1继续执行;
步骤5.3:判断当前文件处理位置之后的数据长度是否大于遥测帧长:若是,则说明该为一帧遥测数据的开始,进入步骤六继续执行;若不是,则表明当前文件处理位置之后无有效遥测帧,数据搜索完毕,流程结束;
步骤六:锁定目标类别遥测帧;从当前文件处理位置开始,根据遥测帧识别字偏移位置、帧识别字长度属性,获取识别字,并判断是否与目标遥测帧标识字匹配:若不匹配,则说明该帧遥测不是目标遥测类别,直接跳过该帧数据,即从同步字位置处开始,跳过帧长长度的数据后,作为新的起始搜索位置,更新其为当前文件处理位置,返回步骤五继续执行;若标识字匹配,则说明该遥测帧即为目标类别的遥测帧,进入步骤七继续执行;
步骤七:判断遥测帧中是否包含上一帧中的后半包数据;根据遥测帧结构特征属性中的首导头位置、首导头长度,获取首导头的值,初始化当前遥测包区处理位置为首导头的值,并判断是否为0:若首导头值不为0,代表本帧中包含上一帧的后半包数据,首导头的值即为第一个完整遥测包在遥测包区的起始位置,则进入步骤八继续执行;若首导头值为0,代表本帧中不包含上一帧的后半包数据,第一个完整遥测包的起始位置为遥测包区的第0个字节,则进入步骤九继续执行;
步骤八:合并跨帧包数据;获取首导头字段之后,到首导头的值所代表的第一个遥测包位置之前的数据,即为上一帧的后半包数据;
将上一帧中的前半包数据和本帧的后半包数据合并成完整的遥测包,进入步骤十继续执行;
所述首导头字段,根据首导头位置、首导头长度获得,首导头字段的值即为遥测帧数据包区第一个遥测包的位置,且遥测帧数据包区紧跟在首导头字段后;
步骤九:从当前遥测包区处理位置处开始,根据遥测包特征结构属性,判断当前遥测包是完整包,还是跨帧遥测包的前半包数据;以遥测包特征结构属性中的包长字段相对位置、包长字段长度属性,作为判断的依据,判断包长字段的结束位置是否超出了从当前遥测包区处理位置之后的包区数据长度:
若包长字段的结束位置超出了从当前遥测包区处理位置之后的包区数据长度,表明包数据中不包含、或未完全包含包长字段,并且当前遥测包为遥测帧的最后一个遥测包,则直接将当前遥测包区处理位置之后的剩余包区数据作为下一帧的前半包数据,获取该前半包数据,并将当前文件处理位置更新为本遥测帧之后,即直接跳过帧长长度的数据后,作为新的起始文件搜索位置,返回步骤五继续执行,循环搜索下一个遥测帧;
若包长字段的结束位置未超出当前遥测包区处理位置之后的包区数据长度,则获取包长字段的值得到包长,根据包长判断当前遥测包区是否为完整遥测包:若不是完整包,表明当前遥测包为遥测帧的最后一个遥测包,将剩余数据作为下一帧的前半包数据临时存储,并将当前文件处理位置更新为本遥测帧之后,即直接跳过帧长长度的数据后,作为新的起始文件搜索位置,返回步骤五继续执行,循环搜索下一个遥测帧;若为完整遥测包,则根据遥测包特征结构属性中的包长字段相对位置、包长字段长度属性,获取包长数据,得到本遥测包的包长,进入步骤十继续执行;所述包长字段的结束位置为包长字段相对位置加包长字段长度;
步骤十:判断遥测包是否为目标遥测包;根据遥测包识别字长度,获取本遥测包的识别字,并判断是否为目标遥测包:若是目标遥测包,则进入步骤十一继续执行;若不是,则根据包长,跳过本包数据,即将当前遥测包区处理位置更新至包长字节后,并返回执行步骤九继续执行,循环搜索下一个遥测包。
步骤十一:将定位到的目标类别的遥测包,从当前遥测包区处理位置开始,获取包长字节长度的数据,即为该遥测包的全部数据,进入步骤十二继续执行;
步骤十二:根据获取到的输出路径,判断路径下是否有该目标遥测包类对应的数据存储文件:若无,则新建一个以该类别名称命名的文件,若有,则直接将遥测包数据写入文件中;
步骤十三:将当前遥测包区处理位置更新为该目标遥测包之后,即直接跳过包长的长度,并返回步骤五继续执行,循环搜索下一个遥测包。
2.根据权利要求1所述的CCSDS体制卫星遥测包分类提取方法,其特征在于,所述步骤三:
所述输入输出文件路径包括:
卫星原始遥测数据文件路径、分类提取到的所有类别的遥测包数据的存储路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海卫星工程研究所,未经上海卫星工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911102051.4/1.html,转载请声明来源钻瓜专利网。