Content uploaded by Jianguo Sun
Author content
All content in this area was uploaded by Jianguo Sun on Mar 08, 2016
Content may be subject to copyright.
[文章编号] 10012246X(2008)0220197206
[收稿日期] 2006 - 11 - 16 ; [修回日期] 2007 - 05 - 29
[基金项目]国家自然科学基金(40574052)及教育部骨干教师计划资助项目
[作者简介]韩复兴(1981 - ),男,陕西西安 ,博士生 ,主要从事地震波传播与成像方面的研究.
不同插值算法在波前构建射线追踪中的应用与对比
韩复兴1 ,2 , 孙建国1 ,2 , 杨 昊1 ,2
(11吉林大学地球探测科学与技术学院 ,吉林 长春 130026 ;
21国土资源部应用地球物理综合解释理论开放实验室 -波动理论与成像技术实验室 ,吉林 长春 130026)
[摘 要] 针对波前构建法射线追踪中遇到的波前非网格节点处速度及速度导数的插值问题 ,对比分析目前在
数字地形、数字导航中常用的几种插值算法 (邻近域、双线性、分片线性、二维三次卷积)的插值误差.并结
合波前构建法的特征 ,针对不同的插值算法 ,采取合理的程序设计思想 ,对同一模型应用不同的插值算法进行
射线路径和计算效率的对比.通过对比分析可以得出 ,在波前构建法射线追踪中应用二维三次卷积插值 ,不但
提高了射线路径的准确度 ,而且提高了射线追踪的效率 ,为下一步做偏移成像提供了精确的数据.
[关键词] 射线追踪;插值算法 ;波前构建;对比
[中图分类号] P631 [文献标识码 ] A
0 引言
波前构建法射线追踪是计算地震波旅行时和射线路径的一种快速算法[1] ,与其它算法相比[2 - 6] ,波前构
建法射线追踪具有无可比拟的优越性.它不但提高了射线在研究区的覆盖率、可以计算多值走时 ,而且不受
观测系统的限制 ,具有较强的适应性.我们知道 ,计算效率和速度直接影响着一种方法从理论走向实际应用 ,
因此 ,波前构建法对于 Kirchhoff 型叠前深度偏移和层析成像从理论到实际均有至关重要的意义.
正如任何事物都有正反两个方面一样 ,波前构建法的优点却给计算机实现带来了很多困难.其中最大的
困难在于如何解决好两类插值问题:①应用 Runge2Kutta[7 ] 法计算波前时 ,非网格节点处速度及速度在 x,z方
向上导数的插值问题;②从波前非规则网格向规则的矩形网格的插值.第一类插值问题与数字地形、数字导
航中遇到的插值问题似.目前在二维数字地形中常用的插值方法很多 ,主要有最邻近域插值、双线性插值、分
片线性插值、双立方 Hermite 插值法、二维三次样条插值法[8] 、二维三次卷积插值法[9] 、及更高的二维四次卷
积插值等.对于应用插值点周围 4个网点的插值算法 ,最邻近域插值 、分片线性插值法原理简单 ,但只能达到
一阶近似 ,误差大且不连续;双线性插值法和双立方 Hermite 只能达到二阶近似 ,且导数不连续 ,在网格节点
处不可导.对于应用插值点周围多于 4个网格点的插值算法来说 ,三次样条插值算法可达到三阶近似 ,且具
有连续的二阶导数 ,但是需要求解系数矩阵方程组 ,计算量十分庞大;二维三次卷积插值避开了三次样条插
值求解系数矩阵的问题 ,直接利用地形网格点存储矩阵进行插值 ,并能达到三阶近似 ,在网格节点具有连续
的一阶导数 ,但缺点是在网格点不能得到连续的二阶导数;二维四次卷积插值法在三次样条插值和三次卷积
插值的基础上 ,保证了三阶近似的精度 ,任意点具有连续的二阶导数 ,同时避免了利用追赶法求解系数矩阵
的问题 ,但是该方法采用插值点周围的 36 个网点进行计算 ,计算量十分庞大.
本文根据各种插值算法各自的优缺点 ,讨论其在波前构建法实现波前构建过程中的计算精度和计算速
度的对比分析.简单介绍波前构建法的理论基础 ,对几种常用的插值算法进行插值误差分析 ,并对比其在波
前构建过程中的设计思想 ,针对不同插值算法存在的优缺点 ,将其应用到波前构建过程中 ,对于不同的地质
模型 ,给出应用不同插值算法得到的计算结果和用时 ,并对其进行分析和讨论 ,以便在以后的实际应用中能
够选择一种有效的插值算法.
第25 卷 第 2期
2008 年3月计 算 物 理
CHINESE JOURNAL OF COMPUTATIONAL PHYSICS Vol . 25 ,No . 2
Mar. , 2008
1 波前射线追踪理论基础
三维运动学射线追踪系统(KRT: kinematic ray tracing)为常微分方程
dxi
dτ=v2pi, dpi
dτ= - v- 1 9v
9xi, i= 1 ,2 ,3 , (1)
其中 xi是位置坐标分量 ,v是速度矢量 ,pi是慢度矢量分量.在二维情况下 ,i= 1 ,2.
式(1)组成一个初值问题的常微分方程组 ,可以采用 Runge2Kutta 法来求解.
根据 2元4阶的 Runge2Kutta 计算公式 ,我们将方程(1)写为
λ(τ+Δτ)=λ(τ)+Δτ
6(K
λ
1+ 2 K
λ
2+ 2 K
λ
3+K
λ
4),
p
λ(τ+Δτ)=p
λ(τ)+Δτ
6(Lλ
1+ 2Lλ
2+ 2Lλ
3+Lλ
4),(2)
其中λ表示 x,z,
Δτ为时间步长 ,Kxi ,Kzi ,Lxi ,Lzi 为2元4阶的 Runge2Kutta 法的求解系数 ,这样我们就可以
计算整个网格内的射线路径和波前.
2 不同插值方法在波前构建过程中实现思想及误差对比
211 各种插值算法的基本实现思想对比
在应用 Runge2Kutta 法进行波前构建的数值计算过程中 ,由于每计算一步都需要知道在该步长上的速度
及速度在 x方向和z方向上的导数值 ,而该步长并不一定落在规则的网格节点 ,因此需要知道地质模型中任
何一点的速度和速度在 x,z方向上的一阶导数,而往往给出的模型只有规则网格节点的速度值 ,必须应用
插值算法得到模型中任何一点的速度及其导数值.在波前构建法射线追踪过程中 ,模型中插值点的速度及其
导数值的准确性直接影响射线路径以及走时的精确性,从而影响偏移的准确性 ,因此插值方法的选择直接影
响计算的效率和准确性 ,选择一种有效的插值算法对于波前构建法射线追踪有着及其重要的意义.
根据波前构建的特点结合各种插值自身的特点 ,目前实现波前构建插值的程序设计思想主要有两类:
①采用插值点周围的 4个网格点为基础的插值算法的程序设计思想;②采用插值点周围多于 4个网格点的
插值算法的程序设计思想.假如采用以第一类程序设计思想为主的插值算法 ,如最邻近域、双线性、分片线性
等,在波前构建的过程中 ,首先必须知道网格节点的速度以及节点处速度关于 x和z方向上的导数值,节点
处的速度值是开始给定的 ,对于其节点处的导数值 ,可以通过有限差分求出
vx(i,j)=v(i+ 1 , j)-v(i- 1 , j)
2h, vz(i,j)=v(i,j+ 1)-v(i,j- 1)
2k;(3)
在边界处 ,选择
vx(i,j)=v(i+ 1 , j)-v(i,j)
h, vz(i,j)=v(i,j+ 1)-v(i,j)
k,(4)
这里 h为网格上 x方向步长,k为z方向步长 ,结点上速度为 v(i,j).如果要求精度再高一些 ,可以根据
Taylor 展开 ,采用更高阶的差分格式.这样就必须先开辟三块相同的内存空间来存储其值(速度和速度在 x
方向和z方向上的导数),然后在应用Runge2Kutta数值算法时 ,每计算一步 ,需要调用三次插值函数来计算非
网格节点的速度以及导数值 ,这样既浪费内存又花费时间.而且在计算非节点处速度的导数值时 ,误差必然
增大.如果采用以第二类程序设计思想为主的插值算法 ,如二维三次卷积插值、二维三次样条插值、二维四次
卷积插值等 ,在求解射线路径时都不需要单独计算网格节点的速度的导数值 ,可以达到三阶近似 ,并具有连
续一阶导数.对于二维三次卷积插值算法 ,该算法虽然采用插值点周围的 16 个网格点来计算 ,但在设计过程
中,由于二维三次卷积插值算法自身的特点 ,可以合理的设计插值函数 ,一次计算出插值点的速度及其导数
值,即调用 Runge2Kutta 函数计算一步时 ,只需要调用插值函数一次就可以得到在插值点的速度和速度的导
数值 ,不但节省了内存空间而且减少了函数的调用次数.对于二维三次样条插值和二维四次卷积插值,它可
以达到三阶近似 ,而且具有连续的二阶导数 ,设计思想同三次卷积插值相同 ,但由于其计算量十分庞大 ,很少
应用在波前构建法射线追踪过程中.
891 计 算 物 理 第 25 卷
212 各种插值算法误差对比
为了对比各种插值算法的插值精度 ,给定一连续分布的速度函数 ,由于二维四次卷积插值和二维三次样
条插值计算量十分庞大 ,通常很少应用在二维网格之间的插值运算过程中 ,在这里就不进行讨论 ,下面主要
给出常用的四种插值算法 ,即邻近域插值、分片线性插值、双线性插值、二维三次卷积插值.对比分析其插值
结果与真值之间的误差.
速度函数 v(x,z)=c1+c2z+a1sin 2
πz
λ
1+a2sin 2
πx
λ
2,其中 c1= 1 800 , c2= 014 , a1= 011 , a2= 015 ,
λ
1=λ
2= 100 ,给定 1 000 m ×1 000 m 的网格 ,网格间距取 10 m , x和z都在 180 m 到200 m 间取间距为 115 m
的点进行真值和插值的计算.图1~4给出各种插值算法插值结果与真值的相对误差和绝对误差分布.
图1 最邻近域插值绝对误差和相对误差分布图
Fig11 Absolute and relative errors of nearest interpolation
图2 分片线性插值绝对误差和相对误差分布图
Fig12 Absolute and relative errors of bilinear interpolation
图3 双线性插值绝对误差和相对误差分布图
Fig13 Absolute and relative errors of bilinear interpolation
991
第2期 韩复兴等:不同插值算法在波前构建射线追踪中的应用与对比
图4 二维三次卷积插值绝对误差和相对误差分布图
Fig14 Absolute and relative errors of bicubic interpolation
从上面的误差分布图可以看出 ,二维三次卷积插值相对误差为 10- 6 ,双线性插值相对误差为 10- 5 ,分片
线性插值相对误差为 10- 3 ,邻近域插值相对误差为 10- 3 ,因此二维三次卷积插值的精度是最高的 ,其次是双
线性插值 ,邻近域插值以及分片线性插值.为了进一步对比其插值精度 ,图5给出在三层介质模型中应用
Snell 定律计算的一条真实的射线路径和在界面上经过光滑处理不影响射线对比的同一模型上应用邻近域
插值、分片线性插值 、双线性插值、二维三次卷积插值得到的射线路径 ,分析对比其误差.射线路径从初始位
置(400 ,0)以初始角度α= 15°入射 ,分别用 Snell 定律和插值算法计算当射线经过两个界面折射后到达 600 m
深处时的横坐标并计算其相对误差.
从表 1计算的相对误差可以看出 ,二维三次卷积插值算法在应用到波前构建法射线追踪中 ,计算射线路
径的相对误差是最小的 ,在到达 600 m 深处时不到 011 %.
图5 射线路径对比图
Fig15 Rays in 3 horizontal layers
表1 四种不同的插值方法在同一模型上的
射线路径对比误差
Table 1 Relative errors of ray path with
different interpolation methods
计算方法 横坐标值 相对误差Π%
Snell 定律计算 2791395 5 -
邻近域插值 2971632 5 6153
分片线性插值 2651181 6 5109
双线性插值 2831066 5 1131
二维三次卷积插值 2791209 3 0107
由对程序设计思想的介绍以及误差分析对比可以看出 ,对于一阶近似的邻近域插值和分片线性插值 ,由
于其插值不连续 ,误差比较大 ,从而造成图 1、图 2中图像的不连续性.对于能达到二阶近似的双线性插值 ,
从图 3可以看出 ,它的光滑性就要比最邻近域插值好的多.对于能达到三阶近似的二维三次卷积插值 ,由于
它具有连续的一阶导数 ,因此图 4的光滑程度比图 3的好.从射线路径对比图和误差分析表也可以看出 ,二
维三次卷积插值计算射线路径的准确度要高于其它的插值算法.下面再给出一些实际的速度模型 ,来对比各
种不同的插值在不同模型上的应用.
3 应用实例
图6给出三种速度模型 ,应用不同的插值算法计算其射线路径(图7~9),对比其射线路径的差异和计
002 计 算 物 理 第 25 卷
算机用时.这里所用到的速度模型都是经过光滑处理的速度模型 ,对于其光滑处理可看参考文[10].
图6 速度模型
Fig16 Velocity model
图7 三层介质模型对应的射线路径图
Fig17 Rays in 3 horizontal
velocity model
图8 低速球体模型对应的射线路径图
Fig18 Rays in low velocity
sphere model
图9 Marmousi 速度模型对应的射线路径图
Fig19 Rays in 2D Marmousi
velocity model
算例 1 三层介质模型.第一层速度 v1= 1 600 m・s- 1 ,第二层速度 v2= 3 300 m・s- 1 ,第三层速度 v3=
5 000 m・s- 1 ,网格大小为 400 ×400 ,网格间距为 2 m ×2 m. 时间步长为01004 s ,30 次垂直方向光滑处理后 ,做
60 个波前的计算情况.
算例 2 低速球体速度模型.在速度 v1= 3 000 m・s- 1 的均匀介质中存在一个速度为 v2= 1 000 m・s- 1 的
半径为 25 m ,球心坐标为 (200 ,100)的低速球体 ,计算速度模型垂向和横向各经过 50 次光滑后 ,震源位于
(200 ,0)对应射线路径图.
算例 3 二维Marmousi 速度模型.该地质模型包含非常复杂的地质构造 ,浅层为陡峭层且下伏有高速岩
丘侵入.网格为 384 ×122 ,每个网格为 24 m ×24 m ,最小速度为 1 500 m・s- 1 ,最大速度为 5 500 m・s- 1 ,时间步
长为 01004 s ,10 次垂直方向和水平方向交替光滑处理后 ,做240 个波前的计算情况.
从上面的射线路径图 7~9可以看出 ,对于简单的三层介质速度模型 ,由于在每一层中速度为常数 ,插值
只是在分界面处进行 ,因此从图 7可以看出 ,应用不同的插值算法得到的射线路径只是在分界面处存在差
异,其它地方差异很小.而对于均匀介质中的低速球体模型 ,当射线通过光滑处理后的球体时 ,由于采用不同
的插值方法带来的差异不同因而造成射线穿过球体时射线路径的差异(图8),而对于速度模型更为复杂的
Marmousi速度模型 ,其速度变化十分明显 ,插值速度的不同直接影响射线路径的差异 ,因此造成图 9中四种
相差比较大的路径差异.对于上面射线路径差异 ,完全是由于采用两种不同的插值算法所得的结果.
表2为在相同的运算环境、参数设置下 ,应用四种不同插值算法的三种模型的计算用时对比.
表2 四种不同的插值方法在三种模型上的计算用时对比
Table 2 CPU time of different interpolation with different models
速度模型 二维三次卷积Πs双线性插值Πs分片线性插值Πs邻近域插值Πs
三层介质速度模型 01064 2 11700 0 11801 11745
低速球体速度模型 01013 2 11189 11188 11188
2D Marmousi 速度模型 01259 11276 11263 11169
102
第2期 韩复兴等:不同插值算法在波前构建射线追踪中的应用与对比
从表 2可以看出 ,由于采用不同的插值算法和不同的设计思想 ,从而导致在同一模型上应用不同的插值
算法存在时间差异 ,还可以明显看出 ,二维三次卷积插值的计算速度要远远高于其它的插值算法.
4 结论
本文结合常用的几种插值算法自身的特点 ,分析对比其在波前构建法射线追踪中的设计思想 ,并对各种
插值方法的精度进行对比分析 ,从插值误差分布图以及射线路径误差图可以看出 ,在常用的几种插值算法
中,二维三次卷积插值的精度是最高的.从不同的插值算法在同一模型上的计算机用时(表2)可以得出 ,在
将不同的插值算法应用到波前构建法中 ,由于采用的设计思想不同 ,因此造就了不同的插值算法的计算用时
的差异.从表中可以得出 ,对于采用第一类设计思想能达到二阶近似的双线性插值算法同其它插值算法相
比,在同一模型中的计算用时相差不是很大 ,但同第二类程序设计思想的算法相比 ,其计算速度差别十分明
显.另外 ,对于计算实例中射线路径图的差异 ,完全是由于采用不同的插值算法所造成的 ,不存在人为的因
素.综上所述 ,在波前构建法射线追踪的过程中 ,插值算法的选择直接影响着计算的精度和效率 ,选择一种能
满足计算精度又能满足计算效率的算法是十分关键的.
[参 考 文 献]
[ 1 ] Vinje Vetle , Iversen Einar , Gjoystdal Havar. Traveltime and amplitude estimation usingwavefront construction[J ]. Geophysics , 1993 ,
58:1157 - 1166.
[ 2 ] 张钋 ,刘洪 ,李幼铭.射线追踪方法的发展现状[J ] . 地球物理学报 ,2000 ,15(1):36 - 45.
[ 3 ] 杨文采 ,李幼铭 ,等.应用地震层析成像[ M] . 北京:地质出版社 ,1993.
[ 4 ] Vidale J E. Finite2difference calculation of traveltimes[J ].Bull Seis Soc Am,1988 ,78 :2062 - 2076.
[ 5 ] Nakani shi I , Yamaguchi K. A numerical experiment on nonlinear image reconstruction from first2arrival times for two2dimensional
island arc structure[J ].J Phys Earth , 1986.
[ 6 ] Zhang Jianzhong, Chen Shijun. Numerical modelingof seismic first break in complex media[J ]. Chinese J Comput Phys , 2003 ,20
(5):429 - 433.
[ 7 ] 李立康 ,於崇华 ,朱政华.微分方程数值解法[M ]. 复旦大学出版社 ,1991.
[ 8 ] 王德人 ,杨忠华.数值逼近引论[M ]. 高等教育出版社 ,1990 :314 - 338 .
[ 9 ] Robert G K. Cubic convolution interpolation for digital image processing [J ]. IEEE Transaction on Acoustics, Speech , and Signal
Processing , 1981 , ASSP229(6):1153 - 1160.
[10] Leidenfrost A , Ettrich N , Gajewski D , Kosloff D. Comparison of six different methods for calculating traveltime [J ] . Geophysical
Prospecting ,1999 ,47:269 - 297.
Interpolation Algorithms in Wavefront Construction
HAN Fuxing1 ,2 , SUN Jianguo1 ,2 , YANG Hao1 ,2
(11College for Geoexploration Science Technology ,Jilin University ,Changchun 130026 , China ;
21Laboratory f or Integrated Geophysical Interpretation Theory of Minist ry f or Land and Resources ,Changchun 130026 , China)
Abstract: For interpolation of velocity and velocity derivative of non2grids in wavefront construction , interpolation algorithms , such as the
nearest , bilinear and linear bicubic interpolation algorithms , are compared and analyzed. With characteristics of wavefront construction , pathof
rays and computational efficiency of the algorithms are compared. It indicates that the bicubic interpolation algorithm is more accurate and
faster.
Key words: ray2tracing; interpolation algorithm; wavefront construction; comparison
Received date : 2006 - 11 - 16 ; Revised date : 2007 - 05 - 29
202 计 算 物 理 第 25 卷