v2.0.0
Loading...
Searching...
No Matches
firfilter.h
Go to the documentation of this file.
1//=============================================================================================================
39
40#ifndef FIRFILTER_DSP_H
41#define FIRFILTER_DSP_H
42
43//=============================================================================================================
44// INCLUDES
45//=============================================================================================================
46
47#include "dsp_global.h"
48#include "filterkernel.h"
49
50//=============================================================================================================
51// EIGEN INCLUDES
52//=============================================================================================================
53
54#include <Eigen/Core>
55
56//=============================================================================================================
57// DEFINE NAMESPACE UTILSLIB
58//=============================================================================================================
59
60namespace UTILSLIB
61{
62
63//=============================================================================================================
80{
81public:
82 //=========================================================================================================
87 LowPass = 0,
91 };
92
93 //=========================================================================================================
101
102 //=========================================================================================================
122 static FilterKernel design(int iOrder,
123 FilterType type,
124 double dCutoffLow,
125 double dCutoffHigh,
126 double dSFreq,
127 double dTransition = 5.0,
128 DesignMethod method = Cosine);
129
130 //=========================================================================================================
143 static Eigen::RowVectorXd apply(const Eigen::RowVectorXd& vecData,
144 FilterKernel& kernel);
145
146 //=========================================================================================================
158 static Eigen::RowVectorXd applyZeroPhase(const Eigen::RowVectorXd& vecData,
159 FilterKernel& kernel);
160
161 //=========================================================================================================
171 static Eigen::MatrixXd applyZeroPhaseMatrix(const Eigen::MatrixXd& matData,
172 FilterKernel& kernel,
173 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi());
174};
175
176} // namespace UTILSLIB
177
178#endif // FIRFILTER_DSP_H
The FilterKernel class represents a filter object that generates the FIR filter coefficients using Pa...
dsp library export/import macros.
#define DSPSHARED_EXPORT
Definition dsp_global.h:56
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:80
FilterType
FIR filter type — mirrors IirFilter::FilterType for a uniform API.
Definition firfilter.h:86
DesignMethod
FIR design method — wraps FilterKernel's iDesignMethod integer codes.
Definition firfilter.h:97