Inverse filters

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

Inverse operations constitute fundamental components of seismic inversion schemes (Hilterman, 1970[1], 1985[2]; Robinson, 1981[3]; Treitel and Lines, 1982[4], 2001[5]; Bednar et al., 1983[6]; Robinson et al., 1983[7]; Hampson and Russell, 1984[8]; Gersztenkorn et al., 1986[9]; Lines and Treitel, 1984[10]; Ulrych et al., 1990[11]; Ulrych et al., 2001[12]).

What is an inverse filter? Let us develop an expression 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 y_n} by looking backward in time. The easiest way is to carry out the polynomial division as given by the expression for the transfer function 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 H\left(Z\right)=+{1/}\left(1-Z^T\right)} . The result is


(40)

Thus, the transfer function has the infinitely long feedforward 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 \begin{align} H\left(Z\right)=1+cZ^T+c^2Z^{2T}+c^3Z^{{3}T}+c^4Z^{{4}T}+c^{5}Z^{5T}+ \end{align}} (41)

In addition, the required expression for the feedback filter’s output 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 y_n} 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 \begin{align} y_n=x_n+cx_{n-T}+c^2x_{n-2T}+c^3x_{n-{3}T}+c^4x_{n-{4}T}+c^{5}y_{n-5T}+\dots. \end{align}} (42)

The result


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}{1-cZ^T}=1+cZ^T+c^2Z^{2T}+c^3Z^{{3}T}+c^4Z^{{4}T}+c^{5}Z^{5T}+\dots \end{align}} (43)

shows that the filters 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 1+cZ^T+c^2Z^{2T}+c^3Z^{{3}T}+c^4Z^{{4}T}+c^{5}Z^{5T}+\dots} 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/":): {\displaystyle \text{1 – }cZ^T} are inverse to each other. That is, the two filters in tandem result in a filter whose impulse response is a unit spike. We can say that either filter removes the effect of the other.

Let us show that the feedback filter is stable for the minimum-delay case. When 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 {|}c{|<}1} (which is a minimum-delay case), the impulse-response 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 (1,\;0,\;0,\;...,\;0,\;c_1 ,\;0,\;0,\;...,\;0\;c^2 ,\;0,\;0\;...,\;0,\;c^3 ,\;0,\;0,\;...)} tend to zero, thereby making this expression for the system output 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 y_3} converge, and hence the feedback filter is stable. Suppose that c = 0.5. Then the system output at time index 3 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 \begin{align} y_3=x_3-{0.5}x_2+0.25x_{1}-{0.125}x_0{+0.0625}x_{-1}-{0.03125}y_{-2}+\dots, \end{align}} (44)

which is convergent.

We also can show that the feedback filter is unstable for the maximum-delay case. 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 {|}c{|>}1} (which is a maximum-delay case), then the constant box produces amplification, and the feedback effect grows unboundedly with respect to time. For example, by the same reasoning as before, the feedback filter’s output at time index 3 is given by 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} y_3=x_3-cx_2+c^2\left(x_{1}-cy_0\right)=x_3-cx_2+c^2x_{1}-c^3y_0 , \end{align}} (45)

and when 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 {|}c{|>}1} , the impulse-response 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 \begin{align} {1,\ }-c,\ c^2,-c^3,\ c^4,\ c^{5},\dots \end{align}} (46)

tend to infinity, thereby making the expression for the system output 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 y_3} diverge. Hence, the feedback filter is unstable. As a numerical example, suppose that c = 2. Then the system output at time index 3 is given by the divergent summation


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} y_3=x_3-2x_2+4x_{1}-{8}x_0+16x_{-1}-{32}y_{-2}+\dots \end{align}} (47)

