January 11, 2013
1 2 3 4 5
Kirchhoff migration uses raytracing equations for prestack depth migration. d x dt = v( x)2 p d p dt = v( x) v( x) These equations estimate the paths of seismic energy through the subsurface as a function of a known velocity model and its gradient. (1)
Depth (m) 1000 2000 3000 4000 5000 6000 Boundary True gradient Computed gradient 3000 2800 2600 2400 2200 7000 2000 4000 6000 Offset (m) 2000
Depth (m) 1000 2000 3000 4000 5000 6000 Boundary True gradient Computed gradient 3000 2800 2600 2400 2200 7000 2000 4000 6000 Offset (m) 2000
models are generally smoothed before Kirchhoff migration. Moser (2011) Uses a smoothed velocity model to compute raypaths, and then computes traveltimes using the original blocky model. The result is a sharper image with more continuous reflectors than using the smooth model everywhere.
Depth (m) 50 100 150 200 250 300 350 v 2 v 1 θ 1 θ n θ 2 Snell s Law 3000 2800 2600 2400 2200 400 2000 50 100 150 200 250 300 350 400 Offset (m) sin(θ 1 θ n ) v 1 = sin(θ 2 θ n ) v 2 (2)
Depth (m) 50 100 150 200 250 300 350 v 2 v 1 p 1 Snell s Law 400 2000 50 100 150 200 250 300 350 400 Offset (m) d p dt = v( x) v( x) p 2 p 3000 2800 2600 2400 2200 = p 2 = p 1 t v (3) v
Processing delivers a velocity model sampled on a grid: Rays travel between these nodes, so we need to interpolate Sampling of the velocity grid makes it hard to accurately compute gradient vectors Some sort of regression would be ideal! N v(x,z) = α k ṽ k (x,z) (4) k=1
Depth (m) 140 150 160 170 180 190 200 3000 2800 2600 2400 2200 210 150 200 250 2000 Offset (m)
Depth (m) Basis Function with Dipping Layer 1 50 0.8 100 0.6 150 0.4 200 250 0.2 300 100 200 300 400 0 Offset (m)
Depth (m) 140 150 160 170 180 190 200 3000 2800 2600 2400 2200 210 150 200 250 2000 Offset (m)
We can easily construct infinitely many basis functions: Dipping layers Anticlines Salt structures Random functions Key Observation: The dipping layers are invariant from trace to trace except for a constant dip. This is the same assumption Spitz interpolation works on.
Spitz Method the traces as a sum of L events with constant dip g n (k z ) = L G j (k z )e 2πikz(n 1)d j j=1 Unknown d j gives the dip of the event. Interpolate between known traces using PEFs, or solve for d j directly.
models are not band limited in z. Caveats For multiple dipping layers, this is a multiple nonlinear regression problem. For a single dipping interface, this is a simple linear regression, so we can recover the dip directly by least-squares. log(g n (f)) = log(g 1 (k z ))2πik z (n 1)d 1
log(g n (k z )) 12 11 10 9 8 7 6 5 Spitz Method Time Shift Cross plot (Real Part) 6 8 10 12 2π i k (n 1) log(g (k )) z 1 z
4 Spitz Method Time Shift Cross plot (Imaginary Part) log(g n (k z )) 2 0 2 4 4 2 0 2 4 2π i k (n 1) log(g (k )) z 1 z
Recovered d 1 = 0.7870 Actual dip is 2.3571 (difference of π radians)
Depth (m) 50 100 150 200 Reconstructed Data 3000 2500 250 2000 300 100 200 300 400 Offset (m)
Depth (m) 50 100 150 200 Reconstructed Data 3000 2500 250 2000 300 100 200 300 400 Offset (m)
model interpolation is similar to seismic interpolation. Nonlinear regression may be able to recover multiple dipping events.
Future work Implement seismic interpolation techniques to upsample velocity models for better lateral continuity and gradients. Use accurate gradients to perform Kirchhoff migration, to see if we can improve on the results of Moser (2011).
Acknowledgements Hassan Khaniani Rob Ferguson CREWES Staff and Sponsors
Any Questions?