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

📄 tab2.c

📁 symbian 系统下的g.723 g.723_24实现, 本源码在 series60 sdk fp2下调试通过
💻 C
📖 第 1 页 / 共 5 页
字号:
FLOAT PerFiltZeroTable[LpcOrder] = {
   (F)0.9 ,
   (F)0.81 ,
   (F)0.729 ,
   (F)0.6561 ,
   (F)0.59049 ,
   (F)0.531441 ,
   (F)0.4781969 ,
   (F)0.43046721 ,
   (F)0.38742049 ,
   (F)0.34867844 ,
};

/*
**  PerFiltPoleTable:
**
**  Purpose:
**     Creates the IIR part of the formant perceptual weighting filter.
**     Corresponds to gamma2 in section 2.8.
**
**  Table Structure:
**     (0.5) to the x power, where x = [1,..,10]
*/

FLOAT PerFiltPoleTable[LpcOrder] = {
   (F)0.5 ,
   (F)0.25 ,
   (F)0.125 ,
   (F)0.0625 ,
   (F)0.03125 ,
   (F)0.015625 ,
   (F)0.0078125 ,
   (F)0.00390625 ,
   (F)0.001953125 ,
   (F)0.0009765625 ,
};

/*
**  PostFiltZeroTable:
**
**  Purpose:
**     Creates the FIR part of the formant postfilter.  Corresponds to
**     lambda1 in section 3.8.
**
**  Table Structure:
**     (0.65) to the x power, where x = [1,..,10]
*/

FLOAT   PostFiltZeroTable[LpcOrder] = {
   (F)0.65 ,
   (F)0.4225 ,
   (F)0.274625 ,
   (F)0.17850625 ,
   (F)0.11602906 ,
   (F)0.075418891 ,
   (F)0.049022279 ,
   (F)0.031864483 ,
   (F)0.020711913 ,
   (F)0.013462743 ,
   };

/*
**  PostFiltPoleTable:
**
**  Purpose:
**     Creates the IIR part of the formant postfilter.  Corresponds to
**     lambda2 in section 3.8.
**
**  Table Structure:
**     (0.75) to the x power, where x = [1,..,10]
*/

FLOAT   PostFiltPoleTable[LpcOrder] = {
   (F)0.75 ,
   (F)0.5625 ,
   (F)0.421875 ,
   (F)0.31640625 ,
   (F)0.23730469 ,
   (F)0.177978752 ,
   (F)0.13348389 ,
   (F)0.10011292 ,
   (F)0.075084686 ,
   (F)0.056313515 ,
   };

/*
**  Nb_puls:
**
**  Purpose:
**      Indexing
**
**  Table Structure:
**      Table values are the number of non-zero pulses in the high-rate
**      excitation (MP-MLQ), indexed by subframe number (0,..,3).
*/

int Nb_puls[4] = { 6,5,6,5};

/*
**  FcbkGainTable:
**
**  Purpose:
**      Logarithmic scalar quantizer in 24 steps of 3.2 dB each
**
**  Table Structure:
**      Contains x where 20*log10(x) = 3.2*i,  i = 1,..,24
*/

FLOAT FcbkGainTable[NumOfGainLev] = {
   (F)2 ,
   (F)4 ,
   (F)6 ,
   (F)8 ,
   (F)12 ,
   (F)18 ,
   (F)26 ,
   (F)36 ,
   (F)52 ,
   (F)76 ,
   (F)110 ,
   (F)160 ,
   (F)230 ,
   (F)332 ,
   (F)480 ,
   (F)696 ,
   (F)1004 ,
   (F)1452 ,
   (F)2100 ,
   (F)3034 ,
   (F)4386 ,
   (F)6340 ,
   (F)9164 ,
   (F)13246 ,
};

/*
**  MaxPosTable:
**
**  Purpose:
**      size of the high rate fixed excitation codebooks (MP-MLQ)
**
**  Table Structure:
**      Table values are the number of codewords in the high rate fixed
**      excitation codebook (MP-MLQ), indexed by subframe number (0,..,3).
**      MaxPosTable[i] is the number of combinations of i elements among 30
**      non-zero pulses in the high-rate
*/

Word32   MaxPosTable[4] = {
 0x00090f6fL,
 0x00022caaL,
 0x00090f6fL,
 0x00022caaL,
};

/*
**  CombinatorialTable:
**
**  Purpose:
**      used for the coding and the decoding of the pulses positions
**      for the high-rate fixed excitation codebook
**
**  Table Structure:
**      CombinatorialTable[i][j] is the number of combinations of
**      (MaxPulseNum-1-i) elements among (SubFrLen-2-j)
*/

Word32   CombinatorialTable[MaxPulseNum][SubFrLen/Sgrid] = {
 { 118755L,
  98280L,
  80730L,
  65780L,
  53130L,
  42504L,
  33649L,
  26334,
  20349,
  15504,
  11628,
   8568,
   6188,
   4368,
   3003,
   2002,
   1287,
    792,
    462,
    252,
    126,
     56,
     21,
      6,
      1,
      0,
      0,
      0,
      0,
      0 },

 { 23751,
  20475,
  17550,
  14950,
  12650,
  10626,
   8855,
   7315,
   5985,
   4845,
   3876,
   3060,
   2380,
   1820,
   1365,
   1001,
    715,
    495,
    330,
    210,
    126,
     70,
     35,
     15,
      5,
      1,
      0,
      0,
      0,
      0 },

  { 3654,
   3276,
   2925,
   2600,
   2300,
   2024,
   1771,
   1540,
   1330,
   1140,
    969,
    816,
    680,
    560,
    455,
    364,
    286,
    220,
    165,
    120,
     84,
     56,
     35,
     20,
     10,
      4,
      1,
      0,
      0,
      0 },

   {  406,
    378,
    351,
    325,
    300,
    276,
    253,
    231,
    210,
    190,
    171,
    153,
    136,
    120,
    105,
     91,
     78,
     66,
     55,
     45,
     36,
     28,
     21,
     15,
     10,
      6,
      3,
      1,
      0,
      0 },

   {   29,
     28,
     27,
     26,
     25,
     24,
     23,
     22,
     21,
     20,
     19,
     18,
     17,
     16,
     15,
     14,
     13,
     12,
     11,
     10,
      9,
      8,
      7,
      6,
      5,
      4,
      3,
      2,
      1,
      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 }
   };

