商 亮,李 爽,王 征,張 闖,張 翔,王秀木
(撫順地震臺,遼寧 撫順113000;遼寧石油化工大學,遼寧 撫順113000)
?
基于MATLAB的前兆數(shù)據(jù)異常分析系統(tǒng)的研制
商 亮,李 爽,王 征,張 闖,張 翔,王秀木
(撫順地震臺,遼寧 撫順113000;遼寧石油化工大學,遼寧 撫順113000)
摘要:基于MATLAB編程,針對本地區(qū)多學科的固體潮觀測數(shù)據(jù)的異常情況,設計多種方法進行分析計算,以期對固體潮變化中的特殊形態(tài)等異常情況進行提取,并設計人性化交互界面,易于使用,減少出錯機會,多方面對觀測數(shù)據(jù)進行有效分析。
關鍵詞:MATLAB;固體潮;分析預報;軟件編程
地震預測的目的是對未來地震的發(fā)生時間、地點和震級作出判斷。為實現(xiàn)這一目標,在科學技術上必須基于兩點:一是對地震孕育、發(fā)生與震后全過程(簡稱地震過程)的觀測,以獲取地震孕育發(fā)生的信息;二是對觀測到的地震過程進行探索和研究,已揭示地震孕育發(fā)生的科學規(guī)律。這些就是通常所說的地震觀測的兩大基礎,即觀測與研究。二者密不可分,相互依存和滲透,相互轉化和推進,其中尤以觀測為基礎[1]。
我國地震學先輩傅承義先生說過“地震預測必須依據(jù)某種前兆”。而強震前的地震活動圖像,地震活動性參數(shù),地殼形變、磁場、電場、重力場等地球物理場變化,地下流體,氣象因子以及動物行為習性等即是對地震孕育發(fā)生過程的前兆的觀測內(nèi)容[1]。
遼寧地處華北和東北交錯的位置,地質構造復雜,多條、歷史上出現(xiàn)過大震的斷裂在此交匯,更有郯廬斷裂縱貫。而撫順地區(qū)處于遼寧的東北部,雖然地震發(fā)生次數(shù)很少,但多條斷裂在此“匯而不交”,如密山-敦化斷裂、依蘭-伊通斷裂,且周邊還有大洼、太子河等多條斷裂存在,是地震前兆信息觀測的優(yōu)質場所,該地區(qū)有前兆觀測臺站五個,為多測項綜合前兆觀測臺站。觀測手段有地下流體、地傾斜、短水準等共19個測項。觀測方式有模擬觀測和“九五”、“十五”數(shù)字化觀測。從前兆監(jiān)測臺站的分布看,撫順地區(qū)前兆臺站分布較均勻,且臺站多布設在斷裂帶附近,能夠及時捕捉到撫順及鄰區(qū)的主要構造活動信息。多年觀測資料表明,撫順地區(qū)前兆映震能力較強,前兆異常特點是以短臨異常為主[2-3]。
加之,近些年地震監(jiān)測預報設備的數(shù)字化改造等,產(chǎn)生了越來越多的數(shù)據(jù)資料,雖然為監(jiān)測預報工作人員提供了更加全面詳實的信息,同時也大大增加了分析預報工作人員的工作量和分析預測難度。因此,制作一個對前兆數(shù)據(jù)異常細節(jié)自動進行預識別、提供較清晰的短臨信息,努力簡化相關的計算過程,能夠進行簡單經(jīng)驗預測的前兆數(shù)據(jù)預分析判斷軟件已是當務之急。
我們通過查閱大量歷史分析資料和文獻,認為對于短臨異常的判定,較好的方法主要有“形態(tài)法”、“破年變異常分析”和“顯著特點”等。針對這種情況,我們假設固體潮的數(shù)據(jù)曲線只是單純的波形變化。那么,振動與波是橫跨物理學各分支學科的最基本的運動形式。盡管在各學科里振動與波的具體內(nèi)容不同,但在形式上卻有很大的相似性。通過振動的運動學定義方程,我們可知,它的主要參數(shù)有:振幅、周期、角頻率和相位。由此,我們設計對這幾個主要參數(shù)變化的特性進行分析的方法,來提取短臨異常信息[4]。
當今世界,MATLAB和Mathematica、Maple并稱為三大數(shù)學軟件。而MATLAB在數(shù)學類科技應用軟件中在數(shù)值計算方面應該算是首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
這種多層面、多功能集成的平臺,使得工程技術人員或分析預報人員既可以較為容易的完成自己的算法和程序,又不需要經(jīng)過大量計算機方面的培訓和學習,能夠更大程度上的將科學計算人員的精力集中在更為重要的分析研究工作上,而不必為了實現(xiàn)算法和程序、浪費大量的人力和物力。
該軟件是在MATLAB R2012b平臺下開發(fā)研制的,在該版本下設計開發(fā)的用戶界面易于使用,其運算速度和結果都能滿足地震前兆數(shù)據(jù)分析的需要。
1.1用戶界面設計
從結構上劃分,軟件可以分為兩大部分:前臺界面部分與后臺處理程序部分。前臺界面部分主要是圖形用戶界面(GUI)以及GUI啟動時相應的初始化工作。后臺處理程序主要負責數(shù)據(jù)的導入、分析、處理以及圖形顯示等工作。
1.1.1前臺界面
前臺界面部分主要由DataAnalyse.fig和DataAnalyse.m這兩個文件負責相關的工作。其中,DataAnalyse.fig文件主要負責軟件中各個控件的布局、控件屬性的設定、工具欄及菜單欄的設計,如圖1所示。
DataAnalyse.m文件的基礎結構由Matlab自動生成,之后在其基礎上完成用戶所定義的功能,其中,重要的函數(shù)為:
DataAnalyse_OpeningFcn,為界面的打開函數(shù),即當軟件打開時運行的函數(shù)。在此函數(shù)中主要完成的功能是清除軟件之前運行遺留的文件。
1.1.2后臺處理程序
后臺處理程序,可以分為四個子部分:數(shù)據(jù)導入、參數(shù)設定、分析計算和結果保存及繪圖,其執(zhí)行順序如圖2所示。
數(shù)據(jù)導入與處理部分:
負責將數(shù)據(jù)從外部導入到軟件中,并根據(jù)數(shù)據(jù)的特點,判斷其數(shù)據(jù)類型。
分析參數(shù)設定部分
根據(jù)用戶的需求設定分析的參數(shù)。
分析計算部分:
根據(jù)用戶導入的數(shù)據(jù)以及分析參數(shù),進行分析計算。
數(shù)據(jù)保存與繪圖:
保存分析結果,并根據(jù)要求進行繪圖。
1.1.3數(shù)據(jù)導入與處理
數(shù)據(jù)導入功能通過“開始導入”按鈕的回調(diào)函數(shù)完成。在“開始導入”按鈕控件的回調(diào)函數(shù)中,根據(jù)用戶文件的選擇情況,利用importdata函數(shù)讀取數(shù)據(jù)文件(觀測值文件或理論值文件)中的數(shù)據(jù)。
importdata函數(shù)負責將數(shù)據(jù)文件中的時間與數(shù)據(jù)讀入到Matlab中,并保存為Matlab可以處理的數(shù)據(jù)結構[5]。
1.1.4原始數(shù)據(jù)處理
由于在原始數(shù)據(jù)中會包含一些諸如“999999”這樣的分隔字符,所以,在原始數(shù)據(jù)文件導入到Matlab之后,需要對原始數(shù)據(jù)進行簡單的處理,處理函數(shù)為deal_with999999,其處理過程如下:
第1步,找到數(shù)據(jù)中開始出現(xiàn)“999999”的位置,并記錄;
第2步,判斷是否連續(xù)出現(xiàn)“999999”;如果是,則繼續(xù)向下尋找;如果否,則記錄下當前的位置。
第3步,對于出現(xiàn)“999999”的位置其數(shù)值使用相鄰的非“999999”位置數(shù)值構造等差數(shù)列的方式,替代它們之間“999999”位置上的數(shù)值。
重復執(zhí)行以上步驟,直到數(shù)據(jù)中所有的數(shù)值都為合法值為止。
1.1.5文件類型的判斷
在進行計算分析時,利用checkDataType函數(shù)(對應checkDataType.m文件)對文件的類型進行判斷,文件類型分為:日均值文件、整點值文件和分鐘值文件三類,其判斷依據(jù)是時間的表示方法。
1.1.6參數(shù)設定
對于參數(shù)設定的部分,將需要設定的參數(shù)分為兩大類:
第一類:用戶可在規(guī)定的若干個值中進行選擇。
第二類:參數(shù)的值由用戶給出。
對于第一類參數(shù),可以在GUI中采用下拉菜單的方式進行設計,對于第二類參數(shù),則需要由用戶輸入。
1.1.7分析類型設定
分析類型采用下拉菜單的設計方式,由用戶在給定的選項中進行單項選擇,如圖3所示。
1.1.8分析方法設定
與分析類型類似,分析方法也采用下拉菜單的設計方式,由用戶在給定的選項中進行單項選擇,如圖4所示。
步長等參數(shù)設定
對于類似步長這樣需要用戶給出的參數(shù)值,采用可編輯文本框的UI方式得到用戶的輸入值,如圖4所示。
1.1.9分析計算的總體流程
當用戶完成數(shù)據(jù)導入與參數(shù)設定之后,就可以進行分析計算,分析計算的函數(shù)總入口為“開始分析”按鈕的回調(diào)函數(shù),分析計算總入口函數(shù)名稱為ComputeMain。分析計算的總體流程如圖5所示。
1.2分析功能實現(xiàn)
將整個程序所在的文件夾拷貝進MATLAB工作文件夾下,在MATLAB R2012b的主程序界面下,Command Window下鍵入guide命令,在彈出的GUIDE Quick Start窗口下,選擇Open Existing GUI標簽,在其下面選擇,你所存儲程序文件夾下的DataAnalyse.fig后,點擊按鍵Open。之后點擊工具欄上的Run Figure,便可出現(xiàn)前兆數(shù)據(jù)異常識別系統(tǒng)的軟件主頁面。軟件主界面按照功能劃分,主要有數(shù)據(jù)選擇導入?yún)^(qū)、分析參數(shù)設置區(qū)、和繪圖區(qū)。
程序運行前需要準備好要分析的前兆數(shù)據(jù)各分量文件及其相應的理論固體潮文件。數(shù)據(jù)文件可以通過地震行業(yè)內(nèi)網(wǎng)中運行的前兆處理系統(tǒng)、MAPSIS等軟件進行下載。文件格式是第一列為數(shù)據(jù)時間,第二列為前兆數(shù)據(jù)值。
當軟件識別出所選擇的數(shù)據(jù)文件類型,將在界面上顯示出來,有分析人員確定是否將該種類數(shù)據(jù)進行導入。且所需分析方法的不同,也導致需要數(shù)據(jù)文件的情況有所不同,見下表。
表1 分析方法與所需文件
在進行計算分析后,繪圖區(qū)出現(xiàn)了計算結果圖形,我們可以通過工具欄的放大、縮小,進行數(shù)據(jù)檢查。
由于分析方法完成后,繪圖區(qū)會將實際觀測曲線以及一些計算結果同時顯示上去。那么對于在MATLAB的默認函數(shù)中是無法顯示最值的排序的。我們的方法是:
第1步,選擇Cursor,在繪圖區(qū)選中一個最值點;
第2步,右鍵選擇“Select Text Update Function…”,如圖所示。
第3步,選擇NewPrograms文件夾中ShowTimeLong.m這個文件。
之后,我們可以看到其顯示的數(shù)據(jù)發(fā)生了變化。
時間——前N大最值發(fā)生的時間;
數(shù)據(jù)——前N大最值的數(shù)值;
排序——數(shù)據(jù)的排序。
為了更好地收集計算分析出的結果,該軟件還會在計算數(shù)據(jù)時,在后臺同步生成相關的數(shù)據(jù)結果文件。結果文件中,會顯示該分析方法所使用的參數(shù)設定和計算結果的遞減排序,這樣更有利于后期更深入的分析。
通過對撫順地區(qū)各個觀測臺站的地傾斜、應變、動水位的等觀測數(shù)據(jù)進行不同時段、不同分量的對比分析,步長選擇為5日,進行繪圖,如下:
該軟件設計之初,就秉著設計簡潔、易于修改、簡便操作等方便分析預報人員使用的特性,進行設計、編程。在程序中,有很多參數(shù)、計算公式、算法和經(jīng)驗值等都是易于修改,且不影響其他計算和結果的,完全以人為本。在這種思路的基礎上,完成的程序,擁有更加靈活、便捷、能以實際情況為準進行調(diào)整等特性。這無疑為以后,將該軟件推廣使用研究,提供了足夠的空間。
參考文獻:
[1]馬宗晉,蔡晉安,陳會忠等.中國陸區(qū)大震預測途徑探索戰(zhàn)略研究[M].2014年5月第一版.北京:地震出版社,2014.5:113-148.
[2]焦明若,王海燕,曹鳳娟等.遼寧地區(qū)地震前兆指標與機理研究[M].2011年10月第一版.北京:地震出版社,2011.10:1-9.
[3]李祥根.中國地震運動構造[M].2010年3月第一版.北京:地震出版社,2010.3:209-212.
[4]周克昌,李輝,楊冬梅等.前兆臺網(wǎng)數(shù)據(jù)處理與評價方法理論模型[M].2011年11月第一版.北京:地震出版社,2011.11:111-113.
[5]江澤林,劉維.實戰(zhàn)MATLAB之文件與數(shù)據(jù)接口技術[M].2014年3月第一版.北京:北京航空航天大學出版社,2014.3:111-113.
DEVELOPMENT OF A MATLAB-BASED ANALYSIS SYSTEM FOR ABNORMALITIES IN PRECURSOR DATA
SHANG Liang,LI Shuang,WANG Zheng,ZHANG Chuang,ZHANG Xiang,WANG Xiu-mu
(1.Fushun Seismic Station,Liaoning Fushun 113000,China;2.Liaoning Shihua University,Liaoning Fushun 113000,China)
Abstract:It is a MATLAB-based programming designed to sort out special patterns and other abnormalities in the changes in earth tide,using various methods to calculate and analyze abnormal earth tide observations received from different disciplines;its user-friendly interface,easy to use and helpful in reducing the chances of mistake,will allow the observations to be effectively analyzed from different perspectives.
Key words:Earth tide;analysis and prediction;programming
作者簡介:商亮(1981-),男,河北省平泉縣人,2005年畢業(yè)于沈陽理工大學,本科,工程師,現(xiàn)主要從事地震監(jiān)測預報工作。E-mail:lnfssl@163.com
收稿日期:2015-09-26
修訂日期:2015-12-27
基金項目:中國地震局地震監(jiān)測、預測、科研三結合(編號1506087)
中圖分類號:P315.69
文獻標志碼:A
DOI:10.13693/j.cnki.cn21-1573.2016.01.015
文章編號:1674-8565(2016)01-0085-06