64 #include <QSharedPointer>
74 Eigen::RowVectorXd vecData;
75 Eigen::MatrixXd matTaper;
105 static Eigen::MatrixXcd computeTaperedSpectraRow(
const Eigen::RowVectorXd &vecData,
106 const Eigen::MatrixXd &matTaper,
120 static QVector<Eigen::MatrixXcd> computeTaperedSpectraMatrix(
const Eigen::MatrixXd &matData,
121 const Eigen::MatrixXd &matTaper,
123 bool bUseThreads =
true);
158 static void reduce(QVector<Eigen::MatrixXcd>& finalData,
159 const Eigen::MatrixXcd& resultData);
182 static Eigen::RowVectorXd psdFromTaperedSpectra(
const Eigen::MatrixXcd &matTapSpectrum,
183 const Eigen::VectorXd &vecTapWeights,
185 double dSampFreq=1.0);
200 static Eigen::RowVectorXcd csdFromTaperedSpectra(
const Eigen::MatrixXcd &vecTapSpectrumSeed,
201 const Eigen::MatrixXcd &vecTapSpectrumTarget,
202 const Eigen::VectorXd &vecTapWeightsSeed,
203 const Eigen::VectorXd &vecTapWeightsTarget,
205 double dSampFreq = 1.0);
216 static Eigen::VectorXd calculateFFTFreqs(
int iNfft,
double dSampFreq);
227 static QPair<Eigen::MatrixXd, Eigen::VectorXd> generateTapers(
int iSignalLength,
228 const QString &sWindowType =
"hanning");
239 static std::pair<Eigen::MatrixXd, Eigen::VectorXd> generateTapers(
int iSignalLength,
240 const std::string &sWindowType =
"hanning");
251 static Eigen::MatrixXd hanningWindow(
int iSignalLength);