/*
**  AcbkGainTable085:
**
**  Purpose:
**      Used to calculate the error expression in pitch prediction
**      optimization (also described as an adaptive codebook approach)
**
**      Table Structure:
**      The table is structured as 85 20-element vectors.  These
**      vectors are structured as precalculated values in the error
**      expression for the pitch predictor.  Gi is the gain value
**      multiplying the signal delayed by a pitch period (+/- offset).
**      In equation 41.2, Gi would be equivalent to bij.
**
**      1st 5 elements:   G1  G2  G3  G4  G5 in Q14
**      2nd 5 elements:  -G1^2  -G2^2  -G3^2  -G4^2  -G5^2
**      Next 10 elements: These are the off-diagonal elements
**           -G1*G2  -G1*G3  -G2*G3  -G1*G4  -G2*G4
**           -G3*G4  -G1*G5  -G2*G5  -G3*G5  -G4*G5
*/

 FLOAT   AcbkGainTable085[85*20] = {
 (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000,
(F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000,
(F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000, (F)0.000000,
(F)0.000000, (F)0.000000,
(F)0.048828, (F)0.091309, (F)0.010193, (F)-0.015625, (F)-0.020630, (F)-0.002384,
(F)-0.008337, (F)-0.000104, (F)-0.000244, (F)-0.000426, (F)-0.004458, (F)-0.000498,
(F)-0.000931, (F)0.000763, (F)0.001427, (F)0.000159, (F)0.001007, (F)0.001884,
(F)0.000210, (F)-0.000322,
(F)-0.028198, (F)-0.041870, (F)0.030090, (F)0.157166, (F)0.018982, (F)-0.000795,
(F)-0.001753, (F)-0.000905, (F)-0.024701, (F)-0.000360, (F)-0.001181, (F)0.000848,
(F)0.001260, (F)0.004432, (F)0.006581, (F)-0.004729, (F)0.000535, (F)0.000795,
(F)-0.000571, (F)-0.002983,
(F)0.090515, (F)0.008789, (F)0.047852, (F)0.056641, (F)0.075867, (F)-0.008193,
(F)-0.000077, (F)-0.002290, (F)-0.003208, (F)-0.005756, (F)-0.000796, (F)-0.004331,
(F)-0.000421, (F)-0.005127, (F)-0.000498, (F)-0.002710, (F)-0.006867, (F)-0.000667,
(F)-0.003630, (F)-0.004297,
(F)-0.004700, (F)0.016785, (F)0.214966, (F)0.064453, (F)-0.076538, (F)-0.000022,
(F)-0.000282, (F)-0.046210, (F)-0.004154, (F)-0.005858, (F)0.000079, (F)0.001010,
(F)-0.003608, (F)0.000303, (F)-0.001082, (F)-0.013855, (F)-0.000360, (F)0.001285,
(F)0.016453, (F)0.004933,
(F)-0.007629, (F)-0.002441, (F)-0.016113, (F)0.023254, (F)0.306824, (F)-0.000058,
(F)-0.000006, (F)-0.000260, (F)-0.000541, (F)-0.094141, (F)-0.000019, (F)-0.000123,
(F)-0.000039, (F)0.000177, (F)0.000057, (F)0.000375, (F)0.002341, (F)0.000749,
(F)0.004944, (F)-0.007135,
(F)0.008423, (F)0.020264, (F)0.135193, (F)0.157104, (F)0.081726, (F)-0.000071,
(F)-0.000411, (F)-0.018277, (F)-0.024682, (F)-0.006679, (F)-0.000171, (F)-0.001139,
(F)-0.002740, (F)-0.001323, (F)-0.003184, (F)-0.021239, (F)-0.000688, (F)-0.001656,
(F)-0.011049, (F)-0.012840,
(F)0.224915, (F)0.175964, (F)-0.054138, (F)0.052856, (F)-0.100037, (F)-0.050587,
(F)-0.030963, (F)-0.002931, (F)-0.002794, (F)-0.010007, (F)-0.039577, (F)0.012176,
(F)0.009526, (F)-0.011888, (F)-0.009301, (F)0.002862, (F)0.022500, (F)0.017603,
(F)-0.005416, (F)0.005288,
(F)0.085205, (F)0.130981, (F)0.136414, (F)0.021057, (F)0.057495, (F)-0.007260,
(F)-0.017156, (F)-0.018609, (F)-0.000443, (F)-0.003306, (F)-0.011160, (F)-0.011623,
(F)-0.017868, (F)-0.001794, (F)-0.002758, (F)-0.002872, (F)-0.004899, (F)-0.007531,
(F)-0.007843, (F)-0.001211,
(F)0.000793, (F)0.273132, (F)0.216614, (F)-0.049072, (F)-0.039978, (F)-0.000001,
(F)-0.074601, (F)-0.046922, (F)-0.002408, (F)-0.001598, (F)-0.000217, (F)-0.000172,
(F)-0.059164, (F)0.000039, (F)0.013403, (F)0.010630, (F)0.000032, (F)0.010919,
(F)0.008660, (F)-0.001962,
(F)-0.044189, (F)0.015503, (F)0.014771, (F)0.369202, (F)0.150269, (F)-0.001953,
(F)-0.000240, (F)-0.000218, (F)-0.136310, (F)-0.022581, (F)0.000685, (F)0.000653,
(F)-0.000229, (F)0.016315, (F)-0.005724, (F)-0.005453, (F)0.006640, (F)-0.002330,
(F)-0.002220, (F)-0.055479,
(F)0.038208, (F)-0.104553, (F)0.373596, (F)0.278381, (F)-0.064758, (F)-0.001460,
(F)-0.010931, (F)-0.139574, (F)-0.077496, (F)-0.004194, (F)0.003995, (F)-0.014274,
(F)0.039061, (F)-0.010636, (F)0.029106, (F)-0.104002, (F)0.002474, (F)-0.006771,
(F)0.024193, (F)0.018028,
(F)-0.021362, (F)0.084900, (F)0.487366, (F)0.031189, (F)-0.024719, (F)-0.000456,
(F)-0.007208, (F)-0.237525, (F)-0.000973, (F)-0.000611, (F)0.001814, (F)0.010411,
(F)-0.041377, (F)0.000666, (F)-0.002648, (F)-0.015200, (F)-0.000528, (F)0.002099,
(F)0.012047, (F)0.000771,
(F)0.191895, (F)-0.032288, (F)0.037109, (F)0.154419, (F)0.236694, (F)-0.036824,
(F)-0.001042, (F)-0.001377, (F)-0.023845, (F)-0.056024, (F)0.006196, (F)-0.007121,
(F)0.001198, (F)-0.029632, (F)0.004986, (F)-0.00573

⌨️ 快捷键说明

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