mne.time_frequency.csd_array_multitaper(X, sfreq, t0=0, fmin=0, fmax=inf, tmin=None, tmax=None, ch_names=None, n_fft=None, bandwidth=None, adaptive=False, low_bias=True, projs=None, n_jobs=1, verbose=None)[source]

Estimate cross-spectral density from an array using a multitaper method.

Xarray_like, shape (n_epochs, n_channels, n_times)

The time series data consisting of n_epochs separate observations of signals with n_channels time-series of length n_times.


Sampling frequency of observations.


Time of the first sample relative to the onset of the epoch, in seconds. Defaults to 0.


Minimum frequency of interest, in Hertz.

fmaxfloat | numpy.inf

Maximum frequency of interest, in Hertz.

tminfloat | None

Minimum time instant to consider, in seconds. If None start at first sample.

tmaxfloat | None

Maximum time instant to consider, in seconds. If None end at last sample.

ch_nameslist of str | None

A name for each time series. If None (the default), the series will be named ‘SERIES###’.

n_fftint | None

Length of the FFT. If None, the exact number of samples between tmin and tmax will be used.

bandwidthfloat | None

The bandwidth of the multitaper windowing function in Hz.


Use adaptive weights to combine the tapered spectra into PSD.


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

projslist of Projection | None

List of projectors to store in the CSD object. Defaults to None, which means no projectors are stored.


The number of jobs to run in parallel (default 1). Requires the joblib package.

verbosebool | str | int | None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more). If used, it should be passed as a keyword-argument only.

csdinstance of CrossSpectralDensity

The computed cross-spectral density.