📄 tab_ld8k.c
字号:
{ -77, 344, -620, 763, 413, 502, -362, -960, -483, 1386},
{ -314, -307, -256, -1260, -429, 450, -466, -108, 1010, 2223},
{ 711, 693, 521, 650, 1305, -28, -378, 744, -1005, 240},
{ -112, -271, -500, 946, 1733, 271, -15, 909, -259, 1688},
{ 575, -10, -468, -199, 1101, -1011, 581, -53, -747, 878},
{ 145, -285, -1280, -398, 36, -498, -1377, 18, -444, 1483},
{-1133, -835, 1350, 1284, -95, 1015, -222, 443, 372, -354},
{-1459, -1237, 416, -213, 466, 669, 659, 1640, 932, 534},
{ -15, 66, 468, 1019, -748, 1385, -182, -907, -721, -262},
{ -338, 148, 1445, 75, -760, 569, 1247, 337, 416, -121},
{ 389, 239, 1568, 981, 113, 369, -1003, -507, -587, -904},
{ -312, -98, 949, 31, 1104, 72, -141, 1465, 63, -785},
{ 1127, 584, 835, 277, -1159, 208, 301, -882, 117, -404},
{ 539, -114, 856, -493, 223, -912, 623, -76, 276, -440},
{ 2197, 2337, 1268, 670, 304, -267, -525, 140, 882, -139},
{-1596, 550, 801, -456, -56, -697, 865, 1060, 413, 446},
{ 1154, 593, -77, 1237, -31, 581, -1037, -895, 669, 297},
{ 397, 558, 203, -797, -919, 3, 692, -292, 1050, 782},
{ 334, 1475, 632, -80, 48, -1061, -484, 362, -597, -852},
{ -545, -330, -429, -680, 1133, -1182, -744, 1340, 262, 63},
{ 1320, 827, -398, -576, 341, -774, -483, -1247, -70, 98},
{ -163, 674, -11, -886, 531, -1125, -265, -242, 724, 934}
};
Word16 fg[2][MA_NP][M] = { /* Q15 */
{
{ 8421, 9109, 9175, 8965, 9034, 9057, 8765, 8775, 9106, 8673},
{ 7018, 7189, 7638, 7307, 7444, 7379, 7038, 6956, 6930, 6868},
{ 5472, 4990, 5134, 5177, 5246, 5141, 5206, 5095, 4830, 5147},
{ 4056, 3031, 2614, 3024, 2916, 2713, 3309, 3237, 2857, 3473}
},
{
{ 7733, 7880, 8188, 8175, 8247, 8490, 8637, 8601, 8359, 7569},
{ 4210, 3031, 2552, 3473, 3876, 3853, 4184, 4154, 3909, 3968},
{ 3214, 1930, 1313, 2143, 2493, 2385, 2755, 2706, 2542, 2919},
{ 3024, 1592, 940, 1631, 1723, 1579, 2034, 2084, 1913, 2601}
}
};
Word16 fg_sum[2][M] = { /* Q15 */
{ 7798, 8447, 8205, 8293, 8126, 8477, 8447, 8703, 9043, 8604},
{14585, 18333, 19772, 17344, 16426, 16459, 15155, 15220, 16043, 15708}
};
Word16 fg_sum_inv[2][M] = { /* Q12 */
{17210, 15888, 16357, 16183, 16516, 15833, 15888, 15421, 14840, 15597},
{ 9202, 7320, 6788, 7738, 8170, 8154, 8856, 8818, 8366, 8544}
};
/*-------------------------------------------------------------*
* Table for az_lsf() *
* *
* Vector grid[] is in Q15 *
* *
* grid[0] = 1.0; *
* grid[grid_points+1] = -1.0; *
* for (i = 1; i < grid_points; i++) *
* grid[i] = cos((6.283185307*i)/(2.0*grid_points)); *
* *
*-------------------------------------------------------------*/
Word16 grid[GRID_POINTS+1] ={
32760, 32723, 32588, 32364, 32051, 31651,
31164, 30591, 29935, 29196, 28377, 27481,
26509, 25465, 24351, 23170, 21926, 20621,
19260, 17846, 16384, 14876, 13327, 11743,
10125, 8480, 6812, 5126, 3425, 1714,
0, -1714, -3425, -5126, -6812, -8480,
-10125, -11743, -13327, -14876, -16384, -17846,
-19260, -20621, -21926, -23170, -24351, -25465,
-26509, -27481, -28377, -29196, -29935, -30591,
-31164, -31651, -32051, -32364, -32588, -32723,
-32760};
Word16 freq_prev_reset[M] = { /* Q13 */
2339, 4679, 7018, 9358, 11698, 14037, 16377, 18717, 21056, 23396
}; /* PI*(float)(j+1)/(float)(M+1) */
/*-----------------------------------------------------*
| Tables for pitch related routines . |
-----------------------------------------------------*/
/* 1/3 resolution interpolation filter (-3 dB at 3600 Hz) in Q15 */
Word16 inter_3[FIR_SIZE_ANA] = {
29519,
24906, 13896, 2755,
-3459, -3969, -1561,
534, 1023, 516,
0, -194, 0};
/* Coefficients in floating point
0.900839,
0.760084, 0.424082, 0.084078,
-0.105570, -0.121120, -0.047624,
0.016285, 0.031217, 0.015738,
0.000000, -0.005925, 0.000000};
*/
/* 1/3 resolution interpolation filter (-3 dB at 3600 Hz) in Q15 */
Word16 inter_3l[FIR_SIZE_SYN] = {
29443,
25207, 14701, 3143,
-4402, -5850, -2783,
1211, 3130, 2259,
0, -1652, -1666,
-464, 756, 1099,
550, -245, -634,
-451, 0, 308,
296, 78, -120,
-165, -79, 34,
91, 70, 0};
/* Coefficients in floating point
0.898517,
0.769271, 0.448635, 0.095915,
-0.134333, -0.178528, -0.084919,
0.036952, 0.095533, 0.068936,
-0.000000, -0.050404, -0.050835,
-0.014169, 0.023083, 0.033543,
0.016774, -0.007466, -0.019340,
-0.013755, 0.000000, 0.009400,
0.009029, 0.002381, -0.003658,
-0.005027, -0.002405, 0.001050,
0.002780, 0.002145, 0.000000};
*/
/*-----------------------------------------------------*
| Tables for gain related routines . |
-----------------------------------------------------*/
/* MA gain prediction coeff ={0.68, 0.58, 0.34, 0.19} in Q13 */
Word16 pred[4] = { 5571, 4751, 2785, 1556 };
Word16 gbk1[NCODE1][2] = {
/* Q14 Q13 */
{ 1 , 1516 },
{ 1551 , 2425 },
{ 1831 , 5022 },
{ 57 , 5404 },
{ 1921 , 9291 },
{ 3242 , 9949 },
{ 356 , 14756 },
{ 2678 , 27162 }
};
Word16 gbk2[NCODE2][2] = {
/* Q14 Q13 */
{ 826 , 2005 },
{ 1994 , 0 },
{ 5142 , 592 },
{ 6160 , 2395 },
{ 8091 , 4861 },
{ 9120 , 525 },
{ 10573 , 2966 },
{ 11569 , 1196 },
{ 13260 , 3256 },
{ 14194 , 1630 },
{ 15132 , 4914 },
{ 15161 , 14276 },
{ 15434 , 237 },
{ 16112 , 3392 },
{ 17299 , 1861 },
{ 18973 , 5935 }
};
Word16 map1[NCODE1] = {
5, 1, 4, 7, 3, 0, 6, 2
};
Word16 map2[NCODE2] = {
4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5
};
/* [0][0] [0][1] [1][0] [1][1] */
/* Q10 Q14 Q16 Q19 */
Word16 coef[2][2] = {
{ 31881 , 26416 },
{ 31548 , 27816 }
};
/* [0][0] [0][1] [1][0] [1][1] */
/* Q26 Q30 Q32 Q35 */
Word32 L_coef[2][2] = {
{ 2089405952L , 1731217536L },
{ 2067549984L , 1822990272L }
};
Word16 thr1[NCODE1-NCAN1] = { /* Q14 */
10808 ,
12374 ,
19778 ,
32567
};
Word16 thr2[NCODE2-NCAN2] = { /* Q15 */
14087 ,
16188 ,
20274 ,
21321 ,
23525 ,
25232 ,
27873 ,
30542
};
Word16 imap1[NCODE1] = {
5, 1, 7, 4, 2, 0, 6, 3
};
Word16 imap2[NCODE2] = {
2,14, 3,13, 0,15, 1,12, 6,10, 7, 9, 4,11, 5, 8
};
/*-----------------------------------------------------*
| Table for routine pst(). |
-----------------------------------------------------*/
Word16 tab_hup_s[SIZ_TAB_HUP_S] = {
-188, 2873, 31650, -1597, -484, 7041, 28469, -2147, -933, 12266,
23705, -1992, -1492, 18050, 18050, -1492, -1992, 23705, 12266, -933,
-2147, 28469, 7041, -484, -1597, 31650, 2873, -188 };
Word16 tab_hup_l[SIZ_TAB_HUP_L] = {
-40, 72, -156, 315, -579, 1023, -1874, 4439, 31915, -3390,
1595, -887, 501, -266, 130, -59, -77, 147, -317, 631,
-1150, 2030, -3773, 9639, 29436, -5579, 2727, -1527, 859, -453,
218, -101, -106, 212, -455, 892, -1614, 2850, -5392, 15206,
25569, -6549, 3303, -1860, 1041, -543, 258, -122, -123, 253,
-538, 1044, -1876, 3319, -6414, 20676, 20676, -6414, 3319, -1876,
1044, -538, 253, -123, -122, 258, -543, 1041, -1860, 3303,
-6549, 25569, 15206, -5392, 2850, -1614, 892, -455, 212, -106,
-101, 218, -453, 859, -1527, 2727, -5579, 29436, 9639, -3773,
2030, -1150, 631, -317, 147, -77, -59, 130, -266, 501,
-887, 1595, -3390, 31915, 4439, -1874, 1023, -579, 315, -156,
72, -40 };
/*-----------------------------------------------------*
| Tables for routines post_pro() & pre_proc(). |
-----------------------------------------------------*/
/* filter coefficients (fc = 100 Hz) */
Word16 b100[3] = {7699, -15398, 7699}; /* Q13 */
Word16 a100[3] = {8192, 15836, -7667}; /* Q13 */
/* filter coefficients (fc = 140 Hz, coeff. b[] is divided by 2) */
Word16 b140[3] = {1899, -3798, 1899}; /* 1/2 in Q12 */
Word16 a140[3] = {4096, 7807, -3733}; /* Q12 */
/*-----------------------------------------------------*
| Tables for routine bits(). |
-----------------------------------------------------*/
Word16 bitsno[PRM_SIZE] = {1+NC0_B, /* MA + 1st stage */
NC1_B*2, /* 2nd stage */
8,1, 13,4, 7, /* first subframe */
5, 13,4, 7}; /* second subframe */
Word16 bitsno2[4] = {1, /* SID Lsp : MA */
5, /* SID Lsp : 1st stage */
4, /* SID Lsp : 2nd stage */
5 }; /* SID gain */
/*-----------------------------------------------------*
| Table for routine Pow2(). |
-----------------------------------------------------*/
Word16 tabpow[33] = {
16384, 16743, 17109, 17484, 17867, 18258, 18658, 19066, 19484, 19911,
20347, 20792, 21247, 21713, 22188, 22674, 23170, 23678, 24196, 24726,
25268, 25821, 26386, 26964, 27554, 28158, 28774, 29405, 30048, 30706,
31379, 32066, 32767 };
/*-----------------------------------------------------*
| Table for routine Log2(). |
-----------------------------------------------------*/
Word16 tablog[33] = {
0, 1455, 2866, 4236, 5568, 6863, 8124, 9352, 10549, 11716,
12855, 13967, 15054, 16117, 17156, 18172, 19167, 20142, 21097, 22033,
22951, 23852, 24735, 25603, 26455, 27291, 28113, 28922, 29716, 30497,
31266, 32023, 32767 };
/*-----------------------------------------------------*
| Table for routine Inv_sqrt(). |
-----------------------------------------------------*/
Word16 tabsqr[49] = {
32767, 31790, 30894, 30070, 29309, 28602, 27945, 27330, 26755, 26214,
25705, 25225, 24770, 24339, 23930, 23541, 23170, 22817, 22479, 22155,
21845, 21548, 21263, 20988, 20724, 20470, 20225, 19988, 19760, 19539,
19326, 19119, 18919, 18725, 18536, 18354, 18176, 18004, 17837, 17674,
17515, 17361, 17211, 17064, 16921, 16782, 16646, 16514, 16384 };
/*-----------------------------------------------------*
| Table for taming procedure test_err. |
-----------------------------------------------------*/
Word16 tab_zone[PIT_MAX+L_INTERPOL-1] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -