Altus记录器事件文件格式分析及解码的实现

2016-10-14 07:42吴华灯卢子晋叶世山
华南地震 2016年2期
关键词:华灯记录器字节

吴华灯, 卢子晋, 叶世山

(1.广东省地震局,广州 510070;2.中国地震局地震监测与减灾技术重点实验室,广州 510070;3.广东省地震预警与重大工程安全诊断重点实验室,广州 510070)

Altus记录器事件文件格式分析及解码的实现

吴华灯1,2,3,卢子晋1,2,3,叶世山1,2,3

(1.广东省地震局,广州510070;2.中国地震局地震监测与减灾技术重点实验室,广州510070;3.广东省地震预警与重大工程安全诊断重点实验室,广州510070)

介绍了美国Kinemetrics公司Altus系列记录器的事件文件格式,从解码流程和解码的程序实现两个方面阐述了事件文件解码的实现过程,最后对解码数据进行了验证。验证结果表明:解码数据是正确的,将为后续自动快速产出强震动参数、数据研究应用、数据格式统一等相关工作提供可靠的数据源。

Altus;强震动;记录器;事件文件;格式;解码

吴华灯,卢子晋,叶世山.Altus记录器事件文件格式分析及解码的实现[J].华南地震,2016,36(2):20-24.[WU Huadeng,LU Zijin,YE Shishan.Analysis and Decoding of Altus Recorder Event File Format[J].South china journal of seismology,2016,36(2):20-24.]

0 引言

我国“十五”期间建成的强震动观测台网,大量使用了从美国Kinemetrics公司进口的ETNA、K2强震动记录器,将近1 500套,它们均属于Altus系列。目前,我国强震动观测台网强震动记录器种类较多、事件文件格式各异的现状,给数据处理及研究应用带来诸多不便。考虑到作者开发的 “国家强震动台网数据传输及监控管理软件”在第三版中要实现自动快速产出强震动参数以及在数据研究应用上更加便捷、高效的需要,作者在陆续实现其它强震动记录器事件文件解码的基础上,尚需继续对Altus系列记录器的事件文件进行解码[1-2],以期获取可用的数据源,实现强震动参数的快速产出、强震动事件格式的统一等等。本文就Altus系列记录器的事件文件格式展开分析并讲解其解码的实现过程。

1 Altus事件文件格式

1.1Altus系列记录器简要介绍

Altus系列记录器由美国Kinemetrics公司生产 ,包 括Etna、K2、Mt.Whitney、Makalu、SMARTS、QDR、SSA2EVT等系列型号。目前在我国强震动观测台网中使用的Altus系列主要有Etna 和K2两款,均是早期性价比较高的强震动记录器。Etna是K2的升级版本,K2在2007年后停产,Etna则在2015年后停产。自2008年中国数字化强震动台网正式运行以来,这两款记录器在我国的多次大地震中记录了大批量宝贵的数字化强震动记录。

1.2Altus事件文件格式

Altus系列记录器的事件文件格式的主体结构是一样的,仅仅在文件头结构FILE HEADER上存在细微的差别。主体结构由四部分组成,分别是标签TAG、文件头FILE HEADER、帧头FRAME HEADER和数据区,如图1所示。标签TAG总是出现在文件头和每个帧头之前,即它是寻找文件头和帧头的标志,其大小固定为16字节。所以,EVT文件的开始就是占 16个字节空间的标签TAG,第17个字节起就是文件头,文件头之后又是一个标签TAG,显然其后就是帧头FRAME HEADER,最后是数据区。文件头FILE HEADER因记录器的型号不同而存在着微小的差别。以ETNA、K2和Mt.Whitney为例,ETNA、K2记录器的FILE HEADER是2 040字节,而Mt.Whitney记录器的是2 736字节。下面分别介绍各个结构的细节。

图1 Altus事件文件格式Fig.1 Altus event file format

1.2.1TAG结构

TAG结构主要由同步字符、字节序、文件格式版本、仪器类型代码、结构类型代码、文件头长度、数据长度、仪器系列号、校验和等九个成员组成,大小为16个字节,如表1所示。

表1 TAG结构Table 1 The TAG structure

1.2.2FILE HEADER结构

Altus的头文件比较复杂,主要由只读参数roParms和读写参数rwParms两个大结构组成。只读参数roParms结构包括了仪器代码instrumentCode、文件头版本号headerVersion、文件头大小 headerBytes三个自变量和杂项参数、GPS时钟信息、通道记录信息3个结构变量。rwParms结构包括了杂项参数、GPS时钟信息、通道记录信息、流信息和modem信息5个结构变量,结构组成如表2所示。需要注意的是,文件头版本号headerVersion主要为K2和Mt.Whitney定义,K2有 100、110、130、140四个版本号,Mt. Whitney有120、150两个版本号,这两款仪器的文件头类型由 headerVersion决定, 而 Etna、Makalu、SMARTS、SSA2EVT的文件头类型则由仪器代码 instrumentCode决定。Makalu对应的instrumentCode是10,Etna2的是20,SMARTS的是30,SSA2EVT的是40。

表2 文件头结构Table 2 The FILE HEADER structure

1.2.3FRAME HEADER结构

FRAME HEADER的大小为32字节,第一个帧头位于文件头之后的TAG之后,其余的帧头在后面每个TAG之后,由帧类型、仪器代码、记录器ID、帧大小、块时间、通道位图、流参数、帧状态、帧状态2、微秒、通道位图1和时间代码等12项组成,如表3所示。

1.2.4数据区

每一组TAG和帧头后就是每一帧的数据区。数据区的数据归属哪个通道,取决于通道位图channelBitMap和 channelBitMap1,bit0代表通道1,bit1代表通道2,bit2代表通道3,最多到24通道,数据区的大小可由侦头的frameSize减去32得到。此外,可由frameStatus求得每个采样点的字节数,从而计算出每个扫描区的大小以及每一帧包含的扫描区数。数据的时间标识由块时间blockTime和msec共同决定。

表3 帧头结构Table 3 The FRAME HEADER structure

2 事件文件解码的实现

2.1解码流程

Altus事件文件的解码过程并不复杂,但比较繁琐。根据图1Aluts事件文件格式,第一步是读取文件头,首先读取文件的第一个TAG,即文件头前面的TAG。然后根据TAG的数据长度dataLength字段和文件头长度length字段判断是否是有效的文件头TAG。如果是有效的文件头TAG,则读入文件头的内容,确定文件头的版本类型,提取文件头的各项信息。第二步是读取帧头,同样先读取帧头前的TAG,出于严谨,需要对同步字符sync作一个判断,如果同步字符不等于‘K’,则文件仅仅包含一个文件头,将不进行后面的任何处理。否则是一个带有数据的事件文件,需要从通道位图channelBitMap中读取通道数。最后一步是读数据区的数据,方法是逐个数据帧及数据帧中的每个扫描区的通道数据循环读取,当累计的扫描数大于数据总扫描数后结束数据读取,解码流程如图2所示。

2.2解码的程序实现

在程序设计时,首先需要对TAG、FILE HERDER、FRAME HERDER三个结构和相关常量进行定义,然后根据图2的解码流程,编写程序实现数据的解码。由于程序代码较长,受篇幅所限,仅将解码的核心过程列举如下:

图2 解码流程Fig.2 Decode flow

(1)读第一个TAG。

(2)读头文件的内容。

(3)读帧头的内容。

(4)解码数据区的数据

3 解码数据的验证

对于每一种记录器事件文件解码的结果,作者都会进行严格的数据验证,本文也不例外。主要采用了数据文件的比较法。

数据文件的比较法是数值比较,即把厂家上位机软件生成的数据文件与本文解码出的数据文件进行比较,只要有一个值不相等,均视为不正确,因此能保证解码数据的正确性。如图3所示,两个文件比较的结果0:0字节差异、532249字节全部匹配。

图3 文件比较Fig.3 File comparison

4 结语

文章循序渐进地讲解了Altus记录器的事件文件格式、解码流程及解码的程序实现,并验证了解码数据的正确性,作为又一系列强震动记录器事件文件解码的实现的阶段成果,将为后续自动快速产出强震动参数、数据研究应用、数据格式统一等相关工作提供可靠的数据源。

[1]吴华灯,闫俊义,叶春明.Altus强震数据采集器实时数据流解码的实现[J].华南地震,2010,30(S1):1-2.

[2]吴华灯,叶春明.TDE-324CI数据采集器强震实时数据流格式及解码过程浅析[J].防灾科技学院学报,2011,13(4):61-66.

Analysis and Decoding of Altus Recorder Event File Format

WU Huadeng1,2,3,LU Zijin1,2,3,YE Shishan1,2,3
(1.Earthquake Administration of Guangdong Province,Guangzhou 510070,China;2.Key Laboratory of Earthquake Monitoring and Disaster Mitigation Technology,Guangzhou 510070,China;3.Key Laboratory of Guang Dong Province,Earthquake Early Warning and Safety Diagnosis of Major Projects,Guangzhou 510070,China)

The paper introduces the event file format of kinemetrics Altus series recorder,and describes the realization process of the event file decoding in two aspects from decoding flow and decoding procedure.The verification results show that the decoded data is accurate,which could provide reliable data source for subsequent automatic and fast produce strong motion parameters,data research and application,unified data format such as related work.

Altus;Strong motion;Recorder;Event file;Format;Decoding

P315.723

A

1001-8662(2016)02-0020-05

10.13512/j.hndz.2016.02.004

2015-06-30

中国地震局地震科技星火计划项目(XH14038Y)

吴华灯(1980-),男,高级工程师,主要从事地震观测研究和软硬件开发工作.

E-mail:gdea_whd@aliyun.com.

猜你喜欢
华灯记录器字节
No.8 字节跳动将推出独立出口电商APP
华灯上的变迁
华灯盛放话流年
华灯“体检”
No.10 “字节跳动手机”要来了?
简谈MC7字节码
汽车事故数据记录器数据规范及应用进展综述
列车车厢视频记录器的应用
航空百科(45)
每当华灯初放时