29 #ifndef GRT_FIR_FILTER_HEADER
30 #define GRT_FIR_FILTER_HEADER
32 #include "../CoreModules/PreProcessing.h"
38 enum FilterTypes{LPF=0, HPF, BPF};
53 FIRFilter(
const UINT filterType = LPF,
const UINT numTaps = 50,
const Float sampleRate = 100,
const Float cutoffFrequency = 10,
const Float gain = 1,
const UINT numDimensions = 1);
102 virtual bool reset();
110 virtual bool clear();
119 virtual bool save( std::fstream &file )
const;
128 virtual bool load( std::fstream &file );
143 Float filter(
const Float x);
158 UINT getFilterType()
const;
165 UINT getNumTaps()
const;
172 Float getSampleRate()
const;
179 Float getCutoffFrequency()
const;
186 Float getCutoffFrequencyLower()
const;
193 Float getCutoffFrequencyUpper()
const;
200 Float getGain()
const;
222 bool setFilterType(
const UINT filterType);
232 bool setNumTaps(
const UINT numTaps);
240 bool setSampleRate(
const Float sampleRate);
249 bool setCutoffFrequency(
const Float cutoffFrequency);
259 bool setCutoffFrequency(
const Float cutoffFrequencyLower,
const Float cutoffFrequencyUpper);
267 bool setGain(
const Float gain);
277 Float cutoffFrequency;
278 Float cutoffFrequencyLower;
279 Float cutoffFrequencyUpper;
289 #endif //GRT_FIR_FILTER_HEADER
virtual bool deepCopyFrom(const PreProcessing *rhs)
virtual bool save(const std::string filename) const
virtual bool load(const std::string filename)
virtual bool process(const VectorFloat &inputVector)