az_lsp.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. ********************************************************************************
  3. *
  4. * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001
  5. * R99 Version 3.3.0
  6. * REL-4 Version 4.1.0
  7. *
  8. ********************************************************************************
  9. *
  10. * File : az_lsp.h
  11. *
  12. ********************************************************************************
  13. */
  14. #ifndef az_lsp_h
  15. #define az_lsp_h "$Id $"
  16. /*
  17. ********************************************************************************
  18. * INCLUDE FILES
  19. ********************************************************************************
  20. */
  21. #include "typedef.h"
  22. /*
  23. ********************************************************************************
  24. * DEFINITION OF DATA TYPES
  25. ********************************************************************************
  26. */
  27. /*
  28. ********************************************************************************
  29. * DECLARATION OF PROTOTYPES
  30. ********************************************************************************
  31. */
  32. /*
  33. **************************************************************************
  34. *
  35. * Function : Az_lsp
  36. * Purpose : Compute the LSPs from the LP coefficients
  37. * Description : - The sum and difference filters are computed
  38. * and divided by 1+z^{-1} and 1-z^{-1}, respectively.
  39. *
  40. * f1[i] = a[i] + a[11-i] - f1[i-1] ; i=1,...,5
  41. * f2[i] = a[i] - a[11-i] + f2[i-1] ; i=1,...,5
  42. *
  43. * - The roots of F1(z) and F2(z) are found using
  44. * Chebyshev polynomial evaluation. The polynomials
  45. * are evaluated at 60 points regularly spaced in the
  46. * frequency domain. The sign change interval is
  47. * subdivided 4 times to better track the root. The
  48. * LSPs are found in the cosine domain [1,-1].
  49. *
  50. * - If less than 10 roots are found, the LSPs from
  51. * the past frame are used.
  52. * Returns : void
  53. *
  54. **************************************************************************
  55. */
  56. void Az_lsp (
  57. Word16 a[], /* (i) : predictor coefficients (MP1) */
  58. Word16 lsp[], /* (o) : line spectral pairs (M) */
  59. Word16 old_lsp[] /* (i) : old lsp[] (in case not found 10 roots) (M)*/
  60. );
  61. #endif