Wiener (least-squares) inverse filters

From SEG Wiki
Jump to: navigation, search

Problem 9.22a

Plot cumulative energy as a function of time for wavelets and


A filter that will change a signal so as to make it as close as possible to a desired signal can be designed in a least-squares sense to minimize the sum of the squares of the “errors” (differences between a desired signal and the filtered signal). Such a filter is called a least-squares filter or Wiener filter.

Using to denote the original signal and the desired signal, the sum of the errors squared is


Since all quantities on the right-hand side of equation (9.22a) are fixed except the filter elements , we vary the coefficients to minimize . We differentiate with respect to each of the elements and equate the derivatives to zero. This gives equations which can be solved for the elements of the filter. Differentiating , we get

using equation (9.2b) to replace with a summation. The derivative now becomes

since the only nonzero term in the differentiation is that in which appears, that is, , so . Substituting this result, we get

The first term is () from equations (9.8a) and (9.8b). Interchanging the order of summation in the right-hand term, letting , and summing over , the equation becomes

(see problem 9.21a). Thus we arrive at the normal equations



The transforms of and are and , so the roots of are and those of are , the magnitudes of the roots being and . Thus is maximum-phase and is minimum-phase.

The energy of a wavelet at any instant is proportional to its amplitude squared. We thus get for the cumulative energy of [1, 5, 14] and for , [9, 13, 14], as plotted in Figure 9.22a. The cumulative energy of a minimum-phase wavelet at any instant is always greater than that of any other wavelet with the same amplitude spectrum.

Figure 9.22a.  Cumulative energy.

Problem 9.22b

Calculate three-element Wiener inverse filters assuming the desired output is (i) [1, 0, 0] and (ii) [0, 1, 0], then apply the inverse filters to wavelets and .


To write the normal equations in equation (9.22b) in explicit form, we give the values 0, 1, and 2 in succession. The result is

Shaping wavelet A [1,−2, 3] into [1, 0, 0]

To solve these equations, we need the values of and . Using equations (9.8a) and (9.8e) we get

Substituting these values in the normal equations gives

The solution of these equations can be obtained using Cramer’s rule [see Sheriff and Geldart, 1995, equation (15.3b)]. We first calculate the following determinants:

Then, , , . Applying this filter to gives

Normalizing the wavelet to make the first element equal to +1, we get the wavelet

which is far from , the rms difference between the two wavelets being 1.43. Thus, it appears that we cannot shape the maximum-phase wavelet to get .

Shaping wavelet into

Using wavelet , we get the following values for and :

The normal equations now become

Proceeding as before,

from calculation for wavelet A;

The solution is

Applying the filter [0.3273, 0.2182, 0.0545] gives

Normalizing the first value to 1 gives

which is close to the desired wavelet of beause is minimum-phase. The rms difference from the desired output is 0.069.

Shaping wavelet into

We use the values of from the previous calculations: , ; and , , . The normal equations thus become

We next calculate the determinants:

as before,

Thus , , and

Normalizing the second value to 1 gives

and the rms difference from the desired output is 0.764. The result is poor because the input wavelet is maximum-phase, but it is much better than when we tried to make into [1,0,0].

Shaping wavelet into

We have

The normal equations are

We next calculate the following determinants:

as before;

We now find that , , , and

Normalizing the second value to 1 gives

and the rms difference from the desired output is 0.109. The result is not as good as for the previous case, but it is much better than for the wavelet . Wiener filtering works best when input and desired wavelets have the same phase.

Figure 9.22b.  Original and Wiener-filtered waveforms.; first value = 1 Top row, waveform ; bottom row, waveform .

The original and filtered wavelets are shown in Figure 9.22b. Reviewing the errors:

To make into [1, 0, 0]: rms error = 1.426;

To make into [1, 0, 0]: rms error = 0.069;

To make into [0, 1, 0]: rms error = 0.764;

To make into [0, 1, 0]: rms error = 0.109.

Continue reading

Previous section Next section
Autocorrelation Interpreting stacking velocity
Previous chapter Next chapter
Reflection field methods Geologic interpretation of reflection data

Table of Contents (book)

Also in this chapter

External links

find literature about
Wiener (least-squares) inverse filters
SEG button search.png Datapages button.png GeoScienceWorld button.png OnePetro button.png Schlumberger button.png Google button.png AGI button.png