Dpss
Namespace: UTILSLIB · Library: Utilities Library
#include <utils/dpss.h>
class UTILSLIB::Dpss
Discrete Prolate Spheroidal Sequences (Slepian tapers).
Computes DPSS tapers via the tridiagonal eigenvalue formulation. These tapers are used by the multitaper spectral estimator to achieve optimal spectral concentration within a given half-bandwidth.
const DpssResult dpss = Dpss::compute(64, 2.5, 4); // N = 64 samples, NW = 2.5, 4 tapers
Static Methods
compute(nSamples, halfBandwidth, nTapers, sym, lowBias)
Compute DPSS tapers for a given window length and half-bandwidth.
Parameters:
-
nSamples : int Window length N in samples.
-
halfBandwidth : double Half-bandwidth parameter (NW); typical values: 2, 3, 4.
-
nTapers : int Number of tapers to return; -1 → floor(2*halfBandwidth - 1).
-
sym : bool false: periodic tapers for spectral analysis, i.e. the first N samples of the length N + 1 tapers (scipy dpss sym=False, used by MNE-Python).
-
lowBias : bool Keep only tapers with concentration > 0.9, at least the first (MNE-Python low_bias).
Returns:
- DpssResult —
DpssResultwith matTapers (nTapers × N) and vecEigenvalues.
Example
- Full source:
src/examples/ex_dsp_spectral/main.cpp - Build target:
ex_dsp_spectral(runs under CTest)
Authors of this file
- Christoph Dinh <christoph.dinh@mne-cpp.org>