Introduction

Wavelet estimation holds an important process in seismic processing and inversion. Several methods were proposed to obtain the best-estimated wavelet (Ricker 1953; Walden and White 1998; Cui and Margrave 2014). In the prior publications, seismic frequency analysis is required to extract a wavelet because seismic spectrum represents the wavelet spectrum. The simple method of wavelet estimation is by using the mathematical equation, for example, Ricker’s wavelet (Ricker 1953) and bandpass or Ormsby wavelet (Ryan 1994) equations. However, these methods achieve a good result when the shape of seismic spectrum is similar to the mathematical wavelet spectrum. Besides the mathematical equation, there are wide-known methods: statistical wavelet estimation and spectral smoothing (Cui and Margrave 2014). These two methods are more flexible to any seismic conditions.

All listed wavelet estimation methods above are aimed for a stationary signal. In reality, our seismic data are non-stationary. When the seismic data are non-stationary, the explained methods will produce the most optimum single wavelet. This single wavelet may have no negative effect on the next processing stage if the non-stationarity of the signal is weak. However, if the non-stationarity is strong enough, it may cause several problems, for example, the raise of higher error in the next processing stage. Prior researches in time-varying wavelets were published to solve this problem, especially in deconvolution, either explicitly (van der Baan 2008) or implicitly (Clarke 1968; Margrave et al. 2011). In this paper, it will be introduced a proposed method of wavelet estimation in the time domain. This method estimates a set of wavelets which varies over time. Therefore, it can compensate for the non-stationarity of the signal. Moreover, it will be explained applications of this proposed method not only in deconvolution but also in seismic inversion.

Theory and methods

Square root of a matrix

Given \(m \times m\) square matrices \({\mathbf{A}}\) and \({\mathbf{B}}\) where

$${\mathbf{A}} = {\mathbf{BB}}.$$
(1)

Then, \({\mathbf{B}}\) is called the square root of \({\mathbf{A}}\). To get \({\mathbf{B}}\) is not as directly as by taking a square root of the matrix elements of \({\mathbf{A}}\). There is a method which uses matrix diagonalization to extract \({\mathbf{B}}\) when \({\mathbf{A}}\) is the only known information (Levinger 1980).

If \({\mathbf{A}}\) is diagonalizable, then

$${\mathbf{Q}}^{ - 1} {\mathbf{AQ}} = {\mathbf{D}}$$
(2)

where matrix \({\mathbf{D}}\) is the diagonalized matrix \({\mathbf{A}}\). \({\mathbf{A}}\) is composed by eigenvalues, while \({\mathbf{Q}}\) by eigenvectors. This process can be computed if and only if the eigenvectors are linearly independent. The concept of matrix square root is based on simpleness to take the square root of the diagonal matrix. Since diagonalized \({\mathbf{A}}\) is known, diagonalized \({\mathbf{B}}\) can be derived by taking the square root of the elements of diagonalized \({\mathbf{A}}\). Then, \({\mathbf{B}}\) can be reconstructed by

$${\mathbf{B}} \equiv {\mathbf{QD}}^{1/2} {\mathbf{Q}}^{ - 1}$$
(3)

Time-varying wavelet estimation

There is a method of wavelet estimation from signal \(s\left( t \right)\) which uses autocorrelation in its process,

$$A\left( t \right) = s\left( t \right) \otimes s\left( t \right) = \mathop \int \limits_{ - \infty }^{\infty } s\left( t \right)s\left( {t + \tau } \right){\text{d}}\tau .$$
(4)

This method attempts to reconstruct the form of the wavelet (Hampson-Russel Software 1999; Cui and Margrave 2014). However, although signal \(A\left( t \right)\) resembles zero-phase wavelet (Fig. 1c, d), it may not be considered as a wavelet. The autocorrelation process in Eq. 4 makes the spectrum of \({\text{A}}\left( {\text{t}} \right)\) to be quadratic form,

$$\left| {A\left( f \right)} \right| = \left| {s\left( f \right)} \right|\left| {s\left( f \right)} \right| = \left| {s\left( f \right)} \right|^{2}$$
(5)

To solve this problem, we can take the square root of the spectrum (Hampson-Russel Software 1999). Similar to this method, we can run the process entirely in the time domain by using matrix operation. Autocorrelation, as shown in Eq. 4, can be represented in matrix operation as

