Compute Discrete Prolate Spheroidal Sequences.
Will give of orders [0,Kmax-1] for a given frequency-spacing multiple
NW and sequence length N.
Parameters: |
- N : int
Sequence length
- half_nbw : float, unitless
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.
- 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.
|
Returns: |
- v, e : tuple,
v is an array of DPSS windows shaped (Kmax, N)
e are the eigenvalues
|
Notes
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