00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_RUNNINGAUTOCORRELATION_H
00020 #define MARSYAS_RUNNINGAUTOCORRELATION_H
00021
00022 #include "MarSystem.h"
00023
00024 namespace Marsyas
00025 {
00072 class marsyas_EXPORT RunningAutocorrelation: public MarSystem
00073 {
00074 private:
00075
00077 void addControls();
00078
00080 void myUpdate(MarControlPtr sender);
00081
00083 mrs_natural maxLag_;
00085 MarControlPtr ctrl_maxLag_;
00086
00088 realvec acBuffer_;
00089
00091 realvec memory_;
00092
00094 MarControlPtr ctrl_normalize_;
00096 mrs_bool normalize_;
00097
00099 MarControlPtr ctrl_doNotNormalizeForLag0_;
00101 mrs_bool doNotNormalizeForLag0_;
00102
00104 MarControlPtr ctrl_clear_;
00105
00107 MarControlPtr ctrl_unfoldToObservations_;
00109 mrs_bool unfoldToObservations_;
00110
00111 public:
00113 RunningAutocorrelation(std::string name);
00114
00116 RunningAutocorrelation(const RunningAutocorrelation& a);
00117
00119 ~RunningAutocorrelation();
00120
00122 MarSystem* clone() const;
00123
00125 void myProcess(realvec& in, realvec& out);
00126 };
00127
00128 }
00129
00130
00131 #endif
00132
00133