mne.time_frequency.psd_welch

mne.time_frequency.psd_welch(inst, fmin=0, fmax=inf, tmin=None, tmax=None, n_fft=256, n_overlap=0, n_per_seg=None, picks=None, proj=False, n_jobs=1, verbose=None)[source]

Compute the power spectral density (PSD) using Welch’s method.

Calculates periodigrams for a sliding window over the time dimension, then averages them together for each channel/epoch.

Parameters:

inst : instance of Epochs or Raw or Evoked

The data for PSD calculation

fmin : float

Min frequency of interest

fmax : float

Max frequency of interest

tmin : float | None

Min time of interest

tmax : float | None

Max time of interest

n_fft : int

The length of FFT used, must be >= n_per_seg (default: 256). The segments will be zero-padded if n_fft > n_per_seg.

n_overlap : int

The number of points of overlap between segments. Will be adjusted to be <= n_per_seg. The default value is 0.

n_per_seg : int | None

Length of each Welch segment. The smaller it is with respect to the signal length the smoother are the PSDs. Defaults to None, which sets n_per_seg equal to n_fft.

picks : array-like of int | None

The selection of channels to include in the computation. If None, take all channels.

proj : bool

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

n_jobs : int

Number of CPUs to use in the computation.

verbose : bool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more).

Returns:

psds : ndarray, 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).

freqs : ndarray, shape (n_freqs,)

The frequencies.

Notes

New in version 0.12.0.