Multitaper power spectral density estimate
returns Thomson’s
multitaper power spectral density (PSD) estimate, pxx
= pmtm(x
)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 2
× nw
– 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.
[
returns a frequency vector, pxx
,f
] = pmtm(___,fs
)f
, in cycles per unit time. The sample rate,
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
). fs
must be the fourth input to
pmtm
. To input a sample rate and still use the default values of the
preceding optional arguments, specify these arguments as empty, []
.
[
returns the two-sided multitaper PSD estimates at the frequencies specified in the vector,
pxx
,f
] = pmtm(x
,nw
,f
,fs
)f
. The vector f
must contain at least two elements,
because otherwise the function interprets it as nfft
. The frequencies in
f
are in cycles per unit time. The sample rate, fs
,
is the number of samples per unit time. If the unit of time is seconds, then
f
is in cycles/second (Hz).
[___] = pmtm(
uses
the cell array, x
,dpss_params
)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
.
An example of this usage is pxx = pmtm(randn(1000,1),{2.5,3})
.
[___] = pmtm(___,'DropLastTaper',
specifies
whether dropflag
)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(___,
returns
the multitaper PSD estimate over the frequency range specified by freqrange
)freqrange
.
Valid options for freqrange
are 'onesided'
, 'twosided'
,
and 'centered'
.
[___,
returns
the pxxc
] = pmtm(___,'ConfidenceLevel',probability
)probability
× 100%
confidence intervals for the PSD estimate in pxxc
.
pmtm(___)
with no output arguments
plots the multitaper PSD estimate in the current figure window.
[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