Calculating crosscorrelation and autocorrelation
|
| |
| Series | Geophysical References Series |
|---|---|
| Title | Problems in Exploration Seismology and their Solutions |
| Author | Lloyd P. Geldart and Robert E. Sheriff |
| Chapter | 9 |
| Pages | 295 - 366 |
| DOI | http://dx.doi.org/10.1190/1.9781560801733 |
| ISBN | ISBN 9781560801153 |
| Store | SEG Online Store |
Problem
Four causal wavelets are given by $ a_{t}=[2,\;-1] $, $ b_{t}=[4,1] $, $ c_{t}=[6,\;-7,\;2] $, $ d_{t}=[4,9,2] $. Calculate the crosscorrelations and autocorrelations $ \phi _{ab} $, $ \phi _{ac} $, $ \phi _{ca} $, $ \phi _{aa} $, and $ \phi _{cc} $ in both the time and frequency domains.
Background
A causal wavelet as defined in problem 5.21 has zero values when $ t<0 $.
The crosscorrelation $ \phi _{gh}(\tau ) $ of $ g_{t} $ and $ h_{t} $ tells us how similar the two functions are when $ h_{t} $ is shifted the amount $ \tau $ relative to $ g_{t} $. The crosscorrelation is given by the equation
$ {\begin{aligned}\phi _{gh}(\tau )=\sum \limits _{k}^{}g_{k}h_{k+\tau }.\end{aligned}} $ ()
This equation means that $ h_{t} $ is displaced $ \tau $ units to the left relative to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} , corresponding values multiplied, and the products summed to give Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{gh} (\tau) . The result is the same if we move Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} to the right Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \tau units, that is,
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi _{gh} (\tau)=\phi_{hg} (-\tau). \end{align} ()
The functions Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{gh} (\tau) and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} *h_{t} are closely related. Using two simple curves, it is easily shown that we can crosscorrelate by reversing Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} and convolving the reversed function with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_{t} , that is,
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gh} (\tau)=g_{-\tau} *h_{\tau} =g_{\tau} *h_{-\tau} \end{align} ()
(since convolution is commutative). Reversing a function in time changes the sign of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): t=n\Delta , so the exponent of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): z changes sign also, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): z becoming Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): z^{-1} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): G(z) becoming the conjugate complex $ {\bar {G}}(z) $. The convolution theorem (equation (9.3f)) now becomes the crosscorrelation theorem:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gh} (\tau)\leftrightarrow \bar{G}(z)H(z). \end{align} ()
If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_{t} is the same as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} , we get the autocorrelation of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): g_{t} and equations (9.8a,d) become
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gg} (\tau)=\sum\limits_{k}^{} g_{k} \ g_{k+\tau} \leftrightarrow |G(z)|^{2}, \end{align} ()
the transform relation being the autocorrelation theorem. Since the two functions are the same, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{gg} (\tau) does not depend upon the direction of displacement. The autocorrelation for $ \tau =0 $ equals the sum of the data elements squared, hence is called the energy of the trace;
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gg} (0)=\sum\limits_{k}^{} g_{k}^{2}. \end{align} ()
Both the autocorrelation and the crosscorrelation are often normalized; in the case of the autocorrelation, equation (9.8e) becomes
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gg} (\tau)_{\mathrm{norm}} =\left(\sum\limits_{k}^{} g_{k} \ g_{k+\tau}\right) \left(\sum\limits_{k}^{} g_{k}^{2}\right)^{-1} =\phi_{gg} (\tau)/\phi_{gg} (0). \end{align} ()
The normalized crosscorrelation is
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{gh} (\tau)_{\mathrm{norm}} =\phi_{gh} (\tau)/[\phi_{gg} (0)\phi_{hh} (0)]^{1/2}. \end{align} ()
Solution
Time-domain calculations:
Using equation (9.8a) to calculate Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{ab} , i.e., Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): b_{t} is first shifted to the left; we have:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{ab} (+1)=2\times 1=2;\quad \phi_{ab} (0)=2\times 4-1\times 1=7;\quad \phi_{ab} (-1)=-1\times 4=-4. \end{align}
So
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi_{ab} (\tau)=[-4, \mathop{7}\limits^{\downarrow},\; 2], \end{align}
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \downarrow marks the value at Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \tau=0 . Proceeding in the same way, we find that
$ {\begin{aligned}&\phi _{ac}(+2)=4,\quad \phi _{ac}(+1)=-16,\quad \phi _{ac}(0)=19,\quad \phi _{ac}(-1)=-6;\\&\phi _{ac}(\tau )=[-6,\mathop {19} \limits ^{\downarrow },-16,4].\end{aligned}} $
To find Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{ca} (\tau) we displace Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a_{t} instead of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): c_{t} and obtain Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{ca} =[4,\; -16,\; \mathop{19}\limits^{\downarrow},\; -6] , which equals Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \phi_{ac} (-\tau) .
Autocorrelations are found in the same way:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \phi _{aa} (\tau)=[-2,\; \mathop{5}\limits^{\downarrow} ,\; -2];\quad \phi_{cc} =[12,\; -56,\; \mathop{89}\limits^{\downarrow} ,\; -56,\; 12]. \end{align}
Frequency-domain calculations
The Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): z -transforms of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a_{t} , $ b_{t} $, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): c_{t} are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): A(z)=(2-z) , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): B(z)=(4+z) , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): C(z)=(6-7z+2z^{2}) . The conjugate complexes of these transforms are are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): A(z)=(2-z^{-1}) , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): B(z)=(4+z^{-1}) , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): C(z)=(6-7z^{-1} +2z^{-2}) . Using these transforms, we get
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} &\phi_{ab} (\tau)\leftrightarrow \bar{A}(z)B(z)=(2-z^{-1} (4+z)\\ &=-4z^{-1} +7+2z\leftrightarrow [-4,\; \mathop{7}\limits^{\downarrow} ,\; 2];\\ &\phi_{ac} (\tau)\leftrightarrow \bar{A}(z)C(z)=(2-z^{-1})(6-7z+z^{2})\\ &=-6z^{-1} +19-16z+4z^{2} \leftrightarrow [-6,\; \mathop{19}\limits^{\downarrow} ,\; -16+4];\\ &\phi_{ca} (\tau)\leftrightarrow \bar{C}(z)A(z)=(2z^{-2} -7z^{-1} +6)(2-z)\\ &=4z^{-2} -16z^{-1} +19-6z\leftrightarrow [4,\; -16,\; \mathop{19}\limits^{\downarrow} ,\; -6];\\ &\phi_{aa} (\tau)\leftrightarrow (2-z^{-1})(2-z)=-2z^{-1} +5-2z\leftrightarrow [-2,\; \mathop{5}\limits^{\downarrow},\; -2];\\ &\phi_{cc} (\tau)\leftrightarrow (6-7z^{-1} +2z^{-2})(6-7z+2z^{2})\\ &=12z^{-2} -56z^{-1} +89-56z+12z^{2} \leftrightarrow [12,\; -56,\; \mathop{89}\limits^{\downarrow},\; -56,\; 12]. \end{align}
Continue reading
| Previous section | Next section |
|---|---|
| Water reverberation filter | Digital calculations |
| Previous chapter | Next chapter |
| Reflection field methods | Geologic interpretation of reflection data |
Also in this chapter
- Fourier series
- Space-domain convolution and vibroseis acquisition
- Fourier transforms of the unit impulse and boxcar
- Extension of the sampling theorem
- Alias filters
- The convolutional model
- Water reverberation filter
- Calculating crosscorrelation and autocorrelation
- Digital calculations
- Semblance
- Convolution and correlation calculations
- Properties of minimum-phase wavelets
- Phase of composite wavelets
- Tuning and waveshape
- Making a wavelet minimum-phase
- Zero-phase filtering of a minimum-phase wavelet
- Deconvolution methods
- Calculation of inverse filters
- Inverse filter to remove ghosting and recursive filtering
- Ghosting as a notch filter
- Autocorrelation
- Wiener (least-squares) inverse filters
- Interpreting stacking velocity
- Effect of local high-velocity body
- Apparent-velocity filtering
- Complex-trace analysis
- Kirchhoff migration
- Using an upward-traveling coordinate system
- Finite-difference migration
- Effect of migration on fault interpretation
- Derivative and integral operators
- Effects of normal-moveout (NMO) removal
- Weighted least-squares