1 /*
2  * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3  * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
4  * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5  */
6 
7 /*  Most of these tables are inlined at their point of use.
8  */
9 
10 /*  4.4 TABLES USED IN THE FIXED POINT IMPLEMENTATION OF THE RPE-LTP
11  *      CODER AND DECODER
12  *
13  *	(Most of them inlined, so watch out.)
14  */
15 
16 #define	GSM_TABLE_C
17 #include "gsm610_priv.h"
18 
19 /*  Table 4.1  Quantization of the Log.-Area Ratios
20  */
21 /* i 		     1      2      3        4      5      6        7       8 */
22 int16_t gsm_A [8]	= { 20480,	20480,	20480,	20480,	13964,	15360,	8534,	9036 } ;
23 int16_t gsm_B [8]	= {		0,		0,	2048,	-2560,	94,		-1792,	-341,	-1144 } ;
24 int16_t gsm_MIC [8] = { -32,	-32,	-16,	-16,	-8,		-8,		-4,		-4 } ;
25 int16_t gsm_MAC [8] = { 31,	31,		15,		15,		7,		7,		3,		3 } ;
26 
27 
28 /*  Table 4.2  Tabulation  of 1/A[1..8]
29  */
30 int16_t gsm_INVA [8] = { 13107, 13107, 13107, 13107, 19223, 17476, 31454, 29708 } ;
31 
32 
33 /*   Table 4.3a  Decision level of the LTP gain quantizer
34  */
35 /*  bc		      0	        1	  2	     3			*/
36 int16_t gsm_DLB [4] = { 6554, 16384,	26214,	32767 } ;
37 
38 
39 /*   Table 4.3b   Quantization levels of the LTP gain quantizer
40  */
41 /* bc		      0          1        2          3			*/
42 int16_t gsm_QLB [4] = { 3277,	11469,	21299,		32767	} ;
43 
44 
45 /*   Table 4.4	 Coefficients of the weighting filter
46  */
47 /* i		    0      1   2    3   4      5      6     7   8   9    10  */
48 int16_t gsm_H [11] = { -134, -374, 0, 2054, 5741, 8192, 5741, 2054, 0, -374, -134 } ;
49 
50 
51 /*   Table 4.5 	 Normalized inverse mantissa used to compute xM/xmax
52  */
53 /* i		 	0        1    2      3      4      5     6      7   */
54 int16_t gsm_NRFAC [8] = { 29128, 26215, 23832, 21846, 20165, 18725, 17476, 16384 } ;
55 
56 
57 /*   Table 4.6	 Normalized direct mantissa used to compute xM/xmax
58  */
59 /* i                  0      1       2      3      4      5      6      7   */
60 int16_t gsm_FAC [8]	= { 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 } ;
61