Documentation |
Multitaper power spectral density estimate
pxx = pmtm(x) returns Thomson's multitaper power spectral density (PSD) estimate, pxx, of the input signal, x. When x is a vector, it is treated as a single channel. When x is a matrix, the PSD is computed independently for each column and stored in the corresponding column of pxx. The tapers are the discrete prolate spheroidal (DPSS), or Slepian, sequences. The time-halfbandwidth, nw, product is 4. By default, pmtm uses the first 2nw – 1 DPSS sequences. If x is real-valued, pxx is a one-sided PSD estimate. If x is complex-valued, pxx is a two-sided PSD estimate. The number of points, nfft, in the discrete Fourier transform (DFT) is the maximum of 256 or the next power of two greater than the signal length.
[pxx,w] = pmtm(___) returns the normalized frequency vector, w. If pxx is a one-sided PSD estimate, w spans the interval [0,π] if nfft is even and [0,π) if nfft is odd. If pxx is a two-sided PSD estimate, w spans the interval [0,2π).
[pxx,f] = pmtm(___,fs) returns a frequency vector, f, in cycles per unit time. The sampling frequency, fs, is the number of samples per unit time. If the unit of time is seconds, then f is in cycles/sec (Hz). For real–valued signals, f spans the interval [0,fs/2] when nfft is even and [0,fs/2) when nfft is odd. For complex-valued signals, f spans the interval [0,fs).
[pxx,w] = pmtm(x,nw,w) returns the two-sided multitaper PSD estimates at the normalized frequencies specified in the vector, w. The vector, w, must contain at least 2 elements.
[pxx,f] = pmtm(x,nw,f,fs) returns the two-sided multitaper PSD estimates at the frequencies specified in the vector, f. The vector, f, must contain at least 2 elements. The frequencies in f are in cycles per unit time. The sampling frequency, fs, is the number of samples per unit time. If the unit of time is seconds, then f is in cycles/sec (Hz).
[___] = pmtm(x,e,v) uses the tapers in the N-by-K matrix e with concentrations v in the frequency band [-w,w]. N is the length of the input signal, x. Use dpss to obtain the Slepian tapers and corresponding concentrations.
[___] = pmtm(x,dpss_params) uses the cell array, dpss_params, to pass input arguments to dpss except the number of elements in the sequences. The number of elements in the sequences is the first input argument to dpss and is not included in dpss_params. For example
x = randn(1000,1); pxx = pmtm(x,{2.5,3});
[___] = pmtm(___,'DropLastTaper',dropflag) specifies whether pmtm drops the last taper in the computation of the multitaper PSD estimate. dropflag is a logical. The default value of dropflag is true and the last taper is not used in the PSD estimate.
[___] = pmtm(___,freqrange) returns the multitaper PSD estimate over the frequency range specified by freqrange. Valid options for freqrange are 'onesided', 'twosided', and 'centered'.
[___,pxxc] = pmtm(___,'ConfidenceLevel',probability) returns the probability × 100% confidence intervals for the PSD estimate in pxxc.
[1] Percival, D. B., and A. T. Walden, Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge, UK: Cambridge University Press, 1993.
[2] Thomson, D. J., "Spectrum estimation and harmonic analysis." Proceedings of the IEEE^{®}. Vol. 70, 1982, pp. 1055–1096.
dpss | periodogram | pwelch