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 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`

).

`[`

returns
the two-sided multitaper PSD estimates at the frequencies specified
in the vector, `pxx`

,`f`

] = pmtm(`x`

,`nw`

,`f`

,`fs`

)`f`

. `f`

must
contain at least two 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/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`

Was this topic helpful?