% \def\figdir{./fig}
\title{Divergence compensation for bidirectional deconvolution}
\author{Qiang Fu}

\today

\begin{abstract}
We examine three approach to apply divergence compensation in bidirectional deconvolution and see the synthetic example to demostrate the impotance of divergence compensation.
\end{abstract}

% \section{To-do list for bidirectional deconvolution}

\section{Introduction}
By bidirectional deconvolution, we hope to restore the seismic reflectivity coefficients seirse. To get the correct amplitude of the reflectivity, we need to recover the amplitude decay versus time caused by the divergence effect of the seismic wave propagation. Usually we use a exponential function of time as a weighting function to boost the later time data to compensate the divergence effect. But to apply the compansation function correctly will not be so simple. Next let us see three different approach for proforming the divergence compansation.




\section{Data weighting}
One intuitive way to compensate divergece effect is data weighting or the compansation before deconvolution. Assume $d(t)$ is the data sample at time $t$, and $c(t)$ is a exponential compensation function of time $t$, we get a new compensated data $d_c(t)$ as 
\begin{eqnarray}
d_c(t) = d(t)c(t) .\label{compensation}
\end{eqnarray}
Then we can perform our deconvolution scheme on this compensated data $d_c(t)$. Although this process looks intuitive and simple, it has problem that it may change the wavelet waveform. Let us see why this wavelet waveform change happens.
% 
% \ref{fig:ricker_freq}

For a convolution model, a seismic data trace $d$ can be defined as a convolution of a wavelet $w$ with a reflectivity series $r$. This can be written as
%  \ref{conv_model}
\begin{eqnarray}
d = r * w ,\label{conv_model}
\end{eqnarray}
where $*$ denotes convolution. 

If we look at \ref{conv_model}, we will find for one data sample in seismic data trace, $d(t)$, the ``travel time'' $t$ of it in fact is not the true travel time.
\begin{eqnarray}
t_d = t_r + t_w \label{trave_time} 
\end{eqnarray} 
% (\ref{trave_time}) 
This time (I call it data time $t_d$) is actually the sum of two type of times, reflectivity time $t_r$ (which is more close to the concept ``travel time'') and wavelet time $t_w$. The reflectivity time $t_r$ is the time in which the source energy propagate from the source to the receiver. Consequently, the compansation function should be a function of this reflectivity time $t_r$. With in one reflectivity event, the reflectivity time $t_r$ is the same for all data sameples within this event and the compensation function should be the same also. But obviously, the data time $t_d$ is different. This is why we will change wavelet waveform by using simple data weighting. Especially for low frequency component, the wavelet time $t_w$ within one wavelet is not small, thus the waveform change could not be ignored.

\section{Result weighting}
We do not want to change the wavelet waveform, especially for low frequency component. An inproved approach is result weighting, or the compansation after deconvolution. For this approach, We perform the deconvolution on the data without data weighting, and we compensate the divergence effect on the reflectivity serise after the deconvlution. Because the deconvolution process will shrink the wavelet in to a spike or at least a narrow waveform comparing with the original one, the wavelet time $t_w$ will be elminated or reduced by deconvolution. On the deconvolution result, the time $t$ of the samples belong to the same reflectivity event will be same or at least similar. So aaply a time compansation function will not change (or not change too much) the wavelet waveform.  If we have noise free data, this approach may be perfect. However, in real sesimic survey data, there is sigificant noise. The noise will create the inperfect deconvolution result. And in the deconvolution process, the data in early and later part data will not be equally honored. The panelty function of the deconvolution proces will see the early portion data more important than the late portion data due to the large amplitude of the early data. That approach will take the risk of ignoring the information in the late time data.

\section{Model weighing}
We have examined comansation before and after deconvolution process, and neither of them seems to be a good choise. So the only correct answer for compansation is to apply it within the deconvolution process. The deconvolution is a process to estimate a deconvolution filter to ``cancel'' the wavelet and to restore the reflectivity series using only information contained in the data. It can be represented as
\begin{eqnarray}
r = d * f ,\label{decon_model}
\end{eqnarray} 
where $f$ is the deconvolutino filter (or inverse wavelet $w^{-1}$).

We use a optimazation scheme to find the deconvolution filter $f$.
\begin{eqnarray}
\begin{array}{l}
{\bf{r = }}
\end{array} f*d .\label{decon_scheme}
\end{eqnarray} 

And we apply divergence compansation in this scheme.
\begin{eqnarray}
\begin{array}{l}
{\bf{r = C}}
\end{array} (f*d) ,\label{decon_scheme_compansation}
\end{eqnarray} 
where $c$ is the compansation function.

Because the martix multiplication is not exchangable, this scheme are not same as 
\begin{eqnarray}
\begin{array}{l}
{\bf{r = (C}}
\end{array} d)*f ,\label{decon_scheme_data_weighting}
\end{eqnarray} 
which is the data weighting we discussed before.

\section{Synthetic data example}
In previous result section I claim the compansation is necessary for deconvolution due to it makes the optimization scheme honor the information contained in early time and late time portion equally. Now let us see some synthetic data example to support my claim.
