金秀如,雍珊珊,王新安,龐瑞濤,韓朝相,曾敬武
(北京大學深圳研究生院 集成微系統科學工程與應用重點實驗室,廣東 深圳 518055)
地震前兆信號種類較多,包括地聲、電磁輻射、地溫、地應變、重力異常、地電阻率、地下化學成分等[1-2],這些前兆信號在很多歷史震例中都被儀器或動物或人所觀察到[3-4]。但是,至今還沒有一種或多種前兆信號被公認為是可信的、確切的地震發生的預測依據。
筆者認為,地震尤其是大地震的孕育和發生應該有顯著的多種前兆信號的出現,但是目前尚沒有一致的公認的前兆信號,可能是因為:
(1)由于地質結構不同,導致各地觀測到的地震異常信號的表現不一致。
(2)由于地震監測儀器的布設沒有覆蓋地震發生區域,導致獲得的地震異常信號不能系統完整地進行普適性分析。
(3)如果再考慮震源深度等因素,將會更加復雜,導致更多的不一致性。
為了解決上述問題,消除地質結構對監測信號的影響,需要加大地震監測儀器的布設密度,建立完善的監測網絡,捕捉完整的數據進行分析[5]。為此,提出了一種可以密集布設、成本低、易于安裝,無需人員看護,可無線/有線傳輸數據,可長期放置地下的多分量地震監測系統。
北京大學深圳研究生院集成微系統實驗室研制的多分量地震監測系統AETA由地聲傳感探頭[6-7]、電磁傳感探頭、數據處理終端以及云平臺數據存儲和分析系統組成,如圖1所示。

圖1 多分量地震監測系統AETA
地聲傳感探頭和電磁傳感探頭由傳感器、傳感器信號調理模塊、采集電路和傳輸電路組成,采用無磁不銹鋼的結構設計,埋設于地下2米或者山洞內,數據處理終端放置在室內。通過有線或者無線網絡將數據發送到云平臺進行存儲、分析、顯示等[8]。數據處理終端支持雙探頭連接,支持數據本地處理和存儲,支持遠程運維和訪問。通過對地震頻發區域密集布設該系統,實時對該地區的多種前兆信號在地震孕育的過程中的變化以及震前的突變進行監控,對地震孕育機制研究和地震預報有著重要的意義[9]。
多分量地震監測系統AETA的指標定義如下:
(1)地聲傳感探頭:監測頻段0.1 Hz~50 kHz,從次聲波、聲波到部分超聲波波段,靈敏度為3LSB/pa@0.1 Hz~50 kHz,18位分辨率,采樣率為低頻500 Hz,全頻150 kHz。
(2)電磁傳感探頭:監測0.1 Hz~10 kHz,0.1~1 000 nT較寬動態范圍的甚低頻、超低頻電磁波段,靈敏度為>20mV/nT@0.1 Hz~10 kHz,16位分辨率,采樣率為低頻500 Hz,全頻30 kHz。
該系統已經在云南、四川、西藏、河北、北京、廣東布設50多套,進行現場試驗研究。
地聲傳感探頭采集信號的頻率范圍為0.1 Hz~50 kHz,采樣率為150 kHz,采樣精度為16 bits的數字信號。1分鐘數據量是17.58 MB,1個小時數據量為1.03 GB,1天數據量為24.72 GB,1個月數據量(全文1個月均按照30天計算)為741.586 GB,那么1年的數據量(全文1年均按照365天計算)就是9 022.5 GB。要完整地保持全部原始信號,需要的帶寬和存儲資源近10 TB。
電磁傳感探頭采集信號的頻率范圍為0.1 Hz~10 kHz,采樣率為30 kHz,數據輸出為16 bits的數字信號。1分鐘數據量是3.43 MB,1個小時數據量是0.201 GB,1天數據量是4.83 GB,1個月數據量是144.84 GB,那么1年的數據量就是1 762.21 GB。要完整地保持全部原始信號,需要的帶寬和存儲資源近2 TB。
如果保存地聲傳感探頭和電磁傳感探頭一年的所有原始數據,需要的帶寬和存儲資源約12 TB,這給帶寬、存儲資源帶來了巨大的負擔,同時也極大地增加了成本。如何降低數據的傳輸和存儲要求,而又不影響數據觀測和分析,是必須權衡的問題。
經過現場試驗獲得的地聲和電磁原始數據,對比發現地聲數據和電磁數據均值的變化反映了地聲和電磁信號的變化均是一個分鐘級的變量,如圖2所示。

