#ifndef FRVLINFILT
#define FRVLINFILT

#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE
#endif
/*---------------------------------------------------------------------------*/
/*  FrvLinFilt.h Created May 2001 Author Isidoro Ferrante                    */
/*---------------------------------------------------------------------------*/

#include "FrameL.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct FrvLinFilt FrvLinFilt;

struct FrvLinFilt {
                              /*--------------------- input data -------------*/
  double * a;                 /* filter coefficients (see definition below)   */
  double * ym;                /* internal coefficient */
  double * b;                 /* filter coefficients (see definition below)   */
  double * xm;                /* internal coefficient */
  int na;
  int mb;
  struct FrVect *output;     /* vector to hold the last data chunk           */
  char error[256];           /* hold error message if any                    */
  int nCall;                 /* number of call for the algorithms            */
  char *name;                 /* name to be use to build linked list         */
  FRBOOL outputIsInput;      /* if FR_YES the output vector is the input one */
  FrvLinFilt *next;          /* to build linked list                         */
};


void        FrvLinFiltFree(FrvLinFilt* filter);
int         FrvLinFiltProc(FrvLinFilt *filter, FrVect *vect);
int         FrvLinFiltInit(FrvLinFilt* filter, FrVect *vect);
FrvLinFilt *FrvLinFiltNew(double * a, double * b, int na, int mb);
void        FrvLinFiltSetIni(FrvLinFilt* filter, double * ym, double * xm);
FrvLinFilt *FrvLinFiltMult(FrvLinFilt* filter2, FrvLinFilt* filter1);
FrvLinFilt *FrvLinFiltCopy(FrvLinFilt * filter0);
FrvLinFilt *FrvLinFiltAddZP(FrvLinFilt * filter0, double fase, double modulo, int type);
void        FrvLinFiltSetGain(FrvLinFilt* filter, double freq, double gain );
int         FrvButtOrder(double fp,double fs,double tp,double ts,double *wc);
void        FrvButtFilt(int N, double wc, double * a, double * b);
void        FrvButtCell(double wc, int k, int N, double * a, double * b);
FrvLinFilt *FrvLinFiltButt( double fp, double fs, double tp, double ts, int order, double fc);
void        FrvLinFiltButtLowToHigh(FrvLinFilt * filter);
#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.