How can a stable filter approximate an unstable filter? The foregoing stability analysis is fine and good, but what if we demand a feedback filter with feedback-loop amplification - 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 {|}c{|>}1} ? What weapon do we have to make such a filter stable? The only weapon we have is time delay. We must delay the filter’s output to obtain a semblance of stability in our system. Thus, by demanding feedback-loop amplification 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 {|}c{|>}1} , the factors of stability and output delay must be balanced against each other. With no delay in the output, the feedback filter is necessarily unstable. However, the longer we are willing to delay the filter’s output, the greater is the chance we have for constructing a stable filter that does approximately the same job as the unstable one (Treitel and Robinson, 1966[13]).

Let us now illustrate this point, although for the moment we shall speak metaphorically. We live in a world in which we know only a one-way flow of time. Everything we do is subject to this unidirectional flow. Now let us look at the two-faced Roman god Janus (after whom the month of January is named). Janus can see both forward and backward in time. We can see only backward in time - that is, we can see only the history of a time series up to the present time n, and we cannot see the future development of the time series, no matter how hard we try. However, Janus can see that future just as well as he can see the past. To him, time is not a unidirectional flow. He has a vantage point denied to us. How can we reach that vantage point? We can reach it only by waiting - that is, by delaying - until a finite amount of time has passed, during which period some or most of the information required for stability has become past history. Thus, to reach for stability in our feedback filter, we must delay our output. The greater the delay is, the greater are our chances.

Let us develop an expression for the output by looking forward in time. The equation for the basic feedback 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/":): {\displaystyle \begin{align} y_n=x_n-cy_{n-1}. \end{align}} (48)

Let us now examine this equation by looking forward in time instead of looking backward in time as we did previously. We rewrite the equation 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{array}{l} \frac{{}} {{cZ + 1)}}\frac{{\;\;\;\;(c\;Z)^{ - 1} - (c\;Z)^{ - 2} + (c\;Z)^{ - 3} - (c\;Z)^{ - 4} + (c\;Z)^{ - 5} + ...}}{1} \\ \;\;\;\;\;\;\;\;\;\;\;\frac{{1 - (c\;Z)^{ - 1} }}{{(c\;Z)^{ - 1} }} \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{{(c\;Z)^{ - 1} - (c\;Z)^{ - 2} }}{{(c\;Z)^{ - 2} }} \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{{(c\;Z)^{ - 2} + (c\;Z)^{ - 3} }}{{(c\;Z)^{ - 3} }}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;. \\ \end{array}} (49)

Thus, if c = 2 the expression for the feedback filter’s output 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 y_3} at time index 3 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 \begin{align} y_3=\frac{1}{c}x_4-\frac{1}{c^2}x_{5}+\frac{1}{c^3}x_{{6}} -\frac{1}{c^4}x_{{7}}+\frac{1}{c^{5}}x_{{8}}-\dots \end{align}} (50)

Here, 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 y_3} is expressed in terms of the future values 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 x_4,x_{5},x_{{6}},x_{{7}},x_{{8}}, \dots.} , of the input. When 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 {|}c{|>1}} , the terms of the sequence


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}{c},\ -\frac{1}{c^2},\ \frac{1}{c^3},\ -\frac{1}{c^4},\ \frac{1}{c^{5}} , \dots \end{align}} (51)

tend to zero, thereby making the expression for the output 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 y_3} converge and hence the closed-loop feedback system stable in terms of future time. As a numerical example, suppose that c = 2. Then the system output at time index 3 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 \begin{align} y_3=0.5x_4-{0.25}x_{5}+0.l25x_{{6}} -{0.0625}x_{{7}}+0.03l25x_{{8}}- \dots , \end{align}} (52)

which is convergent.

Let us show that a time delay serves to approximate the desired stability. We have only one problem. At time index 3, the future values 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 x_4,x_{5},x_{{6}},x_{{7}},x_{{8}}, \dots} that are needed for the foregoing expression 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 y_3} are not available. Therefore, to make our expression 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 y_3} meaningful, we must wait until enough of these future values are available. As an approximation, then, let us truncate our expression 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 y_3} so that 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} {0.5}x_4-0{0.25}x_{5}+0.l25x_{{6}} -{ 0.0625}x_{{ 7}} +0.03l25x_{{8}}. \end{align}} (53)

