Autocorrelation - book

From SEG Wiki
Jump to navigation Jump to search
ADVERTISEMENT
Digital Imaging and Deconvolution: The ABCs of Seismic Exploration and Processing
Series Geophysical References Series
Title Digital Imaging and Deconvolution: The ABCs of Seismic Exploration and Processing
Author Enders A. Robinson and Sven Treitel
Chapter 7
DOI http://dx.doi.org/10.1190/1.9781560801610
ISBN 9781560801481
Store SEG Online Store

The autocorrelation of a signal $ b=\{\ldots ,b_{-2},\;b_{-1},\;b_{0},\;b_{1},\,b_{2},\;\ldots $ is defined to be


$ {\begin{aligned}&r_{k}=\sum _{j=-\infty }^{\infty }{b_{j+k}}b_{j}^{*}.\end{aligned}} $ (45)

This formula gives the autocorrelation coefficient $ r_{k} $ for each integer k. For a finite-length causal wavelet $ b=\left\{b_{0}{,\ }b_{\rm {l}}{,\ }b_{2}{,\ .\ .\ .}b_{N}\right\} $, the expression 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/":): r_k=\sum^{\infty }_{j=0}{b_{+k}}b^{*}_j=r^{*}_{-k} \mathrm{for} k=0, 1,\dots , N


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= 0\mathrm{\ for\ } k<-N \mathrm{\ and\ } k>N \end{align} (46)

The superscript asterisk indicates the complex conjugate. The superscript asterisk can be omitted except in cases in which the wavelet coefficients are complex.

Let us examine wavelets, all of which have the same autocorrelation. Figures 14 through 17 depict representative members of a suite of wavelets, all with the same autocorrelation.

Figure 14.  (left) The minimum-delay wavelet of a given suite of wavelets, all with the same autocorrelation. (right) The Energy buildup of this wavelet.
Figure 15.  A mixed-delay wavelet of the given suite of wavelets all with the same autocorrelation (right) The energy buildup of this wavelet.
Figure 16.  The maximum-delay wavelet of the given suite of wavelets all with the same autocorrelation. (right) The Energy buildup of this wavelet.
Figure 17.  Joint plot of the energy-buildup curves of the three wavelets shown in Figures 14 – 16.
Table 4. Energy buildups for a minimum-delay wavelet, a mixed-delay four-length wavelet, and a maximum-delay four-length wavelet.
Energy buildup
Wavelet type 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/":): p_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/":): p_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/":): p_2 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/":): p_3
Minimum-delay wavelet 4 5 5.25 5.3125
Mixed-delay four-length wavelet 1 5 5.0625 5.3125
Maximum-delay four-length wavelet 0.0625 0.3125 1.3125 5.3125

Next we shall show that the autocorrelation is the convolution of a signal with its zero-point reverse. To autocorrelate a wavelet, we merely convolve the wavelet with its reverse. For example, let us find the autocorrelation of the 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/":): \left\{b_0{,\ }b_{{\rm l}}{,\ }b_{2}\right\} . Its reverse is the anticausal 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/":): b^R=\{b^{*}_{2},b^{*}_{1},b^{*}_0\} . Therefore, the folding table for such an operation 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} \begin{array}{*{20}c} \begin{array}{l} \\ \left. \begin{array}{l} b_0 \\ b_1 \\ b_2 \\ \end{array} \right| \\ \\ \end{array} & \begin{array}{l} \underline {b_2^* \;\;\;\;\;\;\;b_1^* \;\;\;\;\;\;b_0^* } \\ b_0 b_2^* \;\;\;\;b_0 b_1^* \;\;\;b_0 b_0^* \\ b_1 b_2^* \;\;\;\;b_1 b_1^* \;\;\;b_1 b_0^* \\ b_2 b_2^* \;\;\;\;b_2 b_1^* \;\;b_2 b_0^* \\ \\ \end{array} \\ \end{array}. \end{align} (47)

We see that the autocorrelation $ r_{0} $ for time index 0 is equal to the sum on the main southwest-northeast diagonal:


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_0=b_0b^{*}_0+b_{{ 1}} b^*_{1}+b_{2}b^*_{2}. \end{align} (48)

For each summand, the first index minus the second index is 0. 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/":): r_0 gives the Energy of the wavelet. Working up from the diagonal, we get 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/":): r_k for the negative ks; 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} &r_{-{ l}} =b_{1}b_{2}+b_0b^{*}_{1}. \end{align} (49)

For each summand, the first index minus the second index is –1. In addition, 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} &r_{-2}=b_0b^*_{2}. \end{align} (50)

The first index minus the second index is –2. Working down from the diagonal, we get 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/":): r_k for positive k; 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} &r_{{ l}} =b_{2}b^*_{1}+b_{1}b^{*}_0. \end{align} (51)

For each summand, the first index minus the second is 1. In addition, 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} r_{2}=b_{2}b^{*}_0. \end{align} (52)

