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.
Standardized half bandwidth corresponding to 2 * half_bw = BW*f0 = BW*N/dt but with dt taken as 1.
Number of DPSS windows to return is Kmax (orders 0 through Kmax-1).
Keep only tapers with eigenvalues > 0.9.
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.
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.
The v array contains DPSS windows shaped (Kmax, N). e are the eigenvalues.
Tridiagonal form of DPSS calculation from .