mtspec.mt_deconvolve

mtspec.multitaper.mt_deconvolve(data_a, data_b, delta, nfft=None, time_bandwidth=None, number_of_tapers=None, weights='adaptive', demean=True, fmax=0.0)[source]

Deconvolve two time series using multitapers.

This uses the eigencoefficients and the weights from the multitaper spectral estimations and more or less follows this paper:

Receiver Functions from Multiple-Taper Spectral Correlation Estimates Jeffrey Park, Vadim Levin
Bulletin of the Seismological Society of America Dec 2000, 90 (6) 1507-1520 http://dx.doi.org/10.1785/0119990122

Parameters:
  • data_a (numpy.ndarray) – Data for first time series.
  • data_b (numpy.ndarray) – Data for second time series.
  • delta (float) – Sample spacing of the data.
  • nfft (int) – Number of points for the FFT. If nfft == None, no zero padding will be applied before the FFT.
  • time_bandwidth (float) – Time-bandwidth product. Common values are 2, 3, 4, and numbers in between.
  • number_of_tapers (int) – Number of tapers to use. Defaults to int(2*time_bandwidth) - 1. This is maximum senseful amount. More tapers will have no great influence on the final spectrum but increase the calculation time. Use fewer tapers for a faster calculation.
  • weights (str) – "adaptive" or "constant" weights.
  • demean – Force the complex TF to be demeaned.
  • fmax (float) – Maximum frequency for lowpass cosine filter. Set this to zero to not have a filter.
Returns:

Returns a dictionary with 5 numpy.ndarray’s. See the note below.

Note

Returns a dictionary with five arrays:

  • "deconvolved": Deconvolved time series.
  • "spectrum_a": Spectrum of the first time series.
  • "spectrum_b": Spectrum of the second time series.
  • "spectral_ratio": The ratio of both spectra.
  • "frequencies": The used frequency bins for the spectra.