---
title: "用 P 波和 S 波到时给地震定位"
description: "P 波和 S 波到时之差给出震源距离。多个台站一起，用反复的线性最小二乘把震源位置、深度和发震时刻定下来。"
canonical_url: "https://sandboxphysics.com/zh/stories/seismic-imaging/locating-an-earthquake/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/seismic-imaging/locating-an-earthquake/"
last_modified: "2026-10-30"
---

[地震成像 · 边学边做实验](https://sandboxphysics.com/zh/stories/seismic-imaging/)

L2 · 第 4 章

# 用 P 波和 S 波到时给地震定位

一次地震有四个未知量：发震时刻，以及震源（破裂开始的那一点）的三个坐标。每个台站提供一个方程，即它的到时。这些方程对未知量不是线性的，所以标准做法是先猜一个位置，在猜测点附近把走时线性化，解一个小的最小二乘问题求出修正量，再重复。这就是 Geiger 在 1912 年提出的方法，美国地质调查局（USGS）的定位程序至今仍以它为核心。

Sandbox Physics · 2026-10-30

这一章

[查看八章课程](https://sandboxphysics.com/zh/stories/seismic-imaging/)

开始前

读过第一章，知道 P 波速和 S 波速；会求偏导数，了解最小二乘的正规方程。

## S 波与 P 波的到时差给出距离

P 波和 S 波同时离开震源。S 波慢，两者到时之差随距离增大，而且与地震何时发生无关。如果 S 波速等于 P 波速除以根号 3，P 波速 6 km/s 时，到时差每一秒大约对应 8.2 km 的距离。

一个台站同时读出两种到时，就能把震源限制在以它为中心的一个球面上。原则上，三个球面交于一点。可实际到时有误差，速度模型也从不精确，所以更好的办法是把所有到时同时用上。

$$
t_{\rm S}-t_{\rm P}=r\left(\frac{1}{\beta}-\frac{1}{\alpha}\right),\qquad r=\frac{t_{\rm S}-t_{\rm P}}{1/\beta-1/\alpha}
$$

## 在猜测点附近把走时线性化

Lee 和 Lahr 在 HYPO71 报告第 4.1 节概述了 Geiger 方法。先取一个试探的发震时刻和震源位置，对每个台站算出预测到时，再求残差：观测到时减预测到时（式 1）。

如果猜得够近，每个残差几乎就是四个小修正量的线性组合：发震时刻的修正，加上三个空间修正各乘以走时沿该方向的偏导数（式 2）。在均匀岩石中射线是直线，走时沿某个方向的偏导数，等于从震源指向台站的单位矢量在该方向上的分量取负号，再除以波速。

让残差平方和最小，得到四个正规方程（式 3 至 5）。解出修正量，更新试探解（式 6），反复迭代，直到修正量足够小。如果用 S 与 P 的到时差代替绝对到时，发震时刻就从方程里消掉了（式 7）。

$$
R_i=T_i-t_i\approx\delta t_0+\frac{\partial t_i}{\partial x}\delta x+\frac{\partial t_i}{\partial y}\delta y+\frac{\partial t_i}{\partial z}\delta z,\qquad \mathbf G^{\mathsf T}\mathbf G\,\delta\mathbf m=\mathbf G^{\mathsf T}\mathbf R
$$

## 深度和发震时刻互相牵扯

对于一次浅源地震，远处台站接收到的射线都以很低的角度离开震源。把震源往下移，每个台站的到时都推迟差不多同样一点，看起来几乎就像地震晚了一点才发生。矩阵中深度那一列和发震时刻那一列几乎平行，正规方程变得病态。

Lee 和 Lahr 点出了这个问题，并介绍了 HYPO71 的对策：逐步回归，每次迭代只调整数据能够确定的那些变量。定位实验用的是另一种常见办法，即 Levenberg–Marquardt 步：在矩阵对角线上加一小份阻尼，只有当完整的一步会让失配变大时才加大阻尼。

S 波到时比多加几个 P 波到时更管用。同一点发出的 S 波，到时随距离增加的斜率不同，能把深度和发震时刻分开。离震中很近的台站也有帮助，因为它收到的射线几乎是竖直离开震源的。

$$
\delta\mathbf m=\left(\mathbf G^{\mathsf T}\mathbf G+\lambda\operatorname{diag}\mathbf G^{\mathsf T}\mathbf G\right)^{-1}\mathbf G^{\mathsf T}\mathbf R
$$

完整例题

## 一个距离和矩阵的一行

用实验里的岩石：P 波速 6 km/s，S 波速为 6 km/s 除以根号 3，即 3.46 km/s。每千米的到时差是 0.289 秒减 0.167 秒，等于 0.122 s，倒数为 8.20 km/s。

某台站记录到 S 波比 P 波晚 3.00 s。震源距是 3.00 乘 8.20，即 24.6 km。如果震源深 10 km，震中离该台站 22.5 km，落在以台站为圆心的一个圆上。

再取试探震源位于地图原点正下方 10 km，台站在它正东 30 km。距离是 31.6 km，P 波走时 5.27 s。震源向东移 1 km，射线变短，所以东向偏导数是负的 30 除以 31.6 与 6 的乘积，即负 0.158 s/km。震源向下移 1 km，射线按深度与距离之比变长，深度偏导数是 10 除以 31.6 与 6 的乘积，即 0.0527 s/km。加上发震时刻那一列的 1，这个台站在矩阵中的一行是 1、负 0.158、0、0.0527。

$$
\frac{1}{1/\beta-1/\alpha}=8.20\ \mathrm{km/s},\quad r=24.6\ \mathrm{km};\qquad \mathbf G_i=\big(1,\ -0.158,\ 0,\ 0.0527\big)\ \mathrm{s/km}
$$

带着问题动手

## 先预测，再改变，最后解释

1. 在定位实验中先选“环形台网：椭圆很小”，再把 S 到时切换为“只用 P”。预测哪一个变大得更多：震中误差椭圆，还是深度不确定度？
2. 选择“只有 P 到时：深度松动”，把深度剖面与环形台网预设对比。
3. 用矩阵中深度列和发震时刻列的关系解释这个变化。

[给地震定位，再检验误差椭圆](https://sandboxphysics.com/zh/labs/earthquake-location/)

这些实验使用平坦、各向同性的弹性或声学岩石，波速是虚构但接近实际的数值，都不对应真实的观测。每个实验在模型说明里写明模型和适用范围，并可导出读数背后的数据。

## 试着自己解释

### 1. 某台站的时钟记录到 P 波在 10.0 s、S 波在 14.0 s 到达。用实验中的波速，求震源距和发震时刻。

展开答案与解释

到时差 4.0 s，震源距为 4.0 乘 8.20，即 32.8 km。P 波走时等于到时差除以波速比减一，即 4.0 除以 0.732，得 5.46 s，所以发震时刻是 10.0 减 5.46，即 4.54 s。

$$
r=4.0\times 8.20=32.8\ \mathrm{km},\qquad t_P=\frac{4.0\ \mathrm s}{\sqrt3-1}=5.46\ \mathrm s,\qquad t_0=10.0-5.46=4.54\ \mathrm s
$$

### 2. 为什么每个台站的残差都很小，也不能证明定位是对的？

展开答案与解释

残差是用假定的速度模型算出来的。一个错误的模型也可能把到时拟合得很好，同时把震源放在错误的地方。Lee 和 Lahr 特别提醒：残差和标准误差小，并不足以保证震源位置准确。

### 3. 所有台站都在地震的东边。震中哪个方向约束最差？为什么？

展开答案与解释

东西方向。所有射线都向东离开，震源东西移动时，各台站走时改变的量几乎相同，可以被发震时刻吸收。南北移动则会让不同台站的走时变化不同。

## 可以放在旁边读的来源

1. [MIT OpenCourseWare, 12.201 Essentials of Geophysics (Fall 2004), lecture notes, Chapter 4: Seismology](https://ocw.mit.edu/courses/12-201-essentials-of-geophysics-fall-2004/b78f19037066b01c0977aa9dda43b225_ch4.pdf)

   第 4.6 节把弹性波动方程分成 P 波和 S 波，并给出两者的波速（式 4.34 和 4.37）。第 4.14 至 4.16 节由 Fermat 原理推出 Snell 定律（式 4.91 至 4.96），并说明射线参数就是走时曲线的斜率（式 4.98）。第 4.19 节提到，走时层析中矩阵的元素就是射线在各小块里的长度。

2. [W. H. K. Lee and J. C. Lahr, HYPO71 (revised): a computer program for determining hypocenter, magnitude, and first motion pattern of local earthquakes, U.S. Geological Survey Open-File Report 75-311 (1975)](https://pubs.usgs.gov/of/1975/0311/report.pdf)

   第 4.1 节讲 Geiger 方法：把到时残差对发震时刻和三个坐标作一阶展开（式 2），解最小二乘正规方程（式 3 至 5），更新试探震源（式 6），然后重复。引言提醒：残差小、标准误差小，并不保证震源定得准。

3. [F. W. Klein, User’s guide to HYPOINVERSE-2000, a Fortran program to solve for earthquake locations and magnitudes, U.S. Geological Survey Open-File Report 02-171 (2002)](https://pubs.usgs.gov/of/2002/0171/pdf/of02-171.pdf)

   附录 4 用定位问题的特征值和特征向量乘上到时方差，构造 4 行 4 列的协方差矩阵，再取其中只含空间坐标的 3 行 3 列得到误差椭球。附录指出，椭圆随假定的到时误差缩放；真正的误差还要算上地壳模型本身的不确定度，而这几乎无法知道。

[上一章 P 波在岩层界面上怎样分配能量](https://sandboxphysics.com/zh/stories/seismic-imaging/mode-conversion-and-energy-flux/) [下一章 地震定位的误差椭圆，以及它没算进去的误差](https://sandboxphysics.com/zh/stories/seismic-imaging/error-ellipses-and-model-error/)
