runtestv
上传用户:touchwatch
上传日期:2007-01-06
资源大小:168k
文件大小:3k
源码类别:

语音压缩

开发平台:

Unix_Linux

  1. #!/usr/local.1122/bin/ksh
  2. # @(#)tv.run 1.7 4/27/92
  3. #
  4. # This is a shell script to do test vector verifiication for the CCITT G.728
  5. # 16 kb/s LD-CELP coder.
  6. #
  7. tv=/usr/kroon/w/standards/g728/testv # directory where test vectors are
  8. BIN=. # directory where executables are
  9. TOOLS=/usr/kroon/w/standards/g728/verify #tools directory
  10. #
  11. # check if testvectors are available
  12. #
  13. if [ -d "$tv" ]
  14. then
  15. #
  16. # PASS TEST VECTORS THROUGH ENCODER 
  17. #
  18. for j in $tv/in?.bn # ? is 1, 2, 3, 4, 5, or 6
  19. do
  20.   rm -f INPUT 
  21.   cp $j INPUT
  22.   xd=${j##*/} # xd=in?.bn
  23.   x=${xd%%.bn} #  x=in?
  24.   y=${j%%.bn} #  y=$tv/in?
  25.   z=${x##in} #  z=?
  26.   print Floating-point encoder encoding $xd
  27.   $BIN/ccelp INPUT BIT-STREAM
  28.   $BIN/dcelpnpf BIT-STREAM OUTPUT
  29.   mv BIT-STREAM $tv/incw$z.tx
  30.   mv OUTPUT ${y}tx.d
  31. done
  32. #
  33. # PASS TEST VECTORS THROUGH DECODER
  34. #
  35. for j in $tv/cw?.bn
  36. do
  37.   rm -f BIT-STREAM
  38.   cp $j BIT-STREAM
  39.   xd=${j##*/} # xd=cw?.bn
  40.   x=${xd%%.bn} #  x=cw?
  41.   y=${j%%.bn} #  y=$tv/cw?
  42.   z=${x##cw} #  z=?
  43.   print Floating-point decoder decoding $xd
  44.   $BIN/dcelpnpf BIT-STREAM OUTPUT
  45.   mv OUTPUT $tv/outa$z.rx
  46. done
  47. rm -f BIT-STREAM
  48. cp $tv/cw4.bn BIT-STREAM
  49. print Floating-point decoder + postfilter decoding cw4.bn
  50. $BIN/dcelp BIT-STREAM OUTPUT
  51. mv OUTPUT $tv/outb4.rpf
  52. #
  53. # VERIFY FLOATING-POINT ENCODER OUTPUTS
  54. #
  55. rm -f tv.out
  56. echo ============================================================== >> tv.out
  57. echo Test vector verification results for Floating-Point Encoder: >> tv.out
  58. date >>tv.out
  59. echo ============================================================== >> tv.out
  60. for j in $tv/incw[1-4].bn $tv/incw6.bn
  61. do
  62.   xd=${j##*/} # xd=incw?.bn
  63.   x=${xd%%.bn} #  x=incw?
  64.   echo -------------------------------------------------------------- >> tv.out
  65.   echo Comparing bit stream files $xd and $x.tx ... >> tv.out
  66.   $TOOLS/cwcomp $tv/$xd $tv/$x.tx >> tv.out
  67. done
  68. #
  69. # VERIFY FLOATING-POINT DECODER OUTPUTS
  70. #
  71. echo ============================================================== >> tv.out
  72. echo Test vector verification results for Floating-Point Decoder: >> tv.out
  73. for j in $tv/outa?.bn
  74. do
  75.   xd=${j##*/} # xd=outa?.bn
  76.   x=${xd%%.bn} #  x=outa?
  77.   echo -------------------------------------------------------------- >> tv.out
  78.   echo SNR of file $x.rx ... >> tv.out
  79.   $TOOLS/snr $tv/$xd $tv/$x.rx >> tv.out
  80. done
  81. echo --------------------------------------------------------- >> tv.out
  82. echo Floating-point decoder + postfilter test: >> tv.out
  83. echo SNR of file outb4.rpf ... >> tv.out
  84. $TOOLS/snr $tv/outb4.bn $tv/outb4.rpf >> tv.out
  85. rm -f *.tmp INPUT BIT-STREAM
  86. rm -f $tv/*.d $tv/*.tx $tv/*.rx $tv/*.rpf
  87. print Results have been written to file: tv.out
  88. else
  89. print Testvector directory $tv not found
  90. fi