Skip to content

cokelaer/spectrum

Repository files navigation

SPECTRUM : Spectral Analysis in Python

https://github.com/cokelaer/spectrum/actions/workflows/main.yml/badge.svg?branch=master https://coveralls.io/repos/cokelaer/spectrum/badge.png?branch=master
contributions:Please join https://github.com/cokelaer/spectrum
contributors:https://github.com/cokelaer/spectrum/graphs/contributors
issues:Please use https://github.com/cokelaer/spectrum/issues
documentation:http://pyspectrum.readthedocs.io/
Citation:Cokelaer et al, (2017), 'Spectrum': Spectral Analysis in Python, Journal of Open Source Software, 2(18), 348, doi:10.21105/joss.00348

http://www.thomas-cokelaer.info/software/spectrum/html/_images/psd_all.png

Spectrum contains tools to estimate Power Spectral Densities using methods based on Fourier transform, Parametric methods or eigenvalues analysis:

  • The Fourier methods are based upon correlogram, periodogram and Welch estimates. Standard tapering windows (Hann, Hamming, Blackman) and more exotic ones are available (DPSS, Taylor, ...).
  • The parametric methods are based on Yule-Walker, BURG, MA and ARMA, covariance and modified covariance methods.
  • Non-parametric methods based on eigen analysis (e.g., MUSIC) and minimum variance analysis are also implemented.
  • Multitapering is also available

The targetted audience is diverse. Although the use of power spectrum of a signal is fundamental in electrical engineering (e.g. radio communications, radar), it has a wide range of applications from cosmology (e.g., detection of gravitational waves in 2016), to music (pattern detection) or biology (mass spectroscopy).

Quick Installation

spectrum is available on Pypi:

pip install spectrum

and conda:

conda config --append channels conda-forge
conda install spectrum

To install the conda executable itself, please see https://www.continuum.io/downloads .

Contributions

Please see github for any issues/bugs/comments/contributions.

Changelog (summary)

release description
0.9.0
  • handles new numpy API (keeping back compatiblity).
  • included #73 thanks to @butala contribution to speed up fft.
  • fix rho calculation in burg algo thanks to contri #82 from @cl445
  • remove warnings/deprecation related to pkgresources, numpy and scipy.
  • ran black through entire code.
0.8.1
  • move CI to github actions
  • include python 3.9 support
  • include PR from tikuma-lshhsc contributor to speedup eigenfre module
  • fix deprecated warnings

Some notebooks (external contributions)