www.pudn.com > lpc.zip > dcbias_i.c
/**********************************************************************
*
* DCBIAS Version 50
*
**********************************************************************
*
* Calculate and remove DC bias from buffer
*
* Inputs:
* LEN - Length of speech buffers
* SPEECH - Input speech buffer
* Output:
* SIGOUT - Output speech buffer
*/
#include "ourstuff.h"
dcbias_i( len, speech, sigout )
int_type len;
int_type *speech, *sigout;
{
int_type i;
int_type bias;
register int_type *ptr1, *ptr2;
bias = 0;
ptr1 = speech+1;
for(i=1;i<=len;i++) {
bias = bias + *ptr1++;
/* printf("bias:%d ptr:%d\n",bias, *(ptr1-1));*/
}
bias = ((4096*bias)/len)>>12;
/*printf("bias:%d\n",bias);*/
ptr1 = sigout+1;
ptr2 = speech+1;
for(i=1;i<=len;i++) {
*ptr1++ = *ptr2++ - bias;
/* printf("ptf1:%d ptr2:%d bias:%d\n",*(ptr1-1), *(ptr2-1), bias);*/
}
}