Changeset 5551:b2d3093178c9 in roaraudio
- Timestamp:
- 06/18/12 00:07:18 (11 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/filter_goertzel.c
r5548 r5551 59 59 } 60 60 61 #define _calcX(bits,twobits ) \61 #define _calcX(bits,twobits,limit) \ 62 62 int roardsp_goertzel_calc##bits (struct roardsp_filter * filter, void * data, size_t samples) { \ 63 63 struct roardsp_goertzel * self = (struct roardsp_goertzel *) filter->inst; \ … … 91 91 s += h; \ 92 92 s -= g; \ 93 s *= 0.0001; 94 s /= (float)((i+1)*(i+1)); 93 s *= 0.0001; \ 94 s /= (float)((i+1)*(i+1)); \ 95 if ( s > (limit) ) \ 96 s = (limit); \ 95 97 samp[i] = s; \ 96 } ;\98 } \ 97 99 \ 98 100 return 0; \ 99 101 } 100 102 101 _calcX(8,16 )102 _calcX(16,32 )103 _calcX(32,64 )103 _calcX(8,16,127.) 104 _calcX(16,32,32767.) 105 _calcX(32,64,2147483647.) 104 106 105 107 int roardsp_goertzel_ctl (struct roardsp_filter * filter, int cmd, void * data) {
Note: See TracChangeset
for help on using the changeset viewer.