v2.0.0
Loading...
Searching...
No Matches
resample.h
Go to the documentation of this file.
1//=============================================================================================================
49
50#ifndef RESAMPLE_DSP_H
51#define RESAMPLE_DSP_H
52
53//=============================================================================================================
54// INCLUDES
55//=============================================================================================================
56
57#include "dsp_global.h"
58
59//=============================================================================================================
60// EIGEN INCLUDES
61//=============================================================================================================
62
63#include <Eigen/Core>
64
65//=============================================================================================================
66// DEFINE NAMESPACE UTILSLIB
67//=============================================================================================================
68
69namespace UTILSLIB
70{
71
72//=============================================================================================================
85{
86public:
87 //=========================================================================================================
102 static Eigen::RowVectorXd resample(const Eigen::RowVectorXd& vecData,
103 double dNewSFreq,
104 double dOldSFreq,
105 int iNZeros = 10);
106
107 //=========================================================================================================
121 static Eigen::MatrixXd resampleMatrix(const Eigen::MatrixXd& matData,
122 double dNewSFreq,
123 double dOldSFreq,
124 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi(),
125 int iNZeros = 10);
126
127private:
128 //=========================================================================================================
132 static int gcd(int a, int b);
133
134 //=========================================================================================================
149 static Eigen::RowVectorXd buildKernel(int p, int q, int iNZeros);
150
151 //=========================================================================================================
163 static Eigen::RowVectorXd polyphaseConv(const Eigen::RowVectorXd& vecX,
164 const Eigen::RowVectorXd& vecH,
165 int p,
166 int q,
167 int halfLen);
168};
169
170} // namespace UTILSLIB
171
172#endif // RESAMPLE_DSP_H
dsp library export/import macros.
#define DSPSHARED_EXPORT
Definition dsp_global.h:56
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Polyphase anti-aliased rational resampling for MEG/EEG data.
Definition resample.h:85
static Eigen::RowVectorXd resample(const Eigen::RowVectorXd &vecData, double dNewSFreq, double dOldSFreq, int iNZeros=10)
Definition resample.cpp:161
static Eigen::MatrixXd resampleMatrix(const Eigen::MatrixXd &matData, double dNewSFreq, double dOldSFreq, const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), int iNZeros=10)
Definition resample.cpp:196