圖2 電磁和地聲信號的均值波形圖
因此,對于地聲和電磁全頻和低頻原始數據按照10分鐘進行一次時間窗口范圍內的數據截取,全頻原始數據每10分鐘抽樣1秒鐘的連續數據發送至云服務器,則每小時電磁和地聲全頻原始數據量為351.56 KB和1.72 MB,至此需要保存和發送的電磁和地聲全頻數據的數據量將變成約17.65 GB/年,大大減輕了帶寬和存儲的壓力。
來自探頭的原始數據為覆蓋監測頻段的全頻數據,為了關注低頻段數據的變化情況,對全頻原始數據進行低頻濾波獲得小于200 Hz的低頻數據,采樣率為500 Hz。時間窗口采用每10分鐘取連續1分鐘的全頻原始數據進行低頻濾波,然后發送至云服務器。低頻原始數據的數據量統計如下:
每10分鐘的數據量為58.59 KB,每小時數據量為351.56 KB,每天的數據量為8.24 MB,每月的數據量為247.2 MB,每年的數據量為2.94 GB。由于電磁和地聲探頭的低頻數據的采樣率均為500 Hz,所以數據處理終端需要發送至云服務器的低頻數據的總量是5.88 GB/年。
針對全頻電磁數據、全頻地聲數據均存在連續型、脈沖型,甚至階躍型的波動[10-12],為了便于分析人員進行更加直觀的異常分析工作,進一步對數據進行特征值提取。特征值包括均值、振鈴計數和峰值頻率提取(主頻率成分提取)。均值可標示信號能量值,振鈴計數可探測相對背景值的突發事件發生,峰值頻率提取可體現信號在頻域的變化。
由于特征值的數據量和運算量不大,對于計算資源、帶寬以及存儲的需求較小,所以對于特征值的提取既可以在數據處理終端上實現,也可以在云服務器上進行。在項目初期,采用數據處理終端對原始數據進行特征值提取的方式,然后再將特征值和原始數據一起發送到云服務器。在后續的數據觀測和分析過程中,發現各個臺站的信號背景值不一,在特征值提取時閾值設定不能采用統一的值。所以為了兼顧特征值提取的個性化實現,后續軟件版本均采用數據處理終端上傳原始數據到云服務器,云服務器對原始數據進行特征值的提取。
多分量地震監測系統的數據流如圖3所示。數據處理終端一方面將來自傳感探頭采集的原始數據按照時間窗口進行連續濾波獲得低頻數據,并上傳到云服務器;另一方面按時間窗口截取一段原始數據作為全頻數據上傳到云服務器;云服務器將原始數據保存的同時,分別計算低頻數據和全頻原始數據的特征值,然后保存至數據庫。下面扼要說明每一個環節的實現過程。

圖3 AETA系統的數據流圖
傳感探頭與數據處理終端均按照TCP/IP協議傳輸數據和命令[13-14],數據按照圖4所示的格式進行傳輸。其中Precode代表2個字節的前導碼0xffff,數據包的包頭Head包括2個字節探頭ID號,1個字節數據包序列號SeqNo,MSG_Type代表數據的類型,MSG_Len代表數據的長度,SumCheck代表對頭部數據進行和校驗值,MSG代表數據,CRC16_Check代表對數據進行計算產生的16位循環冗余校驗碼。
數據處理終端首先對來自探頭的數據進行解包分析,根據圖4的數據格式解包,獲得最原始的數據信息。數據處理終端第二步則是對來自探頭的全頻數據進行低通濾波[15],獲得0.1~200 Hz的低頻數據,該數據的采樣率為500 Hz,數據精度仍然為16位。低通濾波器的設計采用兩級濾波,對于地聲信號,第一級濾波首先將150 kHz采樣的信號進行3 kHz的低通濾波,然后降采樣至10 kHz,第二級濾波將10 kHz的采樣信號進行200 Hz的低通濾波,然后降采樣至500 Hz;同理電磁輻射信號,第一級濾波首先將30 kHz的采樣信號進行1 kHz的低通濾波,然后降采樣至3 kHz,第二級濾波首先將3 kHz的采樣信號進行200 Hz的低通濾波,然后降采樣至500 Hz。

