Time–frequency representation

From SubSurfWiki
Jump to navigation Jump to search

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

Name Year Note Python module Julia module Octave 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.signal.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
HHT Hilbert–Huang transform late 1990s aka Hilbert spectral analysis; extracts frequencies from EMD IMFs
FD Fourier decomposition 2015 See MATLAB code


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