Difference between revisions of "Time–frequency representation"

From SubSurfWiki
Jump to navigation Jump to search
(restored)
 
(update)
Line 1: Line 1:
 
Some methods for making time–[[frequency]] representations of seismic or other time series data.
 
Some methods for making time–[[frequency]] representations of seismic or other time series data.
  
{| class="wikitable"  
+
{| class="wikitable"
 +
|-
 
!  
 
!  
! Name  
+
! Name
! Note  
+
! Note
! Python module  
+
! Year
! Key parameters  
+
! Python module
!  Ease of use
+
! Key parameters
!  Cost
+
|-
!  Synthetic
+
| FFT
!  Natural
+
| Fast Fourier transform
|-  
+
| 1965
| FFT  
+
| aka Discrete Fourier transform
| Fourier transform  
+
| <code>numpy.fft.fft</code>, <code>scipy.fftpack.fft</code>
| Fast or discrete Fourier transform  
 
| <code>numpy.fft</code>, <code>scipy.fftpack.fft</code>
 
|  None
 
 
|  
 
|  
 +
|-
 +
| SFFT
 +
| Sparse fast Fourier transform
 +
| 2013
 
|  
 
|  
 +
| [https://github.com/davidediger/sfft <code>sfft</code>]
 
|  
 
|  
 +
|-
 +
| STFT
 +
| Short-time Fourier transform
 +
| 1960s
 
|  
 
|  
|-
+
| <code>scipy.signal.stft</code>, <code>scipy.signal.spectrogram</code>, <code>matplotlib.pyplot.specgram</code>
|  STFT
+
| NFFT, noverlap, taper
|  Short-time Fourier transform
+
|-
|  aka Gabor transform, short window FT
+
| ST
| <code>pyplot.specgram</code>
+
| S-transform
| Length, step, taper  
+
| 1994
|
+
| aka Stockwell transform
|
+
| <code>PyGFT</code>
|
 
|
 
|-  
 
| ST  
 
| S-transform<ref>Stockwell et al. (1996)</ref>
 
|  
 
| <code>pygft</code><ref>University of Calgary</ref>
 
|  None
 
|  Easy
 
|  Fast 
 
|
 
|
 
|-
 
|  CWT
 
|  Continuous wavelet transform
 
 
|  
 
|  
 +
|-
 +
| CWT
 +
| Continuous wavelet transform
 +
| 1980s
 
| <code>scipy.cwt</code>
 
| <code>scipy.cwt</code>
 
|  
 
|  
|
+
|-
|
+
| DWT
|
+
| Discrete wavelet transform
|
+
| 1980s
|-  
 
| DWT  
 
| Discrete wavelet transform  
 
 
|  
 
|  
 
| <code>pywt</code>, <code>wavelets.py</code>
 
| <code>pywt</code>, <code>wavelets.py</code>
 
|  
 
|  
 +
|-
 +
| SST
 +
| Synchro-squeezing transform
 
|  
 
|  
 +
| Includes reassignment step; aka synchro-squeezed wavelet transform or SSWT.
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| MP
 +
| Matching pursuit
 
|  
 
|  
|-
 
|  SST
 
|  Synchro-squeezing transform
 
|  Includes reassignment step
 
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| OMP
 +
| Orthogonal MP
 
|  
 
|  
 
|  
 
|  
 +
| <code>sklearn.linear_model.OrthogonalMatchingPursuit</code>
 
|  
 
|  
|-  
+
|-
| MP
+
| BP
| Matching pursuit  
+
| Basis pursuit
 
|  
 
|  
| <code>py-pursuit</code><ref>by Leif Johnson</ref>
 
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| DMD
 +
| Dynamic mode decomposition
 
|  
 
|  
 
|  
 
|  
|-
 
|  BP
 
|  Basis pursuit
 
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| AR
 +
| Autoregressive method
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
|-  
+
|-
| DMD
+
| STAR
| Dynamic mode decomposition
+
| Short-time autoregressive method
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| KS
 +
| Kalman smoother
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
|-
 
|  AR
 
|  Autoregressive method
 
 
|  
 
|  
 +
|-
 +
| EMD
 +
| Empirical mode decomposition
 +
| 1998
 
|  
 
|  
 +
| [https://github.com/laszukdawid/PyEMD <code>PyEMD</code>]
 
|  
 
|  
 +
|-
 +
| EEMD
 +
| Ensemble EMD
 +
| 2009
 
|  
 
|  
 +
| [https://github.com/laszukdawid/PyEMD <code>PyEMD</code>]
 
|  
 
|  
 +
|-
 +
| CEEMD
 +
| Complete EEMD
 
|  
 
|  
 
|  
 
|  
|-
+
| [https://github.com/laszukdawid/PyEMD <code>PyEMD</code>]
|  ST-AR
 
|  Short-time autoregressive method
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|  KS
 
|  Kalman smoother
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|  EEMD
 
|  Ensemble empirical mode decomposition
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|  CEEMD
 
|  Complete EEMD
 
|
 
|
 
|
 
|
 
 
|  
 
|  
 +
|-
 +
| FD
 +
| Fourier decomposition
 +
| 2015
 
|  
 
|  
 +
| See [https://www.researchgate.net/publication/274570245_Matlab_Code_Of_The_Fourier_Decomposition_Method_FDM MATLAB code]
 
|  
 
|  
 
|}
 
|}
 +
  
 
==Notes==
 
==Notes==
 
* Several of the Python implementations require the fftw library.
 
* Several of the Python implementations require the fftw library.
* There is a Python module for reassignment by Dan Meliza called libtfr.
+
* There is a Python module for reassignment by Dan Meliza called <code>libtfr</code>.
  
 
==References==
 
==References==

Revision as of 13:13, 7 May 2018

Some methods for making time–frequency representations of seismic or other time series data.

Name Note Year Python module Key parameters
FFT Fast Fourier transform 1965 aka Discrete Fourier transform numpy.fft.fft, scipy.fftpack.fft
SFFT Sparse fast Fourier transform 2013 sfft
STFT Short-time Fourier transform 1960s scipy.signal.stft, scipy.signal.spectrogram, matplotlib.pyplot.specgram NFFT, noverlap, taper
ST S-transform 1994 aka Stockwell transform PyGFT
CWT Continuous wavelet transform 1980s scipy.cwt
DWT Discrete wavelet transform 1980s pywt, wavelets.py
SST Synchro-squeezing transform Includes reassignment step; aka synchro-squeezed wavelet transform or SSWT.
MP Matching pursuit
OMP Orthogonal MP sklearn.linear_model.OrthogonalMatchingPursuit
BP Basis pursuit
DMD Dynamic mode decomposition
AR Autoregressive method
STAR Short-time autoregressive method
KS Kalman smoother
EMD Empirical mode decomposition 1998 PyEMD
EEMD Ensemble EMD 2009 PyEMD
CEEMD Complete EEMD PyEMD
FD Fourier decomposition 2015 See MATLAB code


Notes

  • Several of the Python implementations require the fftw library.
  • There is a Python module for reassignment by Dan Meliza called libtfr.

References