00001 #include <math.h>
00002 #include "c_lpc10.h"
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 VOID difmag( FLOAT speech[], INDEX tau[], INDEX ltau, INDEX maxlag,
00020 FLOAT amdf[], INDEX* minptr, INDEX* maxptr )
00021 {
00022 INDEX i, j, n1, n2;
00023 FLOAT sum;
00024
00025 *minptr = 0;
00026 *maxptr = 0;
00027
00028 for (i = 0; i < ltau; i++) {
00029 n1 = (maxlag - tau[i]) >> 1;
00030 n2 = n1 + MAXWIN;
00031 sum = (FLOAT)0.0;
00032 for (j = n1; j < n2; j += 4)
00033 sum += (FLOAT)fabs(speech[j] - speech[j + tau[i]]);
00034
00035 amdf[i] = sum;
00036 if (amdf[i] < amdf[*minptr])
00037 *minptr = i;
00038 if (amdf[i] > amdf[*maxptr])
00039 *maxptr = i;
00040 }
00041 }
00042
00043