⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tab_ld8a.c

📁 g729a 语音编码,再linux c 环境下实现,有非常的好的移植性,通话质量好
💻 C
📖 第 1 页 / 共 3 页
字号:
(F)2.0733,

(F)2.1880,

(F)2.2504},



{(F)0.1709,

(F)0.4486,

(F)0.8705,

(F)1.0643,

(F)1.3047,

(F)1.5269,

(F)1.9175,

(F)2.1621,

(F)2.4073,

(F)2.5718},



{(F)0.2835,

(F)0.3752,

(F)0.5234,

(F)0.9898,

(F)1.1484,

(F)1.2974,

(F)1.9363,

(F)2.0378,

(F)2.4065,

(F)2.6214},



{(F)0.3211,

(F)0.4077,

(F)0.5809,

(F)1.0206,

(F)1.2542,

(F)1.3835,

(F)1.5723,

(F)2.1209,

(F)2.3464,

(F)2.4336},



{(F)0.2101,

(F)0.3146,

(F)0.6779,

(F)0.8783,

(F)1.0561,

(F)1.3045,

(F)1.8395,

(F)2.0695,

(F)2.2831,

(F)2.4328}

};



FLOAT lspcb2[NC1][M] = {

{(F)-0.0532,

(F)-0.0995,

(F)-0.0906,

(F)0.1261,

(F)-0.0633,

(F)0.0711,

(F)-0.1467,

(F)0.1012,

(F)0.0106,

(F)0.0470},



{(F)-0.1017,

(F)-0.1088,

(F)0.0566,

(F)-0.0010,

(F)-0.1528,

(F)0.1771,

(F)0.0089,

(F)-0.0282,

(F)0.1055,

(F)0.0808},



{(F)-0.1247,

(F)0.0283,

(F)-0.0374,

(F)0.0393,

(F)-0.0269,

(F)-0.0200,

(F)-0.0643,

(F)-0.0921,

(F)-0.1994,

(F)0.0327},



{(F)0.0070,

(F)-0.0242,

(F)-0.0415,

(F)-0.0041,

(F)-0.1793,

(F)0.0700,

(F)0.0972,

(F)-0.0207,

(F)-0.0771,

(F)0.0997},



{(F)0.0209,

(F)-0.0428,

(F)0.0359,

(F)0.2027,

(F)0.0554,

(F)0.0634,

(F)0.0356,

(F)0.0195,

(F)-0.0782,

(F)-0.1583},



{(F)-0.0856,

(F)-0.1028,

(F)-0.0071,

(F)0.1160,

(F)0.1089,

(F)0.1892,

(F)0.0874,

(F)0.0644,

(F)-0.0872,

(F)-0.0236},



{(F)0.0713,

(F)0.0039,

(F)-0.0353,

(F)0.0435,

(F)-0.0407,

(F)-0.0558,

(F)0.0748,

(F)-0.0346,

(F)-0.1686,

(F)-0.0905},



{(F)-0.0134,

(F)-0.0987,

(F)0.0283,

(F)0.0095,

(F)-0.0107,

(F)-0.0420,

(F)0.1638,

(F)0.1328,

(F)-0.0799,

(F)-0.0695},



{(F)-0.1049,

(F)0.1510,

(F)0.0672,

(F)0.1043,

(F)0.0872,

(F)-0.0663,

(F)-0.2139,

(F)-0.0239,

(F)-0.0120,

(F)-0.0338},



{(F)-0.1071,

(F)-0.1165,

(F)-0.1524,

(F)-0.0365,

(F)0.0260,

(F)-0.0288,

(F)-0.0889,

(F)0.1159,

(F)0.1852,

(F)0.1093},



{(F)-0.0094,

(F)0.0420,

(F)-0.0758,

(F)0.0932,

(F)0.0505,

(F)0.0614,

(F)-0.0443,

(F)-0.1172,

(F)-0.0590,

(F)0.1693},



{(F)-0.0384,

(F)-0.0375,

(F)-0.0313,

(F)-0.1539,

(F)-0.0524,

(F)0.0550,

(F)-0.0569,

(F)-0.0133,

(F)0.1233,

(F)0.2714},



{(F)0.0869,

(F)0.0847,

(F)0.0637,

(F)0.0794,

(F)0.1594,

(F)-0.0035,

(F)-0.0462,

(F)0.0909,

(F)-0.1227,

(F)0.0294},



{(F)-0.0137,

(F)-0.0332,

(F)-0.0611,

(F)0.1156,

(F)0.2116,

(F)0.0332,

(F)-0.0019,

(F)0.1110,

(F)-0.0317,

(F)0.2061},



{(F)0.0703,

(F)-0.0013,

(F)-0.0572,

(F)-0.0243,

(F)0.1345,

(F)-0.1235,

(F)0.0710,

(F)-0.0065,

(F)-0.0912,

(F)0.1072},



{(F)0.0178,

(F)-0.0349,

(F)-0.1563,

(F)-0.0487,

(F)0.0044,

(F)-0.0609,

(F)-0.1682,

(F)0.0023,

(F)-0.0542,

(F)0.1811},



{(F)-0.1384,

(F)-0.1020,

(F)0.1649,

(F)0.1568,

(F)-0.0116,

(F)0.1240,

(F)-0.0271,

(F)0.0541,

(F)0.0455,

(F)-0.0433},



{(F)-0.1782,

(F)-0.1511,

(F)0.0509,

(F)-0.0261,

(F)0.0570,

(F)0.0817,

(F)0.0805,

(F)0.2003,

(F)0.1138,

(F)0.0653},



{(F)-0.0019,

(F)0.0081,

(F)0.0572,

(F)0.1245,

(F)-0.0914,

(F)0.1691,

(F)-0.0223,

(F)-0.1108,

(F)-0.0881,

(F)-0.0320},



{(F)-0.0413,

(F)0.0181,

(F)0.1764,

(F)0.0092,

(F)-0.0928,

(F)0.0695,

(F)0.1523,

(F)0.0412,

(F)0.0508,

(F)-0.0148},



{(F)0.0476,

(F)0.0292,

(F)0.1915,

(F)0.1198,

(F)0.0139,

(F)0.0451,

(F)-0.1225,

(F)-0.0619,

(F)-0.0717,

(F)-0.1104},



{(F)-0.0382,

(F)-0.0120,

(F)0.1159,

(F)0.0039,

(F)0.1348,

(F)0.0088,

(F)-0.0173,

(F)0.1789,

(F)0.0078,

(F)-0.0959},



{(F)0.1376,

(F)0.0713,

(F)0.1020,

(F)0.0339,

(F)-0.1415,

(F)0.0254,

(F)0.0368,

(F)-0.1077,

(F)0.0143,

(F)-0.0494},



{(F)0.0658,

(F)-0.0140,

(F)0.1046,

(F)-0.0603,

(F)0.0273,

(F)-0.1114,

(F)0.0761,

(F)-0.0093,

(F)0.0338,

(F)-0.0538},



{(F)0.2683,

(F)0.2853,

(F)0.1549,

(F)0.0819,

(F)0.0372,

(F)-0.0327,

(F)-0.0642,

(F)0.0172,

(F)0.1077,

(F)-0.0170},



{(F)-0.1949,

(F)0.0672,

(F)0.0978,

(F)-0.0557,

(F)-0.0069,

(F)-0.0851,

(F)0.1057,

(F)0.1294,

(F)0.0505,

(F)0.0545},



{(F)0.1409,

(F)0.0724,

(F)-0.0094,

(F)0.1511,

(F)-0.0039,

(F)0.0710,

(F)-0.1266,

(F)-0.1093,

(F)0.0817,

(F)0.0363},



{(F)0.0485,

(F)0.0682,

(F)0.0248,

(F)-0.0974,

(F)-0.1122,

(F)0.0004,

(F)0.0845,

(F)-0.0357,

(F)0.1282,

(F)0.0955},



{(F)0.0408,

(F)0.1801,

(F)0.0772,

(F)-0.0098,

(F)0.0059,

(F)-0.1296,

(F)-0.0591,

(F)0.0443,

(F)-0.0729,

(F)-0.1041},



{(F)-0.0666,

(F)-0.0403,

(F)-0.0524,

(F)-0.0831,

(F)0.1384,

(F)-0.1443,

(F)-0.0909,

(F)0.1636,

(F)0.0320,

(F)0.0077},



{(F)0.1612,

(F)0.1010,

(F)-0.0486,

(F)-0.0704,

(F)0.0417,

(F)-0.0945,

(F)-0.0590,

(F)-0.1523,

(F)-0.0086,

(F)0.0120},



{(F)-0.0199,

(F)0.0823,

(F)-0.0014,

(F)-0.1082,

(F)0.0649,

(F)-0.1374,

(F)-0.0324,

(F)-0.0296,

(F)0.0885,

(F)0.1141}

};



FLOAT fg[2][MA_NP][M] = {

{{(F)0.2570,

(F)0.2780,

(F)0.2800,

(F)0.2736,

(F)0.2757,

(F)0.2764,

(F)0.2675,

(F)0.2678,

(F)0.2779,

(F)0.2647},



{(F)0.2142,

(F)0.2194,

(F)0.2331,

(F)0.2230,

(F)0.2272,

(F)0.2252,

(F)0.2148,

(F)0.2123,

(F)0.2115,

(F)0.2096},



{(F)0.1670,

(F)0.1523,

(F)0.1567,

(F)0.1580,

(F)0.1601,

(F)0.1569,

(F)0.1589,

(F)0.1555,

(F)0.1474,

(F)0.1571},



{(F)0.1238,

(F)0.0925,

(F)0.0798,

(F)0.0923,

(F)0.0890,

(F)0.0828,

(F)0.1010,

(F)0.0988,

(F)0.0872,

(F)0.1060},

},



{{(F)0.2360,

(F)0.2405,

(F)0.2499,

(F)0.2495,

(F)0.2517,

(F)0.2591,

(F)0.2636,

(F)0.2625,

(F)0.2551,

(F)0.2310},



{(F)0.1285,

(F)0.0925,

(F)0.0779,

(F)0.1060,

(F)0.1183,

(F)0.1176,

(F)0.1277,

(F)0.1268,

(F)0.1193,

(F)0.1211},



{(F)0.0981,

(F)0.0589,

(F)0.0401,

(F)0.0654,

(F)0.0761,

(F)0.0728,

(F)0.0841,

(F)0.0826,

(F)0.0776,

(F)0.0891},



{(F)0.0923,

(F)0.0486,

(F)0.0287,

(F)0.0498,

(F)0.0526,

(F)0.0482,

(F)0.0621,

(F)0.0636,

(F)0.0584,

(F)0.0794}

}



};



FLOAT fg_sum[2][M] = {

{(F)0.2380000054836,

(F)0.2578000128269,

(F)0.2504000067711,

(F)0.2531000375748,

(F)0.2480000108480,

(F)0.2587000429630,

(F)0.2577999532223,

(F)0.2656000256538,

(F)0.2760000228882,

(F)0.2625999450684},



{(F)0.4451000094414,

(F)0.5595000386238,

(F)0.6034000515938,

(F)0.5292999744415,

(F)0.5012999176979,

(F)0.5023000240326,

(F)0.4625000357628,

(F)0.4645000100136,

(F)0.4895999729633,

(F)0.4793999791145}

};



FLOAT fg_sum_inv[2][M] = {

{(F)4.2016806602478,

(F)3.8789758682251,

(F)3.9936101436615,

(F)3.9510068893433,

(F)4.0322580337524,

(F)3.8654806613922,

(F)3.8789765834808,

(F)3.7650599479675,

(F)3.6231880187988,

(F)3.8080739974976},



{(F)2.2466859817505,

(F)1.7873100042343,

(F)1.6572753190994,

(F)1.8892878293991,

(F)1.9948137998581,

(F)1.9908419847488,

(F)2.1621620655060,

(F)2.1528525352478,

(F)2.0424838066101,

(F)2.0859408378601}

};



/*-------------------------------------------------------------*



 *  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));         *



 *                                                             *



 *-------------------------------------------------------------*/



/* Version 51 points */



FLOAT grid[GRID_POINTS+1] = { /* grid for evaluating  Chebychev polynomials */

(F)0.9997559,

(F)0.9980267,

(F)0.9921147,

(F)0.9822872,

(F)0.9685832,

(F)0.9510565,

(F)0.9297765,

(F)0.9048271,

(F)0.8763067,

(F)0.8443279,

(F)0.8090170,

(F)0.7705132,

(F)0.7289686,

(F)0.6845471,

(F)0.6374240,

(F)0.5877852,

(F)0.5358268,

(F)0.4817537,

(F)0.4257793,

(F)0.3681245,

(F)0.3090170,

(F)0.2486899,

(F)0.1873813,

(F)0.1253332,

(F)0.0627905,

(F)0.0000000,

(F)-0.0627905,

(F)-0.1253332,

(F)-0.1873813,

(F)-0.2486899,

(F)-0.3090170,

(F)-0.3681245,

(F)-0.4257793,

(F)-0.4817537,

(F)-0.5358268,

(F)-0.5877852,

(F)-0.6374240,

(F)-0.6845471,

(F)-0.7289686,

(F)-0.7705132,

(F)-0.8090170,

(F)-0.8443279,

(F)-0.8763067,

(F)-0.9048271,

(F)-0.9297765,

(F)-0.9510565,

(F)-0.9685832,

(F)-0.9822872,

(F)-0.9921147,

(F)-0.9980267,

(F)-0.9997559

};



/*-----------------------------------------------------*



 | Tables for pitch related routines .                 |



 -----------------------------------------------------*/



/*** LTP interpolation filter ****/

/* 1/3 resolution interpolation filter  (-3 dB at 3600 Hz) */

FLOAT inter_3l[FIR_SIZE_SYN] = {

(F)0.898517,

(F)0.769271,

(F)0.448635,

(F)0.095915,

(F)-0.134333,

(F)-0.178528,

(F)-0.084919,

(F)0.036952,

(F)0.095533,

(F)0.068936,

(F)-0.000000,

(F)-0.050404,

(F)-0.050835,

(F)-0.014169,

(F)0.023083,

(F)0.033543,

(F)0.016774,

(F)-0.007466,

(F)-0.019340,

(F)-0.013755,

(F)0.000000,

(F)0.009400,

(F)0.009029,

(F)0.002381,

(F)-0.003658,

(F)-0.005027,

(F)-0.002405,

(F)0.001050,

(F)0.002780,

(F)0.002145,

(F)0.000000

};



/*-----------------------------------------------------*



 | Tables for gain related routines .                  |



 -----------------------------------------------------*/



/**********************************************************************

  gain quantizer

 **********************************************************************/



FLOAT pred[4] = {               /* MA prediction coeff */

(F)0.68,

(F)0.58,

(F)0.34,

(F)0.19

};



FLOAT gbk1[NCODE1][2] = {

{(F)0.000010,

(F)0.185084},



{(F)0.094719,

(F)0.296035},



{(F)0.111779,

(F)0.613122},



{(F)0.003516,

(F)0.659780},



{(F)0.117258,

(F)1.134277},



{(F)0.197901,

(F)1.214512},



{(F)0.021772,

(F)1.801288},



{(F)0.163457,

(F)3.315700}

};



FLOAT gbk2[NCODE2][2] = {

{(F)0.050466,

(F)0.244769},



{(F)0.121711,

(F)0.000010},



{(F)0.313871,

(F)0.072357},



{(F)0.375977,

(F)0.292399},



{(F)0.493870,

(F)0.593410},



{(F)0.556641,

(F)0.064087},



{(F)0.645363,

(F)0.362118},



{(F)0.706138,

(F)0.146110},



{(F)0.809357,

(F)0.397579},



{(F)0.866379,

(F)0.199087},



{(F)0.923602,

(F)0.599938},



{(F)0.925376,

(F)1.742757},



{(F)0.942028,

(F)0.029027},



{(F)0.983459,

(F)0.414166},



{(F)1.055892,

(F)0.227186},



{(F)1.158039,

(F)0.724592}

};



int  map1[NCODE1] = {

 5, 1, 4, 7, 3, 0, 6, 2};



int  map2[NCODE2] = {

 4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5};



FLOAT coef[2][2] = {

{(F)31.134575,

(F)1.612322},



{(F)0.481389,

(F)0.053056}

};



FLOAT thr1[NCODE1-NCAN1] = {

(F)0.659681,

(F)0.755274,

(F)1.207205,

(F)1.987740

};



FLOAT thr2[NCODE2-NCAN2] = {

(F)0.429912,

(F)0.494045,

(F)0.618737,

(F)0.650676,

(F)0.717949,

(F)0.770050,

(F)0.850628,

(F)0.932089

};



int  imap1[NCODE1] = {

 5, 1, 7, 4, 2, 0, 6, 3};



int  imap2[NCODE2] = {

 2,14, 3,13, 0,15, 1,12, 6,10, 7, 9, 4,11, 5, 8};





/*-----------------------------------------------------*



 | Tables for routines post_pro() & pre_proc().        |



 -----------------------------------------------------*/



/* filter coefficients (fc = 100 Hz ) */



FLOAT b100[3] = {(F)0.93980581E+00, (F)-0.18795834E+01,  (F)0.93980581E+00};

FLOAT a100[3] = {(F)1.00000000E+00,  (F)0.19330735E+01, (F)-0.93589199E+00};



/* filter coefficients (fc = 140 Hz)  */



FLOAT b140[3] = {(F)0.92727435E+00, (F)-0.18544941E+01, (F)0.92727435E+00};

FLOAT a140[3] = {(F)1.00000000E+00, (F)0.19059465E+01, (F)-0.91140240E+00};





/*-----------------------------------------------------*



 | Tables for routine bits().                          |



 -----------------------------------------------------*/



int  bitsno[PRM_SIZE] = {8,              /* MA + 1st stage */

                               10,             /* 2nd stage */

                               8,1,  13,4, 7,  /* first subframe  */

                               5,    13,4, 7}; /* second subframe */









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -