comparison libtwamr/az_lsp.h @ 253:54f6bc41ed10

libtwamr: integrate a* modules
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 05 Apr 2024 06:08:15 +0000
parents
children
comparison
equal deleted inserted replaced
252:57b4053559ff 253:54f6bc41ed10
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 ********************************************************************************
19 * INCLUDE FILES
20 ********************************************************************************
21 */
22 #include "typedef.h"
23
24 /*
25 ********************************************************************************
26 * DEFINITION OF DATA TYPES
27 ********************************************************************************
28 */
29
30 /*
31 ********************************************************************************
32 * DECLARATION OF PROTOTYPES
33 ********************************************************************************
34 */
35 /*
36 **************************************************************************
37 *
38 * Function : Az_lsp
39 * Purpose : Compute the LSPs from the LP coefficients
40 * Description : - The sum and difference filters are computed
41 * and divided by 1+z^{-1} and 1-z^{-1}, respectively.
42 *
43 * f1[i] = a[i] + a[11-i] - f1[i-1] ; i=1,...,5
44 * f2[i] = a[i] - a[11-i] + f2[i-1] ; i=1,...,5
45 *
46 * - The roots of F1(z) and F2(z) are found using
47 * Chebyshev polynomial evaluation. The polynomials
48 * are evaluated at 60 points regularly spaced in the
49 * frequency domain. The sign change interval is
50 * subdivided 4 times to better track the root. The
51 * LSPs are found in the cosine domain [1,-1].
52 *
53 * - If less than 10 roots are found, the LSPs from
54 * the past frame are used.
55 * Returns : void
56 *
57 **************************************************************************
58 */
59 void Az_lsp (
60 Word16 a[], /* (i) : predictor coefficients (MP1) */
61 Word16 lsp[], /* (o) : line spectral pairs (M) */
62 Word16 old_lsp[] /* (i) : old lsp[] (in case not found 10 roots) (M)*/
63 );
64
65 #endif