Igor Morozov, with contributions by Jingru Chen, 1/97 Recast in better C++ and updated documentation: 02/2006 Iterative deconvolution added: 04/2010
Deconvolution
Single-channel deconvolution
Several deconvolution options are available:
The filters are applied in the sequence of lists calls specified in the job. If list OPERAT is not used, the module build operators and applies deconvolution to every trace in the processing sequence.
If OPERAT is used, the module accumulates full ensembles of data, then uses the specified trace to build the deconvolution operator, and then applies it to the specified traces (possibly including the same one for which the filter was designed). Thus option allows to compute receiver functions.
======================================================================
The optimal Wiener filter 'a' is defined from:
/ A(0) A(1) A(2) ... A(LENGTH-1) / a(0) / g(0) | | | a(1) | | g(1) | | . . . | | . | | . | | . . . | | . | = | . | | . . . | | . | | . | | | | . | | . | A(LENGTH-1) . . . A(0) / a(LENGTH-1)/ g(LENGTH-1)/
Here, A(i) is the autocorrelation with a lag of i.
By solving the Toeplitz matrix, we first get the prediction filter a(t)=(a(0), a(1), a(2),...,a(length-1)) and then design the predictive error filter (that is the predictive deconvolution filter) as: f(t)=(1,0,...,0,-a(0),-a(1),...-a(length-1)) in which the number of zero is LAG-1. The Toeplitz matrix is Aa=g, where A is the autocorrelation of the seismic trace. g is the autocorrelation of the seismic trace with a delay of LAG as its first element and a delay of LAG+LENGTH as its last element.
For Predictive deconvolution, g = ( A(LAG), A(LAG+1), ... , A(LAG+LENGTH-1) ). Its decon filter is f=( 1, 0, 0, ... , 0, -a(0), -a(1), ... , a(LENGTH-1) ).
In spiking deconvolution, we require that a spike is the output, that is, the right-hand side of the Toeplitz matrix is g = (1,0,0,...,0). In the Shaping filter, the r.h.s. specifies a wavelet with a band-limited spectrum as its optimum output.
In this module, we use a sawtooth-shaped wavelet as the optimum output. The width of the tooth wavelet is provided by parameter WIDTH: is g = (1, 1-1/width, 1-2/width, ... ,1-(width-1)/width,0).
List SPIKE described both the Shaping filter and the Spiking filters, distinguished by the values of parameter WIDTH. For WIDTH=1, the Spiking is applieda,and with WIDTH>1, the Shaping filter is applied with a optimum output as a sawtooth wavelet of length WIDTH.
Water-level deconvolution operates in the frequency domain by defining the complex filter spectrum:
a(f) = conjugate(u(f))/WL[conjugate(u(f))*u(f)],
where u(f) is the input signal. The denominator (the power spectrum of the signal) is regularized in the spectral holes by aplying the "water level" operator WL[...], which replaces the values below some selected threshold with constant values. The threshold is specified as a fraction of the peak spectral power, typically in the range of 5-15%.
See the paper by Legorria and Ammon
*call | DECON | MODE T0 | |
MODE |
Output mode: DATA (output filtered data trace) or FILTER (output the filter instead of data traces) |
|
T0 |
Time at which to place the origin of the deconvolution operator. By default, time start of design trace is used. |
|