MNE-CPP  beta 1.0
filterdata.h
Go to the documentation of this file.
1 //=============================================================================================================
50 #ifndef FILTERDATA_H
51 #define FILTERDATA_H
52 
53 //*************************************************************************************************************
54 //=============================================================================================================
55 // INCLUDES
56 //=============================================================================================================
57 
58 #include <utils/parksmcclellan.h>
59 
60 
61 //*************************************************************************************************************
62 //=============================================================================================================
63 // Eigen INCLUDES
64 //=============================================================================================================
65 
66 #include <Eigen/Core>
67 #include <Eigen/Core>
68 #include <Eigen/SparseCore>
69 #include <unsupported/Eigen/FFT>
70 
71 #ifndef EIGEN_FFTW_DEFAULT
72 #define EIGEN_FFTW_DEFAULT
73 #endif
74 
75 //*************************************************************************************************************
76 //=============================================================================================================
77 // DEFINE NAMESPACE MNELIB
78 //=============================================================================================================
79 
80 namespace UTILSLIB
81 {
82 
83 
84 //*************************************************************************************************************
85 //=============================================================================================================
86 // USED NAMESPACES
87 //=============================================================================================================
88 
89 using namespace Eigen;
90 
91 //*************************************************************************************************************
92 
94 {
95 public:
96  enum FilterType {
97  LPF,
98  HPF,
99  BPF,
100  NOTCH
101  } m_Type;
102 
103  FilterData();
104  ~FilterData();
105 
115  FilterData(QString unique_name, FilterType type, int order, double centerfreq, double bandwidth, double parkswidth, qint32 fftlength=4096);
116 
120  void fftTransformCoeffs();
121 
122  RowVectorXd applyFFTFilter(RowVectorXd& data);
123 
127  RowVectorXd m_dCoeffA;
128  RowVectorXd m_dCoeffB;
130  RowVectorXcd m_dFFTCoeffA;
131  RowVectorXcd m_dFFTCoeffB;
132 };
133 
134 } // NAMESPACE
135 
136 #endif // FILTERDATA_H
RowVectorXd m_dCoeffA
Definition: filterdata.h:127
RowVectorXcd m_dFFTCoeffB
Definition: filterdata.h:131
#define UTILSSHARED_EXPORT
Definition: utils_global.h:57
RowVectorXcd m_dFFTCoeffA
Definition: filterdata.h:130
RowVectorXd m_dCoeffB
Definition: filterdata.h:128