29 #ifndef GRT_FIR_FILTER_HEADER
30 #define GRT_FIR_FILTER_HEADER
32 #include "../CoreModules/PreProcessing.h"
51 FIRFilter(
const UINT filterType = LPF,
const UINT numTaps = 50,
const double sampleRate = 100,
const double cutoffFrequency = 10,
const double gain = 1,
const UINT numDimensions = 1);
91 virtual bool process(
const VectorDouble &inputVector);
100 virtual bool reset();
108 virtual bool clear();
159 double filter(
const double x);
167 VectorDouble
filter(
const VectorDouble &x);
275 bool setCutoffFrequency(
const double cutoffFrequencyLower,
const double cutoffFrequencyUpper);
283 bool setGain(
const double gain);
289 double cutoffFrequency;
290 double cutoffFrequencyLower;
291 double cutoffFrequencyUpper;
299 enum FilterTypes{LPF=0, HPF, BPF};
304 #endif //GRT_FIR_FILTER_HEADER
virtual bool deepCopyFrom(const PreProcessing *preProcessing)
FIRFilter & operator=(const FIRFilter &rhs)
virtual bool loadModelFromFile(string filename)
double getCutoffFrequencyLower() const
bool setNumTaps(const UINT numTaps)
VectorDouble getFilterCoefficents() const
virtual bool process(const VectorDouble &inputVector)
bool setCutoffFrequency(const double cutoffFrequency)
bool setGain(const double gain)
FIRFilter(const UINT filterType=LPF, const UINT numTaps=50, const double sampleRate=100, const double cutoffFrequency=10, const double gain=1, const UINT numDimensions=1)
double getCutoffFrequency() const
double getSampleRate() const
vector< VectorDouble > getInputBuffer() const
virtual bool saveModelToFile(string filename) const
bool setFilterType(const UINT filterType)
double getCutoffFrequencyUpper() const
UINT getFilterType() const
double filter(const double x)
bool setSampleRate(const double sampleRate)