# Inverse filters

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

**(**)

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}}****(**)

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}}****(**)

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}}****(**)

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}}****(**)

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}}****(**)

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}}****(**)

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}}****(**)

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 ^{[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}}****(**)

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}}****(**)

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}}****(**)

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 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}}****(**)

tend to zero, thereby making the expression for the output *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}}****(**)

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 \begin{align} {0.5}x_4-0{0.25}x_{5}+0.l25x_{{6}} -{ 0.0625}x_{{ 7}} +0.03l25x_{{8}}. \end{align}}****(**)

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 \begin{align} { 0.03125}x_{{ 8}} { 0.0625}x_{{ 7}} +0.125x_{{ 6}}-{ 0.25}x_{5} +0.5x_4. \end{align}}****(**)

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 ^{[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

- ↑ Hilterman, F. J., 1970, Three-dimensional seismic modeling: Geophysics,
**35**, 1020–1037. - ↑ Hilterman, F. J., 1985, Three-dimensional seismic modeling: Geophysics,
**50**,1984–2001. - ↑ 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. - ↑ Treitel, S., and L. R. Lines, 1982, Linear inverse theory and deconvolution: Geophysics,
**47**,1153–1159. - ↑ Treitel, S., and L. R. Lines, 2001, Past, present, and future of geophysical inversion - A new millennium analysis: Geophysics,
**66**, 21–24. - ↑ 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.
- ↑ Robinson, E. A., S. Treitel, R. A. Wiggins, and P. Gutowski, 1983, Digital seismic inverse methods: Prentice-Hall.
- ↑ Hampson, D., and B. Russell, 1984, First-break interpretation using generalized linear inversion: Canadian Journal of Exploration Geophysicists,
**20**, 40–54. - ↑ Gersztenkorn, A., J. B. Bednar, and L. R. Lines, 1986, Robust iterative inversion for the one-dimensional acoustic wave equation: Geophysics,
**51**, 357–368. - ↑ 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. - ↑ Ulrych, T. J., A. Bassrei, and M. Lane, 1990, Minimum relative entropy inversion of 1D data with applications: Geophysical Prospecting,
**38**, 465–488. - ↑ Ulrych, T. J., M. D. Sacchi, and A. Woodbury, 2001, A Bayes tour of inversion: A tutorial: Geophysics,
**66**, 55–69. - ↑ Treitel, S., and E. A. Robinson, 1966, The design of high-resolution digital filters: IEEE Transactions on Geoscience Electronics,
**GE-4**, 25–38. - ↑ 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 |

## Also in this chapter