圖4 傳感探頭與數據處理終端進行數據通信的數據格式
具體如表1所示。

表1 濾波參數
通過借助Matlab信號處理工具箱里專用的濾波器設計分析工具FDAtool來產生設計濾波器并獲得窗系數,具體步驟如下:
(1)在命令窗口鍵入FDAtool命令,啟動濾波器設計分析器,調出FDAtool界面;
(2)在Filter Type選項中選Lowpass,在Design Method中選擇FIR濾波器,接著在FIR中選擇Window(窗函數)法;
(3)在Filter Order中選擇Specify Order(指定階數),輸入數值為64;在Opitions框中選中“Scale Passband”;在窗類型(Window)下拉框選擇“Taylor”;
(4)在Frenquency Specification選項中,在fs(采樣頻率)、fc(通帶截止頻率)中分別鍵入相應的頻率值。
根據上述步驟得出窗系數,然后基于C++語言在Linux系統下實現濾波算法,并將算法實現封裝成通用的類[16-17]。
考慮到不同地區的網絡條件不同,部分地區的傳輸方式需采用無線傳輸。該方式受到流量成本的限制,所以根據各地運營商的流量資費情況,以2 GB/月的套餐作為基本標準。基于第二節的分析,原始數據的發送和保存采用了時間窗口抽取片段連續數據的方法,每個月數據處理終端發送至云服務器的總數據量為1.96 GB,低于流量套餐標準。因此,對于全頻原始數據,數據處理終端每10分鐘上傳1秒鐘的數據到云服務器,低頻原始數據則按照每10分鐘取1分鐘的低頻數據,然后上傳至云服務器。
數據處理終端在網絡通暢時,截取后的全頻和低頻原始數據將按照數據處理終端與云服務器的通信協議將數據打包發送至云端,數據格式如表2所示。當網絡中斷時,需要將數據保存在本地,當網絡恢復則會將本地存儲中的數據補傳至服務器,這里采用sd卡來存儲網絡異常期間的數據。
表2 終端與服務器通信的數據格式

幀頭消息幀尾前導碼長度版本幀類型幀號終端號幀頭校驗類型消息內容幀校驗
包由幀頭、消息以及幀尾組成。幀頭主要是該包的描述信息,其中前導碼為兩個字節的0xffff,長度代表的是整個包的字節長度,占4個字節,版本是該數據格式的版本,占一個字節,幀類型包括request幀、response幀、post幀以及ack幀,終端號是數據處理終端的ID;消息由消息類型和消息內容組成,消息類型包括登錄認證消息、時間同步消息、數據上傳消息等多種類型,消息內容就是向服務器發送的詳細內容;幀尾主要是給消息做16位循環冗余校驗的校驗碼,保證消息傳輸的正確性。
云端數據的處理包括均值、振鈴計數和峰值頻率的提取,具體算法為:
(1)全頻數據的均值計算是取10分鐘周期內的1秒鐘的數據對應的絕對值求平均,而低頻數據則是取10分鐘周期內1分鐘內的數據對應的絕對值求平均,主要是反映信號振幅的強弱;
(2)振鈴計數的計算是先設定一個閾值,然后再逐個數據點遍歷,當相鄰兩個數據點滿足前一個數據小于閾值后一個數據大于閾值,則振鈴計數就加1,振鈴計數反映了相對背景值的突發事件的發生;
(3)峰值頻率的提取首先利用蝶形算法對信號作快速傅里葉變換[18],得到信號的頻譜,再通過比較得出最大值,此處最大值的位置P即為頻譜峰值頻率點;再根據f=1/N*Fs*P(N為快速傅里葉變換點數,Fs為采樣頻率),可得出頻譜峰值頻率的實際值,而P所對應的幅值即為頻譜峰值幅值。這里全頻和低頻信號都采用8 192個點做FFT,所以頻譜的分辨率為Fs/N,即全頻信號為150 kHz/4 096=36.62 Hz,低頻信號的頻譜分辨率為500 Hz/4 096=0.12 Hz。
為了驗證該系統數據流的傳輸以及數據處理的正確性,搭建測試平臺。其中模擬探頭利用Visual C++基于MFC框架編寫的模擬產生對應采樣率下某個頻率的寬頻帶的正弦波數據的軟件[19]。通過在模擬探頭中設置對應的探頭ID號、傳感器編號、信號頻率、信號的最大值和最小值、一個數據包的點數以及發送的時間間隔,產生近似實際傳感器監測頻段范圍的信號,通過設置的參數理論上計算的結果和經過整個測試通路寫入數據庫的結果進行比較來判斷該系統的數據處理和傳輸的正確性。測試覆蓋了地聲和電磁原始數據的所有頻段,不同的幅值范圍,確保實現的正確性。表3給出了模擬電磁信號幾組測試數據以及測試結果。

