00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MEDDIS_H
00020 #define MEDDIS_H
00021
00022 #include "Typedefs.h"
00023 #include "Debug.h"
00024
00025 class Meddis {
00026 protected:
00027
00028 static const Real M;
00029 static const Real A;
00030 static const Real B;
00031 static const Real g;
00032 static const Real y;
00033 static const Real l;
00034 static const Real r;
00035 static const Real x;
00036 static const Real h;
00037
00038
00039 Real _samplerate;
00040 int _channels;
00041 bool _substractSpont;
00042
00043 Real dt;
00044 Real gdt;
00045 Real ydt;
00046 Real ldt;
00047 Real rdt;
00048 Real xdt;
00049
00050
00051 MatrixXR kt;
00052 MatrixXR spont;
00053
00054 MatrixXR c;
00055 MatrixXR q;
00056 MatrixXR w;
00057
00058 public:
00059 Meddis(Real samplerate, int channels, bool substractSpont = true);
00060
00061 ~Meddis();
00062
00063 void setup();
00064
00065 void process(const MatrixXR& data, MatrixXR* output);
00066
00067 int channels() const;
00068
00069 Real samplerate() const;
00070
00071 void reset();
00072 };
00073
00074 #endif