v2.0.0
Loading...
Searching...
No Matches
spectrogram.h
Go to the documentation of this file.
1//=============================================================================================================
33
34#ifndef SPECTROGRAM_H
35#define SPECTROGRAM_H
36
37//=============================================================================================================
38// INCLUDES
39//=============================================================================================================
40
41#include "utils_global.h"
42
43//=============================================================================================================
44// EIGEN INCLUDES
45//=============================================================================================================
46
47#include <Eigen/Core>
48
49//=============================================================================================================
50// DEFINE NAMESPACE UTILSLIB
51//=============================================================================================================
52
53namespace UTILSLIB
54{
55
60 Eigen::VectorXd vecInputData;
61 quint32 iRangeLow;
62 quint32 iRangeHigh;
64};
65
70{
71
72public:
73 //=========================================================================================================
82 static Eigen::MatrixXd makeSpectrogram(Eigen::VectorXd signal,
83 qint32 windowSize);
84
85private:
86 //=========================================================================================================
96 static Eigen::VectorXd gaussWindow (qint32 sample_count,
97 qreal scale,
98 quint32 translation);
99
100 //=========================================================================================================
108 static Eigen::MatrixXd compute(const SpectogramInputData& data);
109
110 //=========================================================================================================
117 static void reduce(Eigen::MatrixXd &resultData,
118 const Eigen::MatrixXd &data);
119};
120}//namespace
121
122#endif // SPECTROGRAM_H
123
utils library export/import macros.
#define UTILSSHARED_EXPORT
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Definition buildinfo.h:45
Input parameters for short-time Fourier transform spectrogram computation.
Definition spectrogram.h:59
Computes time-frequency spectrograms via short-time Fourier transform with configurable window and ov...
Definition spectrogram.h:70
static Eigen::MatrixXd makeSpectrogram(Eigen::VectorXd signal, qint32 windowSize)