[SciPy-Dev] Pull Req: Add periodogram and welch functions

Sturla Molden sturla at molden.no
Tue Dec 4 11:09:19 EST 2012


Den 4. des. 2012 kl. 15:00 skrev josef.pktd at gmail.com:

> 
> More general question then:
> How do I make a periodogram smooth or less smooth?
> 

You don't. The variance of the periodogram is independent of its length. But intuitively, sampling more data should produce a better estimate of the power spectrum: The power-spectrum is the Fourier transform of the signal's autocorrelation. The more data we sample, the better we can estimate the autocorrelation – and thus the better we can estimate the spectrum. But the periodogram does not work that way. As a spectrum estimator, its variance does not decay with the amount of sampled data. That is what Welch, Blackman-Tuckey, and multitaper methods tries to remedy, but they do so by introducing bias. 

Personally I prefer ARMA modelling or continous wavelet transform for spectrum analysis. 

For FFT-based power spectra, a surprisingly efficient method is to wavelet denoise a multitaper spectrum. Multitapering seems to work better than Welch, and after wavelet shrinkage the spectra look smooth. But still this is inferior to using parametric ARMA modelling – or just averaging a CWT over time.


Sturla





More information about the SciPy-Dev mailing list