www.pudn.com > lpc.zip > energy_i.c
/********************************************************************** * * ENERGY Version 50 * ********************************************************************** * * Compute RMS energy * * Inputs: * LEN - Length of speech buffer * SPEECH - Speech buffer * Output: * RMS - Root Mean Square energy */ #include#include "ourstuff.h" energy_i( len, speech, rms ) int_type len; int_type speech[], *rms; { int_type i; *rms = 0; for(i=1;i<=len;i++) { *rms += (((long_type)speech[i]*(long_type)speech[i])>>14); } /*printf("speech:%d before : %d\n",speech[i], *rms<<14);*/ *rms = (int_type)sqrt( (double)((*rms<<14)/(len)) ); /*printf(" rms_i:%d\n",*rms);*/ }