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

语音压缩

开发平台:

Unix_Linux

  1. c==========================================================================
  2. c
  3. c ROUTINE
  4. c unpack (unpack from binary to decimal)
  5. c
  6. c FUNCTION
  7. c Input binary array and number of binary bits, 
  8. c program returns unpacked decimal value.
  9. c
  10. c SYNOPSIS
  11. c subroutine unpack(array, bits, value, pointer)
  12. c
  13. c   formal 
  14. c
  15. c                       data    I/O
  16. c       name            type    type    function
  17. c       -------------------------------------------------------------------
  18. c array I*2 I array to which one bit is assigned
  19. c for binary representation
  20. c bits I I number of bits to convert 
  21. c (ie. 01001 for 5 bits, 1st 0 incl.)
  22. c streambits I I number of bits in 1 CELP frame
  23. c value I O decimal value to convert to
  24. c pointer I I/O points to appropriate element in
  25. c array
  26. c
  27. c==========================================================================
  28. c
  29. c DESCRIPTION
  30. c
  31. c This program unpacks binary values packed by pack.f
  32. c into decimal values.
  33. c
  34. c**************************************************************************
  35. c
  36. subroutine unpack(array, bits, streambits, value, pointer)
  37. c
  38. implicit undefined(a-z)
  39. integer i, bits, value, pointer, dummy, streambits
  40. integer*2 array(streambits)
  41. c
  42. value=0
  43. do 10 i=1,bits
  44.   dummy=(array(pointer+i))*(2**(i-1))
  45.   value=dummy+value
  46. 10 continue
  47. pointer=pointer+bits
  48. return
  49. end
  50.