Files
jens 0179c510fe Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/fir@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
2014-07-19 07:44:42 +00:00

42 lines
1.8 KiB
C
Executable File

/******************************************************************************/
/* 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 */