/*------------ FrvChi2.c, By B. Mours Aug 15, 2000 --------------------------*/
#ifndef FRVCHI2
#define FRVCHI2

#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE
#endif

#include "FrameL.h"
#include "FrvFFT.h"
#include "FrvBuf.h"

#ifdef __cplusplus
extern "C" {
#endif

struct FrvChi2 {
                             /*--------------------- input data -------------*/
  double decay;              /* decay time for averageing (could by changed) */
  long nDecay;               /* #of fft for the mean spectrum(could be reset)*/
  int outSize;               /* output size                                  */
  int window;                /* flag. If = 0; no window used for the FFT     */
  double threshold;          /* threshold used to stored loudest segment info*/
                             /*    If = 0; no data are saved                 */
  double freq0;              /* min freq for the first frequency band        */
  double freq1;              /* freq boundary for the first/second freq. band*/
  double freq2;              /* freq boundary for the second/third freq. band*/
                             /*------------------- internal data ------------*/
  FrvRFFT *fft;              /* fft object                                   */
  FrvBuf *buffer;            /* interface buffer                             */
  char   *name;              /* chi2 name; copy of vector name               */
  int    ip0;                /* start index for the first freq. band         */
  int    ip1;                /* end index for the first freq. band           */
  int    ip2;                /* end index for the second freq. band          */
  int    ip3;                /* end index for the third freq. band           */
                             /* ------------output-------------------------  */
  FrVect *amplitude2;        /* vector to hold the averaged power spectrum   */
  FrVect *amplitude;         /* amplitude spectrum for the loudest segment   */
  FrVect *amplitudeA;        /* average amplitude sp. for the loudest segment*/
  FrVect *residual;          /* residual for the loudest segment             */
  FrVect *rms2;              /* rms**2 amplitude sp. at the loudest segment  */
  FrVect *dataIn;            /* data for the loudest segment                 */
  long nCall;                /* number of fft computed                       */
  double chi2;               /* chi2 for the last frame processed            */
  double chi2Freq;           /* mean frequency for the signal                */
  int chi2Time;              /* segment number which trigger the data        */
  double power1;             /* mean power in the first frequency band       */
  double power2;             /* mean power in the second frequency band      */
  double power3;             /* mean power in the third frequency band       */
};

typedef struct FrvChi2 FrvChi2;

int      FrvChi2Ini(FrvChi2 *chi2, FrVect *vect);  
FrvChi2* FrvChi2New(int outsize, int window, double threshold);
FrvChi2* FrvChi2Proc(FrvChi2 *chi2, FrVect *vect);

#ifdef __cplusplus
}
#endif

#endif


- ROOT page - VEGA page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to , or contact with any questions or problems regarding ROOT or VEGA.