吳華燈, 盧子晉, 葉世山
(1.廣東省地震局,廣州 510070;2.中國地震局地震監(jiān)測與減災(zāi)技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣州 510070;3.廣東省地震預(yù)警與重大工程安全診斷重點(diǎn)實(shí)驗(yàn)室,廣州 510070)
Altus記錄器事件文件格式分析及解碼的實(shí)現(xiàn)
吳華燈1,2,3,盧子晉1,2,3,葉世山1,2,3
(1.廣東省地震局,廣州510070;2.中國地震局地震監(jiān)測與減災(zāi)技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣州510070;3.廣東省地震預(yù)警與重大工程安全診斷重點(diǎn)實(shí)驗(yàn)室,廣州510070)
介紹了美國Kinemetrics公司Altus系列記錄器的事件文件格式,從解碼流程和解碼的程序?qū)崿F(xiàn)兩個(gè)方面闡述了事件文件解碼的實(shí)現(xiàn)過程,最后對解碼數(shù)據(jù)進(jìn)行了驗(yàn)證。驗(yàn)證結(jié)果表明:解碼數(shù)據(jù)是正確的,將為后續(xù)自動快速產(chǎn)出強(qiáng)震動參數(shù)、數(shù)據(jù)研究應(yīng)用、數(shù)據(jù)格式統(tǒng)一等相關(guān)工作提供可靠的數(shù)據(jù)源。
Altus;強(qiáng)震動;記錄器;事件文件;格式;解碼
吳華燈,盧子晉,葉世山.Altus記錄器事件文件格式分析及解碼的實(shí)現(xiàn)[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.]
我國“十五”期間建成的強(qiáng)震動觀測臺網(wǎng),大量使用了從美國Kinemetrics公司進(jìn)口的ETNA、K2強(qiáng)震動記錄器,將近1 500套,它們均屬于Altus系列。目前,我國強(qiáng)震動觀測臺網(wǎng)強(qiáng)震動記錄器種類較多、事件文件格式各異的現(xiàn)狀,給數(shù)據(jù)處理及研究應(yīng)用帶來諸多不便??紤]到作者開發(fā)的 “國家強(qiáng)震動臺網(wǎng)數(shù)據(jù)傳輸及監(jiān)控管理軟件”在第三版中要實(shí)現(xiàn)自動快速產(chǎn)出強(qiáng)震動參數(shù)以及在數(shù)據(jù)研究應(yīng)用上更加便捷、高效的需要,作者在陸續(xù)實(shí)現(xiàn)其它強(qiáng)震動記錄器事件文件解碼的基礎(chǔ)上,尚需繼續(xù)對Altus系列記錄器的事件文件進(jìn)行解碼[1-2],以期獲取可用的數(shù)據(jù)源,實(shí)現(xiàn)強(qiáng)震動參數(shù)的快速產(chǎn)出、強(qiáng)震動事件格式的統(tǒng)一等等。本文就Altus系列記錄器的事件文件格式展開分析并講解其解碼的實(shí)現(xiàn)過程。
1.1Altus系列記錄器簡要介紹
Altus系列記錄器由美國Kinemetrics公司生產(chǎn) ,包 括Etna、K2、Mt.Whitney、Makalu、SMARTS、QDR、SSA2EVT等系列型號。目前在我國強(qiáng)震動觀測臺網(wǎng)中使用的Altus系列主要有Etna 和K2兩款,均是早期性價(jià)比較高的強(qiáng)震動記錄器。Etna是K2的升級版本,K2在2007年后停產(chǎn),Etna則在2015年后停產(chǎn)。自2008年中國數(shù)字化強(qiáng)震動臺網(wǎng)正式運(yùn)行以來,這兩款記錄器在我國的多次大地震中記錄了大批量寶貴的數(shù)字化強(qiáng)震動記錄。
1.2Altus事件文件格式
Altus系列記錄器的事件文件格式的主體結(jié)構(gòu)是一樣的,僅僅在文件頭結(jié)構(gòu)FILE HEADER上存在細(xì)微的差別。主體結(jié)構(gòu)由四部分組成,分別是標(biāo)簽TAG、文件頭FILE HEADER、幀頭FRAME HEADER和數(shù)據(jù)區(qū),如圖1所示。標(biāo)簽TAG總是出現(xiàn)在文件頭和每個(gè)幀頭之前,即它是尋找文件頭和幀頭的標(biāo)志,其大小固定為16字節(jié)。所以,EVT文件的開始就是占 16個(gè)字節(jié)空間的標(biāo)簽TAG,第17個(gè)字節(jié)起就是文件頭,文件頭之后又是一個(gè)標(biāo)簽TAG,顯然其后就是幀頭FRAME HEADER,最后是數(shù)據(jù)區(qū)。文件頭FILE HEADER因記錄器的型號不同而存在著微小的差別。以ETNA、K2和Mt.Whitney為例,ETNA、K2記錄器的FILE HEADER是2 040字節(jié),而Mt.Whitney記錄器的是2 736字節(jié)。下面分別介紹各個(gè)結(jié)構(gòu)的細(xì)節(jié)。
圖1 Altus事件文件格式Fig.1 Altus event file format
1.2.1TAG結(jié)構(gòu)
TAG結(jié)構(gòu)主要由同步字符、字節(jié)序、文件格式版本、儀器類型代碼、結(jié)構(gòu)類型代碼、文件頭長度、數(shù)據(jù)長度、儀器系列號、校驗(yàn)和等九個(gè)成員組成,大小為16個(gè)字節(jié),如表1所示。
表1 TAG結(jié)構(gòu)Table 1 The TAG structure
1.2.2FILE HEADER結(jié)構(gòu)
Altus的頭文件比較復(fù)雜,主要由只讀參數(shù)roParms和讀寫參數(shù)rwParms兩個(gè)大結(jié)構(gòu)組成。只讀參數(shù)roParms結(jié)構(gòu)包括了儀器代碼instrumentCode、文件頭版本號headerVersion、文件頭大小 headerBytes三個(gè)自變量和雜項(xiàng)參數(shù)、GPS時(shí)鐘信息、通道記錄信息3個(gè)結(jié)構(gòu)變量。rwParms結(jié)構(gòu)包括了雜項(xiàng)參數(shù)、GPS時(shí)鐘信息、通道記錄信息、流信息和modem信息5個(gè)結(jié)構(gòu)變量,結(jié)構(gòu)組成如表2所示。需要注意的是,文件頭版本號headerVersion主要為K2和Mt.Whitney定義,K2有 100、110、130、140四個(gè)版本號,Mt. Whitney有120、150兩個(gè)版本號,這兩款儀器的文件頭類型由 headerVersion決定, 而 Etna、Makalu、SMARTS、SSA2EVT的文件頭類型則由儀器代碼 instrumentCode決定。Makalu對應(yīng)的instrumentCode是10,Etna2的是20,SMARTS的是30,SSA2EVT的是40。
表2 文件頭結(jié)構(gòu)Table 2 The FILE HEADER structure
1.2.3FRAME HEADER結(jié)構(gòu)
FRAME HEADER的大小為32字節(jié),第一個(gè)幀頭位于文件頭之后的TAG之后,其余的幀頭在后面每個(gè)TAG之后,由幀類型、儀器代碼、記錄器ID、幀大小、塊時(shí)間、通道位圖、流參數(shù)、幀狀態(tài)、幀狀態(tài)2、微秒、通道位圖1和時(shí)間代碼等12項(xiàng)組成,如表3所示。
1.2.4數(shù)據(jù)區(qū)
每一組TAG和幀頭后就是每一幀的數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)的數(shù)據(jù)歸屬哪個(gè)通道,取決于通道位圖channelBitMap和 channelBitMap1,bit0代表通道1,bit1代表通道2,bit2代表通道3,最多到24通道,數(shù)據(jù)區(qū)的大小可由偵頭的frameSize減去32得到。此外,可由frameStatus求得每個(gè)采樣點(diǎn)的字節(jié)數(shù),從而計(jì)算出每個(gè)掃描區(qū)的大小以及每一幀包含的掃描區(qū)數(shù)。數(shù)據(jù)的時(shí)間標(biāo)識由塊時(shí)間blockTime和msec共同決定。
表3 幀頭結(jié)構(gòu)Table 3 The FRAME HEADER structure
2.1解碼流程
Altus事件文件的解碼過程并不復(fù)雜,但比較繁瑣。根據(jù)圖1Aluts事件文件格式,第一步是讀取文件頭,首先讀取文件的第一個(gè)TAG,即文件頭前面的TAG。然后根據(jù)TAG的數(shù)據(jù)長度dataLength字段和文件頭長度length字段判斷是否是有效的文件頭TAG。如果是有效的文件頭TAG,則讀入文件頭的內(nèi)容,確定文件頭的版本類型,提取文件頭的各項(xiàng)信息。第二步是讀取幀頭,同樣先讀取幀頭前的TAG,出于嚴(yán)謹(jǐn),需要對同步字符sync作一個(gè)判斷,如果同步字符不等于‘K’,則文件僅僅包含一個(gè)文件頭,將不進(jìn)行后面的任何處理。否則是一個(gè)帶有數(shù)據(jù)的事件文件,需要從通道位圖channelBitMap中讀取通道數(shù)。最后一步是讀數(shù)據(jù)區(qū)的數(shù)據(jù),方法是逐個(gè)數(shù)據(jù)幀及數(shù)據(jù)幀中的每個(gè)掃描區(qū)的通道數(shù)據(jù)循環(huán)讀取,當(dāng)累計(jì)的掃描數(shù)大于數(shù)據(jù)總掃描數(shù)后結(jié)束數(shù)據(jù)讀取,解碼流程如圖2所示。
2.2解碼的程序?qū)崿F(xiàn)
在程序設(shè)計(jì)時(shí),首先需要對TAG、FILE HERDER、FRAME HERDER三個(gè)結(jié)構(gòu)和相關(guān)常量進(jìn)行定義,然后根據(jù)圖2的解碼流程,編寫程序?qū)崿F(xiàn)數(shù)據(jù)的解碼。由于程序代碼較長,受篇幅所限,僅將解碼的核心過程列舉如下:
圖2 解碼流程Fig.2 Decode flow
(1)讀第一個(gè)TAG。
(2)讀頭文件的內(nèi)容。
(3)讀幀頭的內(nèi)容。
(4)解碼數(shù)據(jù)區(qū)的數(shù)據(jù)
對于每一種記錄器事件文件解碼的結(jié)果,作者都會進(jìn)行嚴(yán)格的數(shù)據(jù)驗(yàn)證,本文也不例外。主要采用了數(shù)據(jù)文件的比較法。
數(shù)據(jù)文件的比較法是數(shù)值比較,即把廠家上位機(jī)軟件生成的數(shù)據(jù)文件與本文解碼出的數(shù)據(jù)文件進(jìn)行比較,只要有一個(gè)值不相等,均視為不正確,因此能保證解碼數(shù)據(jù)的正確性。如圖3所示,兩個(gè)文件比較的結(jié)果0:0字節(jié)差異、532249字節(jié)全部匹配。
圖3 文件比較Fig.3 File comparison
文章循序漸進(jìn)地講解了Altus記錄器的事件文件格式、解碼流程及解碼的程序?qū)崿F(xiàn),并驗(yàn)證了解碼數(shù)據(jù)的正確性,作為又一系列強(qiáng)震動記錄器事件文件解碼的實(shí)現(xiàn)的階段成果,將為后續(xù)自動快速產(chǎn)出強(qiáng)震動參數(shù)、數(shù)據(jù)研究應(yīng)用、數(shù)據(jù)格式統(tǒng)一等相關(guān)工作提供可靠的數(shù)據(jù)源。
[1]吳華燈,閆俊義,葉春明.Altus強(qiáng)震數(shù)據(jù)采集器實(shí)時(shí)數(shù)據(jù)流解碼的實(shí)現(xiàn)[J].華南地震,2010,30(S1):1-2.
[2]吳華燈,葉春明.TDE-324CI數(shù)據(jù)采集器強(qiáng)震實(shí)時(shí)數(shù)據(jù)流格式及解碼過程淺析[J].防災(zāi)科技學(xué)院學(xué)報(bào),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
中國地震局地震科技星火計(jì)劃項(xiàng)目(XH14038Y)
吳華燈(1980-),男,高級工程師,主要從事地震觀測研究和軟硬件開發(fā)工作.
E-mail:gdea_whd@aliyun.com.