hdo
beta
|
00001 // 00002 // C Interface: goertzel 00003 // 00004 // Description: 00005 // 00006 // 00007 // Author: Miroslav Mraz <Mrazik@volny.cz>, (C) 2009 00008 // 00009 // Copyright: See COPYING file that comes with this distribution 00010 // 00011 // 00012 00031 #ifndef GOERTZEL_H 00032 #define GOERTZEL_H 00033 // pokud chceme počítat přesněji, ale pomalu, definuj 00034 // #define COMPUTE_FLOAT 00035 00036 #define GOERTZEL_N 166 //!< počet vzorků, ze kterých se to počítá 00037 #define ISHIFT 12 //!< pro výpočet v integer - při míň je to nepřesné, víc zase přetéká (max.14) 00038 #define HSHIFT 6 //!< změnšení výsledku na "rozumné" číslo 00039 00040 #ifdef COMPUTE_FLOAT 00041 typedef float aritfmt; 00042 #else 00043 00044 00045 typedef int aritfmt; 00046 #endif // COMPUTE_FLOAT 00047 00053 aritfmt calc_coeff (float nfreq); 00061 int goertzel (aritfmt coeff, short *samples, int n); 00062 00063 #endif // GOERTZEL_H