periodogram (pyleoclim.utils.spectral.periodogram)
- pyleoclim.utils.spectral.periodogram(ys, ts, window='hann', nfft=None, return_onesided=True, detrend=None, sg_kwargs=None, gaussianize=False, standardize=False, scaling='density')[source]
Estimate power spectral density using a periodogram
Based on the function from scipy: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.periodogram.html
- Parameters
ys (array) – a time series
ts (array) – time axis of the time series
window (string or tuple) –
- Desired window to use. Possible values:
boxcar (default)
triang
blackman
hamming
hann
bartlett
flattop
parzen
bohman
blackmanharris
nuttail
barthann
kaiser (needs beta)
gaussian (needs standard deviation)
general_gaussian (needs power, width)
slepian (needs width)
dpss (needs normalized half-bandwidth)
chebwin (needs attenuation)
exponential (needs decay scale)
tukey (needs taper fraction)
If the window requires no parameters, then window can be a string. If the window requires parameters, then window must be a tuple with the first argument the string name of the window, and the next arguments the needed parameters. If window is a floating point number, it is interpreted as the beta parameter of the kaiser window.
- nfft: int
Length of the FFT used, if a zero padded FFT is desired. If None, the FFT length is nperseg
- return_onesidedbool
If True, return a one-sided spectrum for real data. If False return a two-sided spectrum. Defaults to True, but for complex data, a two-sided spectrum is always returned.
- detrendstr
- If None, no detrending is applied. Available detrending methods:
None - no detrending will be applied (default);
linear - a linear least-squares fit to ys is subtracted;
constant - the mean of ys is subtracted
savitzy-golay - ys is filtered using the Savitzky-Golay filters and the resulting filtered series is subtracted from y.
emd - Empirical mode decomposition
- sg_kwargsdict
The parameters for the Savitzky-Golay filters. see pyleoclim.utils.filter.savitzy_golay for details.
- gaussianizebool
If True, gaussianizes the timeseries
- standardizebool
If True, standardizes the timeseries
- scaling{“density,”spectrum}
Selects between computing the power spectral density (‘density’) where Pxx has units of V**2/Hz and computing the power spectrum (‘spectrum’) where Pxx has units of V**2, if x is measured in V and fs is measured in Hz. Defaults to ‘density’
- Returns
res_dict – the result dictionary, including - freq (array): the frequency vector - psd (array): the spectral density vector
- Return type
dict
See also
pyleoclim.utils.spectral.welch
Estimate power spectral density using the welch method
pyleoclim.utils.spectral.mtm
Retuns spectral density using a multi-taper method
pyleoclim.utils.spectral.lomb_scargle
Return the computed periodogram using lomb-scargle algorithm
pyleoclim.utils.spectral.wwz_psd
Return the psd of a timeseries using wwz method.
pyleoclim.utils.filter.savitzy_golay
Filtering using Savitzy-Golay
pyleoclim.utils.tsutils.detrend
Detrending method