?? difmag.c
字號:
/************************************************************************* DIFMAG Version 49************************************************************************* Compute Average Magnitude Difference Function** Inputs:* SPEECH - Low pass filtered speech* LPITA - Length of speech buffer* TAU - Table of lags* LTAU - Number of lag values to compute* MAXLAG - Maximum possible lag value* Outputs:* AMDF - Average Magnitude Difference for each lag in TAU* MINPTR - Index of minimum AMDF value* MAXPTR - Index of maximum AMDF value*/#include <math.h>#include "lpcdefs.h"difmag( speech, tau, ltau, maxlag, amdf, minptr, maxptr )int maxlag, *minptr, *maxptr, ltau;int tau[];float speech[], amdf[];{int i, j, n1, n2;float sum;*minptr = 1;*maxptr = 1;for(i=1;i<=ltau;i++) { n1 = (maxlag-tau[i]) *0.5 + 1; n2 = n1 + MAXWIN - 1; sum = 0.; for(j=n1;j<=n2;j+=4) { sum += (float)fabs((double) (speech[j] - speech[j+tau[i]]) ); } amdf[i] = sum; if( amdf[i] < amdf[*minptr]) *minptr = i; if( amdf[i] > amdf[*maxptr]) *maxptr = i;}}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -