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

语音压缩

开发平台:

Unix_Linux

  1. c==========================================================================
  2. c
  3. c ROUTINE
  4. c vdecode
  5. c
  6. c FUNCTION
  7. c  
  8. c create excitation vector from code book index and decoded gain
  9. c
  10. c SYNOPSIS
  11. c subroutine vdecode(decodedgain, l, vdecoded)
  12. c
  13. c   formal 
  14. c
  15. c                       data    I/O
  16. c       name            type    type    function
  17. c       -------------------------------------------------------------------
  18. c decodedgain r i decoded gain value
  19. c l i i pitch&code frame length
  20. c vdecoded r o decoded excitation array
  21. c
  22. c==========================================================================
  23. c
  24. c
  25. subroutine vdecode(decodedgain, l, vdecoded)
  26. implicit undefined(a-z)
  27. include 'ccsub.com'
  28. convex #include "ccsub.com"
  29. c
  30. integer i, codeword, l
  31. real vdecoded(l), decodedgain
  32. c *copy selected vector to excitation array
  33. cshift1 codeword = maxncsize-cbindex
  34. cshift2 codeword = 2*(cbindex-1)
  35. codeword = 2*(maxncsize-cbindex)+1
  36. if (codeword .lt. 0) then
  37.    print *,' vdecode:  cbindex > maxncsize at frame', frame
  38.    codeword = 0
  39. end if
  40.         do 70 i = 0, l-1
  41.            vdecoded(i+1) = x(i+codeword)*decodedgain
  42. 70      continue
  43.         return
  44.         end
  45.