/******************************************************************************/ /* fir2.h */ /******************************************************************************/ #ifndef FIR_H #define FIR_H #ifndef fir_pi #define fir_pi 3.1415926535897932384626433832795 #endif #ifndef fir_float_t #define fir_float_t float #endif #if defined(__cplusplus) extern "C" { #endif /******************************************************************************/ fir_float_t Sinc(fir_float_t x); void CalcSincFilter(fir_float_t *pY, fir_float_t s, fir_float_t f, int len); void FIRCalcLowpass(fir_float_t omega, fir_float_t *pCoeff, int N); void FIRCalcHighpass(fir_float_t omega, fir_float_t *pCoeff, int N); void FIRCalcBandpass(fir_float_t omega, fir_float_t bw, fir_float_t *pCoeff, int N); void FIR(fir_float_t *pCoeff, fir_float_t *pState, int order, fir_float_t *x, fir_float_t *y, int len); void FIR_upsample(fir_float_t *pCoeff, fir_float_t *pState, int order, fir_float_t *x, fir_float_t *y, int upsample_factor, int len); void FIR_downsample(fir_float_t *pCoeff, fir_float_t *pState, int order, fir_float_t *x, fir_float_t *y, int downsample_factor, int len); void CalcHamming(fir_float_t *pX, fir_float_t *pY, int len); void CalcVonHann(fir_float_t *pX, fir_float_t *pY, int len); void CalcBlackman(fir_float_t *pX, fir_float_t *pY, int len); void CalcKaiser(fir_float_t *pX, fir_float_t *pY, fir_float_t b, int len); void CalcKaiserSR(fir_float_t *pX, fir_float_t *pY, fir_float_t b, int len); fir_float_t CalcFirRC(fir_float_t *pB, fir_float_t fa, fir_float_t Tsym, fir_float_t Alpha, int N); fir_float_t CalcFirSRRC(fir_float_t *pB, fir_float_t fa, fir_float_t Tsym, fir_float_t Alpha, int N); /******************************************************************************/ #if defined(__cplusplus) } #endif #endif /* FIR_H */