mne.time_frequency.psd_multitaper(inst, fmin=0, fmax=inf, tmin=None, tmax=None, bandwidth=None, adaptive=False, low_bias=True, normalization='length', picks=None, proj=False, n_jobs=1, reject_by_annotation=False, verbose=None)[source]

Compute the power spectral density (PSD) using multitapers.

Calculates spectral density for orthogonal tapers, then averages them together for each channel/epoch. See 1 for a description of the tapers and 2 for the general method.

instinstance of Epochs or Raw or Evoked

The data for PSD calculation.


Min frequency of interest.


Max frequency of interest.

tminfloat | None

Min time of interest.

tmaxfloat | None

Max time of interest.


The bandwidth of the multi taper windowing function in Hz. The default value is a window half-bandwidth of 4.


Use adaptive weights to combine the tapered spectra into PSD (slow, use n_jobs >> 1 to speed up computation).


Only use tapers with more than 90% spectral concentration within bandwidth.


Either “full” or “length” (default). If “full”, the PSD will be normalized by the sampling rate as well as the length of the signal (as in nitime).

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick good data channels (excluding reference MEG channels). Note that channels in info['bads'] will be included if their names or indices are explicitly provided.


Apply SSP projection vectors. If inst is ndarray this is not used.


The number of jobs to run in parallel (default 1). If -1, it is set to the number of CPU cores. Requires the joblib package.


Whether to omit bad segments from the data before fitting. If True (default), annotated segments whose description begins with 'bad' are omitted. If False, no rejection based on annotations is performed.

Has no effect if inst is not a object.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

psdsndarray, shape (…, n_freqs)

The power spectral densities. If input is of type Raw, then psds will be shape (n_channels, n_freqs), if input is type Epochs then psds will be shape (n_epochs, n_channels, n_freqs).

freqsndarray, shape (n_freqs,)

The frequencies.


New in version 0.12.0.



David S. Slepian. Prolate spheroidal wave functions, fourier analysis, and uncertainty-V: the discrete case. Bell System Technical Journal, 57(5):1371–1430, 1978. doi:10.1002/j.1538-7305.1978.tb02104.x.


Donald B. Percival and Andrew T. Walden. Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge University Press, Cambridge; New York, 1993. ISBN 978-0-521-35532-2. doi:10.1017/CBO9780511622762.

Examples using mne.time_frequency.psd_multitaper