Skip to content

cokelaer/spectrum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

080e5aa · Jan 27, 2025
Dec 8, 2024
Jan 27, 2025
Aug 27, 2017
Dec 8, 2024
Dec 8, 2024
Oct 14, 2014
Dec 8, 2024
Jan 27, 2025
Dec 27, 2018
Jul 25, 2021
Jul 26, 2017
Aug 20, 2017
Jan 27, 2025
Aug 27, 2017
Mar 22, 2022
Mar 22, 2022
Dec 8, 2024

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)