CSIM: analogfilter.h Source File

analogfilter.h

Go to the documentation of this file.
00001 
00005 #ifndef _ANALOGFILTER_H_
00006 #define _ANALOGFILTER_H_
00007 
00008 #include <deque>
00009 #include "filterfunction.h"
00010 
00011 using namespace std;
00012 
00014 class AnalogFilter : public FilterFunction {
00015 
00016  public:
00019   AnalogFilter(unsigned int kernel_length);
00020 
00021   virtual ~AnalogFilter(void);
00022 
00028   virtual int filter(const double* r, double* x, int* indices = 0);
00029 
00032   virtual void createKernel(unsigned int n) = 0;
00033 
00035   virtual void reset();
00036 
00040   virtual int setNumInputs(unsigned int nInputs);
00041 
00043   virtual void addChannel();
00044 
00046   virtual int updateInternal();
00047 
00049   int nKernelLength;
00050 
00051  protected:
00052 
00054   double* filter_kernel;
00055 
00057   int oldKernelLength;
00058 
00060   int nChannels;
00062   int lChannels;
00063 
00065   deque<double> **dataQueues;
00066 
00068   int nInputAvailable;
00069 
00071   double dKernelLength;
00072 };
00073 
00074 #endif
00075 

 
(C) 2003, Thomas Natschläger last modified 07/10/2006