Home Information Classes Download Usage Mail List Requirements Links Tutorial
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. |