Spectrum: a Spectral Analysis Library in Python

https://badge.fury.io/py/spectrum.svg https://github.com/cokelaer/spectrum/actions/workflows/main.yml/badge.svg?branch=master https://coveralls.io/repos/cokelaer/spectrum/badge.png?branch=master https://anaconda.org/conda-forge/spectrum/badges/license.svg https://anaconda.org/conda-forge/spectrum/badges/installer/conda.svg https://anaconda.org/conda-forge/spectrum/badges/downloads.svg http://joss.theoj.org/papers/e4e34e78e4a670f2ca9a6a97ce9d3b8e/status.svg
Citation:Cokelaer et al., (2017). ‘Spectrum’: Spectral Analysis in Python. Journal of Open Source Software, 2(18), 348, doi:10.21105/joss.00348
Contributions:Please join https://github.com/cokelaer/spectrum
Issues:Please use https://github.com/cokelaer/spectrum/issues

Spectrum is a Python library that contains tools to estimate Power Spectral Densities 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. Finally, Multitapering combines several orthogonal tapering windows.

Quick installation

conda install spectrum


Visit our example gallery or jump to the main documentation

Targetted audience

The targetted audience is diverse: 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).


Spectrum is released under a BSD3 license

Indices and tables