The first index minus the second index is 2. The 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/":): b=\left\{b_0{,\ }b_{1}{\ ,\ }b_{2}\right\} is called the component signal of the autocorrelation. In other words, an autocorrelation is given by the convolution of a component signal and its zero-point reverse. A component signal for an autocorrelation is not unique.

Now let us show that a wavelet and its reverse have the same autocorrelation. Convolution is described as a folding operation between two signals. The autocorrelation of a signal is defined as the convolution of the signal with its zero-point reverse. Consider the wavelet (2, 1) in which the value 2 occurs at time 0. Its zero-point reverse is (1, 2) in which the value 2 occurs at time 0, so its autocorrelation table is


$ {\begin{aligned}&\ \ \ {\underline {1}}\,\,\,{\underline {2}}\\&2|2\,\,\,\,4.\\&1|1\,\,\,\,2\end{aligned}} $ (53)

Its 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/":): \begin{align} &r_{-1}=2,\ r_0=1+4=5,\ r_{1}=2. \end{align} (54)

On the other hand, consider the wavelet (1, 2), in which the 1 occurs at time 0. Its zero-point reverse is (2, 1), in which the 1 occurs at time 0. The autocorrelation table 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} &\ \ \ \underline{2}\,\,\,\underline{1}\\ &1|2\,\,\,\,1\ ,\\ &2|4\,\,\,\,2 \end{align} (55)

and its autocorrelation is the same. Thus, the wavelet (2, 1) has the same autocorrelation as does its reverse (1, 2). This is always so. That is, the autocorrelation of any wavelet is the same as the autocorrelation of the reverse wavelet.

Now we shall illustrate an all-pass filter. The foregoing example illustrates something further. 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/":): \left(b_0{,\ }b_{1}\right) be a two-length wavelet. Then the only other two-length wavelet with the same autocorrelation as that 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/":): \left\{b_0{,\ }b_{1}\right\} is its (midpoint) reverse $ \left(b_{1}^{*}{\ ,\ }b_{0}^{*}\right) $. (Of course, when we speak about the 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/":): \left\{b_0{,\ }b_{{ 1}}\right\} and its reverse 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(b^{*}_{{ 1}}{,\ }b^{*}_0\right) , we mean the equivalence class 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/":): \left\{cb_O{,\ }cb_{1}\right\} and $ \left\{c^{*}{\ }b_{1}^{*}{,\ }c^{*}{\ }b_{0}^{*}\right\} $ for any constant c 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/":): cc^{*}=1 . Here, we take c = 1.) Thus, the only other two-length wavelet with the same autocorrelation as that of (2, 1) is (1, 2). It turns out that there are wavelets of greater length with the same autocorrelation, but there is no other wavelet of length 2 with the same autocorrelation. Figure 18 shows the wavelet (2, 1) and a wavelet of greater length, both of which have the same autocorrelation. The wavelet of greater length is obtained by convolving the wave-let (2, 1) with the all-pass filter shown in the figure.

Figure 18.  Two wavelets with the same autocorrelation. Because the autocorrelation is symmetric, only one side is shown.

A causal all-pass filter is defined as a causal filter with an amplitude spectrum equal to unity for all frequencies. The transfer function of a causal all-pass filter 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} &P\left(Z\right)=\frac{A^R\left(Z\right)}{A\left(Z\right)}, \end{align} (56)

where A(Z) is the Z-transform of a finite-length minimum-delay wavelet a, 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/":): {{\rm A}}^R\left(Z\right) is the Z-transform of the reverse 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^R . The amplitude spectrum of this all-pass filter is unity because both a and its reverse 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^R have the same amplitude spectrum. This reverse is, of course, maximum delay. Because a causal all-pass wavelet has a unit amplitude spectrum, it follows that its inverse is equal to its reverse; 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/":): p^{-{ 1}}=p^R , or


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}\left(Z\right)=A\left(Z\right)/A^R\left(Z\right)={\left(A^R\left(Z\right)/A\left(Z\right)\right)}^R=P^R\left(Z\right) . \end{align} (57)

Thus the inverse is noncausal and one-sided to the past.

Generally, a causal all-pass wavelet has infinite length. However, in two special cases, a causal all-pass wavelet reduces to a finite-length wavelet. In the first special case, A(Z) is a constant. As a result, the transfer function of the causal all-pass wavelet is equal to one, so the causal all-pass wavelet is the unit spike {1, 0, 0, 0, …}, where the 1 occurs at time index 0. Such a causal all-pass wavelet is called trivial because the unit spike convolved with any signal does not change the signal. In the second special case, 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^R\left(Z\right)=Z^n where n is a positive integer. In this case, 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/":): P\left(Z\right)=Z^n , so the causal all-pass wavelet produces a pure delay of n time units.


Continue reading

Previous section Next section
Energy Canonical representation
Previous chapter Next chapter
Frequency Synthetics

Table of Contents (book)


Also in this chapter


External links

find literature about
Autocorrelation - book/en