Commit a9c5a235 authored by thomas.forbriger's avatar thomas.forbriger Committed by thomas.forbriger
Browse files

theory of blind deconvolution

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.

SVN Path:     http://gpitrsvn.gpi.uni-karlsruhe.de/repos/TFSoftware/trunk
SVN Revision: 3983
SVN UUID:     67feda4a-a26e-11df-9d6e-31afc202ad0c
parent 369c4da9
......@@ -48,6 +48,63 @@ namespace stfinv {
/*! \brief Blind deconvolution engine
* \ingroup engines
*
* \par Concept behind this engine
* If
* - \f$d_{lk}\f$ is the Fourier coefficient of recorded data at Frequency
* \f$f_l\f$ and receiver \f$k\f$ at offset \f$r_k\f$,
* - \f$s_{lk}\f$ is the Fourier coefficient of the corresponsing
* synthetics and
* - \f$q_l\f$ is that of the sought source tim function,
* .
* then this engine will minimize the objective function
* \f[
* E=\sum\limits_{l,k}\left|w_{lk}\,
* \left(d_{lk}-s_{lk}q_l\right)
* \right|^2+\sum\limits_{l}\lambda^2\left|q_l\right|^2
* =\chi^2+\psi^2
* \f]
* with respect to the real part \f$q_l^\prime\f$ and the
* imaginary part \f$q_l^{\prime\prime}\f$ of
* \f[
* q_l=q_l^\prime+i\,q_l^{\prime\prime}.
* \f]
* In the above expression
* \f[
* \chi^2=\sum\limits_{l,k}\left|w_{lk}\,
* \left(d_{lk}-s_{lk}q_l\right)
* \right|^2
* \f]
* is the data misfit with weights \f$w_{lk}\f$ and
* \f[
* \psi^2=\sum\limits_{l}\lambda^2\left|q_l\right|^2
* \f]
* is used for regularization and will introduce a water-level in the
* deconvolution.
* \f$\lambda\f$ will balance both contributions.
* The conditions
* \f[
* \frac{\partial E}{\partial q_l^\prime}\stackrel{!}{=}0
* \quad\wedge\quad
* \frac{\partial E}{\partial q_l^{\prime\prime}}\stackrel{!}{=}0
* \f]
* result in
* \f[
* q_l=\frac{
* \eta^2\sum\limits_{k}f_k^2\,s_{kl}^\ast\,d_{kl}
* }{
* \lambda^2+\eta^2\sum\limits_{k}f_k^2\,s_{kl}^\ast\,s_{kl}
* }
* \quad\forall\, l
* \f]
* where
* \f[
* w_{lk}=\eta\,f_k
* \f]
* and \f$f_k\f$ is a receiver specific weighting factor.
* Now \f$\eta\f$ and \f$\lambda\f$ have to be used to balance the
* regularization.
* We aim to specify a waterlevel as a fraction of synthetic data energy.
*/
class STFEngineBlindDeconvolution: public stfinv::STFFourierDomainEngine {
public:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment