home *** CD-ROM | disk | FTP | other *** search
/ Internet Standards / CD2.mdf / ccitt / 1992 / g / bugs.stl next >
Text File  |  1994-11-03  |  6KB  |  200 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                      Compilation of bug reports for the STL92                     Compilation of bug reports for the STL92                     Compilation of bug reports for the STL92
  10.  
  11.  
  12.  
  13.  
  14.  
  15.        After the distribution of the STL92, several "bugs" were reported.
  16.        This is a complete list of bugs so far discovered.
  17.  
  18.  
  19.  
  20.        STL92 MANUAL       STL92 MANUAL       STL92 MANUAL
  21.  
  22.  
  23.  
  24.        >HQ Filters impulse response
  25.  
  26.               Figure 3.8 shows the impulse  response for the high-quality
  27.        (FIR) filters, and many users expected  this figure to be symetric
  28.        (see Figure 3.7 of the Manual). Because of the decimation process,
  29.        the figure  is  asymetric,  what caused  many  inquires  by misled
  30.        users. A note should  be added to the  figure in a  new release of
  31.        the manual to clarify the issue.
  32.  
  33.  
  34.  
  35.        > Example in Chapter 3
  36.  
  37.              PKI found an error in the example  program in page 38 of the
  38.        Chapter 3, "Rate Change", of the STL92 Manual. Instead of:
  39.              |    /* Convert to dB */
  40.              |    H_k = 10 * log10(H_k  / (double) (out_size -  4 * N)) -
  41.        inp_pwr;
  42.  
  43.              it should be
  44.              |    H_k = 10 * log10(H_k  / (double) (out_size -  2 * N)) -
  45.        inp_pwr;
  46.  
  47.              because the loop goes from 2*N to outsize-2*N.
  48.  
  49.  
  50.  
  51.        > FIR filter equation
  52.  
  53.              Also in  the  same Chapter,  bottom  of page  18,  the first
  54.        equation should  have  "h" with  index  "i" instead  of   "k", thus
  55.        reading "h(i).x(k-i)".
  56.  
  57.  
  58.  
  59.        > MNRU operation & DC levels
  60.  
  61.              Although not  a bug  of the  tools,  it was  discovered that
  62.        speech files  with significant  DC level  have bad  behaviour when
  63.        processed by the MNRU. This was found  for both the UGST and CSELT
  64.        MNRU, and  studies  showed  that it  would  happen  in  any scheme
  65.        following  the   specification   the  the   CCITT   Rec.P.81  [See
  66.  
  67.  
  68.  
  69.  
  70.        contribution from CPqD/Telebras  sent to SQEG  and to  UGST in the
  71.        4th quarter of  1992]. In  further versions of  the STL  Manual, a
  72.        word of warning should be put on this aspect.
  73.  
  74.  
  75.  
  76.        > Changes to Chapter 6
  77.  
  78.              Additionally, Mr.Mostafa Sherif (ATT)  suggested a number of
  79.        changes in  Chapter  6, on  the  G.721 module.  The  pages  of the
  80.        chapter with his proposed changes are  in Annex 3 of  TD1   (XV/2,
  81.        Nov.92).
  82.  
  83.  
  84.  
  85.  
  86.  
  87.        TOOLS       TOOLS       TOOLS:
  88.  
  89.        >Module G721
  90.  
  91.              CNET found  an error  in the  synchronous  coding adjustment
  92.        block for u law of the G.721 module, function " G721_sync()" in the
  93.        file " g721.c". The  requested  correction  begins  in  line  2934,
  94.        replacing
  95.  
  96.  
  97.              |            if (id > im && ss == 1 && mask == 127)
  98.              |              ss = 0;
  99.  
  100.              by
  101.              |            if (id > im && ss == 1 && mask == 127)
  102.              |            {
  103.              |              ss = 0;
  104.              |              mask--;
  105.              |            }
  106.  
  107.  
  108.  
  109.              because in this case, if SP=255  and ID>IM, the SD should be
  110.        127, instead of 126, according to table 2 of the G.721, Blue Book.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.        > HQDEMO and PCMDEMO
  117.  
  118.              A bug was found by PKI in the print-out of parameters in the
  119.        demonstration programs  for the  HQFLT and  PCMFLT  modules, files
  120.        "hqdemo.c" and " pcmflt.c", when the  program aborted under  Turbo-
  121.        C++. No specific  changes were suggest,  but what is  needed is to
  122.        change all the " %d" by " %ld" in printf() calls, when it  refer to
  123.        "long" (instead of "short") integers.
  124.  
  125.  
  126.  
  127.        > SV56DEMO.C
  128.  
  129.  
  130.  
  131.  
  132.               When printing results mixing longs  and floats with printf,
  133.        a bug  happened  with  Turbo/Borland-C++. As  for  the  hqdemo and
  134.        pcmfltdemo, the solution is to replace all  the  %d by %ld when the
  135.        related variable is a  long, not an  int. This does not  happen for
  136.        users in VMS and Unix.
  137.  
  138.  
  139.  
  140.        > UGST-UTL.C
  141.  
  142.               Two serious bugs have been found by PKI in the module ugst-
  143.        utl.c, affecting only  speech data  with resolutions  different of
  144.        16-bits/sample.
  145.  
  146.               The first one was in  function function sh2fl() (conversion
  147.        of short samples to float) for bit resolutions other than 16 bits.
  148.        The piece of code is:
  149.               |   /*  Shift  of  left-adjusted  samples   to  the  desired
  150.        resolution */
  151.               |   if (resolution != 16)
  152.               |  {
  153.               |    resolution = 16 - resolution;
  154.               |    for (k = 0; k < n; k++)
  155.               |      ix[k] >>= resolution;
  156.               |  }
  157.  
  158.  
  159.  
  160.               The suggested solution is given below:
  161.               |   /*  Shift  of  left-adjusted  samples   to  the  desired
  162.        resolution */
  163.               |  if (resolution != 16)
  164.               |  {
  165.               |    long tmp = 16 - resolution;
  166.               |    for (k = 0; k < n; k++)
  167.               |      ix[k] >>= tmp;
  168.               |  }
  169.  
  170.               In the header  file for this  very module, it  was found an
  171.        error in the macro fl2sh_14bit():
  172.  
  173.               | #define fl2sh_14bit(n,x,y,r) fl2sh(n,x,y,r?2.0:0.0,0xFFFB)
  174.  
  175.                  and the solution:
  176.  
  177.               | #define                               fl2sh_14bit(n,x,y,r)
  178.        fl2sh(n,x,y,r?2.0:0.0,(short)0xFFFC)
  179.  
  180.  
  181.  
  182.        > XENCODE.C and XDECODE.C
  183.  
  184.               Besides not being  part of  the distribution of  the STL92,
  185.        these tools have been used for  exchange of non-ASCII files during
  186.        the development  of  tools,  and  exchange  of  documents  between
  187.        members of the UGST.
  188.  
  189.               Problem have  been  found  in  transferring  data  when the
  190.        encoded file has  trailing blanks,  which some  mailservers strip-
  191.        off. This causes an error ("short file") when decoding the files.
  192.  
  193.  
  194.  
  195.  
  196.               Another problem has been identified when transferring files
  197.        via X.25 between CPqD and FTZ when ASCII files got corrupted. This
  198.        shows the need for an error detection scheme (CRC or checksum) for
  199.        the program.
  200.