CN103490856B - 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 - Google Patents
用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 Download PDFInfo
- Publication number
- CN103490856B CN103490856B CN201310422759.4A CN201310422759A CN103490856B CN 103490856 B CN103490856 B CN 103490856B CN 201310422759 A CN201310422759 A CN 201310422759A CN 103490856 B CN103490856 B CN 103490856B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- module
- error
- synchronization character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法,所述系统包括依次连接的网络数据接收模块、同步字搜索模块、时间解码模块、数据码速率识别模块、数据有效率统计模块、数据纠错模块和文件存储与测站数据延迟仿真模块。本发明可通过以太网接收每个测站发送的Mark5B格式的数据并进行解码与纠错处理,然后按时间顺序恢复原始采样数据并分割存储为以秒为单位的文件,同时统计出每秒的数据有效率,在只有单个测站数据的条件下,还可利用单测站数据仿真其它测站数据,从而为多个应用软件提供正确统一的数据格式,并为这些应用软件提供数据质量参考,以便对数据进行有效的后续处理。
Description
技术领域
本发明涉及深空探测VLBI技术领域,尤其涉及一种用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法。
背景技术
甚长基线干涉测量(Very Long Baseline Interferometry,VLBI)是分辨率和测量精度极高的一种天文观测技术,已经在天文观测及深空探测等领域得到了广泛应用。
基于VLBI的中国VLBI网(Chinese VLBI Network,CVN)包括上海、北京、昆明、乌鲁木齐四个观测站。每个观测站的VLBI数据记录终端采用Mark5B+终端。Mark5B+终端会对接收到的数据进行格式化、打时间标签及纠错检验等编码,编码后的数据被划分为等长的数据帧,每帧数据包括一个帧头,每个帧头包含4个32比特的字(字0-字3),其后是2500个32比特的数据,共10016字节。Mark5B格式的数据帧头如表1所示:
表1
上述帧头的4个字分别包含如下信息:
字0:同步字;
字1:比特31~28:从2000年开始的年份信息;
比特27~16:用户自定义(如观测站ID);
比特15:测试向量标志T(T=1表示测试向量,T=0表示VLBI数据);
比特14~0:秒内帧号(当整数秒到来时,帧号从0开始);
字2~3:按甚长基线阵列(Very Long BaselineArray,VLBA)格式编码的BCD时间码及16比特循环冗余校验码(Cyclical Redundancy Check,CRC),其中‘JJJ’为简化儒略日的后三位,简化儒略日是一种天文学的历法,其起点是公元1858年11月17日的GMT(格林尼治标准时间)0时,例如,MJD=56293,对应的时间为2013年1月1日,JJJ=293。‘SSSSS’表示当前数据从当天0时0分0秒开始的秒数,即秒信息,‘.SSSS’表示数据帧的时间标签,其精度为10-4的秒值。
由于中国VLBI网数据处理中心的软件相关处理、相位校正信号提取、条纹搜索、多普勒频率测量等软件需要统一的数据格式才能工作,因此,必须对上述编码后的数据进行解码与纠错,包括可以将编码后的数据不存盘直接通过以太网发送到数据处理中心进行接收、解码与纠错,也可以先以专用的格式存储于自带的硬盘组后再通过以太网发送到数据处理中心进行接收、解码与纠错。
为此,目前迫切需要研发一种针对上述VLBI的Mark5B格式观测数据的接收、解码与纠错系统及方法。
发明内容
为解决上述现有技术存在的问题,本发明旨在提供一种用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法,以实现对任意时间段、任意码速率的Mark5B数据的接收、解码与纠错,并统计接收到的观测数据的有效率。
本发明之一所述的一种用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统,其包括依次连接的网络数据接收模块、同步字搜索模块、时间解码模块、数据码速率识别模块、数据有效率统计模块、数据纠错模块和文件存储与测站数据延迟仿真模块,所述时间解码模块还与所述数据纠错模块连接,所述文件存储与测站数据仿真模块还分别与所述网络数据接收模块以及同步字搜索模块连接,其中,
所述网络数据接收模块通过以太网接收外围输入的Mark5B数据,并将其存入数据接收缓冲区以确保该数据接收缓冲区有预设帧数的数据;
所述同步字搜索模块从所述数据接收缓冲区内的数据中逐个字节寻找同步字,当寻找到所述同步字时,指令所述时间解码模块对该同步字所在的一帧数据进行时间解码;否则指令所述网络数据接收模块重新接收数据放入所述数据接收缓冲区;
所述时间解码模块根据所述同步字所在的一帧数据帧头中的信息,解码出该帧数据的年、年积日、小时、分钟及秒钟信息,并判断该帧数据与上一帧数据是否为同1整秒数据,若为同1整秒数据,则指令所述数据纠错模块对该帧数据进行秒内错误类型判断与处理,否则指令所述数据码速率识别模块计算上1整秒数据的码速率,从而获得该码速率所对应的每整秒应包含的数据帧数;
所述数据有效率统计模块计算上1整秒数据中含有完整帧头的有效数据帧数在无数据错误时该整秒应包含的数据帧数中所占的比例,并指令所述数据纠错模块对所述同步字所在的一帧数据进行秒间错误类型判断与处理;
所述文件存储与测站数据延迟仿真模块将经过所述数据纠错模块纠错后的各帧数据剔除帧头后按时间顺序存储为以整秒为单位的文件,当需要进行测站数据延迟仿真时,该文件存储与测站数据延迟仿真模块采用一个测站的数据仿真其它测站的数据;所述文件存储与测站数据延迟仿真模块每次完成1帧数据存储后将判断所述数据接收缓冲区中的数据帧数是否大于1帧;若大于1帧,则指令所述同步字搜索模块继续在所述数据接收缓冲区内剩下的数据中搜索同步字;否则指令所述网络数据接收模块继续接收数据。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统中,所述数据接收缓冲区中数据的预设帧数为100帧。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统中,所述文件的文件名依次包括由2位字母表示的站名信息、由4位数字表示的年信息、由3位数字表示的年积日信息、由2位数字表示的小时信息、由2位数字表示的分钟信息以及由2位数字表示的秒信息。
本发明之二所述的一种基于上述用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统的接收解码与纠错方法,所述方法包括以下步骤:
步骤S1,所述网络数据接收模块通过以太网接收外围输入的Mark5B数据,并将其存入所述数据接收缓冲区以确保该数据接收缓冲区有预设帧数的数据;
步骤S2,所述同步字搜索模块从所述数据接收缓冲区内的数据中逐个字节寻找同步字,当寻找到所述同步字时,执行步骤S3;否则跳转回执行所述步骤S1;
步骤S3,所述时间解码模块根据所述同步字所在的一帧数据帧头中的信息,解码出该帧数据的年、年积日、小时、分钟及秒钟信息,并判断该帧数据与上一帧数据是否为同1整秒数据,若为同1整秒数据,则执行步骤S6,否则执行步骤S4;
步骤S4,所述数据码速率识别模块计算上1整秒数据的码速率,从而获得该码速率对应的每整秒应包含的数据帧数;
步骤S5,所述数据有效率统计模块计算上1整秒数据中含有完整帧头的有效数据帧数在无数据错误时该整秒应包含的数据帧数中所占的比例;
步骤S6,所述数据纠错模块根据所述时间解码模块或所述数据有效率统计模块的指令对所述同步字所在的一帧数据进行秒内错误类型判断与处理,或进行秒间错误类型判断与处理;
步骤S7,所述文件存储与测站数据延迟仿真模块将经过所述步骤S6处理后的各帧数据剔除帧头后按时间顺序存储为以整秒为单位的文件;当需要进行测站数据延迟仿真时,所述文件存储与测站数据延迟仿真模块采用一个测站的数据仿真其它测站的数据;所述文件存储与测站数据延迟仿真模块每次完成1帧数据存储后将判断所述数据接收缓冲区中的数据帧数是否大于1帧;若大于1帧,则跳转回执行所述步骤S2;否则跳转回执行所述步骤S1。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S1包括通过TCP/IP协议的流式套接字在IPv4和IPv6环境下实现网络数据接收。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,在所述步骤S1中,所述数据接收缓冲区中数据的预设帧数为100帧。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S2包括:将所述数据接收缓冲区中的数据从第一个字节开始逐个字节与十六进制的同步字比较,若与该同步字相同,则表示寻找到所述同步字,否则表示未寻找到所述同步字。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S3包括:根据所述同步字所在的一帧数据帧头中的简化儒略日最后三位数,或者根据所述同步字所在的一帧数据帧头中的简化儒略日最后三位数及设定的参考年份,计算出该帧数据的年信息;根据该帧数据帧头中简化儒略日最后三位数及该帧数据所在年第一天对应的简化儒略日最后三位数,计算出该帧数据的年积日信息;根据所述同步字所在的一帧数据帧头中的秒信息计算出该帧数据的小时、分钟及秒钟信息。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S4包括:预先创建一个包含若干预设码速率及其所对应的每整秒应包含数据帧数的表,每当1整秒数据处理完进入下1整秒时,记录上1帧数据的秒内帧号,并将其设为n,再通过计算所述表中各种预设码速率下秒内帧号n所对应的时间标签,并将该时间标签与所述上1整秒秒内帧号为n的数据帧头中的时间标签对比以寻找对应的码速率,从而根据所述表获得该码速率所对应的每整秒应包含的数据帧数。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S5包括:每当寻找到含有完整帧头的有效数据帧时,使一有效数据帧计数器加1,每当1整秒数据处理完进入下1整秒时,计算出上1整秒的数据有效率,并将所述有效数据帧计数器清零。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S6包括:根据所述同步字所在的一帧数据帧头中的秒内帧号、秒信息及CRC校验码,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并校验所述CRC校验码,以进行秒内错误类型判断与处理;根据所述同步字所在的一帧数据帧头中的秒内帧号、秒信息、CRC校验码及上1整秒数据的码速率,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并将上1整秒数据的最大帧号与上1整秒数据的码速率对应的每整秒应包含的数据帧数比较,以及校验所述CRC校验码,以进行秒间错误类型判断与处理。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,在所述步骤S6中,所述秒内错误类型包括:秒内缺帧、秒内帧号乱序,以及CRC错误;所述秒间错误类型包括:上1秒末不足帧且下1秒从0帧开始、下1秒不从0帧开始且上1秒足帧、上1秒末不足帧且下1秒不从0帧开始,以及CRC错误。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,所述步骤S6还包括:当所述秒内错误类型或秒间错误类型为CRC错误时,对所述同步字所在的一帧数据的处理为丢弃该帧数据;当所述秒内错误类型为秒内缺帧时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒内错误类型为秒内帧号乱序时,对所述同步字所在的一帧数据的处理为丢弃乱序的数据帧;当所述秒间错误类型为上1秒末数据不足帧且下1秒数据从0帧开始时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒间错误类型为下1秒数据不从0帧开始且上1秒数据足帧时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒间错误类型为上1秒末数据不足帧且下1秒数据不从0帧开始时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧。
在上述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中,在所述步骤S7中,所述文件的文件名依次包括由2位字母表示的站名信息、由4位数字表示的年信息、由3位数字表示的年积日信息、由2位数字表示的小时信息、由2位数字表示的分钟信息以及由2位数字表示的秒信息。
由于采用了上述的技术解决方案,本发明通过网络数据接收模块、同步字搜索模块、时间解码模块、数据码速率识别模块、数据纠错模块、数据有效率统计模块以及文件存储与测站数据延迟仿真模块这7个模块并通过以太网接收每个测站发送的Mark5B格式的数据并进行解码与纠错处理,然后按时间顺序恢复原始采样数据并分割存储为以秒为单位的文件,同时统计出每秒的数据有效率,在只有单个测站数据的条件下,还可利用单测站数据仿真其它测站数据,从而为多个应用软件提供正确统一的数据格式,并为这些应用软件提供数据质量参考,以便对数据进行有效的后续处理。
附图说明
图1是本发明的用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统的结构示意图;
图2是本发明用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法中解码时间信息的原理示意图。
具体实施方式
下面结合附图,给出本发明的较佳实施例,并予以详细描述。
如图1所示,本发明,即用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统,包括:依次连接的网络数据接收模块1、同步字搜索模块2、时间解码模块3、数据码速率识别模块4、数据有效率统计模块5、数据纠错模块6和文件存储与测站数据延迟仿真模块7,其中,时间解码模块3还直接与数据纠错模块6连接,文件存储模块7还分别直接与网络数据接收模块1和同步字搜索模块2连接。
上述系统的工作原理,即本发明的一种用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,包括步骤S1-步骤S7。
步骤S1,网络数据接收模块1通过以太网接收数据,并将该数据存入数据接收缓冲区(图中未示)以确保该数据接收缓冲区有预设帧数的数据,例如100帧。
具体来说,步骤S1是通过TCP/IP协议的LINUX操作系统流式套接字来实现的;套接字是支持TCP/IP网络通信的基本操作单元,可以作为不同主机之间的进程进行双向通信的端点;流式套接字(SOCK_STREAM)用于提供面向连接、可靠的数据传输服务;流式套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission ControlProtocol)协议。
在步骤S1中,网络数据接收模块1采用服务器—客户端模式和独立的数据发送端(图中未示)连接(即,网络数据接收模块1作为服务器,等待客户端,即数据发送端的连接),并利用流式套接字提供了一种高可靠性通信。
本发明中以预设大小的Mark5B数据作为一个基本单元进行处理,例如以100帧大小(每帧含10016字节)为基本单元,即,第一次通过以太网接收1001600字节数据,处理后,将多余零散数据(不足1帧的数据)放到数据接收缓冲区,下次通过以太网接收数据的大小为100帧大小减去缓冲区中未处理的字节数,这样即可保证每次都以1001600字节为一个基本单元进行处理。
本发明中,网络数据接收模块1的TCP/IP通讯协议设计了IPv4和IPv6两套实现方案,即,既能适应现有互联网工作环境IPv4,又能适应正在发展的下一代互联网工作环境IPv6。
步骤S2,同步字搜索模块2从数据接收缓冲区内的数据中寻找同步字,即,将数据接收缓冲区中的数据从第一个字节开始逐个字节与十六进制的同步字(0xABADDEED)比较,若和同步字相同,则表示找到同步字;当搜索到同步字时,则指令时间解码模块3对该同步字所在数据帧(即从该同步字开始的10016字节的数据)进行时间解码,即执行步骤S3;若在整个数据接收缓冲区中都未找到同步字,则指令网络数据接收模块1重新接收数据放入数据接收缓冲区中,即跳转回执行步骤S1。
步骤S3,时间解码模块3根据同步字所在数据帧头中的信息,解码出这帧数据的年、年积日、小时、分钟及秒钟等信息,并判断这帧数据与上一帧数据是否为同1整秒数据,若为同1整秒数据,则指令数据纠错模块6对该帧数据进行秒内错误类型判断与处理,即执行步骤S6(具体将在下文中描述),若非同1整秒数据,则指令数据码速率识别模块4进行工作,即执行步骤S4。
具体来说,由于本发明在最后存储经解码与纠错处理后的数据时,是以整秒为单位存储的,且文件名形如“XXyyyydddhhmmss.dat”,其中,‘XX’为站名,例如:SH(上海)、BJ(北京)、KM(昆明)、UR(乌鲁木齐);‘yyyydddhhmmss’依次表示4位年、3位年积日、2位小时、2位分钟和2位秒,例如“SH2013248015720.dat”表示上海站2013年9月5日UTC时间1时57分20秒的数据。因此,文件名中的时间信息需要从Mark5B格式的数据帧头中解码得到。
根据帧头中字2的秒信息(‘SSSSS’)可精确算出数据的时分秒(hhmmss)信息,年和年积日则要通过帧头中字2的简化儒略日(MJD)最后三位JJJ计算。由于JJJ所能表示的数值范围为000~999,因此,仅根据JJJ无法直接准确判断出年和年积日,这就需要一个已知时间作为参考。
由于待处理数据通常是最近3年由Mark5B+终端生成的,一般参考时间取系统当前时间所在年Yi第一天的MJD最后3位因此可得相对于Yi前两年第一天的MJD最后3位和以及后一年第一天的MJD最后3位此时,及均为已知量。值得注意的是,简化儒略日最后三位只能表示1000天(000~999),三年之内简化儒略日最后三位必有重复;例如图2所示,2011年前96天和2013年后96天的MJD最后三位重复,因此无法区分2011年前96天的数据和2013年后96天的数据,此时时间解码模块3处理2013年全年、2012年全年及2011年后面部分数据,总计1000天,其中,对应第Yi-2年,对应第Yi-1年,对应第Yi年;因此,只需找到JJJ在上述区间中的位置,就可以判断数据的年份Y,例如JJJ=958,则Y=2012;如JJJ=332,则Y=2013。此时,年份信息Y值已求得,然后根据数据帧头中的JJJ与Y年对应的JJJY就可求出年积日。
综上可知,为解决时间范围超过1000天数据的解码问题,只需在系统中输入参考年份,例如在2013年处理2009年的数据时,参考年份输入2009,时间解码模块3就可根据输入的参考年份和数据帧头中的简化儒略日最后三位计算出年积日,从而保证可解码任何时间段的数据。
另外,本步骤S3中“判断这帧数据与上一帧数据是否为同1整秒数据”的作用如下:
1、因为数据存储时以整秒为单位存储成不同的文件,所以需要判断是否为同1整秒数据,若为同1整秒数据则存放在同一个文件里,否则创建一个新文件进行存储。
2、每当1整秒数据处理完进入下1整秒时,需要计算数据码速率,即,每秒计算一次码速率,从而便于根据数据码速率算出1秒应该包含多少帧数据,进而判断上1整秒数据的帧数是否足够,若数据不够则需要补足(具体将在下文中描述)。
步骤S4,数据码速率识别模块4计算上1整秒数据的码速率,以确定上1整秒应该包含的数据帧数,从而便于后续判断该秒末尾是否有缺帧现象;当数据码速率识别模块4完成码速率的计算后,指令数据有效率统计模块5进行工作,即执行步骤S5。
具体来说,数据码速率可通过由Mark5B+终端为数据打上的时间标签及秒内最大帧号识别。
表2为不同码速率下的秒内帧号和时间的对应关系。从表2可直观的看到Mark5B+终端给不同码速率的数据所标记的秒内帧号,以及每帧数据对应的具体时刻。而Mark5B+终端给数据打上的时间标签则只精确到表2中具体时刻小数点后4位有效值,即Mark5B格式中的字段‘.SSSS’,且该有效值采用只舍不入的策略。
表2
如表2所示,当数据码速率较高时,不同码速率下的相同秒内帧号所对应的时间标签有时会相同,例如,在1024Mbps和2048Mbps码速率下的秒内帧号1所对应的时间标签均为0.0000,这就无法通过秒内帧号和时间标签识别码速率。但是当秒内帧号大于1时,表2中各种码速率下的相同秒内帧号所对应的时间标签均不同。因此根据这一条件,本实施例中的步骤S4中通过使用秒内最大帧号和时间标签来识别数据码速率。
在实现步骤S4时,首先创建一个包含若干所需码速率及其所对应的每整秒应该包含帧数的表(例如表3所示),每当1整秒数据处理完进入下1整秒时,读取上1帧数据的秒内帧号,即上1整秒的最大秒内帧号,设为n,再通过计算上述表中预设的各种码速率下秒内帧号n所对应的时间标签(帧号n对应的时间标签可以通过码速率计算,例如:码速率为256Mbps时,根据表3可知,1秒包含3200帧数据,则帧号n所对应的具体时间为而时间标签则是取该具体时间的小数点后的4位数),并将该时间标签与上1整秒的最大帧号n对应的数据帧头中实际的时间标签对比以寻找对应的码速率,从而根据上述表获得该寻找到的码速率所对应的每整秒应包含的数据帧数。
表3
当算出第1秒的数据码速率后,即可得到每整秒应包含的帧数N,之后每秒只需计算n/N(n为该秒的最大秒内帧号),得到的数与该秒最大帧(即秒内帧号为n的数据帧)的帧头中的时间标签比较,若相等则说明数据码速率未变,不需要重新查找码速率,否则需要重新查找码速率。
在处理其它码速率的数据时,需要适当修改码速率数组中的码速率,从而实现处理任何码速率的数据。
另外,当数据码速率已知且恒定不变时,输入该码速率对应的每整秒应包含的帧数,则不用查找码速率,直接使用输入的数据计算码速率。
步骤S5,数据有效率统计模块5计算上1整秒数据中有效数据帧数(根据有效数据帧计数器获得)所占的比例,即每当检查到含有完整帧头的有效数据帧时,有效数据帧计数器加1,每当1整秒数据处理完进入下1整秒时,计算出上1整秒的数据有效率,具体的计算公式为:上1整秒中有效数据帧数/上1整秒应该包含的数据帧数*100%;当上1整秒数据有效率统计完成后,指令数据纠错模块6进行工作,即执行步骤S6(即进行秒间错误类型判断与处理,具体将在下文中描述)。显而易见,通过数据有效率可看出这一秒数据的质量。
步骤S6,数据纠错模块6根据时间解码模块3或数据有效率统计模块5的指令进行秒内错误类型判断与处理,或进行秒间错误类型判断与处理,即当这1帧数据和上1帧数据是同1整秒数据时,进行秒内错误类型判断与处理;当这1帧数据和上1帧数据不是同整1秒数据时,则需进行秒间错误类型判断与处理;当完成数据纠错后,指令文件存储与测站数据延迟仿真模块7进行工作,即执行步骤S7,实现数据帧存储。
具体来说,本步骤S6的数据纠错的依据是这1帧数据帧头中字1中的秒内帧号、字2中的秒信息(‘SSSSS’)、字3的CRC校验码及每1新整秒开始时其上1整秒数据的码速率;根据同步字所在的一帧数据帧头中的秒内帧号、秒信息及CRC校验码,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并校验CRC校验码,以进行秒内错误类型判断与处理;根据同步字所在的一帧数据帧头中的秒内帧号、秒信息、CRC校验码及上1整秒数据的码速率,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并将上1整秒数据的最大帧号与上1整秒数据的码速率对应的每整秒应包含的数据帧数比较,以及校验CRC校验码,以进行秒间错误类型判断与处理。
各种错误类型及相应的处理方法如表4所示。
表4
错误类型 | 处理方法 |
CRC错误 | 丢弃该帧 |
秒内缺帧 | 用0补足缺失帧 |
秒内帧号乱序 | 丢弃乱序的帧 |
上1秒末不足帧且下1秒从0帧开始 | 用0补足缺失帧 |
下1秒不从0帧开始且上1秒足帧 | 用0补足缺失帧 |
上1秒末不足帧且下1秒不从0帧开始 | 用0补足缺失帧 |
其中,秒内错误类型包括表4中的“秒内缺帧”、“秒内帧号乱序”以及“CRC错误”,秒间错误类型包括表4中的“上1秒末不足帧且下1秒从0帧开始”、“下1秒不从0帧开始且上1秒足帧”、“上1秒末不足帧且下1秒不从0帧开始”以及“CRC错误”。由于VLBI相关处理需要进行精确的时间补偿和积分运算,因此对数据位丢失或插入非常敏感,而对数据状态发生反转并不敏感。因此,本发明中对数据缺失的处理方法是用0补足。
步骤S7,文件存储与测站数据延迟仿真模块7将经上述一系列处理后的各帧数据剔除帧头后按时间顺序存储为以整秒为单位的文件。
具体来说,当新1整秒开始时,文件存储与测站数据延迟仿真模块7关闭上1整秒文件,并打开新1整秒文件,同时命名为“站名+4位年+3位年积日+2位小时+2位分钟+2位秒”(由时间解码模块3解码出上述时间),并且将有效数据帧计数器清零;每次对1帧数据解码与纠错完成后,则写入文件中;每次完成写文件操作后,文件存储与测站数据延迟仿真模块7判断数据接收缓冲区中的数据是否大于1帧数据,若大于1帧数据,则指令同步字搜索模块2继续在数据接收缓冲区中剩下的数据中搜索同步字,即跳转至步骤S2;若小于1帧数据,则指令网络数据接收模块1继续接收数据,即跳转至步骤S1。
由于VLBI测站实际观测时动用的资源较多,观测实际耗费超过万元/小时,因此,在有些试验时,期望采用仿真方式,以某一测站的数据仿真其它多个测站数据,达到节约经费的目的。
为此,在本发明中,步骤S7还包括当需要进行测站数据延迟仿真时,可用某个测站(例如SH)数据仿真其它测站(例如BJ)数据,仿真所得的BJ站数据实际由经过指定时间延迟后的SH站数据构成,BJ站数据文件名中的时间信息将相对于SH站产生延迟,延迟时间为整秒。
例如:当用上海站数据仿真北京站数据时,假设上海站数据在文件存储时被命名为“SH2013248015720.dat”,用该秒数据仿真北京站数据时,可指定延迟时间,假设指定延迟5秒钟,则仿真所得的北京站数据文件将被命名为“BJ2013248015725.dat”。这样使得“SH2013248015725.dat”(即上海站2013年9月5日UTC时间1时57分25秒的数据)和“BJ2013248015725.dat”(即由上海站2013年9月5日UTC时间1时57分20秒的数据仿真所得)中的数据不同,从而对后续软件相关处理有帮助,其作用体现在做互相关处理将有意义,因为,如果不做延迟处理,经过仿真后从文件名称上看时间相同的两测站数据完全相同,做互相关处理的结果等于自相关的结果,互相关将无意义,而通过测站数据延迟仿真后的各测站数据做互相关处理将有意义。
综上所述,本发明实现了对任意时间段、任意码速率的Mark5B数据的接收、解码与纠错,并统计了每整秒数据的有效率,从而可广泛应用于深空探测VLBI软件相关处理、相位校正信号提取、条纹搜索、多普勒频率测量等软件。
以上所述,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所做的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。
Claims (14)
1.一种用于深空探测的Mark5B格式甚长基线干涉测量VLBI数据接收解码与纠错系统,其特征在于,所述系统包括依次连接的网络数据接收模块、同步字搜索模块、时间解码模块、数据码速率识别模块、数据有效率统计模块、数据纠错模块和文件存储与测站数据延迟仿真模块,所述时间解码模块还与所述数据纠错模块连接,所述文件存储与测站数据延迟仿真模块还分别与所述网络数据接收模块以及同步字搜索模块连接,其中,
所述网络数据接收模块通过以太网接收外围输入的Mark5B数据,并将其存入数据接收缓冲区以确保该数据接收缓冲区有预设帧数的数据;
所述同步字搜索模块从所述数据接收缓冲区内的数据中逐个字节寻找同步字,当寻找到所述同步字时,指令所述时间解码模块对该同步字所在的一帧数据进行时间解码;否则指令所述网络数据接收模块重新接收数据放入所述数据接收缓冲区;
所述时间解码模块根据所述同步字所在的一帧数据帧头中的信息,解码出该帧数据的年、年积日、小时、分钟及秒钟信息,并判断该帧数据与上一帧数据是否为同1整秒数据,若为同1整秒数据,则指令所述数据纠错模块对该帧数据进行秒内错误类型判断与处理,否则指令所述数据码速率识别模块计算上1整秒数据的码速率,从而获得该码速率所对应的每整秒应包含的数据帧数;
所述数据有效率统计模块计算上1整秒数据中含有完整帧头的有效数据帧数在无数据错误时该整秒应包含的数据帧数中所占的比例,并指令所述数据纠错模块对所述同步字所在的一帧数据进行秒间错误类型判断与处理;
所述文件存储与测站数据延迟仿真模块将经过所述数据纠错模块纠错后的各帧数据剔除帧头后按时间顺序存储为以整秒为单位的文件,当需要进行测站数据延迟仿真时,该文件存储与测站数据延迟仿真模块采用一个测站的数据仿真其它测站的数据;所述文件存储与测站数据延迟仿真模块每次完成1帧数据存储后将判断所述数据接收缓冲区中的数据帧数是否大于1帧;若大于1帧,则指令所述同步字搜索模块继续在所述数据接收缓冲区内剩下的数据中搜索同步字;否则指令所述网络数据接收模块继续接收数据。
2.根据权利要求1所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统,其特征在于,所述数据接收缓冲区中数据的预设帧数为100帧。
3.根据权利要求1所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统,其特征在于,所述文件的文件名依次包括由2位字母表示的站名信息、由4位数字表示的年信息、由3位数字表示的年积日信息、由2位数字表示的小时信息、由2位数字表示的分钟信息以及由2位数字表示的秒信息。
4.一种基于权利要求1的用于深空探测的Mark5B格式甚长基线干涉测量VLBI数据接收解码与纠错系统的接收解码与纠错方法,其特征在于,所述方法包括以下步骤:
步骤S1,所述网络数据接收模块通过以太网接收外围输入的Mark5B数据,并将其存入所述数据接收缓冲区以确保该数据接收缓冲区有预设帧数的数据;
步骤S2,所述同步字搜索模块从所述数据接收缓冲区内的数据中逐个字节寻找同步字,当寻找到所述同步字时,执行步骤S3;否则跳转回执行所述步骤S1;
步骤S3,所述时间解码模块根据所述同步字所在的一帧数据帧头中的信息,解码出该帧数据的年、年积日、小时、分钟及秒钟信息,并判断该帧数据与上一帧数据是否为同1整秒数据,若为同1整秒数据,则执行步骤S6,否则执行步骤S4;
步骤S4,所述数据码速率识别模块计算上1整秒数据的码速率,从而获得该码速率对应的每整秒应包含的数据帧数;
步骤S5,所述数据有效率统计模块计算上1整秒数据中含有完整帧头的有效数据帧数在无数据错误时该整秒应包含的数据帧数中所占的比例;
步骤S6,所述数据纠错模块根据所述时间解码模块或所述数据有效率统计模块的指令对所述同步字所在的一帧数据进行秒内错误类型判断与处理,或进行秒间错误类型判断与处理;
步骤S7,所述文件存储与测站数据延迟仿真模块将经过所述步骤S6处理后的各帧数据剔除帧头后按时间顺序存储为以整秒为单位的文件;当需要进行测站数据延迟仿真时,所述文件存储与测站数据延迟仿真模块采用一个测站的数据仿真其它测站的数据;所述文件存储与测站数据延迟仿真模块每次完成1帧数据存储后将判断所述数据接收缓冲区中的数据帧数是否大于1帧;若大于1帧,则跳转回执行所述步骤S2;否则跳转回执行所述步骤S1。
5.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S1包括通过TCP/IP协议的流式套接字在IPv4和IPv6环境下实现网络数据接收。
6.根据权利要求4或5所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,在所述步骤S1中,所述数据接收缓冲区中数据的预设帧数为100帧。
7.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S2包括:将所述数据接收缓冲区中的数据从第一个字节开始逐个字节与十六进制的同步字比较,若与该同步字相同,则表示寻找到所述同步字,否则表示未寻找到所述同步字。
8.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S3包括:根据所述同步字所在的一帧数据帧头中的简化儒略日最后三位数,或者根据所述同步字所在的一帧数据帧头中的简化儒略日最后三位数及设定的参考年份,计算出该帧数据的年信息;根据该帧数据帧头中简化儒略日最后三位数及该帧数据所在年第一天对应的简化儒略日最后三位数,计算出该帧数据的年积日信息;根据所述同步字所在的一帧数据帧头中的秒信息计算出该帧数据的小时、分钟及秒钟信息。
9.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S4包括:预先创建一个包含若干预设码速率及其所对应的每整秒应包含数据帧数的表,每当1整秒数据处理完进入下1整秒时,记录上1帧数据的秒内帧号,并将其设为n,再通过计算所述表中各种预设码速率下秒内帧号n所对应的时间标签,并将该时间标签与所述上1整秒秒内帧号为n的数据帧头中的时间标签对比以寻找对应的码速率,从而根据所述表获得该码速率所对应的每整秒应包含的数据帧数。
10.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S5包括:每当寻找到含有完整帧头的有效数据帧时,使一有效数据帧计数器加1,每当1整秒数据处理完进入下1整秒时,计算出上1整秒的数据有效率,并将所述有效数据帧计数器清零。
11.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S6包括:根据所述同步字所在的一帧数据帧头中的秒内帧号、秒信息及CRC校验码,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并校验所述CRC校验码,以进行秒内错误类型判断与处理;根据所述同步字所在的一帧数据帧头中的秒内帧号、秒信息、CRC校验码及上1整秒数据的码速率,通过将该帧数据帧头中的秒内帧号及秒信息与上1帧数据帧头中的秒内帧号及秒信息比较,并将上1整秒数据的最大帧号与上1整秒数据的码速率对应的每整秒应包含的数据帧数比较,以及校验所述CRC校验码,以进行秒间错误类型判断与处理。
12.根据权利要求4或11所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,在所述步骤S6中,所述秒内错误类型包括:秒内缺帧、秒内帧号乱序,以及CRC错误;所述秒间错误类型包括:上1秒末不足帧且下1秒从0帧开始、下1秒不从0帧开始且上1秒足帧、上1秒末不足帧且下1秒不从0帧开始,以及CRC错误。
13.根据权利要求12所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,所述步骤S6还包括:当所述秒内错误类型或秒间错误类型为CRC错误时,对所述同步字所在的一帧数据的处理为丢弃该帧数据;当所述秒内错误类型为秒内缺帧时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒内错误类型为秒内帧号乱序时,对所述同步字所在的一帧数据的处理为丢弃乱序的数据帧;当所述秒间错误类型为上1秒末不足帧且下1秒从0帧开始时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒间错误类型为下1秒不从0帧开始且上1秒足帧时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧;当所述秒间错误类型为上1秒末不足帧且下1秒不从0帧开始时,对所述同步字所在的一帧数据的处理为用0补足缺失的数据帧。
14.根据权利要求4所述的用于深空探测的Mark5B格式VLBI数据接收解码与纠错方法,其特征在于,在所述步骤S7中,所述文件的文件名依次包括由2位字母表示的站名信息、由4位数字表示的年信息、由3位数字表示的年积日信息、由2位数字表示的小时信息、由2位数字表示的分钟信息以及由2位数字表示的秒信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310422759.4A CN103490856B (zh) | 2013-09-16 | 2013-09-16 | 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310422759.4A CN103490856B (zh) | 2013-09-16 | 2013-09-16 | 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103490856A CN103490856A (zh) | 2014-01-01 |
CN103490856B true CN103490856B (zh) | 2015-04-01 |
Family
ID=49830839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310422759.4A Active CN103490856B (zh) | 2013-09-16 | 2013-09-16 | 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103490856B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873199B (zh) * | 2014-03-20 | 2017-04-05 | 中国资源卫星应用中心 | 一种高效容错的数据采集方法 |
CN113237492B (zh) * | 2021-04-27 | 2022-05-31 | 北京航天飞行控制中心 | 一种初相稳定性判定方法、存储介质及电子设备 |
CN113281078B (zh) * | 2021-06-10 | 2023-10-27 | 中国科学院上海天文台 | 用于多目标vlbi测轨验证的通用信号仿真方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100990741B1 (ko) * | 2008-11-26 | 2010-10-29 | 한국 천문 연구원 | 다중 주파수 밀리미터파 브이엘비아이 관측 수신 시스템 및이를 위한 준광학계 회로설계 방법 |
CN102081704A (zh) * | 2011-01-25 | 2011-06-01 | 中国科学院国家天文台 | 月球探测器科学探测仪器在轨运行注入数据的生成方法 |
CN102706322B (zh) * | 2012-04-28 | 2014-12-10 | 中国科学院国家天文台 | 月球激光高度计实时监视数据的处理方法 |
CN103179077B (zh) * | 2013-04-10 | 2016-05-11 | 安徽华东光电技术研究所 | 一种基带信号处理装置及其处理方法 |
-
2013
- 2013-09-16 CN CN201310422759.4A patent/CN103490856B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103490856A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220019503A1 (en) | Method and system for desynchronization recovery for permissioned blockchains using bloom filters | |
US20220141018A1 (en) | Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees | |
CN110012031B (zh) | 数据报文通用自动解析方法和存储方法 | |
CN105677686B (zh) | 一种道路编码方法及装置 | |
CN111865466B (zh) | 时间同步方法、装置、被授时设备和存储介质 | |
CN103490856B (zh) | 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法 | |
CN111008246B (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
US20220360350A1 (en) | Method and apparatus for acquiring timestamp of data stream, storage medium, and electronic apparatus | |
CN112887320A (zh) | 星历数据的处理方法、装置、设备以及存储介质 | |
CN113075710B (zh) | 定位差分信息获取方法、装置、设备及计算机存储介质 | |
CN102857333A (zh) | 对来自传感器网络的数据包进行同步的装置和方法 | |
CN104008080A (zh) | 串行数据解析方法和装置 | |
CN109765582A (zh) | 一种基于gnss的时间频率校准系统 | |
CN112182005A (zh) | 一种流水号生成方法及装置 | |
CN104270155A (zh) | 一种曼彻斯特码流接收抗干扰比特解析方法 | |
CN112765073A (zh) | 一种数据采样方法、系统、存储介质以及计算机设备 | |
CN116166640A (zh) | 全球导航卫星观测数据实时采集与管理方法及系统 | |
CN111858093B (zh) | 一种消息处理的方法、装置、设备及存储介质 | |
CN104935630A (zh) | 基于http的毫秒级时钟校准方法 | |
CN109033137B (zh) | 动态rinex数据存储方法及装置 | |
CN110932811B (zh) | 电子政务内网的网络时钟系统 | |
CN112363184A (zh) | 卫星信号模拟系统及方法 | |
CN109861792A (zh) | Bch码编码参数盲识别方法、译码方法及卫星通信装置 | |
CN113703013B (zh) | 信号处理方法、装置、系统以及计算机可读存储介质 | |
CN111600825B (zh) | 一种基于等间隔时间脉冲的同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |