I observe that there is no fixed point implementation for frame power
calculation and noise level calculation in pocketsphinx in the file
cont_ad_base.c
The functions cont_ad_frame_pow() and find_thresh(cont_ad_t * r) have a couple
of floating point calculations: ---
i = (int32) ((10.0 * (log10(sumsq) - log10((double) spf))) + 0.5);
and r->noise_level = (int32) (r->noise_level + r->adapt_rate * (th -
r->noise_level) + 0.5);
Was there any particular reason for not implementing fixed point version of
these equations.
Can somebody suggest some literature for implementing these in fixed point.
Regards
Pankaj
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I observe that there is no fixed point implementation for frame power
calculation and noise level calculation in pocketsphinx in the file
cont_ad_base.c
The functions cont_ad_frame_pow() and find_thresh(cont_ad_t * r) have a couple
of floating point calculations: ---
i = (int32) ((10.0 * (log10(sumsq) - log10((double) spf))) + 0.5);
and r->noise_level = (int32) (r->noise_level + r->adapt_rate * (th -
r->noise_level) + 0.5);
Was there any particular reason for not implementing fixed point version of
these equations.
Can somebody suggest some literature for implementing these in fixed point.
Regards
Pankaj
They are not critical for application performance.
Something like that should work. You then need to multiply it on constant
http://embeddedgurus.com/stack-overflow/2008/05/integer-log-
functions/