v2.0.0
Loading...
Searching...
No Matches
firfilter.h
Go to the documentation of this file.
1//=============================================================================================================
26
27#ifndef FIRFILTER_DSP_H
28#define FIRFILTER_DSP_H
29
30//=============================================================================================================
31// INCLUDES
32//=============================================================================================================
33
34#include "dsp_global.h"
35#include "filterkernel.h"
36
37//=============================================================================================================
38// EIGEN INCLUDES
39//=============================================================================================================
40
41#include <Eigen/Core>
42
43//=============================================================================================================
44// DEFINE NAMESPACE UTILSLIB
45//=============================================================================================================
46
47namespace UTILSLIB
48{
49
50//=============================================================================================================
67{
68public:
69 //=========================================================================================================
74 LowPass = 0,
78 };
79
80 //=========================================================================================================
88
89 //=========================================================================================================
109 static FilterKernel design(int iOrder,
110 FilterType type,
111 double dCutoffLow,
112 double dCutoffHigh,
113 double dSFreq,
114 double dTransition = 5.0,
115 DesignMethod method = Cosine);
116
117 //=========================================================================================================
130 static Eigen::RowVectorXd apply(const Eigen::RowVectorXd& vecData,
131 FilterKernel& kernel);
132
133 //=========================================================================================================
145 static Eigen::RowVectorXd applyZeroPhase(const Eigen::RowVectorXd& vecData,
146 FilterKernel& kernel);
147
148 //=========================================================================================================
158 static Eigen::MatrixXd applyZeroPhaseMatrix(const Eigen::MatrixXd& matData,
159 FilterKernel& kernel,
160 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi());
161};
162
163} // namespace UTILSLIB
164
165#endif // FIRFILTER_DSP_H
Linear-phase FIR filter kernel with overlap-add FFT convolution back-end.
Export/import macros and namespace declaration for the DSP library.
#define DSPSHARED_EXPORT
Definition dsp_global.h:50
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
The FilterKernel class provides methods to create/design a FIR filter kernel.
Discoverable façade over the FilterKernel FIR-filter engine.
Definition firfilter.h:67
FilterType
FIR filter type — mirrors IirFilter::FilterType for a uniform API.
Definition firfilter.h:73
DesignMethod
FIR design method — wraps FilterKernel's iDesignMethod integer codes.
Definition firfilter.h:84