$${\mathbf{A}} = {\mathbf{ss}}^{\text{T}}$$
(6)

where \({\mathbf{A}}\) is the result of autocorrelation of \({\mathbf{s}}\) and \({\mathbf{s}}\) is moving matrix of \(s\left( t \right)\) in the form,

$${\mathbf{s}} = \left[ {\begin{array}{*{20}c} {s\left( 0 \right)} & 0 & \cdots & 0 & 0 \\ {s\left( 1 \right)} & {s\left( 0 \right)} & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ {s\left( {N - 1} \right)} & {s\left( {N - 2} \right)} & \cdots & {s\left( 0 \right)} & 0 \\ {s\left( N \right)} & {s\left( {N - 1} \right)} & \cdots & {s\left( 1 \right)} & {s\left( 0 \right)} \\ \end{array} } \right]$$
(7)

We make an assumption that autocorrelation of the signal will approximate the result of autocorrelation of its wavelet, as shown in Fig. 1c and d. This assumption is expressed by

$${\mathbf{A}} = {\mathbf{ss}}^{\text{T}} \equiv {\mathbf{WW}}^{\text{T}}$$
(8)

where \({\mathbf{W}}\) is moving matrix of a wavelet.

Fig. 1
figure 1

Comparison between wavelet, seismogram, and their autocorrelation results in the time domain. a Wavelet, b seismogram, c autocorrelation of the wavelet, and d autocorrelation of seismogram tapered by the Gaussian window

The autocorrelation process will always result in zero-phase signal, and it does not depend on the input’s phase. Therefore, the phase of the signal that is contained in matrix \({\mathbf{A}}\) in Eq. 8 is zero phase. To obtain \({\mathbf{W}}\) from \({\mathbf{A}}\), we have to take another assumption that \({\mathbf{W}}\) is composed by zero-phase wavelet. By taking this assumption, \({\mathbf{W}}\) becomes a symmetric matrix that follows

$${\mathbf{W}} = {\mathbf{W}}^{\text{T}}$$
(9)

where now \({\mathbf{W}}\) is moving matrix of a zero-phase wavelet in the form

$${\mathbf{W}} = \left[ {\begin{array}{*{20}c} {w\left( 0 \right)} & {w\left( 1 \right)} & \cdots & {w\left( {N - 1} \right)} & {w\left( N \right)} \\ {w\left( 1 \right)} & {w\left( 0 \right)} & \cdots & {w\left( {N - 2} \right)} & {w\left( {N - 1} \right)} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ {w\left( {N - 1} \right)} & {w\left( {N - 2} \right)} & \cdots & {w\left( 0 \right)} & 0 \\ {w\left( N \right)} & {w\left( {N - 1} \right)} & \cdots & {w\left( 1 \right)} & {w\left( 0 \right)} \\ \end{array} } \right].$$
(10)

Based on the matrix’s properties in Eq. 9, Eq. 8 can be modified to be

$${\mathbf{A}} \equiv {\mathbf{WW}}.$$
(11)

It can be seen that \({\mathbf{W}}\) is the square root of \({\mathbf{A}}\), so \({\mathbf{W}}\) is obtained directly by

$${\mathbf{W}} \equiv {\mathbf{QD}}^{1/2} {\mathbf{Q}}^{ - 1}$$
(12)

where \({\mathbf{D}}\) is diagonalized matrix of \({\mathbf{A}}\). To render matrix \({\mathbf{W}}\) to \({\text{W}}\left( {\text{t}} \right)\), the following equation will be used