This truncated expression serves as an approximation for the desired output 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 y_3} . Rearranging the order of the terms in this expression, we 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/":): {\displaystyle \begin{align} { 0.03125}x_{{ 8}} { 0.0625}x_{{ 7}} +0.125x_{{ 6}}-{ 0.25}x_{5} +0.5x_4. \end{align}} (54)

Suppose that we then build a causal FIR filter with the five-length memory function (0.03125, –0.0625, 0.125, –0.25, 0.5). Because this filter is an FIR filter, it necessarily is stable. If we let the time series 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 x_t} be the input to this filter, the output at time index n = 8 will be an approximation to the desired 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 y_3} . In other words, to approximate the desired output 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 y_3} , we have introduced a time delay of 8 – 3 = 5 time units, thereby obtaining a causal FIR filter with a five-length memory function. By increasing this time delay, we can obtain causal FIR filters that yield better approximations. A perfect approximation is reached only by introducing an infinite time delay (Treitel and Robinson, 1969[14]).

Now let us summarize the stabilization of feedback filters. The stability of a feedback filter is determined by its delay properties. In particular, the feedback filter is stable if and only if its transfer function is a minimum-delay function. Feedback filters that are unstable can be stabilized approximately by the introduction of output delay. The approximation becomes increasingly better as this delay becomes larger.


References

  1. Hilterman, F. J., 1970, Three-dimensional seismic modeling: Geophysics, 35, 1020–1037.
  2. Hilterman, F. J., 1985, Three-dimensional seismic modeling: Geophysics, 50,1984–2001.
  3. Robinson, E. A., 1981, Time series analysis of geophysical inverse scattering problems, in D. F. Findley, ed., Applied time series analysis, 2: Academic Press, 101–167.
  4. Treitel, S., and L. R. Lines, 1982, Linear inverse theory and deconvolution: Geophysics, 47,1153–1159.
  5. Treitel, S., and L. R. Lines, 2001, Past, present, and future of geophysical inversion - A new millennium analysis: Geophysics, 66, 21–24.
  6. Bednar, J. B., R. Redner, E. A. Robinson, and A. Weglein, 1983, Conference on inverse scattering: Theory and application: Society for Industrial and Applied Mathematics.
  7. Robinson, E. A., S. Treitel, R. A. Wiggins, and P. Gutowski, 1983, Digital seismic inverse methods: Prentice-Hall.
  8. Hampson, D., and B. Russell, 1984, First-break interpretation using generalized linear inversion: Canadian Journal of Exploration Geophysicists, 20, 40–54.
  9. Gersztenkorn, A., J. B. Bednar, and L. R. Lines, 1986, Robust iterative inversion for the one-dimensional acoustic wave equation: Geophysics, 51, 357–368.
  10. Lines, L. R., and S. Treitel, 1984, Tutorial - A review of least-squares inversion and its application to geophysical problems: Geophysical Prospecting, 32, 159–186.
  11. Ulrych, T. J., A. Bassrei, and M. Lane, 1990, Minimum relative entropy inversion of 1D data with applications: Geophysical Prospecting, 38, 465–488.
  12. Ulrych, T. J., M. D. Sacchi, and A. Woodbury, 2001, A Bayes tour of inversion: A tutorial: Geophysics, 66, 55–69.
  13. Treitel, S., and E. A. Robinson, 1966, The design of high-resolution digital filters: IEEE Transactions on Geoscience Electronics, GE-4, 25–38.
  14. Treitel, S., and E. A. Robinson, 1969, Optimum digital filters for signal to noise ratio enhancement: Geophysical Prospecting, 17, 248–293.

Continue reading

Previous section Next section
Feedback filters Minimum delay
Previous chapter Next chapter
Sampling Frequency

Table of Contents (book)


Also in this chapter


External links

find literature about
Inverse filters/en
SEG button search.png Datapages button.png GeoScienceWorld button.png OnePetro button.png Schlumberger button.png Google button.png AGI button.png