Statistical and Transform Methods for Seismic Signal Processing M. D. Sacchi Department of Physics University of Alberta M.D.Sacchi / STMSSP 1 Contact: Dr M.D.Sacchi Department of Physics, University of Alberta, Edmonton, Canada, AB, T6G 2J1 Sacchi@phys.ualberta.ca www-geo.phys.ualberta.ca/~ sacchi M.D.Sacchi / STMSSP 2 1 Review of basic tools M.D.Sacchi / STMSSP 3 1.1 Fourier Series Let us assume that we want to approximate a function f (t) by a superposition of n orthogonal functions: f (t) ≈ N X ci φi (t) i=1 Z t2 t1 φi (t)φj (t) dt = δij The coefficients ci , i = 1 . . . N can be obtained by minimizing the means square error defined as: N X 1 Z t2 (f (t) − φi (t))2 dt M SE = t 2 − t 1 t1 i=1 ci = M.D.Sacchi / STMSSP R t2 t1 f (t)φi (t) dt . 2 dt φ(t) t1 R t2 4 Consider the orthogonal set given by ejnω0 t , n = 0, ±1, ±2, ±3, . . . this set is orthogonal in t ∈ [t0 , t0 + 2π ]. ω0 When a signal is expanded in terms of exponential we have a Fourier series: f (t) = ∞ X Fn ejnω0 t n=−∞ 2π Z t0 +2π/ω0 f (t)e−jnω0 t dt Fn = ω 0 t0 Remark: Line Spectrum M.D.Sacchi / STMSSP 5 1.2 Fourier Transform F (ω) = Z ∞ −∞ f (t)e−jωt dt 1 Z∞ f (t) = F (ω)ejωt dω . 2π −∞ F (ω) = |F (ω)|ejθ(ω) Remark: Continuous spectrum M.D.Sacchi / STMSSP 6 1.3 Properties of the FT We define the transform pair as: f (t) ↔ F (ω) Symmetry. F (t) ↔ 2πf (−ω) Linearity. f1 (t) ↔ F1 (ω) f2 (t) ↔ F2 (ω) f1 (t) + f2 (t) ↔ F1 (ω) + F2 (ω) Scale. f (at) ↔ M.D.Sacchi / STMSSP 1 ω F( ) |a| a 7 Convolution. If f1 (t) ↔ F1 (ω) f2 (t) ↔ F2 (ω) Z ∞ −∞ f1 (u)f2 (t − u)du ↔ F1 (ω)F2 (ω) Convolution in frequency. 1 Z∞ f1 (t).f2 (t) ↔ F1 (v)F2 (ω − v)dv 2π −∞ Time delay. f (t − τ ) ↔ F (ω)e−jωt0 Modulation. f (t)ejω0 t ↔ F (ω − ω0 ) Time derivatives. df (t) ↔ jωF (ω) dt M.D.Sacchi / STMSSP 8 1.4 The FT of some signals A Boxcar f (t) = 1 |t| < T /2 0 otherwise R T /2 F (ω) = = −T /2 1.e−jωt dt 1 (e−jωT /2 −jω = − ejωT /2 ) T sinc(ωT /2) Boxcar T=10 sec 1.5 f (t) 1 T 0.5 0 −0.5 −80 −∞ .... .... +∞ −60 −40 −20 0 time [sec] 20 40 60 80 10 8 4 T F (ω) 6 2 0 −∞ .... .... +∞ −2 −10 −8 −6 −4 −2 0 ω [rad/sec] 2 4 6 8 10 Figure 1: Boxcar. M.D.Sacchi / STMSSP 9 Delta function: f (t) = δ(t) Z g(u)δ(u)du = g(0) F (w) = Z ∞ −∞ δ(t)e−jωt dt = 1 δ(t) ↔ 1 δ(t − τ ) ↔ 1.e−jωτ A complex sinusoid: δ(t − τ ) ↔ 1.e−jωτ F (t) ↔ 2πf (−ω) ejω0 t ↔ 2πδ(ω − ω0 ) M.D.Sacchi / STMSSP 10 1.5 Truncation in time Given f (t) t ∈ (−∞, ∞), with f (t) ↔ F (ω), how do we obtain the FT of the signal when the signal is recorded in a finite interval [−T /2, T /2]?. fT (t) = f (t).bT (t) Using the frequency convolution theorem: 1 Z∞ 1 FT (ω) = F (v)BT (ω − v)dv = F (ω) ∗ BT (ω) 2π −∞ 2π BT (ω) = T sinc(ωT /2) . Signal observed in [−10,10] Real[f(t)] 1 0 −1 −80 −60 −40 −20 0 time [sec] 20 40 60 80 −60 −40 −20 0 time [sec] 20 40 60 80 −3 −2 −1 0 ω [rad/sec] 1 2 3 4 Imag[f(t)] 1 0 −1 −80 |F(ω)| 30 20 10 0 −4 Figure 2: Truncation in time. M.D.Sacchi / STMSSP 11 1.6 Symmetries If the signal f (t) is a real signal, we can write: F (ω) = R(ω) + iG(ω) where R(ω) = Z f (t)cos(ωt)dt and G(ω) = − Z f (t)sin(ωt)dt R(ω) = R(−ω) G(ω) = −G(−ω) Amplitude and Phase: F (ω) = |F (ω)|eiθ(ω) . |F (ω)| = |F (−ω)| θ(ω) = −θ(−ω) . M.D.Sacchi / STMSSP 12 1.7 Living in a discrete World fs (t) = f (t) ∞ X δ(t − k∆t) . k=−∞ ∞ X 1 F (ω) ∗ ω0 Fs (ω) = δ(ω − kω0 ) , 2π k=−∞ ω0 = 2π ∆T ∞ 1 X Fs (ω) = F (ω − nω0 ) T k=−∞ If one wants to compute Fs (ω) in such a way that F (ω) can be completely recovered, the signal f (t) must be a band-limited signal. This is a signal where the spectral components outside the interval [−ωmax , ωmax ] are zero. If the following condition is satisfied ω0 ≥ 2ωmax 1 2π ≥ 2 × 2πfmax then, ∆T ≤ . ∆T 2fmax The last equation is also designated as the sampling or Nyquist Theorem. M.D.Sacchi / STMSSP 13 Fourier transform of the continuous signal 1 0.8 F(ω) 0.6 ω max = 10 rad/sec 0.4 0.2 0 −100 −80 −60 −40 −20 0 20 Frequency ω (rad/sec) 40 60 80 100 Figure 3: The Fourier transform of a continuous signal. Fourier transform of the discretized signal 4.5 4 3.5 2.5 s F (ω) 3 2 ..... ∞ −∞ ..... 1.5 1 ω0 = 30 rad/sec ωmax = 10 rad/sec 0.5 ∆ t = 0.2094 sec 0 −100 −80 −60 −40 −20 0 20 Frequency ω (rad/sec) 40 60 80 100 Figure 4: The Fourier transform the continuous signal after being discretized, in this case ωmax = 10 and ω0 = 30 M.D.Sacchi / STMSSP 14 Fourier transform of the discretized signal 3 2.5 ..... ∞ −∞ ..... s F (ω) 2 1.5 1 ω0 = 20 rad/sec ωmax = 10 rad/sec 0.5 ∆ t = 0.3142 sec 0 −100 −80 −60 −40 −20 0 20 Frequency ω (rad/sec) 40 60 80 100 Figure 5: The Fourier transform the continuous signal after being discretized, in this case ωmax = 10 and ω0 = 20. The Fourier transform of the continuous signal is perfectly represented in the interval [−wmax , wmax ]. Fourier transform of the discretized signal 2 ..... ∞ −∞ ..... s F (ω) 1.5 1 ω 0 = 15 rad/sec ωmax = 10 rad/sec 0.5 ∆ t = 0.4189 sec 0 −100 −80 −60 −40 −20 0 20 Frequency ω (rad/sec) 40 60 80 100 Figure 6: The Fourier transform the continuous signal after being discretized, in this case ωmax = 10 and ω0 = 15. The signal is aliased. Note that Nyquist theorem is not satisfied. The Fourier transform of the continuous signal cannot be recovered from the Fourier transform of the sampled signal. M.D.Sacchi / STMSSP 15 2 Linearity, z-Transform and Convolution M.D.Sacchi / STMSSP 16 2.1 Linear Systems Input/output analysis of a linear system x(t) → y(t) If the system is linear the following properties must be satisfied: P1 : αx(t) → αy(t) . P2: If x1 (t) → y1 (t) x2 (t) → y2 (t) then x1 (t) + x2 (t) → y1 (t) + y2 (t) . P3: Properties P1 and P2 can be combined in a single property: αx1 (t) + βx2 (t) → αy1 (t) + βy2 (t) . M.D.Sacchi / STMSSP 17 2.2 Time Invariant Systems Time invariance means: x(t − T ) → y(t − T ) We will represent our linear system as follows: H[x(t)] = y(t) . (1) General expression for a linear system y(t) = H[x(t)] = Z ∞ −∞ h(t, τ )x(τ )dτ . (2) If the system is also time invariant y(t − T ) = H[(x(t − T )] . y(t) = Z ∞ −∞ h(t − τ )x(τ )dτ (3) (4) In the freq. domain: Y (ω) = H(ω) .X(ω) . M.D.Sacchi / STMSSP 18 Time Invariant Linear System x(t) h (t) y(t) δ (t) h (t) h(t) x(t) : Input, y(t): Output, h(t): Impulse response Figure 7: A continuous linear time invariant system. Time Invariant Linear System (discrete case) x0,x1,x2,x3,... h0,h1,h2,h3,.... y0,y1,y2,y3,... 1,0,0,0,0,... h0,h1,h2,h3,.... h0,h1,h2,h3,.... x : Input, y: Output, h: Impulse response Figure 8: A discrete time invariant linear system. M.D.Sacchi / STMSSP 19 2.3 Discrete Convolution If the system is discrete, this is a system where the input and output signals are discrete signals, the convolution integral becomes a summation: yk = ∞ X hn xk−n (5) n=−∞ Finite length signal: xn , n = 0 : N X − 1 is a signal of length N X yn , n = 0 : N Y − 1 is a signal of length N Y hn , n = 0 : N H − 1 is a signal of length N H yk = p2 X hk−n xn , (6) n=p1 where p1 and p2 indicate the finite summation limits. Smart Conv: y(1:NX+NH-1) = 0 for i=1:NX for j=1:NH y(i+j-1) = y(i+j-1) + x(i)*h(j) end end M.D.Sacchi / STMSSP 20 Assuming that x = [x0 , x1 , x2 , x3 , x4 ] and h = [h0 , h1 , h2 ], and after carrying out the convolution sum (Eq.6): y0 = x 0 h 0 y1 = x1 h0 +x0 h1 y2 = x2 h0 +x1 h1 +x0 h2 y3 = x3 h0 +x2 h1 +x1 h2 y4 = x4 h0 +x3 h1 +x2 h2 y5 = x 4 h1 y6 = +x3 h2 x 5 h2 or M.D.Sacchi / STMSSP y0 y1 y2 y3 y4 y5 y6 = x0 0 x1 x0 0 0 x2 x1 x0 x3 x2 x1 x4 x3 x2 0 x 4 x3 0 0 x4 h0 h1 h2 21 2.4 The z transform A digital signal: x0 , x 1 , x 2 , x 3 , . . . can be represented using the Z-transform: X(z) = ∞ X xn z n k=0 For a finite length time series xk , k = 0, . . . , N − 1 we write X(z) = N −1 X xn z n k=0 Example 1: x = 4, 12, −1, 3 , ↑ X(z) = 4 + 12z − 1z 2 + 3z 3 . Example 2: x = −1, 3, 4, 3, 5, 6, −10 ↑ X(z) = −z −3 + 3z −2 + 4z −1 + 3 + 5z + 6z 2 − 10z 3 . M.D.Sacchi / STMSSP 22 2.5 Convolution and the Z-transform We have two times series, x = [x0 , x1 , x2 , x3 , x4 ] and h = [h0 , h1 , h2 ]. The Z-transforms of these series are: X(z) = x0 + x1 z + x2 z 2 + x3 z 3 + x4 z 4 H(z) = h0 + h1 z + x2 z 2 Now, let us compute the product of the above polynomials: X(z).H(z) = x0 h0 + (x1 h0 + x0 h1 )z + (x2 h0 + x1 h1 + x0 h2 )z 2 + (x3 h0 + x2 h1 + x1 h2 )z 3 + (x4 h0 + x3 h1 + x2 h2 )z 4 + (x4 h1 + x3 h2 )z 5 + (x5 h2 )z 6 One can see that the coefficient of this new polynomial are the samples of the time series y = [y0 , y1 , . . . , y6 ] obtained by the convolution of x and h, in other words, X(z) .H(z) is the also the Z-transform of the time series y: Y (z) = X(z) .H(z) . M.D.Sacchi / STMSSP 23 2.6 Elementary Signals: Dipoles Minimum Phase Dipoles A simple manner of visualizing the properties of a time series in the z domain is by decomposing the Z-transform into dipoles or elemental function of the type 1 + az As an example, we compute the Z-transform of the series x = [4, 12, −1, 3]: 1 1 X(z) = 4 + 12z − 1z 2 + 3z 3 = 4(1 + z)(1 − z)(1 + 3z) . 2 2 We have already seen that two multiply the Z-transform of two time series is equivalent to convolve the time series in the time domain, 1 1 4, 12, −1, 3 = 4[ (1, ) ⊗ (1, − ) ⊗ (1, 3z)] . 2 2 M.D.Sacchi / STMSSP 24 Inversion of Minimum Phase Dipoles Let us assume that the dipole, which I will call D(z), is given by D(z) = 1 + az . The inverse of the dipole F (z) must satisfy F (z)D(z) = 1 then, F (z) = 1 1 = , D(z) 1 + az if |a| < 1 the denominator can be expanded according to the following expression a : F (z) = 1 − az + (az)2 − (az)3 + (az)4 . . . Since |a| < 1 the above series is a convergent series. F (z) is the z transform of the following series 1, −a, a2 , −a3 , a4 , . . . ↑ The convolution of the dipole with the filter yields a (1, a) ⊗ (1, −a, a2 , −a3 , a4 , . . .) = 1, 0, 0, 0, 0, 0, . . . ↑ ↑ ↑ A geometric series. M.D.Sacchi / STMSSP 25 Let us compute the inverse of the following dipoles: (1, 0.9) and (1, 0.01). Example: (1, 0.9) F (z) = 1 = 1−0.9z+0.81z 2 −0.729z 3 +0.6561z 4 . . . . 1 + 0.9z (1, 0.9)⊗(1, −0.9, 0.81, −0.729, 0.6561) = (1, 0.0, 0.0, 0.0, 0.59) Example: (1, 0.01) F (z) = 1 = 1−0.1z+0.01z 2 −0.001z 3 +0.0001z 4 . . . . 1 + 0.1z (1, 0.1)⊗(1, −0.1, 0.01, −0.001, 0.0001) = (1, 0.0, 0.0, 0.0, 0.0) . It is clear that the truncation is negligible when a = 0.1. This is not true when a ≈ 1. In this case a long filer is needed to properly invert the dipole. M.D.Sacchi / STMSSP 26 Dipole, d = (1,0.9) Truncated inverse filter, f Output, d ⊗ f Dipole, d = (1,0.5) Truncated inverse filter, f Output, d ⊗ f Dipole, d = (1,0.1) Truncated inverse filter, f Output, d ⊗ f M.D.Sacchi / STMSSP 27 Minimum Phase Signals A signal can be factorized in dipoles X(z) = x0 +x1 z+x2 z 2 +x3 z 3 . . . = A(1+a1 z)(1+a2 z)(1+a3 z) . . . . If |ai | < 1, ∀i, the signal is a minimum phase signal. In this case all the zeros lie outside the unit circle X(ξ) = 0 ⇒ ξi = − 1 ⇒ |ai | < 1 ⇒ |ξi | > 1 . ai The inverse filter F (z) of X(z) can be calculated from X(z)F (z) = 1 (1 + a1 z)(1 + a2 z)(1 + a3 z) . . . . F (z) = 1 . From the above equation where we can write F (z) = (1 + a1 z)−1 (1 + a2 z)−1 (1 + a3 z)−1 . . . = [(1 − a1 z + (a1 z)2 − (a1 z)3 . . .][(1 − a2 z + (a2 z)2 − (a2 z)3 . . .] [(1 − a3 z + (a3 z)2 − (a3 z)3 . . .] . . . . The final inverse operator can be written as f0 , f1 , f2 , . . . = (1, −a1 , a21 , a31 . . .)⊗(1, −a2 , a22 , −a32 . . .)⊗. . . . . . M.D.Sacchi / STMSSP 28 Maximum Phase Dipoles Elementary signals of the form (1, b), |b| > 1 are called maximum phase dipoles D(z) = 1 + bz ⇒ D(ξ) = 1 + bξ = 0 ⇒ ξ = −1/b . Since |b| < 1, it is easy to see that |ξ| < 1. The inverse of a maximum phase dipole is a non-causal sequence. F (z)D(z) = 1 ⇒ F (z) = 1 1 = D(z) 1 + bz If last equation is expanded in a series of positive powers of z we have 1 = 1 − bz + (bz)2 − (bz)3 . . . 1 + bz The last series does not converge. Try this F (z) = 1 1 = 1 + bz bz(1 + (bz)−1 ) F (z) = (bz)−1 (1 − (bz)−1 + (bz)−1 − (bz)−3 . . .) . Now the inverse is stable but non-causal, the associated operator is given by f = . . . , −b−3 , b−2 , −b−1 , 0 ↑ M.D.Sacchi / STMSSP 29 Example, (1, 2) f = (−0.0156, 0.0312, −0.0625, 0.125, −0.25, 0.5, 0 ) ↑ Convolution of f with the maximum phase dipole: d ⊗ f = (−0.0156, 0.0312, −0.0625, 0.125, −0.25, 0.5, 0 ) ⊗ (1, 2) ↑ ↑ = (−0.0156, 0, 0, 0, 0, 0, 1, 0) ↑ Dipole, d = (1,2) 0 Truncated inverse filter (non−casual) , f 0 Output, d ⊗ f 0 Figure 9: Maximum phase dipole, its non-causal truncated inverse, f , and the output d ⊗ f . M.D.Sacchi / STMSSP 30 Autocorrelation of Dipoles The autoccorelation function of a sequence with z-transform X(z) is defined as R(z) = X(z)X ∗ (z −1 ) We will consider two dipoles of the form: Dmin (z) = 1 + az Min Phase Dmax (z) = a∗ + z Max Phase Autocorrelations Rmin (z) = a∗ z −1 + (1 + |a|2 ) + a z , Rmax (z) = a∗ z −1 + (1 + |a|2 ) + a z . The two dipoles have the same autocorrelation function!! Rmax (z) = Rmin (z) = R(z) M.D.Sacchi / STMSSP 31 Amplitude and Phase of Dipoles Minimum phase case Dmin (z) = 1 + az ⇒ z = e−iω ⇒ Dmin (ω) = 1 + ae−iw . Maximum phase case Dmax (z) = a + z ⇒ z = e−iω ⇒ Dmax (ω) = a + 1e−iw RDmin (ω) = q 1 + 2a cos(ω) + a2 θmin (ω) = arctan( RDmax (ω) = q a sin(ω) ) 1 + a cos(ω) 1 + 2a cos(ω) + a2 θmax (ω) = arctan( M.D.Sacchi / STMSSP sin(ω) ) a + cos(ω) 32 Amplitude of 1+0.5z Ampliture of 0.5+z) 1.3 1.3 1.2 1.2 1.1 1.1 1 1 0.9 0.9 0.8 0 50 100 150 0.8 0 Phase of 1+0.5z) 50 100 150 Phase of 0.5+z 0 0 −0.5 −0.05 −1 −0.1 −1.5 −0.15 −2 −2.5 −0.2 −0.25 −3 0 50 100 150 −3.5 0 50 100 150 Figure 10: Amplitude and phase spectrum of a minimum phase dipole 1 + az and a maximum phase dipole a ∗ +z, |a| < 1. M.D.Sacchi / STMSSP 33 2.7 Least Squares Inversion of Minimum Phase Dipoles We have already solved: D(z)F (z) = 1 . The solution of last problem yields a filter with an infinity number of coefficients (Not a good idea!). Now, our task is to construct a finite length filter with the following property D(z)FN (z) ≈ 1 , where FN (z) denotes the z transform of the finite length operator. The above equation can be written in the time domain as follows (assuming N = 3), (1, a) ⊗ (f0 , f1 , f2 ) ≈ (1, 0, 0, 0) . ↑ M.D.Sacchi / STMSSP 34 In matrix form 1 1 0 0 f0 0 a 1 0 . f1 ≈ 0 a 1 0 f2 0 0 0 a The last system of equations corresponds to an over-determined system that can be solved using the method of least squares Cf ≈ b , the solution vector is the one that minimized the mean squared error ² = ||C f − b||2 . The least squares solution of this system is found by solving the following system of normal equations CT C f = C T b . The resulting filter is f = R−1 CT b , M.D.Sacchi / STMSSP 35 Examples: Dipole, d = (1,0.9) 0 Output, d ⊗ f Least squares inverse filter , f 0 0 Figure 11: Inversion of a minimum phase dipole using least squares. Dipole, d = (1,0.5) 0 Output, d ⊗ f Least squares inverse filter , f 0 0 Figure 12: Inversion of a minimum phase dipole using least squares. M.D.Sacchi / STMSSP 36 2.8 Least Squares Inversion of a Wavelet Given a signal (wavelet) w, we want to find f such that: (w0 , w1 , . . . wN W −1 ) ⊗ (f0 , f1 , . . . , fN F −1 ) ≈ (1, 0, . . . , ) In matrix form we can write the following expression (assuming N W = 7 and N F = 4) w0 0 0 w1 w0 0 w2 w1 w0 0 0 0 w3 w2 w1 w0 w4 w3 w2 w1 w5 w4 w3 w2 w6 w5 w4 w3 0 w 6 w5 w4 0 0 0 0 M.D.Sacchi / STMSSP w 6 w5 0 w6 f0 f1 f2 f3 ≈ 1 0 0 0 0 0 0 0 0 0 . 37 Again, this system is written in matrix form as Cf ≈ d. We will compute the inverse filter by minimizing the error function (mean squared error) ²: ² = ||e||2 = ||C f − b||2 ; The Euclidean norm of the error vector e = C f − b can be written down as ² = eT e = (C f − b)T (C f − b) . The mean squared error is minimized when the following condition if satisfied: d² = 0, df → CT C f = C T b . f = (CT C )−1 CT b . M.D.Sacchi / STMSSP 38 2.9 Stability Pre-whitening (zero order quadratic regularization): J = ² + µ||f ||2 , The solution is now given by the penalized least squares estimator where the parameter µ is also called the regularization parameter ( ridge regression parameter or pre-whitening parameter). The condition dJ = 0, df → f = (R + µI)−1 CT d . When µ is large the energy of the filter will be small and the misfit function ² will be large. In this case we have a matching filter of the form f = µ−1 CT d . M.D.Sacchi / STMSSP 39 Trade-off curve Output, w⊗f Filter, f µ=1.e6 µ=1.e−4 Figure 13: A minimum phase wavelet inverted using different tradeoff parameters (µ). Tradeoff curve 1 µ=0.1 0.9 0.8 0.7 Misfit, ε 0.6 0.5 0.4 0.3 0.2 µ=100000. 0.1 0 0 0.1 0.2 0.3 0.4 2 Filter norm, ||f|| 0.5 0.6 0.7 Figure 14: Trade-off curve for the previous example. The vertical axis indicated the misfit and the horizontal the norm of the filter. M.D.Sacchi / STMSSP 40 2.10 The z transform and the Discrete Fourier Transform (DFT) We have already defined the Z-transform of a time series as follows: X(z) = N −1 X xn z n . n=0 The z-transform provides a representation of our time series in terms of a polynomial. Let us introduce the following definition: z = e−iω in this case the z-transform becomes the DFT: X(ω) = N −1 X xn e−iωn n=0 We have mapped the Z-transform into the unit circle (z = e−iω is a complex variable of unit magnitude and phase given by ω). The phase ω is also the frequency variable in units of radians. M.D.Sacchi / STMSSP 41 The function X(ω) is discretized according to ωk = 2π k , k = 0, . . . , N − 1 N Xk = X(ωk ) = N −1 X xn e−iωk n n=0 ω3 ω2 ω4=π ω1 1ω0 ω5 ω7 ω6 1 2 3 ω0 ω1 ω2 7 6 4 5 6 7 8 ω3 ω4=π ω5 ω6 ω7 21 2 3 2π−ω5 ω0 2π−ω6 2π−ω7 ω1 ω2 8 4 5 ω3 ω4=π Figure 15: Distribution of frequencies in the unit circle. M.D.Sacchi / STMSSP 42 DFT in Matrix form: X = F.x F= 1 1 ... 1 1 e−i2π/N e−i2π2/N ... e−i2π4/N .. . ... .. . 1 .. . e−i2π2/N .. . e−i2π(N −1)/N −i2π2(N −1)/N e .. . 2 1 e−i2π(N −1)/N e−i2π2(N −1)/N . . . e−i2π(N −1) /N It can be shown that F is an orthogonal matrix FH F = N I N , → x= 1 H F X. N The IDFT (inverse DFT) is given by −1 1 NX xn = Xk ei2πkn/N N k=0 M.D.Sacchi / STMSSP n = 0, . . . , N − 1 . 43 3 Deconvolution M.D.Sacchi / STMSSP 44 3.1 Modeling Normal Incidence Seismograms • Incident wave: ↓ in medium 1 • Reflected wave: ↑ in medium 1 • Transmitted wave: ↓ in medium 2 1 r I1 I2 t r: reflection coefficient t: transmition coefficient 1+r=t Figure 16: P-wave normal incidence. The incident wave is propagating downwards. M.D.Sacchi / STMSSP 45 Let us assume that the amount of incident wave is equal to 1, the amount of reflected wave is given by r, and the amount of transmitted wave is denoted by t. At the boundary the following condition should be satisfied (continuity of displacements) 1+r =t This equation has two unknowns, to compute the r and t we need an extra equation. Conservation of energy leads to the following equation: I1 × 1 + I 1 × r 2 = I 2 × t 2 . The quantities I1 and I2 are called acoustic impedances I 1 = ρ 1 v1 I 2 = ρ 2 v2 where ρ1 and ρ2 are the densities of the material above and below the interface and v1 and v2 the P-velocities, respectively. Combining the two boundary conditions leads to: r = t = M.D.Sacchi / STMSSP I2 − I 1 Reflection coefficient I2 + I 1 2I1 Transmition coefficienct I2 + I 1 46 Let’s consider the case of an incident wave propagating upwards: • Incident wave: ↑ in medium 2 • Reflected wave: ↓ in medium 2 • Transmitted wave: ↑ in medium 1 t’ I1 I2 1 r’ r’: reflection coefficient t’: transmition coefficient 1+r’=t’ r = -r’ Figure 17: P-wave normal incidence. The incident wave is propagating upwards. r0 = I1 − I 2 I2 + I 1 t0 = 2I2 I2 + I 1 From the above equations it is clear that r0 = −r M.D.Sacchi / STMSSP 47 3.2 Impulse Response Let’s assume that we run a zero offset experiment in a stratified earth composed of 4 layers plus a half-space. The impedances are given by I1 , I2 , I3 , I4 , I5 . z=0 1 (1+r1)(1+r2)(1+r3)r4(1-r3)(1-r2)(1-r1) I1 Interface 1 z1 1+r1 (1+r1)(1+r2)(1+r3)r4(1-r3)(1-r2) (1+r1)(1+r2) (1+r1)(1+r2)(1+r3)r4(1-r3) (1+r1)(1+r2)(1+r3) (1+r1)(1+r2)(1+r3) r4 I2 z2 I3 z3 I4 Reflection at interface 4 z4 Interface 4 I5 Ii = Acoustic impedance of the layer i 1+ri = Transmition coef. 1-ri = Transmition coef. Figure 18: Amplitude of a wave plane wave propagating in a layered medium. Analysis of the wave reflected in the interface 4. M.D.Sacchi / STMSSP 48 The amplitude of the wave when reaches the layer 4 is 1 × t1 × t2 × t3 = (1 + r1 )(1 + r2 )(1 + r3) when the wave is reflected in layer 4 the total amplitude at that point (last expression) needs to be multiplied by the reflection coefficient of interface 4, 1 × t1 × t2 × t3 × r4 = (1 + r1 )(1 + r2 )(1 + r3)t4 Using 1 + r0 = 1 − r the final amplitude after propagating the wave to the surface of the Earth is given by (1 + r1 )(1 + r2 )(1 + r3 ) × | {z Transmition ↓ } r 4 |{z} Reflection × (1 − r1 )(1 − r2 )(1 − r3 ) | {z Transmition ↑ The final expression for the amplitude of the wave reflected in interface 4 can be written down as follows } (1 − r12 )(1 − r22 )(1 − r32 )r4 . M.D.Sacchi / STMSSP 49 It is clear that reflections occur at all the layers: Amplitude of the reflection generated at interface 1 A1 = r1 Amplitude of the reflection generated at interface 2 A2 = (1 − r12 )r2 Amplitude of the reflection generated at interface 3 A3 = (1 − r12 )(1 − r22 )r3 Amplitude of the reflection generated at interface 4 A4 = (1 − r12 )(1 − r22 )(1 − r32 )r4 Important: The actual ”impulse response” of the system should include all the multiples. M.D.Sacchi / STMSSP 50 3.3 The Seismogram The source is not 1, we need to consider a source wavelet w(t): s(t) = A1 w(t−t1 )+A2 w(t−t2 )+A3 w(t−t3 )+A4 w(t−t4 ) where t1 , t2 , t3 and t4 are the arrival times of each reflection a • Notice that if transmission effects are neglected, the amplitude Ai can be replaced by the reflection coefficient ri . • Microlayers (a discrete Earth model using layers of equal ”travel-time”) leads to the convolutional model sn = w n ⊗ q n . qn is the reflectivity sequence. a Notice that w(t − τ ) is w(t) after being delayed τ seconds. M.D.Sacchi / STMSSP 51 3.4 Deconvolution of Reflectivity Series Goals: • − > Improve resolution • − > Consistency of sources (All seismograms after deconvolution should have the same residual wavelet) • − > Guarrantee phase stability Mathematical model: In general we will assume that deterministic noise (multiples and ground roll) has been attenuated and therefore what is left is random noise sn = w n ⊗ q n + n n It is clear from the above equation that one has a problem with one equation (one observable) and two unknowns (the wavelet and the reflectivity). Therefore, the seismic deconvolution problem involves the solution of two subproblems: • Wavelet Estimation • Operator design M.D.Sacchi / STMSSP 52 3.5 The White Reflectivity Assumption If the reflectivity is a zero-mean white noise process, the following remarkable property is true: rjs = Pq rjw . • rjs : autocorrelation of the seismic trace (observable) • Pq energy of the white reflectivity • rjw : autocorrelation of the wavelet IMPORTANT: 1 The autocorrelation function of the trace is an estimate (within a scale factor) of the autocorrelation of the wavelet. 2 It is clear that now we can estimate the autocorrelation of the wavelet from the autocorrelation of our observable: the seismic trace. 3 Where is the phase??? M.D.Sacchi / STMSSP 53 3.6 What to do with the noise? We start with our noisy seismogram: sn = w n ⊗ q n + n n The goal of the deconvolution process is to recover qn from the data, sn . Assume that we have compute and inverse filer fk and we apply the filter to the seismogram q̂k = ak ∗ qk + fˆk ∗ nk = qk + (ak − δk ) ∗ qk + fˆk ∗ nk . ak is the residual wavelet, ak = wt ⊗ ft It is clear that we need to satisfy the following two equations: ak = wk ⊗ f k ≈ δ k , fk ⊗ n k ≈ 0 M.D.Sacchi / STMSSP 54 The last two expression can also be written in matrix form Cw f ≈ d Cn f ≈ 0 Both equations are honored when we minimize the following objective function: J = ||Cw f − d||2 + β||Cn f ||2 , f = (Rw + µI)−1 CTw d . M.D.Sacchi / STMSSP 55 Deconvolved reflectivity µ=0.001 seismogram (No noise) Reflectivity, q Figure 19: Deconvolution of a clean seismogram. Deconvolved reflectivity µ=0.001 Noisy seismogram Reflectivity, q Figure 20: Deconvolution of a noisy seismogram. Small µ Deconvolved reflectivity µ=0.05 Noisy seismogram Reflectivity, q Figure 21: Deconvolution of a noisy seismogram. Large µ. M.D.Sacchi / STMSSP 56 3.7 Deconvolution in the Frequency Domain A procedure similar to the one outlined in the previous section can be used to deconvolve data in the frequency domain. Q̂k = Qk + (Ak − 1)Qk + F̂k Nk . • Q̂k : DFT of the Reflectivity estimate • Qk : DFT of True the Reflectivity • Ak : DFT of the Residual wavelet • Fk : DFT of the Inverse filter The inverse filter should be a good approx. to the inverse of the wavelet: WK Fk = Ak ≈ 1 , and avoid noise amplification: Fk Nk ≈ 0 We combine the last two equations into a single cost function J= X k |Ak − 1|2 + α X |Fk Nk |2 . k Minimizing the cost function with respect to the filter coefficients leads to Wk∗ . F̂k = |Wk |2 + α|Nk |2 M.D.Sacchi / STMSSP 57 4 Inversion of Impedance Profiles M.D.Sacchi / STMSSP 58 4.1 Norms for Sparse Deconvolution Quadratic regularization (Wiener shaping filter) sk = X wj qk−j , k = 1, ny j error function ²k = s k − X wj q̂k−j , k = 1, ns . j J = X k ρ1 ( ²k ), σk 1 ρ1 (u) = u2 . 2 X ∂J ² = ψ( )wk−l = 0 , ∂ql σn k XX k wk−j wk−l qj = j X l = 1, nq wk−l sk , k or in matrix form Rq = g . M.D.Sacchi / STMSSP 59 Stabilization (quadratic constraint) J = J + Jq , J1 1 = X k ρ1 ( X qi ²k )+ ρ1 ( ) . σn σq i The minimum of the last equation is reached at the point q̂ = (R + µI)−1 g , M.D.Sacchi / STMSSP 60 Modifying Jq (non-quadratic regularization) a Introduce a new regularization (Huber norm) term ρ2 (u) = J1 2 = u2 /2 if |u| ≤ a 2 a |u| − a /2 if |u| > a X k . X ²k qi ρ1 ( ) + ρ2 ( ) . σn σq i Alternatively (Cauchy Regularization): u2 ρ3 (u) = ln( + 1) . 2 J1 3 = X k X ²k qi ρ1 ( ) + ρ3 ( ) . σn σq i a Sacchi, M.D., 1997, Re-weighting strategies in seismic deconvolution: Geophysical Journal International, 129, 651-656. M.D.Sacchi / STMSSP 61 Iterative solution (R + µQ)q = g . when Huber norm is adopted: Q2 i i = if | σqiq | ≤ a 1 a q | σi q | if | σqiq | > a . when the Cauchy norm is adopted: Q3 i i = 1 1+ qi2 2σq2 . Algorithm: 1. Start with an initial reflectivity sequence x0 2. Select the hyperparameters of the problem σn , σq , and a (Huber criterion) or σn and σq (Cauchy criterion). 3. Compute µ = σn2 /σq2 , Q(0) , and the source autocorrelation matrix R. 4. Iteratively solve above system q(k) = (µQ(k−1) + R)−1 g M.D.Sacchi / STMSSP 62 Remarks • Quadratic regularizations tends to smooth or damp the solution; this is why we cannot recover spikes. • Non-quadratic norms like the Huber and Cauchy norns have the ability to retrieve spikes. This is consistent with the assupmtion of a sparse reflectivity sequence M.D.Sacchi / STMSSP 63 Cost and Influence Functions for Sparse Deconvolution Figure 22: Cost functions. a) ρ1 (u), b) ρ2 (u) a = 1 , c) ρ2 (u) a = 2 , and d) ρ3 (u). Figure 23: Influence functions. a) ψ1 (u), b) ψ2 (u) a = 1 , c) ψ2 (u) a = 2 ,and d) ψ3 (u). M.D.Sacchi / STMSSP 64 Examples Figure 24: a) Synthetic impulse response (left) , seismogram (center), and source wavelet (right). The seismogram was contaminated with Gaussian noise. b) Deconvolution using zero order quadratic regularization: estimated impulse response (left), reconstructed seismogram (center), and residuals (original minus reconstructed data). c) Deconvolution by means of the Huber criterion (a = 1). d) Deconvolution by means of the Cauchy criterion. M.D.Sacchi / STMSSP 65 Figure 25: (a) Original seismic section. (b) Deconvolved seismic section using the Cauchy criterion to regularize the inversion. The source wavelet was retrieved using a combined cepstrum-cumulant approach. M.D.Sacchi / STMSSP 66 4.2 Bayesian Inversion of Impedance Impedance constraints (zk ) for a layered Earth model (vertical incidence) Nk X 1 ξk = ln(zk /z0 ) = qi , 2 i=1 (7) Wq = s + n (8) Cq = ξ + ² , (9) Data constraint Impedance constraint General cost function 1 1 1 J = α|{z} Jx + || (Wq − s)||2 + ||S−1 (Cq − ξ)||2 (10) |2 σ {z } |2 {z } 1 2 3 • 1 - The solution must be sparse. • 2 - The solution must honour the seismic trace. • 3 - The solution must honour a set of impedance constraints. M.D.Sacchi / STMSSP 67 Example: Huber Norm Data and Reflectivity Estimate M.D.Sacchi / STMSSP 68 Impedance M.D.Sacchi / STMSSP 69 4.3 Linear Programming Impedance Inversion Sparse reflectiovity inversion via LP methoda sk = w k ∗ q k . Data constraints Wq = s + e Constrained minimization using linear programming The cost function of the problem is defined as J = α|q|1 + |e|1 Constraint minimization problem Minimize J = α|q|1 + |e|1 subject to and impedance constraints Wq = s + e ξl < Cq < ξu . a Oldenburg, D. W., Scheuer, T. and Levy, S., 1983, Recovery of the acoustic impedance from reflection seismograms: Geophysics, 48, 1318-1337. M.D.Sacchi / STMSSP 70 5 Higher order spectra and non-minimum phase wavelet estimation M.D.Sacchi / STMSSP 71 5.1 Non-minimum Phase Wavelet Estimation • Autocorrelation based method do not preserve phase information • Higher order statistics do preserve phase information when the reflectivity is a white non-Gaussian process Model: x k = qk ∗ wk s k = x k + nk W (z) = |W (z)|eiΦ(z) . 1. If qk is Gaussian and W (z) is minimum phase, autocorrelation based methods will correctly identify both the amplitude and the phase of the system. 2. If qk is Gaussian and W (z) is nonminimum phase, no technique will correctly identify the phase of the system. 3. If qk is non-Gaussian and W (z) is nonminimum phase, true magnitude and phase of the system transfer function can be recovered by knowing the actual distribution of qk . For MA processes of order one, it has been demonstrated that a L1 optimization provides an estimate of the amplitude and phase of the system when the driving noise of the process is non-Gaussian. M.D.Sacchi / STMSSP 72 3-rd order statistics If W (z) is stable and if qk is non-Gaussian, white, iid., with skewness β 6= 0 then the bispectrum of xk is given by Bx (z1 , z2 ) = XX m rx(3) (m, n)z1n z2m n where rx(3) (m, n) = E[xk xk+m xk+n ] , is the third order moment of the data. Since the third order moment of a Gaussian signal vanishes, we can write Bs (z1 , z2 ) = Bx (z1 , z2 ) . The bispectrum can be written in terms of the transfer function W (z) as follows (Nikias and Raghuveer, 1987) Bx (z1 , z2 ) = βW (z1 )W (z2 )W (z1−1 z2−1 ) . Important: Phase is preserved! M.D.Sacchi / STMSSP 73 4-th order statistics Defining the trispectrum as Tx (z1 , z2 , z3 ) = XXX m n rx(4) (n, m, l)z1n z2m z3l l where rx(4) (n, m, l) is now the fourth order cumulant of xk . The trispectrum can be written in terms of the transfer function of the system as follows Tx (z1 , z2 , z3 ) = γW (z1 )W (z2 )W (z3 )W (z1−1 )W (z1−1 z2−1 z3−1 ) γ is the Kurtosis. This is valid for a non-gaussian symmetric distribution (γ = 6 0). M.D.Sacchi / STMSSP 74 4-th order statistics: Wavelet estimation procedure • Cumulant Matching Find a wavelet (optimization problem) that matches the cumulant of the data a • Kolmogoroff factorization b retrieve the wavelet from the cumulant using a procedure similar to the Hilbert Transform Advantages: • Phase can be estimated if assumptions are satisfied. Problems: • It is quite difficult to satisfy assumptions a Velis D. R., and Ulrych T. J., 1996, Simulated annealing wavelet estimation via fourth-order cumulant, Geophysics, vol.61, 1939-1948. b Sacchi, M.D., and Ulrych, T.J., 2000, Non-minimum phase wavelet estimation using higher order statistics: The Leading Edge, 19, 1, 80-83. M.D.Sacchi / STMSSP 75 Example: 4-th order Cumulant factorization Figure 26: Synthetic wavelet. M.D.Sacchi / STMSSP 76 Figure 27: Wavelet estimation using the tricepstrum. The fourth order cumulant was estimated from 4 segments of 1000 samples each. The figures correspond to 20 realizations of the process. M.D.Sacchi / STMSSP 77 Figure 28: Wavelet estimation using the tricepstrum. The fourth order cumulant was estimated from 4 segments of 500 samples each. The figures correspond to 20 realizations of the process. M.D.Sacchi / STMSSP 78 Figure 29: Wavelet estimation using the tricepstrum. The fourth order cumulant was estimated from 4 segments of 250 samples each. The figures correspond to 20 realizations of the process. M.D.Sacchi / STMSSP 79 Real data example Figure 30: Segment of seismic section pre-processed for impedance inversion. Figure 31: Wavelet estimates computed using the tricepstrum (left) and cumulant matching plus non-linear optimization (right). M.D.Sacchi / STMSSP 80 5.2 Minimum entropy deconvolution In MED a we exploit, again, the assumption of a white non-Gaussian reflectivity (sparse reflectivity assumption) Find ft (a filter) q t = s t ∗ ft such that N X 1 V (q) = qi0 .F (qi0 ), is maximized N F (N ) i=1 where qi0 yi 2 . =P 2 k yk /N F (q 0 ) = ln(q 0 ) For a logarithmic norm Solution involves an iterative algorithm of the form Rf k = gk−1 that can be interpreteted as a shaping filter with a non-linear (sparse) desired output!! a Wiggins, R. A., 1978, Minimum entropy deconvolution: Geoexpl., v.16, p.21- 35. M.D.Sacchi / STMSSP 81 Frequency domian MED algorithm a • The MED is extended to deal with the problem of band-limited extrapolation (recovery of low/high freqs.) • Can be used to improve the freq. content of the residual wavelet obtained after conventional deconvolution a Sacchi,M.D., Velis D., & Cominguez, A.H., 1994, Frequecny domain Minimum Entropy deconvolution: Geophysics, vol. 59, No. 6. M.D.Sacchi / STMSSP 82 6 FX Processing M.D.Sacchi / STMSSP 83 6.1 FX filters Remark: Predictability of linear eventsa The signal model: S(f, x) = A(f ) ei2πf θx , where A(f ) indicates the source spectrum, f the temporal frequency, x the spatial variable or offset and θ the apparent slowness along x. We will assume that the spatial variable x is regularly discretized according to x = (k − 1)∆x , k = 1 : N . For any temporal frequency, f , we can write Sn = A eiαn , n = 1, N where α = 2πf θ∆x. The following recursion is obtained by combining Sn and Sn−1 Sn = a1 Sn−1 . where a1 = exp(iα). The last equation is a first order difference equation that allows us to recursively predict the signal along the spatial variable x. a Canales, L. , 1984, Randon noise reduction: 54th Annual SEG Meeting, p.525-527. M.D.Sacchi / STMSSP 84 Model for p linear events Sn = a1 Sn−1 + a2 Sn−2 + . . . ap Sn−p . The last equation can be written in prediction error form as follows p X gk Sn−k = 0 , k=0 where g0 = 1, gk = −ak , k = 1, p . In real applications, however, additive noise will corrupt the data Yn = S n + W n , The model for the noisy signal becomes Pp k=0 gk Yn−k = Pp k=0 gk Wn−k = en . The latter is an ARMA(p,p) process in which the AR and MA components are identical. M.D.Sacchi / STMSSP 85 6.2 AR FX Filters Rather than trying to solve the ARMA equations one can replace the ARMA model by a long AR (Autoregressive) model: Yn − f1 Yn−1 + f2 Yn−2 . . . + fp Yn−p = Wn . The last equation can be written in matrix form as follows (assume p = 3), y1 0 y2 y1 y3 y2 y4 y3 0 y4 0 0 0 0 y1 y2 y3 y4 f1 f2 − f3 y2 y3 y4 0 0 = w2 w3 w4 0 . 0 Solve for the filter that minimizes: Yf − d = w J = ||Y f − d||2 , ∇J = 0, => f̂ = (Y H Y)−1 YH d , Clean signal d̂ = Yf̂ . M.D.Sacchi / STMSSP 86 The convolution matrix: We have adopted a very simple convolution matrix in order to design our filter via the Levinson’s recursion. But bear in ming that other data matrices can be used to estimate the data prediction filter. Canales (1984) original formulation uses the following model y1 0 y2 y1 y3 y2 y4 y3 0 y4 0 0 0 0 y1 y2 y3 f1 f2 = f3 y4 y2 y3 y4 0 . 0 Ulrych and Clayton (1976) proposed the transient-free convolution matrix. In our simple example (p = 3) the transient-free matrix formulation is given by M.D.Sacchi / STMSSP y4 y3 y2 y1 f1 y5 y4 y3 y2 . = f2 y5 y4 y3 y6 f3 y7 y6 y5 y4 87 Algorithm 1. Transform the data into the F X domain Data(t, x) → Data(f, x) 2. for each frequency f solve the 1D-AR prediction problem 3. Apply the filter to the data (convolution of the filter with the data). 4. Transform back to T X Data(f, x) → Data(t, x) 5. end M.D.Sacchi / STMSSP 88 1D Example Prediction of harmonics using AR filters p=20 5 4 3 2 1 0 −1 0 50 100 150 n, number of samples 200 250 300 Figure 32: Prediction of a single harmonic (no noise) using AR filters Prediction of harmonics using AR filters p=20 6 5 4 3 2 1 0 −1 −2 0 50 100 150 n, number of samples 200 250 300 Figure 33: Prediction of a single harmonic (σnoise = 0.2) using AR filters M.D.Sacchi / STMSSP 89 Input, σn=0.2 0 20 40 60 80 100 120 0 5 10 15 20 25 30 25 30 Output after FX filtering, p=20 0 20 40 60 80 100 120 0 5 10 15 20 Figure 34: F X filtering of a single linear event immersed in noise Input, σn=0.2 0 20 40 60 80 100 120 0 5 10 15 20 25 30 25 30 Output after FX filtering, p=20 0 20 40 60 80 100 120 0 5 10 15 20 Figure 35: F X filtering of a single linear hyperbolic event immersed in noise M.D.Sacchi / STMSSP 90 6.3 FX Gap filling and the recovery of near offset traces Original idea published in seismologya . Assume a gap in the interval n1, n2. The prediction error for the AR model in terms of the AR coefficients is given by En = g0 Yn + g1 Yn−1 + g2 Yn−2 + . . . gp Yn−p Since the gap comprises the traces Yn1 , Yn1 +1 , . . . Yn2 , we will minimize the squared sum of the prediction error within the gap n2 X Ek Ek ∗ k=n1 Taking derivatives with respect to the samples in the gap we end up with the following system Rg (Yn1 Yn1 +1 . . . Yn2 )T = b The missing data in the gap can be recovered by knowing the PEF. a Wiggins, R. A, and Miller, S. P., 1972, New noise-reduction technique applied tolong-period oscillations from the Alaskan earthquake: SSA Bull., 62, 417-479 M.D.Sacchi / STMSSP 91 (m) 0 0 50 (m) 100 150 0 50 100 150 Time (sec) 0.5 Time (sec) 0.5 0 1.0 1.0 1.5 1.5 Original Data Data after Gap Filling Figure 36: Predictability of linear events. The AR gap filling techniques is used to estimate a PEO wich is latter utilized to fill the gap. M.D.Sacchi / STMSSP 92 Source-Receiver Distance (m) 0 2000 0 1 1 2 2 Time (sec) Time (sec) 0 -2000 3 4 -2000 Source-Receiver Distance (m) 0 2000 3 4 5 5 Original Data Data after Gap Filling Figure 37: oz01.dat Original (left), after gap filling with a PEO(3) M.D.Sacchi / STMSSP 93 6.4 F X Projection Filters In this section we will study the problem of quasi-predictability and the solution via projection filters a Space domain formulation s = s0 + n Additive noise As0 = i Predictability . In this case the vectors denote the spatial series of observations s and the unknowns s0 and n. The operation As0 also corresponds to convolution with the PEO. Soubaras proposed to minimize the following cost function: J = (s − s0 )T (s − s0 ) + µs0 T AT As0 taking derivatives yields to s = (I + µAT A)s0 since s = s0 + n a Soubaras R., 1994, Signal preserving random noise attenuation by the f-x projection: 64 Annual SEG Mtg. 1576-1579. M.D.Sacchi / STMSSP 94 s = (I + µAT A)(s + n) then n = µ(I + µAT A)−1 AT As After using the identity AT (I + µAAT )−1 = (I + µAAT )−1 AT , n = AT (µ−1 I + AAT )−1 As . The projection filter deconvolves the PEO filter. To prove this assessment suppose that we know the filter A. Unfortunately is not true that we know the s0 , but suppose that we apply the filter to s As = A(s0 + n) = As0 + An . It is clear from the last expression that the filter output has two sources of errors: The color introduced by the PEF and the noise. The color introduced by the PEF can be partially removed by deconvolution: n = AT (µ−1 I + AAT )−1 (As) | {z 2 }| {z } 1 The operation 1 does the filtering of the signal and the noise, meanwhile the operation 2 removes the color that the filter has introduced into the noise (deconvolution of the PEO). M.D.Sacchi / STMSSP 95 6.5 ARMA formulation of Projection filters It is important to note that underlying signal model in f − X is an ARMA model. Pp k=0 gk Yn−k = Pp k=0 gk Wn−k = en . The problem now can be summarized as follows, given the ARMA representation of the noise signal: 1. How do we estimate the prediction error filter gk ? 2. How do we use gk to estimate the additive noise sequence Wk .? These two fundamental points are discussed in the following pages. M.D.Sacchi / STMSSP 96 Estimation of the ARMA prediction error filter ARMA system in matrix form: Yg = Wg = e, Y= Y0 0 Y1 Y0 Y2 Y1 Y3 Y2 0 Y3 0 0 0 0 Y0 Y1 Y2 . Y3 After some mathematical manipulations we can arrive to RY g = P W g . The matrix RY = YH Y is the Toeplitz correlation matrix of the noisy data. • the PEF is the eigen-vector associated to the min. eigenvalue of the data covariance matrix • the minimum eigenvalue is an estimate of the power of the noise M.D.Sacchi / STMSSP 97 Noise estimation Re-write the ARMA system as follows (Convolution can commute) Gy = Gw . The matrix G is the convolution matrix of the prediction error filter, y and w are vectors containing the observations and the white noise sequence, respectively. Minimize J = [G(y − w)]H [G(y − w)] subject to w H w = Pw . M.D.Sacchi / STMSSP 98 6.6 Noise estimation The constrained minimization problem is solved by introducing a Lagrange multiplier to combine the last two equations into a new objective function J 0 = [G(y − w)]H [G(y − w)] + µ(wH w − PW ) . The objective function J 0 is minimized by the following estimator of the noise sequence ŵ = (GH G + µI)−1 GH Gy . The clean signal, ŝ = y − ŵ, can be estimated as follows: ŝ = [I − (GH G + µI)−1 GH G]y . Remarks: • If µ = 0, ŵ = y. • If µ is too large, ŵ = 0. M.D.Sacchi / STMSSP 99 1D - Projection filter - Examples 4 3 Y 2 Wk k 1 S k 0 0 20 40 60 Samples 80 100 120 Figure 38: D synthetic example. A sinusoid of normalized wavenumber k 0 = 0.05 is used to test the ARMA filtering method described in the paper. The data are contaminated with white noise with standard error σ = 0.5. 6 5 µ=0.0001 4 µ=0.01 3 µ=1 2 µ=100 1 µ=10000 0 0 20 40 60 Samples 80 100 120 Figure 39: The eigenfilter estimated from the noisy data is used to estimate the noise. In this figure we portray the estimator of the noise sequence versus the tradeoff parameter µ. Large values of µ will completely annihilate the noise. Small values of µ will overestimate the noise (the signal leaks into the noise sequence.) M.D.Sacchi / STMSSP 100 6 5 µ=0.0001 4 µ=0.01 3 µ=1 2 µ=100 1 µ=10000 0 0 20 40 60 Samples 80 100 120 Figure 40: Estimator of the signal versus the tradeoff parameter µ. Note that for µ = 0.01 the signal is recovered. µ=0.0001 0 µ=0.01 Amplitude Spectrum [dB] −20 µ=1 −40 µ=100 −60 µ=10000 −80 −100 −120 0 0.02 0.04 0.06 0.08 0.1 0.12 Normalized wavenumber 0.14 0.16 0.18 0.2 Figure 41: Amplitude response of the projection filter utilized to estimat e the noise. Note that large values of µ attenuates both signal and noise. On the other h and, small value of µ does not properly attenuate the signal. M.D.Sacchi / STMSSP 101 ARMA (Projection filter) vs AR Filtering (Canales’ Method) 0 Time (sec) 0.1 0.2 0.3 FX ARMA(3,3) Figure 42: Left: The original data (3 waveforms immersed in spatially uncorrelated noise). Center: Filtered data using the ARMA representation. Right: Estimate of the noise. 0 Time (sec) 0.1 0.2 0.3 FX AR(15) Figure 43: Left: The original data (3 waveforms immerse in spatially uncorrelated noise). Center: Filtered data using the AR representation (Conventional f − x r andom noise attenuation). Right: Estimate of the noise. M.D.Sacchi / STMSSP 102 Example: SNR of a Common Offset Section 0 0.2 0.4 Time (sec) 0.6 Figure 44: Left: A window of a common offset gather. Center: The filtered section using the ARMA representation with a 3 points eigenfilter (p = 2). Right: Conventional f − x random noise attenuation (p = 15). M.D.Sacchi / STMSSP 103 7 Eigenimages M.D.Sacchi / STMSSP 104 7.1 Decomposition in Eigenimages Consider seismic data as a matrix. The matrix can be decomposed in r eigen-vectors ui , vi : X= r X σi ui viT . i=1 Reconstructed data matrix using p-eigenimages Xp = p X σi ui viT . i=1 p<r • Xp retains the information that is coherent trace to trace M.D.Sacchi / STMSSP 105 Eigen-images: Example Input, σ =0.2 n 0 20 40 60 80 100 120 0 5 10 15 20 25 30 25 30 Reconstruction with 1 Eigenimage 0 20 40 60 80 100 120 0 5 10 15 20 Figure 45: A flat event immersed in nose and the reconstruction by means of the first eigenimage 25 20 λ i 15 10 5 0 0 5 10 15 20 Singular value index, i 25 30 35 Figure 46: Spectrum of singular values. M.D.Sacchi / STMSSP 106 Input, σn=0.2 Reconstruction with 1 Eigenimage Reconstruction with 2 Eigenimages Reconstruction with 3 Eigenimages Figure 47: A Parabolic event immersed in nose and the reconstruction by means of the 1,2 and 3 eigenimages 16 14 12 λ i 10 8 6 4 2 0 0 5 10 15 20 Singular value index, i 25 30 35 Figure 48: Spectrum of singular values. M.D.Sacchi / STMSSP 107 7.2 Eigen-structure based Velocity Analysis We use the eigen-decomposition of the data covariance matrix as a coherence measure.a In velocity analysis the covariance matrix is computed from windows (gates) extracted from the data along a hyperbolic trajectory (NMO curve). SNR Coherence measure P N λ̂ − 1 1 i=2 λ̂i /(N − 1) . Cb = PN N i=2 λ̂i /(N − 1) λ̂i are estimators of the eigenvalues for a given gate of analysis. a Key S.C. and Smithson S. B., 1990, New approach to seismic-reflection event determination: Geophysics, 55, 1057-1069. M.D.Sacchi / STMSSP 108 Figure 49: Left: Semblance of a CMP gather. Right: High resolution coherence analysis (SNR measure). Figure 50: Left: Average SNR measure obtained via bootstrapping individual realizations. Right: Frequency distribution of the peak that maximizes the coherence after 50 bootstrap realizations. M.D.Sacchi / STMSSP 109 8 Radon Processing M.D.Sacchi / STMSSP 110 8.1 Slant Stacks Let u(h, t) represent a seismic signal in offset-time. We define the slant stack or Linear Radon transform as follows: v(p, τ ) = (Lu)(p, τ ) = Z ∞ −∞ u(h, t = τ + h p)dh . (11) Where p and τ denote the slope or ray parameter and the intercept time, respectively. v(p, τ ) is used to designate the signal in the τ − p domain. The adjoint transform L∗ is given by ũ(h, t) = (L∗ v)(p, τ ) = M.D.Sacchi / STMSSP Z ∞ −∞ v(p, t = τ − hp)dp . (12) 111 Slant stacks in the freq. domain: In the frequency domain, the pair of transformations are given by, V (p, ω) = Z ∞ U (h, ω)eiωph dh, (13) Ũ (h, ω) = Z ∞ V (p, ω)e−iωph dp, (14) −∞ −∞ Last two equations can be combined: Ũ (h, ω) = Z ∞ −∞ U (h0 , ω) Z ∞ −∞ 0 e−iωp(h−h ) dp dh0 (15) which may be written as follows Ũ (h, ω) = U (h, ω) ∗ ρ(h, ω) , (16) where ∗ denotes convolution and the function ρ is given by ρ(h, ω) = Z ∞ −∞ e−iωph dp , (17) making the substitution z = −ωp equation (17) becomes M.D.Sacchi / STMSSP 112 ρ(h, ω) = Z ∞ −∞ 2π 1 ihz e dz = δ(h) . |ω| |ω| (18) The convolution operator is a delta function with respect to the variable h. Using the property of the δ function, Ũ (h, ω) = = 2π U (h, ω) |ω| 2π U (h, ω) |ω| ∗ δ(h) (19) the inversion formula becomes, U (h, ω) = M.D.Sacchi / STMSSP |ω| Ũ (h, ω) . 2π (20) 113 8.2 The Inverse Slant Stack Operator The definition of the forward slant stack operator and its adjoint may be changed to construct another slant stack pair, ∗ u(h, t) = (L v)(p, τ ) = ṽ(p, τ ) = (Lu)(h, t) = Z ∞ v(p, t = τ − hp)dp (21) u(h, t = τ + hp)dh, (22) −∞ Z ∞ −∞ the pair of transformations can be posed in the frequency-offset domain, U (h, ω) = Z ∞ V (p, ω)e−iωph dp, (23) Ṽ (p, ω) = Z ∞ U (h, ω)eiωph dh . (24) |ω| Ṽ (p, ω) . 2π (25) −∞ −∞ After some math: V (p, ω) = M.D.Sacchi / STMSSP 114 8.3 Discrete Slant Stacks Discrete versions of equations the continuous Radon pair are obtained by replacing integrals by summations and imposing finite limits. Lf X v(p, τ ) = (Lu)(p, τ ) = u(hl , τ + hl p)∆hl , (26) l=Ln ∗ ũ(h, t) = (L v)(τ, p) = JX max v(h, t − hp)∆pj (27) j=Jmin Taking the Fourier transform of the above equations yields V (p, f ) = Lf X U (hl , f )e2πif hl p ∆hl (28) V (p, f )e−2πif hpj ∆pj . (29) l=Ln Ũ (h, f ) = JX max j=Jmin Using matrix notation m = LH d d̃ = Lm M.D.Sacchi / STMSSP 115 Inversion formula Discrete Slant Stacks d̃ = L LH d . d = (L LH )−1 d̃ −1 = G d̃ . m = Ld −1 d = G Lm . M.D.Sacchi / STMSSP (30) (31) (32) 116 8.4 Slant Stacks: The Least Squares Solution Assume that the data is the result of applying a Radon operator (slant stack) to a m. d = Lm (33) The idea is to find m such that the following objective function is minimized J = ||d − Lm||2 (34) The solution to this problem is the least squares solution m = (LH L)−1 LH d (35) In general the inverse needs to be stabilized using a damping parameter. m = (LH L + µI)−1 LH d M.D.Sacchi / STMSSP (36) 117 Example: LS Linear Radon (a) (b) 0 0.2 0.2 0.4 0.4 t (s) τ (s) 0 0.6 0.6 0.8 0.8 −0.05 0 h (km) 0.05 −5 (c) 0 p (s/km) 5 (d) 0.2 0.2 0.4 0.4 t (s) 0 t (s) 0 0.6 0.6 0.8 0.8 −0.05 0 h (km) 0.05 −0.05 0 h (km) 0.05 Figure 51: Linear RT synthetic example. (a) Events in t − x. (b) τ − p panel computed using the LS linear RT. (c) and (d) Separated waveforms using the τ − p panel. M.D.Sacchi / STMSSP 118 8.5 Parabolic Radon Transform This is a simple modification to the slant stack, instead of integrating along curves of the form t = τ + ph we use curves of the type t = τ + qh2 This is a good approximation to process data containing hyperbolic events after NMO correction. M.D.Sacchi / STMSSP 119 Residual Moveout and the Parabolic Radon Transform Traveltime for a multiple and a primary Tp = q Tm = q (T02 + h2 /vp2 ) 2 ). (T02 + h2 /vm Assume that vp > vm . Traveltimes after NMO with vN M P : ∆TN M O = T0 − q 2 (T02 + h2 /vN MO) , Tp (Af ter) = Tp + ∆TN M O if vN M O = vp Tp (Af ter) = T0 . Tm (Af ter) = Tm + T0 − q 2 (T02 + h2 /vN MO) , or after replacing Tm Tm (Af ter) = T0 + M.D.Sacchi / STMSSP q (T02 + 2 ) h2 /vm − q 2 (T02 + h2 /vN MO) 120 Expanding in Taylor series Tm (Af ter) = T0 + q (T02 Tm (Af ter) ≈ T0 + + 2 ) h2 /vm − q 2 (T02 + h2 /vN MO) 1 1 2 2 h − h 2 2 2T0 vm 2T0 vN MO Tm (Af ter) ≈ T0 + qh2 q= 1 1 1 ( 2− 2 ). 2 T0 v vN M O A Radon transform with the following integration path is capable of collapsing parabolas (multiples) to points in the τ, q space. h2 t=τ +q 2 , hmax M.D.Sacchi / STMSSP 121 Example: LS Parabolic Radon Transfrom (a) (b) 0 0.2 0.2 0.4 0.4 t (s) τ (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.05 q (s) (c) 0.1 (d) 0.2 0.2 0.4 0.4 t (s) 0 t (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.01 0.02 0.03 h (km) 0.04 0.05 Figure 52: Least squares Parabolic Radon Transform synthetic example. (a) Events in t − x. (b) τ − q panel computed using the LS parabolic RT. (c) and (d) Separated waveforms using the isolate the waveforms. M.D.Sacchi / STMSSP 122 8.6 Radon De-multiple Working flow: • NMO the CMP gather with the vN M O ≈ vp • Compute the Radon Gather • Mute primaries • Come back to CMP domain − > This is your estimate of multiples • Subtract multiples from data Problems: • Not enough focusing of primaries and multiples (smearing) • Alias might hampered the reconstruction and therefore the substraction of the model of multiples from the data. • One solution to these problems is to design a high resolution Radon Transform M.D.Sacchi / STMSSP 123 Least squares Parabolic Radon Transform d(xj , t) = M X a m(qk , τ = t − qk x2j ) , j = 1, N , k=1 d(xj , t): CMP gather, m(qk , τ ): Radon panel In the frequency domain: d(xj , f ) = M X 2 m(qk , f ) ei2πf qk xj , j = 1, . . . , N . k=1 The calculations can be carried out independently for each frequency f . d(f ) = L(f ) m(f ) . To avoid notational clutter we will drop the frequency dependency and write d = L m . The least squares Radon operator is estimated by minimizing the following cost function. J = ||d − L m ||2 + µ||m||2 . m = (LH L + µI)−1 madj = (R + µI)−1 madj . a Hampson, D., 1986, Inverse velocity stacking for multiple elimination: J. Can. Soc. Expl. Geophys., 22, 44-55. M.D.Sacchi / STMSSP 124 Least squares Parabolic Radon Transform FAST ALGORITHM, Levinson alg. a Elements of R {R + µI}l,m = N X 2 e−i2πf ∆q(l−m)xk + µδl,m . k=1 This is a Toeplitz matrix, solving this equation using the Levinson recursion requires approximately 4M 2 + 7M operations, and storage of only the first row of the Toeplitz matrix. a Kostov, C., 1990, Toeplitz structure in slant-stack inversion: 60th Annual Internat. Mtg., Soc. Expl. Geophys., Expanded Abstracts, 1618-1621. M.D.Sacchi / STMSSP 125 8.7 High Resolution Radon Solve the following problem (R + WH W)m = madj . {W}l,m = wl δl,m , l, m = 1, . . . , M . (37) The elements of W are chosen to increase the resolution of the operator. The operator is not a Toeplitz form; therefore the solution of the system of equations is proportional to M 3 (Too bad for Marine data sets!). wk2 M.D.Sacchi / STMSSP = 100. if qk ∈ /Q 0.0001 if qk ∈ Q , 126 High Resolution Parabolic Radon FAST VERSION, CG+FFT a Use CONJUGATE GRADIENTS to solve the problem iteratively! We want to solve (R + D)m = madj , where D = WH W. Start with an initial solution m0 , set p0 = r0 = madj − (R + D)m0 , αi+1 = (ri , ri )/(pi , (R + D)pi ) mi+1 = mi + αi+1 pi ri+1 = ri − αi+1 (R + D)pi βi+1 = (ri+1 , ri+1 )/(ri , ri ) pi+1 = ri+1 + βi+1 pi where i = 0, 1, 2, . . . K denotes the iteration number. The product (R + D)x can be decomposed into two products: Rx + Dx. The first product can be efficiently computed using the Fast Fourier Transform (FFT), the second product involves only 2M operations (M products plus M additions) and does not substantially increase the computational cost of the inversion. a Sacchi, M.D., and Porsani, M.J., 1999, Fast high resolution Radon transform: 69th Annual Intern. Mtg. Soc. Expl. Geophys., Expanded Abstracts, 1657-1660. M.D.Sacchi / STMSSP 127 Example 1. Lev: Classical least squares parabolic Radon transform implemented via the Levinson recursion (valid for a constant damping). 2. Chol: High resolution Radon transform implemented via the Cholesky decomposition. 3. CG+FFT: High resolution parabolic Radon transform implemented via conjugate gradients plus matrix times vector multiplication using the FFT. N ×M Lev Chol CG+FFT 128 × 128 2 6 3 256 × 256 8 42 12 Table 1: CPU times in seconds for the 3 algorithms tested in this study. N denotes the number of traces and M the number of q parameters, Origin 2000. M.D.Sacchi / STMSSP 128 0.4 0 offset(m) 500 q(s) 1000 0.4 0 0.1 0.2 0.6 t(s) tau(s) 0.6 0.8 0.8 1.0 1.0 CMP gather tau-q (Lev.) q(s) 0.4 0 0.1 q(s) 0.2 0.4 0.1 0.2 tau(s) 0.6 tau(s) 0.6 0 0.8 0.8 1.0 1.0 tau-q (Chol.) tau-q (CG+FFT) Figure 53: A synthetic CMP gather composed of 4 parabolic events is used to test 3 different algorithms to compute the Radon transform. Lev. indicates the classical solution using least squares with a constant damping term; the Levinson algorithm is used to invert the resulting Toeplitz form. Chol. indicates the high resolution solution using non-constant damping (8)), this solution is computed by means of the Cholesky decomposition. CG+FFT indicates the proposed fast algorithm to compute the high resolution Radon transform. In this example the size of the Radon operator is 256 × 256. M.D.Sacchi / STMSSP 129 LS versus HR: Comparison (a) (b) 0 0.2 0.2 0.4 0.4 t (s) τ (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.05 q (s) (c) 0.1 (d) 0.2 0.2 0.4 0.4 t (s) 0 t (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.01 0.02 0.03 h (km) 0.04 0.05 Figure 54: PRT synthetic example. (a) Events in t − x. (b) τ − q panel computed using the LS parabolic RT. (c) and (d) Separated waveforms using the τ − q panel. (a) (b) 0 0.2 0.2 0.4 0.4 t (s) τ (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.05 q (s) (c) 0.1 (d) 0.2 0.2 0.4 0.4 t (s) 0 t (s) 0 0.6 0.6 0.8 0.8 0 0.01 0.02 0.03 h (km) 0.04 0.05 0 0.01 0.02 0.03 h (km) 0.04 0.05 Figure 55: High resolution parabolic RT synthetic example. (a) Events in t − x. (b) Radon panel computed using the high resolution parabolic RT and (d) Separated waveforms using the τ − q panel (to be compared with Fig. 54). M.D.Sacchi / STMSSP 130 8.8 Determination of weights for the HR Radon Tranform Non-linear problem: D = D(m) (R + D)m = madj . If the Cauchy regularization is adopted: Dii = Classical Solution: IRLS µ (1+|mi |2 /σ 2 ) a For all freqs f solve: (R + Dk−1 )mk = madj . µ Diik−1 = |2 /σ 2 ) (1 + |mk−1 i end Non-iterative solution: k− > f b For all freqs f solve: (R + Df −1 )mf = madj . µ Diif −1 = (1 + |mfi −1 |2 /σ 2 ) end with f − 1 ≡ f − ∆f a Sacchi, M.D., and Ulrych, T.J., 1995, High resolution velocity gathers and offset space reconstruction: Geophysics, 60, 1169-1177. b Herrmann, P., Mojesky, T., Magesan, M. and Hugonnet, P., 2000, De-aliased, high-resolution Radon transforms: 70th Ann. Internat. Mtg: Soc. of Expl. Geophys., 1953-1956. M.D.Sacchi / STMSSP 131 Two passes solution: i) Use the LS algorithm to estimate m ii) Compute D from m for all freqs. Diif = µ (1 + |mfi |2 /σ 2 ) iii) For all freqs f solve: (R + Df )mf = madj . end Remarks: • First pass with Levinson’s recursion , second with CG+FFT. • Does not give the highest resolution but attenuates quite well alias. M.D.Sacchi / STMSSP 132 Alias artifacts 0 Max Offset = 1910m 1 0 1 1 2 2 0 Residual Moveout, q (Seconds) 2 4 0 0 Residual Moveout, q (Seconds) 2 4 20 40 4 3 Frequency (Hz) t (Seconds) tau (Seconds) 3 4 60 80 5 5 100 6 6 7 7 120 (a) (b) (c) Figure 56: a) CMP gather. b) Least squares (Low res.) Radon Transform. c) f − q spectrum of the data. Notice that spite of the aliasing artifacts corrupting the Radon panel, the f − q spectrum clearly shows the prescence of 4 well-defined modes. M.D.Sacchi / STMSSP 133 0 Max Offset = 1910m 1 0 1 0 2 2 2 3 3 3 t (Seconds) 1 t (Seconds) 1 t (Seconds) 1 4 4 4 5 5 5 6 6 6 7 7 (a) 1 7 (b) (c) Figure 57: a) Data. b) Multiples estimated from the Radon panel in Fig. 56. c) Primaries estimated via substraction of the multiple model from the original data. M.D.Sacchi / STMSSP 134 0 Max Offset = 1910m 1 0 1 1 2 2 0 Residual Moveout, q (Seconds) 2 4 0 0 Residual Moveout, q (Seconds) 2 4 20 40 4 3 Frequency (Hz) t (Seconds) tau (Seconds) 3 4 60 80 5 5 6 6 7 7 100 120 (a) (b) (c) Figure 58: a) CMP gather. b) High resolution Radon Transform. c) f − q spectrum of the data. Notice that spite of the aliasing artifacts corrupting the Radon panel, the f − q spectrum clearly shows the prescence of 4 well-defined modes. De-aliasing was achieved by the two passes algorithm. M.D.Sacchi / STMSSP 135 0 Max Offset = 1910m 1 0 1 0 2 2 2 3 3 3 t (Seconds) 1 t (Seconds) 1 t (Seconds) 1 4 4 4 5 5 5 6 6 6 7 7 (a) 1 7 (b) (c) Figure 59: a) Data. b) Multiples estimated from the Radon panel in Fig. 58. c) Primaries estimated via substraction of the multiple model from the original data. M.D.Sacchi / STMSSP 136 Resolution enhancement: Impulse response 2.0 60 65 70 75 80 2.0 2.5 2.5 3.0 3.0 60 65 70 75 80 Figure 60: Left: Least squares. Right: High resolution, two passes algorithm. M.D.Sacchi / STMSSP 137 8.9 Hyperbolic Radon Transform • Parabolic Radon Transform operates on NMO corrected gathers (Bad at far offsets) • Hyperbolic Radon Transform operates directly on CMP gathers Hyperbolic Radon Transform are used to compute Time Variant Velocity Gathers (Velocity Gathers or Velocity Stacks). d(t, h) = Z m(τ = q t2 − h2 /v 2 , v) dv , d(t, h) : CMP gather m(τ, v) : Velocity gather Remarks: • The operator is time variant, as a consequence there are no frequency domain algorithms. • The operator can be packed in a matrix or applied in the flight M.D.Sacchi / STMSSP 138 Discrete case d, m: data and velocity gather in lexicographic arrangement d = Lm . size of d: nt × nh size of m: nτ × nv → size of the operator L: (nt × nh) × (nτ × nv) The problem M inimize {φ = ||Lm − d||22 } m̂ = (LT L)−1 LT d = (LT L)−1 m0 , Question How do we invert (LT L) to obtain the Velocity gather? Answer Direct inversion: NO WAY Example: nv = nh = 48, nt = nτ = 1000 then LT L is 24000 × 24000 Solution Use semi-iterative technique for large sparse operators (i.e., Conjugate Gradients) M.D.Sacchi / STMSSP 139 Hyperbolic Radon Transform: CG solution To apply CG we need to know how to do the following two operations: Lx Apply L to a vector in model space LT y Apply LT to a vector in data space Remark: L is never stored as a matrix; we treat it as an operator M.D.Sacchi / STMSSP 140 The Algorithm (CGLS) To solve the problem ||Lx − y||2 with an initial solution x0 , we use the following algorithm: Set initial values: r = y − L x0 , g = LT r , s = g γ0 = ||g||2 for i = 1:IT ERM AX ss = Ls do it ∆ = ||ss||2 α = γi−1 /∆ x = x+αs r = r − α ss g = LT r undo it γi = ||g||2 β = γi /γi−1 s=g+βs end M.D.Sacchi / STMSSP 141 Hyperbolic Radon Transform: Example 0 200 400 Offset (m) 600 800 1000 1000 0 0.4 0.4 V (m/s) 2000 2500 3000 Time (s) 0.2 Time (s) 0.2 1500 0.6 0.6 0.8 0.8 (a) 1000 0 1500 V (m/s) 2000 2500 (b) 3000 0 0.4 0.4 400 Offset (m) 600 800 1000 Time (s) 0.2 Time (s) 0.2 200 0.6 0.6 0.8 0.8 (c) (d) Figure 61: (a) Synthetic data. (b) Velocity gather obtained using the adjoint operator. (c) Velocity gather computed using the least-squares inversion. (d) Recovered data (primary) obtained after the de-multiple process. M.D.Sacchi / STMSSP 142 Artifacts 1000 0 1500 V (m/s) 2000 2500 3000 Near Offset Artifacts 0.2 Alias Time (s) 0.4 0.6 Far Offset Artifacts 0.8 (c) Figure 62: Velocity gather after clipping M.D.Sacchi / STMSSP 143 Hyperbolic Radon Transfrom: The operator CGLS needs to call the following operator - Matrices are not needed!! . . . . . . . . ! c is a flag c=’a’ : adjoint operator ! c=’f’ : forward operator ! strange stuff is for linear interpolation!! if(c.eq.’a’) call clean(m,nv,nt) if(c.eq.’f’) call clean(d,nh,nt) ! initialize m with zeros ! initialize d with zeros do ih =1,nh do iv=1,nv do itau=1,nt ttt=(itau-1)*dt time=sqrt(ttt**2+(h(ih)/v(iv))**2) it1 = int(time/dt) a = time/dt - float(it1) !Coeff. of the linear interp. it2 = it1 + 1 if(it1.lt.nt.and.it1.ge.1) if(c.eq.’a’) m(iv,itau) = if(c.eq.’f’) d(ih,it1) = if(c.eq.’f’) d(ih,it2) = endif enddo enddo enddo then m(iv,itau)+(1.-a)*d(ih,it1)+a*d(ih,it2) d(ih,it1)+(1.-a)*m(iv,itau) d(ih,it2)+ a *m(iv,itau) ! end offset loop ! end velocity loop ! end tau loop return end M.D.Sacchi / STMSSP 144 High Resolution Hyperbolic Radon Transf. a b We can contruct a solution m that consists on a few isolated spikes in velocity space. Minimize J = ||Lm − d||22 + µ X ln(1 + m2k /b) k LT L m − L T d + Q m = 0 where Q is a diagonal matrix with elements given by Qi = 2µ b + m2i It is clear that the system needs to be solved in an iterative manner (Q depends on the unknown model m). We can rewrite our solution as follows: mk = (LT L + Qk−1 )−1 LT d . a Thorson, J. R., and Claerbout, J. F., 1985, Velocity-stack and slant stack stochastic inversion: Geophysics, 50, 2727-2741. b Trad D., Ulrych J. and Sacchi M.D., 2003, Latest view of sparse Radon transforms: Geophysics, 68, 386-399 M.D.Sacchi / STMSSP 145 Example: data set from the Gulf of Mexico -1.4 Offset (ft) -1.2 x10 4 -1.0 2 3 Time (s) 4 5 6 7 Figure 63: CMP gather # 1000 from a data set from the Gulf of Mexico. M.D.Sacchi / STMSSP 146 LS Hyperbolic Radon Transf. 4000 Velocity (ft/s) 6000 8000 2 3 Time (s) 4 5 6 7 Figure 64: Velocity panel obtained by inversion of the Hyperbolic Radon transform using least-squares. CMP gather # 1000 from a data set from the Gulf of Mexico. M.D.Sacchi / STMSSP 147 High Resolution Hyperbolic Radon Transf. 4000 Velocity (ft/s) 6000 8000 2 Time (s) 3 4 5 6 7 Figure 65: Velocity panel obtained by inversion of the Hyperbolic Radon transform using sparse inversion. CMP gather # 1000 from a data set from the Gulf of Mexico. M.D.Sacchi / STMSSP 148 Figure 66: Gulf of Mexico data set. Stack section before Demultiple. M.D.Sacchi / STMSSP 149 Figure 67: Gulf of Mexico data set. Stack section after multiple removal. M.D.Sacchi / STMSSP 150 Sparseness in time − v and the wavelet You might need to solve LW m = d Sparseness in time is not modelled by the operator L, therefore, W (the wavelet) is needed to make the algorithm more stable. A small modification to the CGLS code is all that it is needed: LW = Convolve with wavelet, then model W T LT = Apply the adjoint, then cross-correlate with the wavelet M.D.Sacchi / STMSSP 151 9 Fourier Interpolation M.D.Sacchi / STMSSP 152 9.1 Interpolation Iterpolation in Shot-Rec. coordinates (or Midpoint-Offset) using the NU-DFT (NU: Non-uniform) 2D NU-DFT Interpolation: −1 −1 N X 1 MX U (ks (m), kr (n), ω)ejks (m)xs ejkr (n)xr , u(xs , xr , ω) = M N m=0 n=0 (39) where xs and xr are the spatial variables along source and receiver coordinates, ks and kr are the corresponding wave-numbers. In matrix form: u = AU Amn = 1 jks (m)xs jkr (n)xr , e e MN (40) (41) u and U denote the known data and unknown coefficients of the DFT, respectively J =k AU − u k22 +² k U k22 Û = (AT A + ²I)−1 AT u, M.D.Sacchi / STMSSP 153 Band-Limited Signal Interpolation a Solutions like Û = (AT A + DI)−1 AT u, (42) can include information about the spectral support of the signal. The diagonal matrix D can be computed to constraint wavenumbers not needed to reproduce the data. Note the similarity with the High Res. Radon transform where we exclude q-modes to achieve high resolution. ks k s,r k r =f/Vmin kr fmax f f k s =-f/Vmin Figure 68: Region of support for Fourier interpolation. a Duijndam A.J.W., Schonewille M., and Hindriks K., 1999,Reconstruction of seismic signals, irregularly sampled along on spatial coordinate: Geophysics, 64, 524-538. M.D.Sacchi / STMSSP 154 Should we use sparse inversion in Fourier Interpolation ? a b • Here we have to be carefull. Fourier spectra is not necesarilly sparse like the q-spectra in the parabolic Radon transform. • There are, however, cases where the sparse assumption is valid. See the next example: 0.2 0.4 Time [s] 0.6 0.8 1 1.2 1.4 500 550 600 650 700 Depth [m] 750 800 850 Figure 69: Vertical seismic profile. a Sacchi, M.D., and Ulrych, T.J, 1996, Estimation of the discrete Fourier transform: a linear inversion approach: Geophysics, 61, 4, 1128-1136. b Sacchi, M.D., Ulrych, T.J, and Walker, C., 1998, Interpolation and extrapolation using a high resolution discrete Fourier transform: IEEE Trans. on Signal Processing, 46, No. 1, 31-38. M.D.Sacchi / STMSSP 155 Normalized frequency 0 0 0.05 −10 0.1 −20 0.15 −30 0.2 −40 0.25 −50 0.3 −60 0.35 −70 0.4 −80 0.45 −90 0.5 −0.5 −100 −0.4 −0.3 −0.2 −0.1 0 0.1 Normalized wavenumber 0.2 0.3 0.4 0.5 Db Figure 70: VSP data: 2D periodogram or classical Fourier spectrum. Normalized frequency 0 0 0.05 −10 0.1 −20 0.15 −30 0.2 −40 0.25 −50 0.3 −60 0.35 −70 0.4 −80 0.45 −90 0.5 −0.5 −100 −0.4 −0.3 −0.2 −0.1 0 0.1 Normalized wavenumber 0.2 0.3 0.4 0.5 Db Figure 71: VSP data: 2D high resolution spectrum using sparse inversion (Cauchy norm) M.D.Sacchi / STMSSP 156 Sparse Reconstruction of Fourier Spectra (a) 2 1 0 −1 −2 0 20 40 60 80 100 (b) 120 140 160 180 200 0 20 40 60 80 100 (c) 120 140 160 180 200 0 20 40 60 80 100 Samples 120 140 160 180 200 2 1 0 −1 −2 2 1 0 −1 −2 Figure 72: (a) Input data (b) Reconstructed data (c) Error (a) Normalized Power 1 0.8 0.6 0.4 0.2 0 0 0.05 0.1 0.15 0.2 0.25 0.3 Normalized Frequency 0.35 0.4 0.45 0.5 0.35 0.4 0.45 0.5 (b) Normalized Power 1 0.8 0.6 0.4 0.2 0 0 0.05 0.1 0.15 0.2 0.25 0.3 Normalized Frequency Figure 73: (a) High resolution spectrum (b) Periodogram M.D.Sacchi / STMSSP 157 9.2 Minimum weighted norm interpolation This is an alternative to sparseness and band-limited constraints:a Minimize J = ||u − AU ||22 Uk∗ Uk + 2 k∈K Pk X where Pk is an inital estimate of the power spectrum of the data, and K the wavenumber region where Pk 6= 0. The problem is solved with the CG method and efficiency can be gainned by using the FFT (after data binning) rather the NU-DFT, in that case: Minimize J = ||W (u − AU )||22 Uk∗ Uk + 2 k∈K Pk X W is used to penalize non-recorded data. Remark: • Pk needed at frequency slice f is computed from the solution at frequency f − ∆f (see, non-iterative Radon Transform) • Helps to mitigate alias since the weigths are derived from the interpolation of the non-aliased low freq. portion of the data. a Liu B., and Sacchi M.D., 2003, 2-D/3-D seismic wavefield reconstruction for AVA imaging: 73rd Annual Mtg. Soc. Expl. Geophys., Expanded Abstracts, 4 pages, CDROM. M.D.Sacchi / STMSSP 158 MWNI - Examples (a) 3.0 -4800 -4600 -4400 -4200 -4000 Offset (m) -3800 -3600 -3400 -3200 -3000 -2800 -4000 Offset (m) -3800 -3600 -3400 -3200 -3000 -2800 3.2 Time (s) 3.4 3.6 3.8 4.0 4.2 4.4 (b) 3.0 -4800 -4600 -4400 -4200 3.2 Time (s) 3.4 3.6 3.8 4.0 4.2 4.4 Figure 74: M.D.Sacchi / STMSSP Before and After MWNI (Gap filling + resampling) 159 Marmousi s-r interpolation 3600 Source positions (m) 3500 3400 3300 3200 3100 Known Unknown 3000 500 1000 1500 2000 Receiver positions (m) 2500 3000 3500 Figure 75: Source and receiver position map where the x-mark indicates the position of the available traces; the dots indicate the positions to be interpolated. (a) Trace Number 100 200 (b) 0 0 Trace Number 100 200 Time (s) 0 Time (s) 0 2 2 (c) Trace Number 100 200 Time (s) 0 0 2 Figure 76: (a) Decimated shot gathers at 3075 m, 3100 m and 3125 m. (b) The reconstructed shot gathers. (c) The reconstruction error. M.D.Sacchi / STMSSP 160