$$W\left( t \right) = {\mathbf{WC}}, {\mathbf{C}} = \left\{ {c_{j} } \right\}, c_{j} = \left\{ {\begin{array}{*{20}c} {0,} & {j \ne m/2} \\ {1,} & {j = m/2} \\ \end{array} } \right.$$
(13)

where \(m\) is the size of \({\mathbf{W}}\) and ⌈ ⌉ is ceiling function.

Time-varying wavelet estimation

The concept of Short-Time Fourier Transform (Schafer and Rabiner 1973; Allen 1977) is adapted to estimate time-varying wavelet. This method divides the input signal into several parts,

$$s\left( {\tau ,t} \right) = T\left( t \right)x\left( {t - \tau } \right)$$
(14)

where \(T\left( t \right)\) is the input signal, \(s\left( {t,\tau } \right)\) is the short term of \(T\left( t \right)\), and \(x\left( {t - \tau } \right)\) is the shifted window. Next, each \(s\left( {t,\tau } \right)\) will be processed as an independent signal. The time-varying wavelets are estimated by autocorrelating \(s\left( {t,\tau } \right)\), so

$$A\left( {t,\tau } \right) = s\left( {\tau ,t} \right) \otimes s\left( {\tau ,t} \right)$$
(15)

In this step, we can adjust our desired wavelet length by determining the length (or time lag) of \(A\left( {t,\tau } \right)\). After wavelet length has been adjusted, the process can be followed by estimating the wavelet. By transforming \(A\left( {t,\tau } \right)\) to be moving matrix \(\varvec{A}\), the methods in Eqs. 12 and 13 can be applied to \(\varvec{A}\) in order to estimate \(\varvec{W}\). If the input signal bears noise (additive random or band-limited), we can apply taper to the \(A\left( {t,\tau } \right)\). Application of taper window has beneficial to suppress the presence of noise in estimated wavelet. We can obtain \(W\left( {t,\tau } \right)\), the estimated wavelet each time, by using Eq. 13. Then, the time-varying wavelets matrix is composed by arranging \(W\left( {t,\tau } \right)\) according to time.

Time-varying wavelet’s applications

Time-varying deconvolution For time-varying deconvolution, a time-varying wavelet is aimed to build deconvolution operators, so we do not need to have wavelet’s phase information. The deconvolution operators are intended to transform the wavelets to be spike series (represented by identity matrix). It is defined as

$${\varvec{\mathcal{W}}}\varvec{O} = \varvec{I}$$
(16)

where \(\varvec{O}\) is the matrix of time-varying deconvolution operators and \(\varvec{I}\) is an identity matrix. In the case the signal has additive random noise, Eq. 16 can be modified to be

$$\left( {{\varvec{\mathcal{W}\mathcal{W}}}} \right)\varvec{O} = {\varvec{\mathcal{W}}}\varvec{I}$$
(17)

This modification of Eq. 17 is adapted from Wiener Deconvolution (Wiener 1949). Based on Eq. 17, the deconvolution is obtained by using least-square inversion,

$$\varvec{O} = \left[ {\left( {{\varvec{\mathcal{W}\mathcal{W}}} + \lambda^{2} \varvec{I}} \right)} \right]^{ - 1} {\varvec{\mathcal{W}}}.$$
(18)

where \(\lambda\) is pre-whitening.

Pre-whitening is the key factor to determine how smooth the result of deconvolution will be and handle the random noise. Higher pre-whitening indicates a smoother result. Smaller \(\lambda\) may enhance the resolution of the signal better, but as a consequence, it can enhance the noise. Lastly, time-varying deconvolution is matrix multiplication between deconvolution operators and the signal in matrix form which is given by

$${\varvec{\mathcal{T}}} = \varvec{OT}$$
(19)

where \(\varvec{T}\) is a column matrix of the original input signal and \({\varvec{\mathcal{T}}}\) is a column matrix of the enhanced (or deconvolved) signal. As explained above, both \({\varvec{\mathcal{W}}}\) and \(\varvec{I}\) contain no phase information (or we can say it as zero phase). As a consequence, the deconvolution operators, represented by matrix \(\varvec{O}\), are zero-phase signals and the deconvolved signal’s phase will be unaltered after deconvolution.

Model-based inversion Model-based inversion is one of seismic inversion methods. This inversion results P-Impedance as the final result. Model-based inversion is started from a low-frequency model. Then, the model is perturbed each iteration to get the final inversion result. The process of model-based inversion is based on a mathematical model in the following equation (Hampson-Russel Software 1999; Hampson et al. 2005),

$$ \left[ {\begin{array}{*{20}c} {S_{0} } \\ {S_{1} } \\ {S_{2} } \\ \vdots \\ {S_{N} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {w_{0} } & {w_{ - 1} } & {w_{ - 2} } & \cdots & {w_{ - N} } \\ {w_{1} } & {w_{0} } & {w_{ - 1} } & \ddots & {w_{{ - \left( {N - 1} \right)}} } \\ {w_{2} } & {w_{1} } & {w_{0} } & \ddots & {w_{{ - \left( {N - 2} \right)}} } \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ {w_{N} } & {w_{N - 1} } & {w_{N - 2} } & \cdots & {w_{0} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} { - 0.5} & {0.5} & 0 & \cdots & 0 \\ 0 & { - 0.5} & {0.5} & \ddots & 0 \\ 0 & 0 & { - 0.5} & \ddots & 0 \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & {0.5} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {L_{0} } \\ {L_{1} } \\ {L_{2} } \\ \vdots \\ {L_{N} } \\ \end{array} } \right]$$
(20)

or it can be written in the equation form,

$${\mathbf{S}} = {\mathbf{WDL}}$$
(21)

where \({\mathbf{S}}\) is seismic trace, \({\mathbf{W}}\) is a wavelet matrix, and \({\mathbf{L}}\) is the natural logarithm of P-Impedance. Equation (21) is the case of under-determined in linear inversion. Therefore, to get P-Impedance, we can apply least-square inversion for the under-determined case,

$${\mathbf{L}}_{\varvec{i}} = {\mathbf{L}}_{{\varvec{i} - 1}} + {\mathbf{D}}^{{\mathbf{T}}} {\mathbf{W}}^{{\mathbf{T}}} \left( {{\mathbf{WDD}}^{{\mathbf{T}}} {\mathbf{W}}^{{\mathbf{T}}} + \lambda {\mathbf{I}}} \right)^{ - 1} \left( {{\mathbf{S}} - {\mathbf{WDL}}_{{\varvec{i} - 1}} } \right), i = 1,2, \ldots , m$$
(22)

where \({\text{L}}_{i}\) is model at \(i\)th iteration and \(m\) is a number of iteration. Generally, it is used as a low-frequency model from well data as \({\text{L}}_{0}\). Equations 2022 assume that wavelet does not change over time. To accommodate non-stationarity, we can replace matrix W to be a matrix of time-varying wavelet (denoted by \({\varvec{\mathcal{W}}}\)), so

$${\mathbf{L}}_{\varvec{i}} = {\mathbf{L}}_{{\varvec{i} - 1}} + {\mathbf{D}}^{{\mathbf{T}}} {\varvec{\mathcal{W}}}^{{\mathbf{T}}} \left( {{\varvec{\mathcal{W}}}{\mathbf{DD}}^{{\mathbf{T}}} {\varvec{\mathcal{W}}}^{{\mathbf{T}}} + \lambda {\mathbf{I}}} \right)^{ - 1} \left( {{\mathbf{S}} - {\varvec{\mathcal{W}}}{\mathbf{DL}}_{{\varvec{i} - 1}} } \right), i = 1,2, \ldots , m$$
(23)

To estimate the wavelet phase, we can use phase correction by doing well to seismic tie (White and Simm 2003) or using statistical prediction (van der Baan 2008; Fomel and van der Baan 2014). Then, time-varying wavelet becomes,

$${\varvec{\mathcal{W}}} \leftarrow {\varvec{ \mathcal{W}}}\cos \phi + {\mathcal{H}}\left( {\varvec{\mathcal{W}}} \right)\sin \phi$$
(24)

where \(\phi\) is wavelet phase rotation and \({\mathcal{H}}\left( {\varvec{\mathcal{W}}} \right)\) is Hilbert transform of matrix \({\varvec{\mathcal{W}}}\).

Results and discussion

I applied the proposed method to synthetic data to know its effectiveness in enhancing resolution. I generated a synthetic seismogram as an input data (Fig. 2, below) by convolving reflectivity series (Fig. 2, above) and time-varying Ricker’s wavelet. The wavelets were varied exponentially from peak frequency 40–15 Hz to construct non-stationary synthetic seismogram.

Fig. 2
figure 2

Reflectivity series (above) and synthetic seismogram (below) as input data

Firstly, I estimated time-varying wavelet (Fig. 3) from the input signal to acquire a set of time-variant deconvolution operators. Then, this operator was applied to the input signal to result in the enhanced signal. Figure 4 displays the ability of this method to enhance the non-stationary signal with \(\lambda = 0.05\). In the time domain (Fig. 4, left), it can be seen that several events at deconvolved data are resolved after the deconvolution process. Simultaneously, time-varying deconvolution also broadens the signal’s bandwidth in the frequency domain (Fig. 4, right).

Fig. 3
figure 3

Expected (left) and estimated (right) sets of time-varying wavelets

Fig. 4
figure 4

Comparison between seismic trace before deconvolution (top left) and its spectrum (top right) and deconvolved seismogram (bottom right) and its spectrum (bottom right). Red line is the reflectivity series

Figure 5 displays the correlation between the seismogram and reflectivity series as the desired output. Reflectivity series is filtered by low-pass filter 100 Hz to make analysis easier. It can be seen after deconvolution that the data become less scatter from the straight line. The straight line is an indicator of the similarity between the result and the desired output. RMS error after deconvolution also decreases from 0.08 to 0.055. Moreover, the coefficient correlation increases from 0.66 to 0.78.

Fig. 5
figure 5

Cross plot between original seismogram and filtered reflectivity series (left) and deconvolved seismogram and filtered reflectivity series (right)

In this paper, the time-varying deconvolution is also performed to noisy synthetic data (Fig. 6). The additive random noise is added to the seismogram. In advance of the deconvolution process, a bandpass filter is applied to the noisy seismogram to get the best deconvolution result. Figure 7 illustrates how noise can affect the deconvolution results. Moreover, Table 1 shows how quantitatively pre-whitening affects error and coefficient correlation between the deconvolved seismogram and filtered reflectivity. The best pre-whitening depends on the noise. In this case, pre-whitening 0.2 is the best choice because it results in high coefficient correlation even though the RMS error is not the least. In practice, validation with well data or corridor stack is required to decide the pre-whitening value to use.

Fig. 6
figure 6

Synthetic seismogram with additive noise

Fig. 7
figure 7

Comparison of the results of deconvolution with aλ = 0.1, bλ = 0.2, and cλ = 0.3

Table 1 Pre-whitening effect to RMS error and coefficient correlation

As a comparison to the existing method, vertical resolution enhancement is selected by using time-varying Wiener deconvolution (TV-WD). TV-WD uses several windows and spiking deconvolution operators, which vary over time (Yilmaz 2001; van der Baan 2008). Figure 8 displays the comparison between the input signal, the deconvolved signal by using TV-WD, and the proposed method. TV-WD also performs enhancement in the non-stationary signal. However, the proposed approach results in a broader bandwidth than TV-WD. Spiking deconvolution performs better if the wavelet is minimum-phase (Yilmaz 2001), while this research uses zero-phase wavelet.

Fig. 8
figure 8

Comparison between results of different deconvolution methods. Before deconvolution (top), time-varying Wiener deconvolution (middle), and the proposed method (bottom)

Another application of time-varying wavelet is for seismic inversion. In this paper, Model-based inversion is chosen to analyze how time-varying wavelet influences acoustic impedance inversion. Figure 9 shows the inversion result if it uses one estimated wavelet, that is Ricker wavelet. From the result, there are several mispredicted inverted impedance values, for example at 910 ms and 1180 ms. Figure 10 displays how time-varying wavelet improves the inversion result. The impedance RMS error decreases from 345 to 286 m/s*g/cc or about 17%. Moreover, the seismogram RMS error decreases significantly by approximately 81%. Figure 11 also illustrates that time-varying inversion gives a less deviated result from straight line.

Fig. 9
figure 9

Seismic inversion result by using single wavelet

Fig. 10
figure 10

Seismic inversion result using time-varying wavelet

Fig. 11
figure 11

Cross plot between inverted impedance and filtered real impedance by using single wavelet (left) and time-varying wavelet (right)

Conclusion

Square of a matrix by using matrix diagonalization could be used to estimate time-varying wavelets from a signal. This concept is based on wavelet estimation by using autocorrelation. Time-varying wavelet can be applied in geophysical data processing for examples deconvolution and inversion. The time-varying wavelet is used to build a set of deconvolution operators to perform deconvolution. Then, the operators are applied to the input signal. As a result of deconvolution, this method enhances the non-stationer signal properly because the deconvolution operators change over time. Besides deconvolution, time-varying wavelets improve seismic inversion. A set of time-varying wavelet is used as a replacement of single wavelet in the inversion process. In the experiment, inversion error decreases by approximately 17%.