#ifndef FRVCORR #define FRVCORR #ifndef _POSIX_SOURCE #define _POSIX_SOURCE #endif /*---------------------------------------------------------------------------*/ /* FrvCorr.h May 31, 2001 by I. Ferrante (from Siesta file USignal.*) */ /*---------------------------------------------------------------------------*/ #include "FrameL.h" #ifdef __cplusplus extern "C" { #endif typedef struct FrvCorr FrvCorr; struct FrvCorr { /* performs the correlation according to c_k= sum_i v1_i * v2_i+k*/ /*--------------------- input data -------------*/ int normalize; /* 0 -> unbiased 1-> biased */ int maxlag; /* maximum lag */ double * past1; /* past data vector 1 */ double * past2; /* past data vector 2 */ struct FrVect * average; /* average correlation */ struct FrVect * present; /* correlation for the present frame */ double * present0; /* pointer to zero lag present frame correlation*/ double * average0; /* pointer to zero lag average correlation */ int nCall; char error[256]; }; void FrvCorrFree(FrvCorr* corr); int FrvCorrProc(FrvCorr *corr, FrVect *vect1, FrVect * vect2); int FrvCorrInit(FrvCorr *corr, FrVect *vect1, FrVect * vect2); FrvCorr* FrvCorrNew(int maxlag, int normalize); void FrvCorrSetPast(FrvCorr* corr, double * past1, double * past2, int flag); #ifdef __cplusplus } #endif #endif