v2.0.0
Loading...
Searching...
No Matches
UTILSLIB::MultitaperPsd Class Reference

Multitaper power spectral density estimator using DPSS (Slepian) tapers. More...

#include <multitaper_psd.h>

Static Public Member Functions

static MultitaperPsdResult compute (const Eigen::MatrixXd &matData, double sfreq, double halfBandwidth=4.0, int nTapers=-1, int nFft=-1)

Detailed Description

Multitaper power spectral density estimator using DPSS (Slepian) tapers.

Applies multiple orthogonal DPSS tapers to the data, computes the FFT of each tapered segment, and averages the resulting periodograms weighted by the taper eigenvalues. This provides a PSD estimate with reduced variance compared to a single-taper (periodogram) approach.

// 600 Hz data, half-bandwidth 4, default tapers
// r.matPsd → n_channels × (n_times/2+1)
// r.vecFreqs → frequency axis in Hz
Result of a multitaper PSD computation.
static MultitaperPsdResult compute(const Eigen::MatrixXd &matData, double sfreq, double halfBandwidth=4.0, int nTapers=-1, int nFft=-1)

Definition at line 83 of file multitaper_psd.h.

Member Function Documentation

◆ compute()

MultitaperPsdResult MultitaperPsd::compute ( const Eigen::MatrixXd & matData,
double sfreq,
double halfBandwidth = 4.0,
int nTapers = -1,
int nFft = -1 )
static

Compute multitaper PSD for every channel of a data matrix.

Parameters
[in]matDataData matrix (n_channels × n_times).
[in]sfreqSampling frequency in Hz.
[in]halfBandwidthHalf-bandwidth parameter (NW); default 4.0.
[in]nTapersNumber of DPSS tapers; -1 → floor(2*halfBandwidth - 1).
[in]nFftFFT length; -1 → n_times.
Returns
MultitaperPsdResult with matPsd and vecFreqs.

Definition at line 68 of file multitaper_psd.cpp.


The documentation for this class was generated from the following files: