1. 引言
地震定位是确定地震发震时刻、经度、纬度、深度。通过不同站台接收到的P波与S波的到达时间以及时间差的一系列数学分析可以确定定位地震的震源与台站之间的关系,定位的结果可提供地震活动的重要信息,可通过定位了解震源环境,对了解地震有着重大意义 [1]。可通过定位了解震源环境,从而对地震发生的机制和成因增加认识,为地震灾害评估和地震预警提供比较可靠的信息,可以用于防震减灾 [2]。
目前地震定位还没有操作使用简单的、快速、便捷、呈现结果直观3D的可视化软件。我们研究的地震定位Matlab可视化可通过导入收集到的各个台站的位置和记录到的S波与P波到时(
与
)进行发震时刻计算和地震定位并用三维图像表示出来。我们主要完成了可视化界面回调函数的编写 [3]、界面设计,程序的测试。
2. 地震定位的原理
INGALADA算法地震定位
由于S波与P波传播速度不同 [4] ,根据S波与P波到时(
与
)的时差 [5] 与虚波速度(2.1) [6] [7] 的乘积得到台站到震源的距离(2.2)。由于有许多的站台接收到许多的S波与P波的不同的到时。同时震源与站台之间的的距离可以通过已知的站台坐标和假设的震源坐标之间的差值得到,联立方程得到震源的位置。因此发震时刻也可通过计算出的距离得到 [8] (2.3)。
虚波速度
(2.1)
(2.2)
(2.3)
由于发震时刻t0只取决于到时,所以t0的求解完全和震源求解独立,误差来源是到时读数误差,减少读数造成的误差,可以得到较为准确的t0 [9]。
3. 地震定位Mablat可视化
通过利用已知多个台站的方位坐标和各个台站接收到的初至震相时刻的数据总表经过数据处理转换成Matlab可以识别的格式运用INGALADA算法进行编程打开Matlab中GUI板块进行绘图可以直观的分别画出各个台站的经、纬度深度位置和震源位置的三维坐标轴中的经、纬度深度,以及发震时刻 [10]。
利用Matlab软件的GUI编辑器,选择模版,创建GUI程序文件,可以进行界面设计,选择控件,前台是可视化控件的界面设计,后台是代码控制编程界面。进行程序语言和界面控件的匹配以达到特定方法的可视化 [11]。控件和程序语言的匹配至关重要的,要想达到实现INGALADA算法的可视化,就应该符合INGALADA的运算方式,需要引入详细的数学公式。要进行地震定位首先要引入地震台站数据,地震数据为站台的方位坐标经纬度坐标和深度,我们需要将其转化成需要的笛卡尔横纵坐标。再根据地震波传播的时间与传播的速度点乘积获得地震波传播的距离可以估计震中距以台站为中心画出一个圆 [12] ,根据多个站台接收到的地震波到时与P波、S波到时差可以绘制多个圆,多个圆的交点有且确定的一个震源位置,在实际进行数学运算时,震中距
可以视为中间量,因此实际运算时求解震源位置时只需要台站位置,经纬度和深度。其中为了保证台站深度相差不大而造成动深度矩阵有奇异性 [13] ,我们要先求解
,
后解出
。最后我们需要在导入数据之前对定位控件进行回调函数编程,实现确定震源位置的目的,编程程序可以实现对可视化计算震源位置的简化,运用导入的数据,循环读取台站方位和P波、S波到时数据进行运算,获得震源数据。
由于台站方位数据和地震波数据同时可以进行震源发震时刻的计算,因此为了简化步骤,我们可以使用同时控件导入数据进行使用。发震时刻可以通过获得的震源位置数据进一步得到,因为已经计算了震源位置可以通过波的到时与到时差反推发震时刻。在设计时为了避免由于震源位置的计算错误而导致发震时刻的错误,发震时刻t0时只与P波与S波的到时时差有关。因此求取震源位置和发震时刻又相对独立,使数据更可靠 [14]。
3.1. INGALADA算法可视化
在Matlab程序设计中引入虚波速度用于计算震源到台站的距离,使中打开GUI模块,将到时实际时间导入Excel中设置按钮导入,设置函数可以自适应识别台站个数,导入数据为各个台站的经纬度以及P波、S波的到时(
、
),通过Matlab中GUI界面直观的呈现震源位置,经度、纬度、深度和发震时刻。INGALADA可视化界面如图1。
整个过程实现软件输入数据为Excel文件,包括台站读取的:P波、S波到时,各站台坐标
。分别输出:
1) 震源位置
(限制输出数据长度保留两位小数);
2) 发震时刻(t0) (限制输出数据长度保留两位)。
3.2. INGALADA可视化实现
INGALADA程序框图如图2。
下图展示实现地震定位的主函数程序框图,首先引入虚波速度得到台站距离,利用震源深度矩阵进行平均深度计算,得到震源位置后进行绘图,最后导出数据为震源的位置和计算得到的发震时刻。

Figure 1. INGALADA design interface
图1. INGALADA设计界面
运行结果展示如图3。
图3为ingalada可视化最后呈现的界面,在点击“导入地震测量数据”选中导入的Excel表格,点击“开始定位”,可视化界面右侧三维立体图中出现蓝色圆圈和红色三角形,其中蓝色的圆圈是各个台站的三维坐标表示出来的位置,红色的三角的计算出的震源的位置。三维立体图下显示的经纬度坐标和深度是震源的位置,显示的时间是震源发震时间 [15]。
4. 实例测试
为了测试该可视化界面的可行性和便捷性,我们进行了某次福建站台的地震定位的实例测试。
下表为具体为福建站台地震波(P波、S波)走时曲线图,图4。

Figure 4. P and S wave travel time curve
图4. P、S波走时曲线图
在进行程序测定时我们进行了实际数据测试,台站位置数据(经纬度,深度)和P波、S波走时进行试验。下表为P波、S波走时表,表1。

Table 1. P, S wave travel time data table
表1. P、S波走时数据表

Figure 5. Measured data results display diagram
图5. 实测数据成果展示图
获得了如图5,INGALADA可视化成果图。在拥有站台的和地震波走时数据得到地震震源位置和发震时刻。可以发现整个操作过程十分简便,用户只需要把走时数据和台站数据导入Ingalada算法可视化界面中即可出现三维立体图表示的台站位置和震源位置以及发震时刻,因此该方法进行可视化是简单易上手的。
5. 结论
相较前人的地震定位系统的设计,我们的地震定位系统更加的方便快捷,视图可以通过Matlab中的GUI界面实现更加直观,简便的立体呈现效果获得震源位置(经度、纬度和深度)和发震时刻。我们进行视图的三维呈现使得震源位置和台站位置更加直观,使用户可以直接根据图上坐标进行读数,或者直接在结果窗口查看结果,非研究领域的用户也可以迅速掌握。用户只需要在获得台站数据和地震波到时时差后导入数据,点击INGALADA可视化定位即可获得三维坐标震源位置和发震时刻,方便又快捷。在研究地震过程中,需要研究使用更快速简便的方式实现定位,可以使用INGALADA实现可视化,结果同时可以用于防震减灾,在进行震源定位后可以实现对震源的研究,获取更多的震源地质信息。
致谢
感谢江国明老师和钱荣毅老师对本次项目及笔者的关心和指导。两位老师在生活上也给予了许多建议。再次衷心地表示感谢。本项目使用参考了万永革教授提到的函数及数据,再次表示感谢。