# Ondícula de retraso no mínimo

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 **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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle Z^N\Psi \left(Z\right)}**
is a polynomial of degree 2*N*. 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/":): {\displaystyle 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/":): {\displaystyle Z^N\Psi \left(Z^{-{ 1}}\right)= 0}**
. Thus, *Z* is a root of this polynomial 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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle -{\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 2*N* 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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle 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/":): {\displaystyle \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/":): {\displaystyle \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/":): {\displaystyle 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/":): {\displaystyle \begin{align} s^{-1}= {\left(b*p\right)}^{-1} = b^{-1}*p^{-1} = f*p^R. \end{align}}****(**)

## Referencias

- ↑ Robinson, E. A., 1967b, Predictive decomposition of time series with application to seismic exploration: Geophysics,
**32**, 418-484.

## Sigue leyendo

Sección previa | Siguiente sección |
---|---|

Modelo convolucional | Deconvolución de la firma |

Capítulo previo | Siguiente capítulo |

Sintéticos | Deconvolución |

## También en este capítulo

- Ondículas
- Filtro conformador
- Filtro spike
- El modelo convolucional blanco
- Procesamiento de la ondícula
- Filtro pasa-todo
- Modelo convolucional
- Deconvolución de la firma
- Vibros
- Estimación de la ondícula en sensores dualres
- Deconvolución: Einstein o predictiva?
- Resúmen
- Apéndice I: Ejercicios