// file: $isip_ifc/class/algo/CorrelationIntegral/CorrelationIntegral.h // version: $Id: CorrelationIntegral.h 10636 2007-01-26 22:18:09Z tm334 $ // // make sure definitions are only made once // #ifndef ISIP_CORRELATION_INTEGRAL #define ISIP_CORRELATION_INTEGRAL // isip include files // #ifndef ISIP_ALGORITHM_BASE #include #endif // CorrelationIntegral: This class estimates the correlation integral of // of an attractor's trajectory. This is used in estimating the correlation // dimension of the underlying attractor, the Kolmogorov entropy, the noise // level in a time series etc. // A numerical estimate of this quantity is defined by: // // C(epsilon,N) = 2 sum H( epsilon - ||Xi-Xj|| ) // --- i<=j<= N // N(N-1) // // where H is the Heaviside's unit step function, and, epsilon is the radius of // the neighborhood. Xi and Xj represent the i'th and j'th points on the // attractor's trajectory.|| || represents any valid vector norm. // In a modified form (Theiler), the integral is approximated as: // // C(epsilon,N) = 2 sum sum H( epsilon - ||Xi-Xj|| ) // -------- i<=N-w w& output, const Vector< CircularBuffer >& input); // method to get the parser // bool8 setParser(SofParser* parser); //--------------------------------------------------------------------------- // // private methods // //--------------------------------------------------------------------------- private: // common i/o methods // bool8 readDataCommon(Sof& sof, const String& pname, int32 size = SofParser::FULL_OBJECT, bool8 param = true, bool8 nested = false); bool8 writeDataCommon(Sof& sof, const String& pname) const; //--------------------------------------------------------------------------- // // protected methods // //--------------------------------------------------------------------------- protected: // algorithm-specific computation methods: Corrint // bool8 computeCorrelationIntegral(VectorFloat& correlationintegral, const MatrixFloat& input); }; // end of include file // #endif