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

语音压缩

开发平台:

Unix_Linux

  1. c==========================================================================
  2. c
  3. c ROUTINE
  4. c               specdist
  5. c
  6. c FUNCTION
  7. c
  8. c               Computes spectral distorion caused by quantization of
  9. c line spectral frequencies.
  10. c
  11. c SYNOPSIS
  12. c
  13. c subroutine specdist(unqfreq, newfreq, dm, sumdm, iframedm)
  14. c
  15. c   formal 
  16. c
  17. c                       data    I/O
  18. c       name            type    type    function
  19. c       -------------------------------------------------------------------
  20. c unqfreq real i unquantized line spectral frequencies
  21. c newfreq real i quantized line spectral frequencies
  22. c dm real o distortion array (subframe)
  23. c sumdm real o distortion array (current sum)
  24. c iframedm int o number of subframes  
  25. c
  26. c==========================================================================
  27. c
  28. c DESCRIPTION
  29. c
  30. c Calculate distortions/distances (log spectral error, etc.).
  31. c See the first reference below for a complete description.  A
  32. c "reference" system is compared against a "test" system.  Because
  33. c of the nonsymetric nature of the Itakura-Saito measure which some
  34. c of these distortion measures are based, poorer measures will be
  35. c obtained if the "reference" and "test" systems are reversed.
  36. c Because of gain uncertainties, a few measures are reported.
  37. c (Peter Kroon generally uses the measure DM(4).)
  38. c
  39. c==========================================================================
  40. c REFERENCES
  41. c
  42. c "Distance Measures for Speech Processing", A.H. Gray and J.D. Markel,
  43. c IEEE Trans. on ASSP, Vol. ASSP-24, no. 5, Oct. 1976
  44. c
  45. c "Quantization and Bit Allocation in Speech Processing",
  46. c A.H. Gray and J.D. Markel,IEEE Trans. on ASSP, Vol. ASSP-24
  47. c no. 6, Dec. 1976
  48. c
  49. c "A Note on Quantization and Bit Allocation in Speech Processing",
  50. c A.H. Gray and J.D. Markel,IEEE Trans. on ASSP, Vol. ASSP-25
  51. c no. 3, June 1977
  52. c
  53. c**************************************************************************
  54. c
  55. subroutine specdist(unqfreq, newfreq, dm, sumdm, iframedm)
  56. implicit undefined(a-z)
  57. include 'ccsub.com'
  58. convex #include "ccsub.com"
  59. real unqfreq(no), newfreq(no), dm(9), sumdm(10)
  60. integer iframedm
  61. c
  62. real unqpc(maxno+1), newpc(maxno+1), unqac(maxno+1), newac(maxno+1)
  63. real unqrc(maxno), newrc(maxno)
  64. c
  65. c Convert LSP's to autocorrelation coefficients for input to "dist"
  66. c
  67. call lsptopc(unqfreq, unqpc)
  68. call lsptopc(newfreq, newpc)
  69. call pctorc(unqpc, unqrc, no)
  70. call pctorc(newpc, newrc, no)
  71. call rctoac(unqrc, unqac, no)
  72. call rctoac(newrc, newac, no)
  73. c
  74. c *find distances between the ac sequences
  75. call dist(no,4*no,unqac,newac,dm,sumdm,iframedm)
  76. return
  77. end