This documentation is for development version 0.18.dev0.


mne.time_frequency.dpss_windows(N, half_nbw, Kmax, low_bias=True, interp_from=None, interp_kind='linear')[source]

Compute Discrete Prolate Spheroidal Sequences.

Will give of orders [0,Kmax-1] for a given frequency-spacing multiple NW and sequence length N.


Copied from NiTime.

N : int

Sequence length

half_nbw : float

Standardized half bandwidth corresponding to 2 * half_bw = BW*f0 = BW*N/dt but with dt taken as 1.

Kmax : int

Number of DPSS windows to return is Kmax (orders 0 through Kmax-1)

low_bias : bool

Keep only tapers with eigenvalues > 0.9

interp_from : int (optional)

The dpss can be calculated using interpolation from a set of dpss with the same NW and Kmax, but shorter N. This is the length of this shorter set of dpss windows.


If SciPy 1.1 or greater is available, interpolating is likely not necessary as DPSS computations should be sufficiently fast.

interp_kind : str (optional)

This input variable is passed to scipy.interpolate.interp1d and specifies the kind of interpolation as a string (‘linear’, ‘nearest’, ‘zero’, ‘slinear’, ‘quadratic, ‘cubic’) or as an integer specifying the order of the spline interpolator to use.

v, e : tuple,

v is an array of DPSS windows shaped (Kmax, N) e are the eigenvalues


Tridiagonal form of DPSS calculation from:

Slepian, D. Prolate spheroidal wave functions, Fourier analysis, and uncertainty V: The discrete case. Bell System Technical Journal, Volume 57 (1978), 1371430