Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial


Filter.h

00001 /***************************************************/
00028 /***************************************************/
00029 
00030 #if !defined(__FILTER_H)
00031 #define __FILTER_H
00032 
00033 #include "Stk.h"
00034 
00035 class Filter : public Stk
00036 {
00037 public:
00039   Filter(void);
00040 
00042 
00046   Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients);
00047 
00049   virtual ~Filter(void);
00050 
00052   void clear(void);
00053 
00055 
00060   void setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients);
00061 
00063 
00069   void setNumerator(int nb, MY_FLOAT *bCoefficients);
00070 
00072 
00080   void setDenominator(int na, MY_FLOAT *aCoefficients);
00081 
00083 
00087   virtual void setGain(MY_FLOAT theGain);
00088 
00090   virtual MY_FLOAT getGain(void) const;
00091 
00093   virtual MY_FLOAT lastOut(void) const;
00094 
00096   virtual MY_FLOAT tick(MY_FLOAT sample);
00097 
00099   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
00100 
00101 protected:
00102   MY_FLOAT gain;
00103   int     nB;
00104   int     nA;
00105   MY_FLOAT *b;
00106   MY_FLOAT *a;
00107   MY_FLOAT *outputs;
00108   MY_FLOAT *inputs;
00109 
00110 };
00111 
00112 #endif

The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.