47 #ifndef FILTERKERNEL_H
48 #define FILTERKERNEL_H
54 #include "../rtprocessing_global.h"
76 namespace RTPROCESSINGLIB
115 QString getName()
const;
174 void prepareFilter(
int iDataSize);
186 Eigen::RowVectorXd applyConvFilter(
const Eigen::RowVectorXd& vecData,
187 bool bKeepOverhead =
false)
const;
199 void applyFftFilter(Eigen::RowVectorXd& vecData,
200 bool bKeepOverhead =
false);
202 QString getName()
const;
203 void setName(
const QString& sFilterName);
205 double getSamplingFrequency()
const;
206 void setSamplingFrequency(
double dSFreq);
208 int getFilterOrder()
const;
209 void setFilterOrder(
int iOrder);
211 double getCenterFrequency()
const;
212 void setCenterFrequency(
double dCenterFreq);
214 double getBandwidth()
const;
215 void setBandwidth(
double dBandwidth);
217 double getParksWidth()
const;
218 void setParksWidth(
double dParksWidth);
220 double getHighpassFreq()
const;
221 void setHighpassFreq(
double dHighpassFreq);
223 double getLowpassFreq()
const;
224 void setLowpassFreq(
double dLowpassFreq);
226 Eigen::RowVectorXd getCoefficients()
const;
227 void setCoefficients(
const Eigen::RowVectorXd& vecCoeff);
229 Eigen::RowVectorXcd getFftCoefficients()
const;
230 void setFftCoefficients(
const Eigen::RowVectorXcd& vecFftCoeff);
233 void setDesignMethod(
int iDesignMethod);
236 void setFilterType(
int iFilterType);
238 QString getShortDescription()
const;
250 bool fftTransformCoeffs(
int iFftLength);
259 double m_dCenterFreq;
261 double m_dParksWidth;
262 double m_dLowpassFreq;
263 double m_dHighpassFreq;
269 QString m_sFilterName;
270 QString m_sFilterShortDescription;
272 Eigen::RowVectorXd m_vecCoeff;
273 Eigen::RowVectorXcd m_vecFftCoeff;
278 #ifndef metatype_filterkernel
279 #define metatype_filterkernel
283 #ifndef metatype_filterparameter
284 #define metatype_filterkernel
288 #endif // FILTERKERNEL_H