mirror of
https://github.com/ShaYmez/MMDVM_CM.git
synced 2024-11-16 05:01:47 -05:00
965 lines
11 KiB
C++
965 lines
11 KiB
C++
/*
|
|
* This intermediary file and the files that used to create it are under
|
|
* The LGPL. See the file COPYING.
|
|
*/
|
|
|
|
#include "defines.h"
|
|
|
|
/* codebook/lsp1.txt */
|
|
static float codes00[] =
|
|
{
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600
|
|
};
|
|
/* codebook/lsp2.txt */
|
|
static float codes01[] =
|
|
{
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700
|
|
};
|
|
/* codebook/lsp3.txt */
|
|
static float codes02[] =
|
|
{
|
|
500,
|
|
550,
|
|
600,
|
|
650,
|
|
700,
|
|
750,
|
|
800,
|
|
850,
|
|
900,
|
|
950,
|
|
1000,
|
|
1050,
|
|
1100,
|
|
1150,
|
|
1200,
|
|
1250
|
|
};
|
|
/* codebook/lsp4.txt */
|
|
static float codes03[] =
|
|
{
|
|
700,
|
|
800,
|
|
900,
|
|
1000,
|
|
1100,
|
|
1200,
|
|
1300,
|
|
1400,
|
|
1500,
|
|
1600,
|
|
1700,
|
|
1800,
|
|
1900,
|
|
2000,
|
|
2100,
|
|
2200
|
|
};
|
|
/* codebook/lsp5.txt */
|
|
static float codes04[] =
|
|
{
|
|
950,
|
|
1050,
|
|
1150,
|
|
1250,
|
|
1350,
|
|
1450,
|
|
1550,
|
|
1650,
|
|
1750,
|
|
1850,
|
|
1950,
|
|
2050,
|
|
2150,
|
|
2250,
|
|
2350,
|
|
2450
|
|
};
|
|
/* codebook/lsp6.txt */
|
|
static float codes05[] =
|
|
{
|
|
1100,
|
|
1200,
|
|
1300,
|
|
1400,
|
|
1500,
|
|
1600,
|
|
1700,
|
|
1800,
|
|
1900,
|
|
2000,
|
|
2100,
|
|
2200,
|
|
2300,
|
|
2400,
|
|
2500,
|
|
2600
|
|
};
|
|
/* codebook/lsp7.txt */
|
|
static float codes06[] =
|
|
{
|
|
1500,
|
|
1600,
|
|
1700,
|
|
1800,
|
|
1900,
|
|
2000,
|
|
2100,
|
|
2200,
|
|
2300,
|
|
2400,
|
|
2500,
|
|
2600,
|
|
2700,
|
|
2800,
|
|
2900,
|
|
3000
|
|
};
|
|
/* codebook/lsp8.txt */
|
|
static float codes07[] =
|
|
{
|
|
2300,
|
|
2400,
|
|
2500,
|
|
2600,
|
|
2700,
|
|
2800,
|
|
2900,
|
|
3000
|
|
};
|
|
/* codebook/lsp9.txt */
|
|
static float codes08[] =
|
|
{
|
|
2500,
|
|
2600,
|
|
2700,
|
|
2800,
|
|
2900,
|
|
3000,
|
|
3100,
|
|
3200
|
|
};
|
|
/* codebook/lsp10.txt */
|
|
static float codes09[] =
|
|
{
|
|
2900,
|
|
3100,
|
|
3300,
|
|
3500
|
|
};
|
|
|
|
const struct lsp_codebook lsp_cb[] =
|
|
{
|
|
/* codebook/lsp1.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes00
|
|
},
|
|
/* codebook/lsp2.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes01
|
|
},
|
|
/* codebook/lsp3.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes02
|
|
},
|
|
/* codebook/lsp4.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes03
|
|
},
|
|
/* codebook/lsp5.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes04
|
|
},
|
|
/* codebook/lsp6.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes05
|
|
},
|
|
/* codebook/lsp7.txt */
|
|
{
|
|
1,
|
|
4,
|
|
16,
|
|
codes06
|
|
},
|
|
/* codebook/lsp8.txt */
|
|
{
|
|
1,
|
|
3,
|
|
8,
|
|
codes07
|
|
},
|
|
/* codebook/lsp9.txt */
|
|
{
|
|
1,
|
|
3,
|
|
8,
|
|
codes08
|
|
},
|
|
/* codebook/lsp10.txt */
|
|
{
|
|
1,
|
|
2,
|
|
4,
|
|
codes09
|
|
},
|
|
{ 0, 0, 0, 0 }
|
|
};
|
|
|
|
/* codebook/dlsp1.txt */
|
|
static float codes10[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp2.txt */
|
|
static float codes11[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp3.txt */
|
|
static float codes12[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp4.txt */
|
|
static float codes13[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
250,
|
|
300,
|
|
350,
|
|
400,
|
|
450,
|
|
500,
|
|
550,
|
|
600,
|
|
650,
|
|
700,
|
|
750,
|
|
800,
|
|
850,
|
|
900,
|
|
950,
|
|
1000,
|
|
1050,
|
|
1100,
|
|
1150,
|
|
1200,
|
|
1250,
|
|
1300,
|
|
1350,
|
|
1400
|
|
};
|
|
/* codebook/dlsp5.txt */
|
|
static float codes14[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
250,
|
|
300,
|
|
350,
|
|
400,
|
|
450,
|
|
500,
|
|
550,
|
|
600,
|
|
650,
|
|
700,
|
|
750,
|
|
800,
|
|
850,
|
|
900,
|
|
950,
|
|
1000,
|
|
1050,
|
|
1100,
|
|
1150,
|
|
1200,
|
|
1250,
|
|
1300,
|
|
1350,
|
|
1400
|
|
};
|
|
/* codebook/dlsp6.txt */
|
|
static float codes15[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
250,
|
|
300,
|
|
350,
|
|
400,
|
|
450,
|
|
500,
|
|
550,
|
|
600,
|
|
650,
|
|
700,
|
|
750,
|
|
800,
|
|
850,
|
|
900,
|
|
950,
|
|
1000,
|
|
1050,
|
|
1100,
|
|
1150,
|
|
1200,
|
|
1250,
|
|
1300,
|
|
1350,
|
|
1400
|
|
};
|
|
/* codebook/dlsp7.txt */
|
|
static float codes16[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp8.txt */
|
|
static float codes17[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp9.txt */
|
|
static float codes18[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
/* codebook/dlsp10.txt */
|
|
static float codes19[] =
|
|
{
|
|
25,
|
|
50,
|
|
75,
|
|
100,
|
|
125,
|
|
150,
|
|
175,
|
|
200,
|
|
225,
|
|
250,
|
|
275,
|
|
300,
|
|
325,
|
|
350,
|
|
375,
|
|
400,
|
|
425,
|
|
450,
|
|
475,
|
|
500,
|
|
525,
|
|
550,
|
|
575,
|
|
600,
|
|
625,
|
|
650,
|
|
675,
|
|
700,
|
|
725,
|
|
750,
|
|
775,
|
|
800
|
|
};
|
|
|
|
const struct lsp_codebook lsp_cbd[] =
|
|
{
|
|
/* codebook/dlsp1.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes10
|
|
},
|
|
/* codebook/dlsp2.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes11
|
|
},
|
|
/* codebook/dlsp3.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes12
|
|
},
|
|
/* codebook/dlsp4.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes13
|
|
},
|
|
/* codebook/dlsp5.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes14
|
|
},
|
|
/* codebook/dlsp6.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes15
|
|
},
|
|
/* codebook/dlsp7.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes16
|
|
},
|
|
/* codebook/dlsp8.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes17
|
|
},
|
|
/* codebook/dlsp9.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes18
|
|
},
|
|
/* codebook/dlsp10.txt */
|
|
{
|
|
1,
|
|
5,
|
|
32,
|
|
codes19
|
|
},
|
|
{ 0, 0, 0, 0 }
|
|
};
|
|
|
|
|
|
/* codebook/gecb.txt */
|
|
static float codes30[] =
|
|
{
|
|
2.71, 12.0184,
|
|
0.04675, -2.73881,
|
|
0.120993, 8.38895,
|
|
-1.58028, -0.892307,
|
|
1.19307, -1.91561,
|
|
0.187101, -3.27679,
|
|
0.332251, -7.66455,
|
|
-1.47944, 31.2461,
|
|
1.52761, 27.7095,
|
|
-0.524379, 5.25012,
|
|
0.55333, 7.4388,
|
|
-0.843451, -1.95299,
|
|
2.26389, 8.61029,
|
|
0.143143, 2.36549,
|
|
0.616506, 1.28427,
|
|
-1.71133, 22.0967,
|
|
1.00813, 17.3965,
|
|
-0.106718, 1.41891,
|
|
-0.136246, 14.2736,
|
|
-1.70909, -20.5319,
|
|
1.65787, -3.39107,
|
|
0.138049, -4.95785,
|
|
0.536729, -1.94375,
|
|
0.196307, 36.8519,
|
|
1.27248, 22.5565,
|
|
-0.670219, -1.90604,
|
|
0.382092, 6.40113,
|
|
-0.756911, -4.90102,
|
|
1.82931, 4.6138,
|
|
0.318794, 0.73683,
|
|
0.612815, -2.07505,
|
|
-0.410151, 24.7871,
|
|
1.77602, 13.1909,
|
|
0.106457, -0.104492,
|
|
0.192206, 10.1838,
|
|
-1.82442, -7.71565,
|
|
0.931346, 4.34835,
|
|
0.308813, -4.086,
|
|
0.397143, -11.8089,
|
|
-0.048715, 41.2273,
|
|
0.877342, 35.8503,
|
|
-0.759794, 0.476634,
|
|
0.978593, 7.67467,
|
|
-1.19506, 3.03883,
|
|
2.63989, -3.41106,
|
|
0.191127, 3.60351,
|
|
0.402932, 1.0843,
|
|
-2.15202, 18.1076,
|
|
1.5468, 8.32271,
|
|
-0.143089, -4.07592,
|
|
-0.150142, 5.86674,
|
|
-1.40844, -3.2507,
|
|
1.56615, -10.4132,
|
|
0.178171, -10.2267,
|
|
0.362164, -0.028556,
|
|
-0.070125, 24.3907,
|
|
0.594752, 17.4828,
|
|
-0.28698, -6.90407,
|
|
0.464818, 10.2055,
|
|
-1.00684, -14.3572,
|
|
2.32957, -3.69161,
|
|
0.335745, 2.40714,
|
|
1.01966, -3.15565,
|
|
-1.25945, 7.9919,
|
|
2.38369, 19.6806,
|
|
-0.094947, -2.41374,
|
|
0.20933, 6.66477,
|
|
-2.22103, 1.37986,
|
|
1.29239, 2.04633,
|
|
0.243626, -0.890741,
|
|
0.428773, -7.19366,
|
|
-1.11374, 41.3414,
|
|
2.6098, 31.1405,
|
|
-0.446468, 2.53419,
|
|
0.490104, 4.62757,
|
|
-1.11723, -3.24174,
|
|
1.79156, 8.41493,
|
|
0.156012, 0.183336,
|
|
0.532447, 3.15455,
|
|
-0.764484, 18.514,
|
|
0.952395, 11.7713,
|
|
-0.332567, 0.346987,
|
|
0.202165, 14.7168,
|
|
-2.12924, -15.559,
|
|
1.35358, -1.92679,
|
|
-0.010963, -16.3364,
|
|
0.399053, -2.79057,
|
|
0.750657, 31.1483,
|
|
0.655743, 24.4819,
|
|
-0.45321, -0.735879,
|
|
0.2869, 6.5467,
|
|
-0.715673, -12.3578,
|
|
1.54849, 3.87217,
|
|
0.271874, 0.802339,
|
|
0.502073, -4.85485,
|
|
-0.497037, 17.7619,
|
|
1.19116, 13.9544,
|
|
0.01563, 1.33157,
|
|
0.341867, 8.93537,
|
|
-2.31601, -5.39506,
|
|
0.75861, 1.9645,
|
|
0.24132, -3.23769,
|
|
0.267151, -11.2344,
|
|
-0.273126, 32.6248,
|
|
1.75352, 40.432,
|
|
-0.784011, 3.04576,
|
|
0.705987, 5.66118,
|
|
-1.3864, 1.35356,
|
|
2.37646, 1.67485,
|
|
0.242973, 4.73218,
|
|
0.491227, 0.354061,
|
|
-1.60676, 8.65895,
|
|
1.16711, 5.9871,
|
|
-0.137601, -12.0417,
|
|
-0.251375, 10.3972,
|
|
-1.43151, -8.90411,
|
|
0.98828, -13.209,
|
|
0.261484, -6.35497,
|
|
0.395932, -0.702529,
|
|
0.283704, 26.8996,
|
|
0.420959, 15.4418,
|
|
-0.355804, -13.7278,
|
|
0.527372, 12.3985,
|
|
-1.16956, -15.9985,
|
|
1.90669, -5.81605,
|
|
0.354492, 3.85157,
|
|
0.82576, -4.16264,
|
|
-0.49019, 13.0572,
|
|
2.25577, 13.5264,
|
|
-0.004956, -3.23713,
|
|
0.026709, 7.86645,
|
|
-1.81037, -0.451183,
|
|
1.08383, -0.18362,
|
|
0.135836, -2.26658,
|
|
0.375812, -5.51225,
|
|
-1.96644, 38.6829,
|
|
1.97799, 24.5655,
|
|
-0.704656, 6.35881,
|
|
0.480786, 7.05175,
|
|
-0.976417, -2.42273,
|
|
2.50215, 6.75935,
|
|
0.083588, 3.2588,
|
|
0.543629, 0.910013,
|
|
-1.23196, 23.0915,
|
|
0.785492, 14.807,
|
|
-0.213554, 1.688,
|
|
0.004748, 18.1718,
|
|
-1.54719, -16.1168,
|
|
1.50104, -3.28114,
|
|
0.080133, -4.63472,
|
|
0.476592, -2.18093,
|
|
0.44247, 40.304,
|
|
1.07277, 27.592,
|
|
-0.594738, -4.16681,
|
|
0.42248, 7.61609,
|
|
-0.927521, -7.27441,
|
|
1.99162, 1.29636,
|
|
0.291307, 2.39878,
|
|
0.721081, -1.95062,
|
|
-0.804256, 24.9295,
|
|
1.64839, 19.1197,
|
|
0.060852, -0.590639,
|
|
0.266085, 9.10325,
|
|
-1.9574, -2.88461,
|
|
1.11693, 2.6724,
|
|
0.35458, -2.74854,
|
|
0.330733, -14.1561,
|
|
-0.527851, 39.5756,
|
|
0.991152, 43.195,
|
|
-0.589619, 1.26919,
|
|
0.787401, 8.73071,
|
|
-1.0138, 1.02507,
|
|
2.8254, 1.89538,
|
|
0.24089, 2.74557,
|
|
0.427195, 2.54446,
|
|
-1.95311, 12.244,
|
|
1.44862, 12.0607,
|
|
-0.210492, -3.37906,
|
|
-0.056713, 10.204,
|
|
-1.65237, -5.10274,
|
|
1.29475, -12.2708,
|
|
0.111608, -8.67592,
|
|
0.326634, -1.16763,
|
|
0.021781, 31.1258,
|
|
0.455335, 21.4684,
|
|
-0.37544, -3.37121,
|
|
0.39362, 11.302,
|
|
-0.851456, -19.4149,
|
|
2.10703, -2.22886,
|
|
0.373233, 1.92406,
|
|
0.884438, -1.72058,
|
|
-0.975127, 9.84013,
|
|
2.0033, 17.3954,
|
|
-0.036915, -1.11137,
|
|
0.148456, 5.39997,
|
|
-1.91441, 4.77382,
|
|
1.44791, 0.537122,
|
|
0.194979, -1.03818,
|
|
0.495771, -9.95502,
|
|
-1.05899, 32.9471,
|
|
2.01122, 32.4544,
|
|
-0.30965, 4.71911,
|
|
0.436082, 4.63552,
|
|
-1.23711, -1.25428,
|
|
2.02274, 9.42834,
|
|
0.190342, 1.46077,
|
|
0.479017, 2.48479,
|
|
-1.07848, 16.2217,
|
|
1.20764, 9.65421,
|
|
-0.258087, -1.67236,
|
|
0.071852, 13.416,
|
|
-1.87723, -16.072,
|
|
1.28957, -4.87118,
|
|
0.067713, -13.4427,
|
|
0.435551, -4.1655,
|
|
0.46614, 30.5895,
|
|
0.904895, 21.598,
|
|
-0.518369, -2.53205,
|
|
0.337363, 5.63726,
|
|
-0.554975, -17.4005,
|
|
1.69188, 1.14574,
|
|
0.227934, 0.889297,
|
|
0.587303, -5.72973,
|
|
-0.262133, 18.6666,
|
|
1.39505, 17.0029,
|
|
-0.01909, 4.30838,
|
|
0.304235, 12.6699,
|
|
-2.07406, -6.46084,
|
|
0.920546, 1.21296,
|
|
0.284927, -1.78547,
|
|
0.209724, -16.024,
|
|
-0.636067, 31.5768,
|
|
1.34989, 34.6775,
|
|
-0.971625, 5.30086,
|
|
0.590249, 4.44971,
|
|
-1.56787, 3.60239,
|
|
2.1455, 4.51666,
|
|
0.296022, 4.12017,
|
|
0.445299, 0.868772,
|
|
-1.44193, 14.1284,
|
|
1.35575, 6.0074,
|
|
-0.012814, -7.49657,
|
|
-0.43, 8.50012,
|
|
-1.20469, -7.11326,
|
|
1.10102, -6.83682,
|
|
0.196463, -6.234,
|
|
0.436747, -1.12979,
|
|
0.141052, 22.8549,
|
|
0.290821, 18.8114,
|
|
-0.529536, -7.73251,
|
|
0.63428, 10.7898,
|
|
-1.33472, -20.3258,
|
|
1.81564, -1.90332,
|
|
0.394778, 3.79758,
|
|
0.732682, -8.18382,
|
|
-0.741244, 11.7683
|
|
};
|
|
|
|
const struct lsp_codebook ge_cb[] =
|
|
{
|
|
/* codebook/gecb.txt */
|
|
{
|
|
2,
|
|
8,
|
|
256,
|
|
codes30
|
|
},
|
|
{ 0, 0, 0, 0 }
|
|
};
|