📄 tab_ld8a.c
字号:
(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}};const 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}};const 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}}};const 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}};const 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 */const 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) */const 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 **********************************************************************/const FLOAT pred[4] = { /* MA prediction coeff */(F)0.68,(F)0.58,(F)0.34,(F)0.19};const 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}};const 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}};const int map1[NCODE1] = { 5, 1, 4, 7, 3, 0, 6, 2};const int map2[NCODE2] = { 4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5};const FLOAT coef[2][2] = {{(F)31.134575,(F)1.612322},{(F)0.481389,(F)0.053056}};const FLOAT thr1[NCODE1-NCAN1] = {(F)0.659681,(F)0.755274,(F)1.207205,(F)1.987740};const 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};const int imap1[NCODE1] = { 5, 1, 7, 4, 2, 0, 6, 3};const 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 ) */const FLOAT b100[3] = {(F)0.93980581E+00, (F)-0.18795834E+01, (F)0.93980581E+00};const FLOAT a100[3] = {(F)1.00000000E+00, (F)0.19330735E+01, (F)-0.93589199E+00};/* filter coefficients (fc = 140 Hz) */const FLOAT b140[3] = {(F)0.92727435E+00, (F)-0.18544941E+01, (F)0.92727435E+00};const FLOAT a140[3] = {(F)1.00000000E+00, (F)0.19059465E+01, (F)-0.91140240E+00};/*-----------------------------------------------------* | Tables for routine bits(). | -----------------------------------------------------*/const int bitsno[PRM_SIZE] = {8, /* MA + 1st stage */ 10, /* 2nd stage */ 8,1, 13,4, 7, /* first subframe */ 5, 13,4, 7}; /* second subframe */const int bitsno2[4] = {1, /* SID Lsp : MA */ 5, /* SID Lsp : 1st stage */ 4, /* SID Lsp : 2nd stage */ 5 }; /* SID gain */ /*-----------------------------------------------------* | Table for resetting the past quantized energies | -----------------------------------------------------*/const FLOAT past_qua_en_reset[4] = { (F)-14.0,(F)-14.0,(F)-14.0,(F)-14.0}; /*-----------------------------------------------------* | Table for resetting Lsp (Line spectral pairs) | -----------------------------------------------------*/const FLOAT lsp_reset[M] = { (F)0.9595, (F)0.8413, (F)0.6549, (F)0.4154, (F)0.1423, (F)-0.1423, (F)-0.4154, (F)-0.6549, (F)-0.8413, (F)-0.9595};const FLOAT freq_prev_reset[M] = { /* previous LSP vector(init) */ (F)0.285599, (F)0.571199, (F)0.856798, (F)1.142397, (F)1.427997, (F)1.713596, (F)1.999195, (F)2.284795, (F)2.570394, (F)2.855993}; /* PI*(float)(j+1)/(float)(M+1) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -