📄 difmag.f
字号:
************************************************************************* 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 SUBROUTINE DIFMAG( SPEECH, LPITA, TAU, LTAU, MAXLAG, 1 AMDF, MINPTR, MAXPTR ) INTEGER LPITA, LTAU, MAXLAG, MINPTR, MAXPTR INTEGER TAU(LTAU), I, J, N1, N2 REAL SPEECH(LPITA+MAXLAG), AMDF(LTAU), SUM MINPTR = 1 MAXPTR = 1 DO I = 1,LTAU N1 = (MAXLAG-TAU(I))/2 + 1 N2 = N1 + LPITA - 1 SUM = 0. DO J = N1,N2,4 SUM = SUM + ABS( SPEECH(J) - SPEECH(J+TAU(I)) ) END DO AMDF(I) = SUM IF( AMDF(I).LT.AMDF(MINPTR) ) MINPTR = I IF( AMDF(I).GT.AMDF(MAXPTR) ) MAXPTR = I END DO RETURN END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -