27 #ifndef GRT_FIR_FILTER_HEADER 28 #define GRT_FIR_FILTER_HEADER 30 #include "../CoreModules/PreProcessing.h" 55 FIRFilter(
const FilterType filterType = LPF,
const UINT numTaps = 50,
const Float sampleRate = 100,
const Float cutoffFrequency = 10,
const Float gain = 1,
const UINT numDimensions = 1);
104 virtual bool reset();
112 virtual bool clear();
121 virtual bool save( std::fstream &file )
const;
130 virtual bool load( std::fstream &file );
145 Float filter(
const Float x);
167 UINT getNumTaps()
const;
174 Float getSampleRate()
const;
181 Float getCutoffFrequency()
const;
188 Float getCutoffFrequencyLower()
const;
195 Float getCutoffFrequencyUpper()
const;
202 Float getGain()
const;
224 bool setFilterType(
const FilterType filterType);
234 bool setNumTaps(
const UINT numTaps);
242 bool setSampleRate(
const Float sampleRate);
251 bool setCutoffFrequency(
const Float cutoffFrequency);
261 bool setCutoffFrequency(
const Float cutoffFrequencyLower,
const Float cutoffFrequencyUpper);
269 bool setGain(
const Float gain);
276 static std::string
getId();
286 Float cutoffFrequency;
287 Float cutoffFrequencyLower;
288 Float cutoffFrequencyUpper;
294 static const std::string id;
300 #endif //GRT_FIR_FILTER_HEADER virtual bool clear() override
std::string getId() const
virtual bool deepCopyFrom(const PreProcessing *rhs)
This class implements a Finite Impulse Response (FIR) Filter. It can support a low pass filter...
virtual bool save(const std::string &filename) const
virtual bool reset() override
virtual bool process(const VectorFloat &inputVector)
virtual bool load(const std::string &filename)