hdo  beta
/home/mrazik/Documents/web/old/hdo/goertzel.h
Zobrazit dokumentaci tohoto souboru.
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