58#include <QSharedPointer>
106 const Eigen::MatrixXd &matTaper,
121 const Eigen::MatrixXd &matTaper,
123 bool bUseThreads =
true);
142 static void reduce(QVector<Eigen::MatrixXcd>& finalData,
143 const Eigen::MatrixXcd& resultData);
157 const Eigen::VectorXd &vecTapWeights,
159 double dSampFreq=1.0);
175 const Eigen::MatrixXcd &vecTapSpectrumTarget,
176 const Eigen::VectorXd &vecTapWeightsSeed,
177 const Eigen::VectorXd &vecTapWeightsTarget,
179 double dSampFreq = 1.0);
201 static QPair<Eigen::MatrixXd, Eigen::VectorXd>
generateTapers(
int iSignalLength,
202 const QString &sWindowType =
"hanning");
213 static std::pair<Eigen::MatrixXd, Eigen::VectorXd>
generateTapers(
int iSignalLength,
214 const std::string &sWindowType =
"hanning");
225 static Eigen::MatrixXd hanningWindow(
int iSignalLength);
Export/import macros and build-stamp accessors for MATHLIB.
#define MATHSHARED_EXPORT
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Per-row input bundle for parallel multi-taper spectral estimation (data row, taper matrix,...
Eigen::RowVectorXd vecData
static Eigen::RowVectorXcd csdFromTaperedSpectra(const Eigen::MatrixXcd &vecTapSpectrumSeed, const Eigen::MatrixXcd &vecTapSpectrumTarget, const Eigen::VectorXd &vecTapWeightsSeed, const Eigen::VectorXd &vecTapWeightsTarget, int iNfft, double dSampFreq=1.0)
static QVector< Eigen::MatrixXcd > computeTaperedSpectraMatrix(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matTaper, int iNfft, bool bUseThreads=true)
static Eigen::RowVectorXd psdFromTaperedSpectra(const Eigen::MatrixXcd &matTapSpectrum, const Eigen::VectorXd &vecTapWeights, int iNfft, double dSampFreq=1.0)
static QPair< Eigen::MatrixXd, Eigen::VectorXd > generateTapers(int iSignalLength, const QString &sWindowType="hanning")
static Eigen::MatrixXcd compute(const TaperedSpectraInputData &inputData)
static Eigen::MatrixXcd computeTaperedSpectraRow(const Eigen::RowVectorXd &vecData, const Eigen::MatrixXd &matTaper, int iNfft)
static Eigen::VectorXd calculateFFTFreqs(int iNfft, double dSampFreq)
static void reduce(QVector< Eigen::MatrixXcd > &finalData, const Eigen::MatrixXcd &resultData)