cor.f
上传用户:szhypcb168
上传日期:2007-01-06
资源大小:2187k
文件大小:2k
源码类别:

语音压缩

开发平台:

Unix_Linux

  1. c==========================================================================
  2. c
  3. c NAME
  4. c cor
  5. c
  6. c FUNCTION
  7. c
  8. c compute auto-correlation coefficients by direct multiplication
  9. c
  10. c SYNOPSIS
  11. c
  12. c subroutine cor(rar, idim, n, c0, c)
  13. c
  14. c   formal 
  15. c                       data    I/O
  16. c       name            type    type    function
  17. c       -------------------------------------------------------------------
  18. c       rar             real    i       Input data frame
  19. c       idim            int     i       frame size
  20. c       n               int     i       Number of correlation terms, 
  21. c                                       exclusive C0
  22. c       c0              real    o       C(0)
  23. c       c               real    o       Auto correlation terms C(i), i=1,n
  24. c       
  25. c==========================================================================
  26. c       
  27. c DESCRIPTION
  28. c
  29. c       COR computes the autocorrelation coefficients of the data
  30. c       sequence rar according to the following formula:
  31. c
  32. c              idim
  33. c       C(i) = SUM   rar(k) * rar(k-i)   , where i = 0, ..., n lags
  34. c              k=i+1
  35. c
  36. c       c0 = C(0)
  37. c
  38. c NOTE:  rar(k-i) is truncated, so C(i) are true autocorrelations.
  39. c
  40. c**************************************************************************
  41. c-
  42. subroutine cor(rar, idim, n, c0, c)
  43. implicit undefined(a-z)
  44. integer idim, n
  45. real rar(idim), c0, c(n)
  46. integer i, k
  47. c
  48. c0 = 0.0
  49. c
  50. do 5 i = 1, idim
  51.    c0 = c0 + rar(i)*rar(i)
  52. 5 continue
  53. c
  54. do 15 i = 1, n
  55.    c(i) = 0.0
  56.    do 10 k = i+1, idim
  57.       c(i) = c(i) + rar(k)*rar(k-i)
  58. 10    continue
  59. 15 continue
  60. c
  61. return
  62. end