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);*/

}