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, reject_by_annotation=True, verbose=None)[source]

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

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

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. If n_per_seg is None, n_fft must be >= number of time points in the data.

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 (windowed with a Hamming window). 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.

reject_by_annotation : bool

Whether to omit bad segments from the data while computing the PSD. If True, annotated segments with a description that starts with ‘bad’ are omitted. Has no effect if inst is an Epochs or Evoked object. Defaults to True.

New in version 0.15.0.

verbose : bool, str, int, or None

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

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.


New in version 0.12.0.