Convolve all synthetics with the source time function correction filter.
The filter response is available in terms of the Fourier coefficients of the correction filter as are returned by STFFourierDomainEngine::stfspec(). Convolution takes place in the Fourier domain simply by a multiplication of Fourier coefficients. Since all Fourier coefficients are expected to be scaled appropriately to represent samples for the Fourier integral transform, no scaling has to be applied here.
508 convolvedsynthetic.shape().setfirst(0,0);
513 for (
unsigned int i=0; i<this->
nreceivers(); ++i)
515 for (
unsigned int j=0; j<this->
nfreq(); ++j)
527 =aff::subarray(inspecarray)()(2*this->
nreceivers(),
530 seriesspecarray.shape().setfirst(0,0);
531 seriesspecarray.shape().setfirst(1,0);
539 convolvedseries.shape().setfirst(0,0);
542 for (
unsigned int i=0; i<this->
npairs(); ++i)
544 for (
unsigned int j=0; j<this->
nfreq(); ++j)
unsigned int npairs() const
return number of additional signals to be convolved
unsigned int nreceivers() const
return number of receiver signals in use
Tfftengine::TAspectrum TAspectrum
type of array for Fourier transforms
TAspectrum::Tvalue & stfcoeff(const unsigned int &i) const
return reference to Fourier coefficients of stf for frequency i
TAspectrum syntheticspec() const
return reference to Fourier transform of synthetics
TAspectrum stfspec() const
return reference to Fourier transform of stf
Tseries::Tcoc synthetic(const unsigned int &i) const
return synthetic data at receiver i
Tseries convolvedseries(const unsigned int &i) const
return synthetic data convolved with stf for pair i
Tfftengine Mfftengineinput
combined FFT engine for recorded data and synthetics and additional time series
unsigned int nfreq() const
return number of frequencies in use
Tfftengine Mfftengineoutput
combined FFT engine for stf and convolved synthetics and additional convolved time series ...
Tseries convolvedsynthetic(const unsigned int &i) const
return synthetic data convolved with stf at receiver i