GB/T 42578-2023 北斗剖分时间码(正式版)_第1页
GB/T 42578-2023 北斗剖分时间码(正式版)_第2页
GB/T 42578-2023 北斗剖分时间码(正式版)_第3页
GB/T 42578-2023 北斗剖分时间码(正式版)_第4页
GB/T 42578-2023 北斗剖分时间码(正式版)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS33.070.40国家市场监督管理总局国家标准化管理委员会IGB/T42578—2023 1 13术语和定义 1 2 25.1时间和历法系统 25.2北斗剖分时间码的分类与形式 25.3时间间隔的定位 2 26.1位序号的约定 26.2结构组成 36.3时间范围 3 37.1通用时间记录的日期时间信息输入 37.2精密时间记录的时间信息输入 47.3北斗剖分时间码日期时间信息输入的说明 58北斗剖分时间码的编码方法 58.1通用时间记录型BTC的标识域P和多粒度时间域T 58.2精密时间记录型BTC的标识域P和多粒度时间域T 78.3BTC的时间间隔域S 99北斗剖分时间码到日期时间信息的转换 9附录A(资料性)北斗剖分时间码形成的剖分概念 附录B(资料性)北斗剖分时间码编码示例 B.1日期时间信息到北斗剖分时间码的转换示例 B.2北斗剖分时间码到日期时间信息的转换示例 ⅢGB/T42578—2023本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中央军委装备发展部提出。本文件由全国北斗卫星导航标准化技术委员会(SAC/TC544)归口。本文件起草单位:北京大学、北斗伏羲中科数码合肥有限公司、中国人民解放军战略支援部队信息工程大学、北京旋极伏羲大数据技术有限公司。GB/T42578—2023北斗剖分时间码是采用二叉树结构对时间轴进行剖分的一种时间段表达代码,是对时刻表达方式的有益补充,具备时刻/时段标识的一致性。北斗卫星导航系统作为国家重要的空间信息基础设施,是国家时空大数据体系时间信息采集的最主要手段,将北斗剖分时间码作为以北斗卫星导航系统为代表的定位导航授时(PNT)体系的一种基本输出,为万事万物的时间段赋值,目的是在信息链的最前端实现时间段的统一标识和表达,快速形成全信息链时间数据的关联体系,从而为大数据条件下的各种应用提供更好、更便捷的时间信息基础服务。北斗剖分时间码与北斗网格位置码配合使用,可进一步提高时1GB/T42578—2023本文件规定了北斗剖分时间码的时间粒度选择和编码规则。本文件适用于北斗卫星导航系统终端时间信息的2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文本文件。GB/T39355—2020空间数据与信息传输系统时间码格式(ISO11104:2011,MOD)3.13.23.33.43.5GB/T39355—2020界定的以及下列术语和定义适用于本文件。长度认作为零的时间瞬间。时间标度timescalea)无歧义进行事件排序的系统。a)同一时间标度的两个时刻间的持续时间。b)时标上两点之差或者两个事件之间流逝的时间。时间粒度timegranularity时间分辨力timeresolution时间轴上能够分辨的最小时间间隔。单粒度时间编码single-granula仅采用最小时间粒度描述时间间隔信息的代码。2GB/T42578—20233.6采用多种时间粒度描述时间间隔信息的代码。3.73.8将有限范围内的时间信息剖分成多粒度时间,采用定长整数形式注:分为通用时间记录型BTC和精密时间记录型BTC两类,通用时间记录型BTC用于北斗应用型接收机、物联网、大数据等信息系统中的时间应用的记录方式;精密时间记录型BTC用于北斗系统及授时型接收机的高精度授时与精密计算应用的时间记录方式。4缩略语下列缩略语适用于本文件。BTC:北斗剖分时间码(BeiDousubdivisiontimecode)CST:中国标准时间(Chinastandardtime)MTC:多粒度时间编码(multi-granularitytimecode)STC:单粒度时间编码(single-granularitytimecode)UTC:协调世界时(coordinateduniversaltime)北斗剖分时间码采用的时间和历法系统如下:a)历法系统采用公历(见GB/T29842—2013)表示法;b)时间系统采用CST(见GB/T29842—2013)表示法,使用UTC作为参考时间标度,考虑闰秒校正。5.2北斗剖分时间码的分类与形式北斗剖分时间码按照类别可以分为通用时间记录型BTC和精密时间记录型BTC两种。北斗剖分时间码的形式为64位的二进制数。可采用二进制、十进制或十六进制来表示。按照时间轴先发生时间位置边界所对应的时刻。6北斗剖分时间码结构N位数据位序号的约定如图1所示。第一个位称之为位0(bo),紧接的位为位1(b₁),这样依次到位N—1(bN-1)。3GB/T42578—2023图1位序号的约定6.2结构组成北斗剖分时间码长度为64位,由标识域(P域)、多粒度时间域(T域)、时间间隔域(S域)组成,一个64位北斗剖分时间码结构如图2所示。TT域(43位)S域(20位)P域(1位)图264位北斗剖分时间码结构北斗剖分时间码结构中代码取值应满足下面要求:a)P域主要用作北斗剖分时间码类型的标识,占1位:1)0—-—通用时间记录类型;2)1——精密时间记录类型。注1:北斗剖分时间码通过扩展P域,支持更多的日期时间记录类型,例如支持国际地层委员会(InternationalCom-b)T域作为多粒度时间的二进制时间码,由43位二进制码组成,表示43种不同粒度的时间段信息,多粒度时间编码的定位位置同时也是S域中时间间隔记录的起点。c)S域作为时间间隔的二进制时间码,由20位二进制码组成,表示以T域中多粒度时间编码为起点时刻的时间间隔,记录了时间间隔中T域对应的时间粒度的计数。6.3时间范围北斗剖分时间码表示的时间范围(时间区间),符合图3的要求。T域的定位位置~(T域的定位位置+S域×T域对应的时问粒度)1T域时间段的粒度图3北斗剖分时间码表达的时间范围(时间区间)7日期时间信息的输入7.1通用时间记录的日期时间信息输入通用时间记录的北斗剖分时间码的日期时间信息输入有两种方式,一种是特定时间粒度的输入,另4GB/T42578—2023一种是时间间隔的输入。a)特定时间粒度的输入:特定时间粒度的日期时间输入如图4所示。年(yr)月(mon)秒(s)分(min)图4通用时间记录型BTC的日期时间信息输入字段说明:A代表年(yr)(可以用负数表示公元前),B代表月(mon),C代表日(d),D代表小时符,该日期时间信息的最小粒度是秒。当输入只到F、E…A截止,那么对应的日期时间粒度就分别是b)时间间隔的输入:时间间隔的输入为前后两个时间位置边界f时刻和e时刻,f、e的输分别如图4所示。7.2精密时间记录的时间信息输入间隔。a)特定时间粒度的输入:特定时间粒度的时间输入如图5所示。E:F.GE:F.G微秒(μs)分(nin)图5精密时间记录型BTC的时间信息输入字段说明:E代表分钟(min),F代表秒(s),G代表毫秒(ms),H代表微秒(μs),I代表纳秒(ns),分钟。b)时间间隔的输入:时间间隔的输入为前后两个时间位置边界f时刻和e时刻,f、e的输分别如图5所示。543位定长整数GB/T42578—202343位定长整数7.3北斗剖分时间码日期时间信息输入的说明日期时间信息输入可采用GB/T7408—2005第5章规定的输入形式或者用户自定义的其他输入形式,只要能提取出图4、图5中相关字段,则方法相同。输入日期时间是不定长的,其最高精度对应于时间信息的最小粒度。其他历法、时间系统中的日期时间信息,可通过GB/T29842—2013中规定的方法,采用UTC参考时间标度(使用闰秒校正),转换成公历和CST时间后,再进行输入。8北斗剖分时间码的编码方法8.1通用时间记录型BTC的标识域P和多粒度时间域T通用时间记录型BTC标识域(P)的编码:po=0。通用时间记录型BTC的多粒度时间域(T)的编码MTC生成步骤如下。a)将图4中代表年(yr)十进制数A(可以用负数表示公元前)转成定长的二进制数(A)₂,第一位采用补码方式,0表示公元后,1表示公元前;代表月(mon)十进制数B转成定长的二进制数(B)₂;代表日(d)十进制数C转成定长的二进制数(C)₂;代表小时(h)十进制数D转成定长的二进制数(D)₂;代表分钟(min)十进制数E转成定长的二进制数(E)₂;代表秒(s)十进制数F转成定长的二进制数(F)2,定长的位数如图6所示,A~F缺省的时候默认为0。位)的不同长度的二进制整数在位域上直接连接,形成43位的整数时间段编码STC,STC只能表示最小1s粒度下的时间段信息。注1:如果时间信息是公元前,转换时先不考虑年计数为负的问题,统一按照公元后的方式进行转换;转换结束后,得到43位的正整数后,直接取负得到一个有符号的43位整数。该整数表示的定长整数范围为-2²~2²—1,如图7所示,表示的时间范围为公元前65536yr1mon1d0h0min0s~公元公元前65536yr1mon1d0h0minOs~公元65,535yr12mon31d23h59min59s时间范围,最小时间粒度1s0/1补码A(-65536~65535)年17位B(1~12)月C(1~31)日l)(0~23)时E(0~~59)分F(0~59)秒4位5位5位6位6位图6通用时间记录型北斗剖分时间码生成过程中STC的位域分配情况 -2422-242-2420552-62¹-2⁴¹-32¹-22¹- 2-22²-图7通用时间记录型北斗剖分时间码生成过程中STC表达的整数范围c)STC经过转换形成可以同时表达剖分成43种时间粒度的定长时间段整数编码MTC。MTC最大的时间粒度为32768yr,最小的时间粒度为1s,具体包括42种不同的时间粒度,采用二进制编码的方式进行记录,如表1:1s、2s、4s…32s、1min、2min、4min…32min、1h4mon、8mon、1yr、2yr、4yr…32768yr、65536yr。该类型多粒度时间域对应的时间粒度与6GB/T42578—2023编码跨度见表1,形成MTC的时间剖分概念见附录A。表1通用时间记录型北斗剖分时间码的多粒度时间域所对应的时间粒度与编码跨度层级N时间粒度编码跨度层级N时间粒度编码跨度0—209715212232621444567894096842d)需要根据图4的输入形式,确定时间粒度的层级N:7)根据表1,其他方式输入N还可以为0~42。e)从STC转换成MTC的方法如下:1)将STC×2,得到中间值STCO按照公式(1)计算:STCO=STC<<1式中:STCO——变换后的单粒度时间编码中间值。7 2-2²-1GB/T42578—2023 2-2²-12)计算第N层级的编码中,0时刻对应的MTC(MTCO)按照公式(2)计算。MTCO=1<<(42—N)—1 (2)N——时间粒度的层级;MTCO——0时刻对应的MTC。3)计算多粒度时间域(T)对应的编码MTC按照公式(3)计算。MTC=(STCO>>(43—N))<<(43—N)+MTCO (3)N——时间粒度的层级;MTCO——0时刻对应的MTC;STCO——变换后的单粒度时间编码中间值。注2:“<<”和“>>”表示二进制位操作中的左移(×2)、右移多粒度时间域(T)对应的编码MTC表示的定长整数范围为-2²~24²—1,表示的时间范围为公元前32768yr1mon1d0h0min0s~公元32767yr12mon31d23h59min59s,可以表达表1中43种不同的时间粒度。8.2精密时间记录型BTC的标识域P和多粒度时间域T精密时间记录型BTC的多粒度时间域(T)的编码MTC生成步骤如下。a)将图5中代表分钟(min)十进制数E转成定长的二进制数(E)2,代表秒(s)十进制数F转成定长的二进制数(F)2,代表毫秒(ms)的十进制数G转成定长的二进制数(G)₂,代表微秒(μs)的十进制数H转成定长的二进制数(H)₂,代表纳秒(ns)的十进制数I转成定长的二进制数(I)₂,定长的位数如图8所示,E~I缺省的时候默认为0。位)的不同长度的二进制整数在位域上直接连接,形成43位的整数时间段编码STC,STC只能表示最小1ns粒度下的时间段信息。注1:如图9所示,表示的定长整数范围为0~2¹³-1,表示的时间范围为0ns~127m59s999ms999μs999ns。E(0~127)分F(0~59)秒7位6位G(0~999)ms10位10位10位图8精密时间记录型北斗剖分时间码生成过程中STC的位域分配情况 最小1ns粒度下形成的定长整数编码(单位:ns)图9精密时间记录型北斗剖分时间码生成过程中STC表达的整数范围c)STC经过转换形成可以同时表达剖分成43种时间粒度的定长时间段整数编码MTC。MTC最大的时间粒度为64min,最小的时间粒度为1ns,具体包括43种不同的时间粒度,采用二进8GB/T42578—2023多粒度时间域对应的时间粒度与编码跨度见表2,形成MTC的时间剖分概念见附录A。表2精密时间记录型北斗剖分时间码的多粒度时间域所时间粒度编码跨度时间粒度编码跨度0123456789842d)根据图5的输入形式,确定时间粒度的层级N:1)当输入的时间最小单位为“分”,根据表3,N=6。5)当输入的时间最小单位为“纳秒”,根据表3,N=42。6)根据表3,其他方式输入N还可以为0~42。e)从STC转换成MTC的方法如下:1)将STC×2,中间值STCO按照公式(1)计算;2)第N层级的编码中,0时刻对应的MTC(MTCO)按照公式(2)计算;3)多粒度时间域(T)对应的编码MTC按照公式(3)计算。多粒度时间域(T)对应的编码MTC表示的定长整数范围为0~24³—1,表示的时间范围为9GB/T42578—2023以表达表3中43种不同的时间粒度。注2:北斗剖分时间码可以通过扩充编码标识域的方式支持其他类型的日期时间编码,例如形成地质纪年的时间信息编码。地质纪年扩展类型的北斗剖分时间码,除了要增加标识域编码类型外,考虑到地质纪年的时间粒度都比较大,需要对北斗剖分时间码多粒度时间域所对应的时间粒度与编码跨度进行调整,参考国际地层委员会制定的《国际年代地层表》,增加万年(10,000yr,0.01Ma)、百万年(1,000,000yr,1Ma)、千万年(10,000,000yr,10Ma)、亿年(100,000,000yr,100Ma)等时间粒度,仿照表1和表3,采用2"方式补充中间的时间粒度,形成万年、百万、千万年、亿年的四次虚拟扩展,扩展方式类似附录A。当日期时间信息输入的是特定时间粒度,则时间间隔域(S)s₀S₁…$18819=00…01。当日期时间信息输入的是时间间隔,时间间隔为前后两个时刻边界:f时刻和e时刻,北斗剖分时间码时间间隔域(S)编码生成步骤:a)按照8.1和8.2的方法,根据f、e的输入确定两者对应的时间粒度层级N,取两者粒度最小的层级作为基础粒度层级No,应用于边界f、e,时间粒度大的时间信息扩充成时间粒度小的时示例:以起点日期时间信息公元2022年9月3日20时15分,终点日期时间信息公元2022年9月4日05时为例描述的过程分成三个步骤:1)f对应的时间粒度层级,根据表1为N=36。2)e对应的时间粒度层级,根据表1为N=30。3)两者粒度最小的层级作为基础粒度层级,则N₀=36,应用于边界e,形成e',e′描述的时间信息:公元2022年9月4日05时00分,而f′=f。虑闰秒校正,除以N₀对应的时间粒度△T,得到时间间隔域S编码,按照公式(4)计算。e′——基础粒度层级对应的日期时间终点;时间间隔可以通过跨度描述时间范围,对于通用时间记录型北斗剖分时间码,每一个时间间隔最大可以描述时间范围为0~32768×2²0yr,对于精密时间记录型北斗剖分时间码,每一个时间间隔最大可以描述时间范围为0~32×2²0min。日期时间信息到北斗剖分时间码的转换示例见附录B中B.1。将北斗剖分时间码转换到日期时间信息,具体的步骤如下。1)如果MTC是偶数,即MTC&.1=0,层次N=42;2)如果MTC是奇数,通过二进制异或运算计算中间变量M=(MTC-1)^(MTC+1),其目的是计算MTC-1和MTC+1前面高位有多少位是相同的,找这两个多粒度时间编码3)通过判断中间变量M左边有多少位是0,来确定多粒度时间编码MTC的层级N。c)根据MTC与时间粒度层级N,计算单粒度时间编码STC如式(5)所示。 (5)d)将单粒度时间编码STC按照图6和图8的方式进行拆解,得到层级N对应时间粒度(表1或1)如果S=(1)₁0,则该北斗剖分时间码为特定时间粒度的BTC,对应的日期时间为d)中e=S×△T+f则时间间隔的BTC对应的日期时间间隔为f~e。北斗剖分时间码到日期时间信息的转换示例见B.2。GB/T42578—2023(资料性)括三个方面的内容:a)虚拟扩展:在限定的时间域上(根据本文件约定的多粒度时间域T对应编码为43位,以通用时间记录型BTC为例,其对应的时间范围为公元前2¹⁵年~公元2¹⁵—1年),通过5次时间进1min扩展为64s,如图A.1所示。-65536—1.0.12016第16层2016-01第20层第25层2016-01-01第30层002016-01-01T00:00图A.1通用时间记录型北斗剖分时间码的5次时间进制扩展分,形成一个大至2¹6年时间尺度(0级)、小至1s级时间尺度(42级),共43层不同粒度的时间段组成的二叉树结构(如图A.2所示),从而构成一个多粒度、统一化的离散时间编码体系,利用二叉树的0-1方式进行二进制编码,形成特定粒度下(不同层级)单粒度时间编码STC。公元前32768年~公元32767年图A.2通用时间记录型BTC中的不同粒度层级二叉树剖分与STC编码GB/T42578—2023第1层0[-32768,—1]公元前32768年~公元前1年「0,32767]公元1年~公元32767年(公元0年不存在)时间b)第1层级的二叉树剖分与编码第0层第0层第1层[-32768,—16383]0[0,16383][16384,32767][-16384,—1]时间T00c)第2层级的二叉树剖分与编码d)第3层级的二叉树剖分与编码图A.2通用时间记录型BTC中的不同粒度层级二叉树剖分与STC编码(续)c)形成二叉树连续编码结构MTC:STC的编码方式在不同时间粒度对应的层级上,都会出现相同的编码形式,而多粒度时间编码MTC采用多种时间粒度对描述的时间段信息赋予代码,将一套整数编码按照二叉树的方式整体作用于不同时间粒度,因此在不同时间粒度对应的层级上,不出现重复的编码。MTC的编码思想是在STC的基础上,对二叉树的每一层及层与层之间的节点进行整体排序,并赋予整数代码,按照通用时间记录型BTC的MTC编码分为43种粒度(0~42层),不同粒度、不同大小的时间编码形成了图A.3中的二叉树连续编码结构。时间序列(<2¹个)图A.3通用时间记录型BTC中的不同粒度层级的二叉树结构与MTC编码GB/T42578—2023(资料性)北斗剖分时间码编码示例B.1日期时间信息到北斗剖分时间码的转换示例B.1.1示例说明北斗剖分时间码分为通用时间记录型BTC、精密时间记录型BTC两种,输入又存在特定时间粒度分输入形式进行编码。由于两种类型的BTC编码,仅仅是标识域(P)不同,因此下面案例以其中一种为例进行说明。以通用时间记录信息“公元2018年05月11日10:21:50”为例,将其转换成时间粒度B.1.2特定时间粒度的BTC生成基本步骤包括:a)标识域(P):日期时间信息“公元2018年05月11日10:21:50”是通用时间信息,则po=0。b)多粒度时间域(T):日期时间信息“公元2018年05月11日10:21:50”按照图4的形式进行输入,根据8.1的方式生成北斗剖分时间码的多粒度时间域(T)编码MTC,具体步骤:1)日期时间信息“公元2018年05月11日10:21:50”结合图6的STC位域分配方式,得到表B.1的分配情况。位(由高到低)含义存储值(十进制)二进制年(yr)00000011111100010月(mon)5日(d)时(h)分(min)秒(s)STC=(0000001111110001001010101101010010101110010)₂对应的十进制整数(135,448,143,218)₁0,十六进制(1F8956A572)H。3)根据日期时间信息“公元2018年05月11日10:21:50”的输入形式,根据表1,原始日期N=30,即时间信息“公元2018年05月11日10:21:50”的最小时间粒度取1h,则“:21:50”的时间信息将被舍去。4)将STC转换成MTC,具体包括:(1)STC0=STC<<1=(135,448,143,218)₁0<<1=(270,896,286,436)1GB/T42578—2023(2)MTCO=1<<(42—30)—1=(4095)10(3)MTC=(270,896,286,436)10>>(43—30)₁0<<(43—30)₁0+(4095)10=(270,896,287,743)10因此,日期时间信息“公元2018年05月11日10:21”转换成时间粒度为“1小时”的北斗剖分时间码BTC的多粒度时间域(T)对应的编码MTC为(270,896,287,743)₁0,写成二进制,即:MTC=(0000011111100010010101011010100111111111111)₂c)时间间隔域(S):输入的日期时间为特定时间粒度,时间间隔域(S)编码=(00000000000000000001)₂d)北斗剖分时间码(BTC):日期时间“公元2018年05月11日10时”转换成时间粒度为“1小(0000001111110001001010101101010011111111111100000000000000000001)₂用十进制表示为(284,055,345,816,403,969)10,用十六进制表示为(3F12AD4FFF00001)H。B.1.3时间间隔的BTC生成以时间间隔“公元2018年05月11日10时~公元2018年05月12日”为例,计算时间间隔的北斗a)时间间隔起点时刻f为公元2018年05月11日10时,根据表1,f的时间粒度为30层;时间间隔终点时刻e为公元2018年05月12日,根据表1,e的时间粒度为25层,两者最小粒度对应的层级为30层,因此形成基础粒度层级N₀=30,对应的时间粒度△T=1h。b)根据8.1的方法,起点时刻f对应时间粒度N₀=30时,有:2)多粒度时间域(T)编码MTC=(000001111l10001001010101101010011111111c)计算时间间隔域S的编码:S=(2018yr05mon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论