表3 部分測試結果
通過表3可以看出,由于分辨率的影響,在誤差允許的范圍內,實際結果與理論結果相符,證明數據處理終端和服務器數據處理的正確性。
遠程監控和維護是通過服務器和數據處理終端的交互來完成的[20]。數據處理終端除了對探頭的數據做相應的處理之外,還對探頭的運行狀態、終端的運行狀態進行監控,并且支持遠程的系統維護。具體包括:
(1)傳感探頭應用程序和終端應用程序的版本升級。版本升級是系統運行過程中必不可少的,所以一個可靠的系統必須要能夠支持遠程的版本升級,AETA系統的升級主要涉及探頭應用程序的升級、數據處理終端應用程序的升級以及服務器應用程序的升級,由于服務器的升級在云端可以直接進行,在這里就不加以介紹。在數據處理終端運行了在線升級程序,該程序通過ftp協議從服務器下載應用程序文件到指定目錄下,通過升級程序可以下載任何需要升級的應用程序文件到運行目錄。同理探頭中也同樣運行了在線升級程序,通過ftp協議從數據處理終端下載探頭應用程序。由于通過ftp協議可以下載需要的任何文件,運維人員不僅可以升級應用程序同樣可以升級應用程序相應的配置文件[21]。如果只是對軟件的局部功能進行改進或者對存在的漏洞和缺陷進行修改,可以使用高質量的軟件補丁,而不是對整個程序代碼進行修改然后編譯生成二進制文件對舊文件進行覆蓋,重新啟動運行[22]。
(2)傳感探頭和數據處理終端的遠程重啟。通過服務器往終端發送命令,實現設備的遠程重啟。數據處理終端在與云服務器連接之后會每隔固定的時間向服務器查詢是否有需要執行的命令,如果運維人員想重啟數據處理終端,只要在數據庫中填寫相應的重啟命令然后加載到服務器上,數據處理終端就會獲得此條需要執行的命令并執行。同理如果需要給某個探頭重啟,數據處理終端得到待執行的命令后會發送給指定的探頭,探頭再去解析該命令并完成該命令執行。
(3)傳感探頭在線情況監控。相對于探頭來說,數據處理終端是一個并發的服務器,每當有探頭連接到終端,終端就會產生一條該探頭的連接日志并立刻將日志發送到云服務器,云服務器會實時將接收到的日志信息保存至數據庫。同時探頭連接到終端后會向終端發送自己的狀態信息,終端會將該狀態信息結合終端采樣的探頭工作電壓和電流進行整理然后發送到服務器,通過服務器就可以實時查看該探頭的運行狀態。同理如果某個探頭因為某種原因跟終端斷開了連接,終端會上報一條該探頭掉線的日志信息,終端就不會再向服務器上傳該探頭的狀態信息。通過日志和探頭狀態運維人員可以及時得知探頭是否運行正常。
(4)同理,通過狀態和日志機制,終端也可以實時向服務器上傳自己的工作電壓電流等運行狀態信息以及運行過程中產生的重要運行日志。由于狀態、日志以及命令機制是可擴展的,因此運維人員可以在服務器上查看到足夠的系統信息,有助于運維人員對故障的提前預防以及出現故障后及時查找原因。有了以上機制,運維人員可以對AETA系統進行遠程的監控和維護。
為了讓系統的監控和維護更加便捷化、信息化,平臺化,保證系統的安全穩定運行,正著手建設運維管理系統[23]。
介紹了多分量地震監測系統AETA的數據處理設計與實現,綜合考慮傳輸帶寬、存儲空間的限制,以及遠程監控和運維。在國家地震局的領導下,該系統已經在云南、四川、西藏、河北、北京、廣東布設50多套,進行現場試驗研究,目前運行良好并且已經積累了一定的數據,正在與地震相關專家一起進行數據的進一步分析工作。
[1] 鄭治真.我國前兆地聲的觀測與研究[J].地球物理學報,1994,37:251-260.
[2] 趙永紅,王 航,楊家英,等.地震預測方法II:評述[J].地球物理學進展,2014(2):630-637.
[3] 潘震宇,卓 群,劉仲達,等.水氡濃度和環境參數的分層神經網絡研究[J].地震地磁觀測與研究,2012,33(3):110-114.
[4] 褚慶忠,武 澤,邵先杰,等.地震重力異常形成機理及其在地震預報中的作用[J].地震工程學報,2014,36(1):201-206.
[5] SUZUKI M,SARUWATARI S,KURATA N,et al.A high-density earthquake monitoring system using wireless sensor networks[C]//Proceedings of the 5th international conference on embedded networked sensor systems.[s.l.]:ACM,2007:373-374.
[6] 林 科,王新安,張 興,等.一種適用于大地震臨震預測的地聲監測系統[J].華南地震,2013,33(4):54-62.
[7] 曾敬武,雍珊珊,鄭文先,等.適用于大地震臨震預測的地聲傳感單元[J].計算機技術與發展,2015,25(12):133-137.
[8] 范素娟,田軍鋒.基于Hadoop的云計算平臺研究與實現[J].計算機技術與發展,2016,26(7):127-132.
[9] FLORIDO E,MARTNEZ-LVAREZ F,MORALES-ESTEBAN A,et al.Detecting precursory patterns to enhance earthquake prediction in Chile[J].Computers & Geosciences,2015,76:112-120.
[10] 丁 丹,倪四道,田曉峰,等.地震相關的聲音現象研究進展[J].華南地震,2010,30(2):46-53.
[11] 朱 星.巖石破裂次聲探測技術與信號特征研究[D].成都:成都理工大學,2014.
[12] 錢書清,仁克新,呂 智.伴隨巖石破裂的VLF,MF,HF和VHF電磁輻射特性的實驗研究[J].地震學報,1996,18(3):346-351.
[13] 韓朝相,雍珊珊,鄭文先,等.基于FPGA的大地震前兆傳感信號采集模塊[J].計算機技術與發展,2015,25(12):1-5.
[14] LAKSHMAN T V,MADHOW U.The performance of TCP/IP for networks with high bandwidth-delay products and random loss[J].IEEE/ACM Transactions on Networking,1997,5(3):336-350.
[15] LEE E A,MESSERSCHMITT D G.Static scheduling of synchronous data flow programs for digital signal processing[J].IEEE Transactions on Computers,1987,36(1):24-35.
[16] 鄭 莉,董 淵,傅仕星.C++語言程序設計[M].北京:清華大學出版社,1999.
[17] 陳閎中.Linux在嵌入式操作系統中的應用[J].同濟大學學報:自然科學版,2001,29(5):564-566.
[18] COCHRAN W T,COOLEY J W,FAVIN DL,et al.What is the fast Fourier transform?[J].Proceedings of the IEEE,1967,55(10):1664-1674.
[19] 侯俊杰.深入淺出MFC:使用Visual C++ 5.0 & MFC 4.2[M].武漢:華中科技大學出版社,2001.
[20] BROWN S J.Networked system for interactive communication and remote monitoring of individuals:U.S.,5 997 476[P].1999-12-07.
[21] 趙衛績,劉井蓮.基于FTP協議的客戶端自動更新程序的設計與實現[J].科學技術與工程,2010,10(34):8591-8593.
[22] 姜 文,劉立康.應用軟件維護中的補丁開發與管理[J].計算機技術與發展,2015,25(11):11-16.
[23] 萬天翼.基于ITIL的運維管理系統的設計[J].數字技術與應用,2010(7):117-119.