00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef THOMSDF_H
00012 #define THOMSDF_H
00013
00014 #include "thomsdfErrors.h"
00015
00016 #define THOMSDF "thomsdf"
00017 #define M_PI 3.14159265358979323846
00018
00019
00020
00021 #define thomsdfERR_RETURN(error,errId,params...) \
00022 errAdd(error,THOMSDF,errId,__FILE__,"", ##params); \
00023 return(FAILURE);
00024
00025 #define thomsdfERR_ADD(error,errId,params...) \
00026 errAdd(error,THOMSDF,errId,__FILE__,"", ##params);
00027
00028 ccsCOMPL_STAT thomsdfCalcFilter (
00029 vltUINT16 intTime,
00030 vltUINT16 filtFreq,
00031 vltFLOAT gain,
00032 vltFLOAT *mirrorCoeff,
00033 vltFLOAT *discrCoeff,
00034 ccsERROR *error
00035 );
00036
00037 ccsCOMPL_STAT thomsdfFactor (
00038 vltDOUBLE *a,
00039 vltINT32 n,
00040 vltDOUBLE *det,
00041 INT16 *pivot
00042 );
00043
00044 ccsCOMPL_STAT thomsdfSolve (
00045 vltDOUBLE *lu,
00046 vltINT32 nlu,
00047 vltDOUBLE *b,
00048 vltINT32 ncb,
00049 INT16 *pivot
00050 );
00051
00052 ccsCOMPL_STAT thomsdfCalcContCoeff (
00053 vltUINT16 filtFreq,
00054 vltFLOAT *mirror_coeff,
00055 vltFLOAT *cnt_coeff,
00056 ccsERROR *error
00057 );
00058
00059 ccsCOMPL_STAT thomsdfTustin3 (
00060 vltFLOAT T0,
00061 vltFLOAT *fpni,
00062 vltFLOAT *fpno,
00063 ccsERROR *error
00064 );
00065
00066 ccsCOMPL_STAT thomsdfInv2x2(
00067 vltFLOAT *matr,
00068 vltFLOAT *inv_matr,
00069 ccsERROR *error
00070 );
00071
00072
00073 void thomsdfCalcStat (
00074 vltDOUBLE sumX,
00075 vltDOUBLE sumX2,
00076 vltINT32 numSamples,
00077 vltFLOAT *meanVal,
00078 vltFLOAT *rmsVal
00079 );
00080
00081
00082 #endif