Nonminimum-delay wavelet/en
<languages/>
|
| |
| Series | Geophysical References Series |
|---|---|
| Title | Digital Imaging and Deconvolution: The ABCs of Seismic Exploration and Processing |
| Author | Enders A. Robinson and Sven Treitel |
| Chapter | 9 |
| DOI | http://dx.doi.org/10.1190/1.9781560801610 |
| ISBN | 9781560801481 |
| Store | SEG Online Store |
What is the structure of a nonminimum-delay wavelet? Let the signature be the real-value, finite-length, nonminimum-delay wavelet $ s=\left(s_{0},{\rm {s}}_{1}{\rm {,\dots ,}}\ s_{\rm {N}}\right) $. Let us call anything that has a flat magnitude spectrum white and anything that has a curved magnitude spectrum colored. The canonical representation is the key to signature deconvolution. The canonical representation states that a given nonminimum-delay wavelet s is equal to the convolution of (1) its minimum-delay counterpart b, which is a wavelet with the same color as the given nonminimum-delay wavelet s but with a minimum-phase spectrum, and (2) the all-pass wavelet p, which has a white (i.e., flat) magnitude spectrum and which carries the extra phase. The canonical representation of the signature is given by
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} s= b*p. \end{align} ()
The signature s is known. The problem is to find its two components.
Let 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/":): S\left(\omega \right) be the Fourier transform of the signature. The energy spectrum is defined 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/":): \begin{align} \Psi {\rm \ }\left(\omega \right)&{ =|}S\left(\omega \right){{\rm |}} ^{ 2} = \sum^N_{m= 0}{s_m}e^{-i\omega m}\sum^N_{n= 0}{s_n}e^{i\omega n}. \end{align} ()
If we let 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/":): m-n = k , we can rewrite this 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/":): \begin{align}\Psi (\omega ) = \sum\limits_{m = 0}^N {\sum\limits_{n = 0}^N {s_m s_n e^{ - i\omega (m - n)} = \sum\limits_{k = - N}^N {e^{ - i\omega k} } \sum\limits_{n = 0}^N {s_{n + k} s_n } .} } \end{align} ()
The autocorrelation is defined 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/":): \begin{align} r_k= \sum^N_{n= 0}{s_{n + k}} s_n. \end{align} ()
The autocorrelation is symmetric; 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/":): r_k = r_{-k} The energy spectrum can be written 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/":): \begin{align} \Psi \left(\omega \right)= \sum^N_{k = -N}{e^{-i\omega k}} r_k = r_0+2\sum^N_{i{ =1}}{r_k}{\rm \ cos\ }\omega k\ge 0. \end{align} ()
Thus, if we are given the signature s, we can compute its energy spectrum as well as its autocorrelation.
We now want to consider the inverse problem: Given the energy spectrum (or, equivalently, the autocorrelation), we want to find the wavelet that yields this energy spectrum. This inverse problem, as it stands, is not unique in that many wavelets have the given amplitude spectrum 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/":): \sqrt{\Psi \left(\omega \right)} Only one of these wavelets is minimum delay. This exceptional wavelet can be determined because it is possible to determine the minimum-phase spectrum from knowledge of its amplitude spectrum 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/":): \sqrt{\Psi \left(\omega \right)} . Thus, we have enough information to compute the minimum-delay counterpart of the nonminimum-delay signature. This is how we do it:
We write the energy spectrum as the Z-transform
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} \Psi \left(Z\right)= \sum^N_{k = -N}{Z^k}r_k. \end{align} ()
We see that 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^N\Psi \left(Z\right) is a polynomial of degree 2N. Because the autocorrelation is symmetric, it follows that 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^N\Psi \left(Z\right)= 0 if and only 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/":): Z^N\Psi \left(Z^{-{ 1}}\right)= 0 . Thus, Z is a root of this polynomial if and only if $ Z^{-1} $ is a root. Moreover, because the polynomial has real coefficients, it follows that for every complex root, the corresponding complex-conjugate root must occur. For example, suppose the autocorrelation is (2, 5, 2), where the center point 5 is at time index 0. The Z-transform of the autocorrelation 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/":): \Psi \left(Z\right){ =2}Z^{-{ 1}} { +5+2}Z . The polynomial 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\Psi \left(Z\right){ =2+5}Z+2Z^{ 2} can be factored 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/":): \left(Z+2\right)\left( 2Z{ +\ 1}\right) . We see that -2 is a root and that 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/":): -{\rm 1/2} is also a root.
Let us compute the roots of the polynomial. Any root of modulus one gives rise to an equal-delay component. Such situations are treated in Robinson (1967b)[1]. Here, we assume that there are no roots of modulus one. There are 2N roots in all. Of these roots, N of them, say, 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}},..., Z_N , will have modulus greater than one. The remaining N roots will have modulus less than one. Let us form the polynomial
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} b_N\left(Z-Z_{1}\right)\left(Z-Z_{ 2}\right)\dots \left(Z-Z_N\right)= b_0 + b_{{ 1}} Z + \dots + b_NZ^N ,\end{align} ()
where the constant 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_N is determined by requiring that the wavelet b have the same energy as the signature s. In other words, the constant 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_N is determined by the requirement that
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} b^{ 2}_0 + b^{ 2}_{1} + \dots + b^{ 2}_N = s^{ 2}_0 + s^{ 2}_{1} + \dots + s^{ 2}_N. \end{align} ()
The wavelet b is thus the desired minimum-delay counterpart of the signature s.
The inverse 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^{-{ l}} = f = \left(f_{{\rm O}},f_{1}{\rm \ ,\ }f_{ 2},\dots \right) of the minimum-delay counterpart b can be obtained by carrying out the polynomial division
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} \frac{1}{b_0 + b_{{ 1}} Z + \dots + b_NZ^N}= f_0 + f_{{ 1}}Z + f_{ 2}Z^{ 2} +\dots. \end{align} ()
Let us now describe a computing method to obtain the coefficients 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/":): f_i . Write equation 40 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/":): \begin{align} \sum^N_{m= 0}{b_m}&Z^m\sum^{\infty }_{n= 0}{f_n}Z^n{ =1}. \end{align} ()
If we let 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/":): n = k-m , we can rearrange terms 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/":): \begin{align} \sum^{\infty }_{k= 0}&{\left(\sum^N_{m= 0}{b_m}f_{k-m}\right)}Z^k{ =1}. \end{align} ()
For this equation to hold, we see that
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} b_0f_0{ =1}& \mathrm{\ and\ } \sum^N_{m= 0}{b_m}f_{k-m}= 0 \mathrm{\ for\ } k{ =1,2,3,}\dots. \end{align} ()
Right away, we find the value 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/":): f_0 = b^{-{ l}}_0 . We shall put this value in the equation for 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/":): k = 1 and solve the equation for 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/":): f_{{ 1}} . Then we put these values in the equation for 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/":): k{ =2} and solve the equation for 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/":): f_{ 2} . We continue in this way to solve the equations to obtain the inverse 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/":): f = b^{-1} .
Next, we use the expression
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} f*s= f*\left(b*p\right) = b^{-1}*\left(b*p\right) = p \end{align} ()
to obtain an expression for the all-pass filter p. Once this all-pass operator has been found, its inverse follows without further computation by simply reversing the order of its coefficients. That is, the inverse of p is simply its reverse (with respect to the time index 0):
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} p^{-1}= p^R. \end{align} ()
Thus, we have obtained the components of the canonical representation 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/":): s = b*p of the signature, and the components of the signature inverse, namely
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} s^{-1}= {\left(b*p\right)}^{-1} = b^{-1}*p^{-1} = f*p^R. \end{align} ()
References
- ↑ Robinson, E. A., 1967b, Predictive decomposition of time series with application to seismic exploration: Geophysics, 32, 418-484.
Continue reading
| Previous section | Next section |
|---|---|
| Convolutional model | Signature deconvolution |
| Previous chapter | Next chapter |
| Synthetics | Deconvolution |
Also in this chapter
- Wavelets
- The shaping filter
- Spiking filter
- White convolutional model
- Wavelet processing
- All-pass filter
- Convolutional model
- Signature deconvolution
- Vibroseis
- Dual-sensor wavelet estimation
- Deconvolution: Einstein or predictive?
- Summary
- Appendix I: Exercises