00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #if !defined(_SPANDSP_G168MODELS_H_)
00032 #define _SPANDSP_G168MODELS_H_
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 const int32_t line_model_d2_coeffs[] =
00045 {
00046 -436, -829, -2797, -4208, -17968, -11215, 46150, 34480,
00047 -10427, 9049, -1309, -6320, 390, -8191, -1751, -6051,
00048 -3796, -4055, -3948, -2557, -3372, -1808, -2259, -1300,
00049 -1098, -618, -340, -61, 323, 419, 745, 716,
00050 946, 880, 1014, 976, 1033, 1091, 1053, 1042,
00051 794, 831, 899, 716, 390, 313, 304, 304,
00052 73, -119, -109, -176, -359, -407, -512, -580,
00053 -704, -618, -685, -791, -772, -820, -839, -724
00054 };
00055
00056
00057
00058
00059
00060
00061
00062
00063 const int32_t line_model_d3_coeffs[] =
00064 {
00065 -381, 658, 1730, -51, -3511, -1418, 7660, 8861,
00066 -8106, -21370, -5307, 23064, 24020, 1020, -12374, -16296,
00067 -19524, -7480, 13509, 17115, 13952, 13952, 97, -9326,
00068 -9046, -15208, -9853, -3858, -1979, 6029, 5616, 7214,
00069 6820, 3935, 3919, 921, 1316, -693, -759, -1517,
00070 -2176, -2028, -2654, -1814, -2077, -1468, -1221, -842,
00071 -463, -298, -68, 64, 493, 723, 789, 954,
00072 756, 839, 872, 1020, 789, 822, 558, 658,
00073 476, 377, 377, 262, 97, -68, -183, -232,
00074 -331, -347, -430, -314, -430, -463, -463, -414,
00075 -381, -479, -479, -512, -479, -397, -430, -397,
00076 -298, -265, -249, -216, -249, -265, -166, -232
00077 };
00078
00079
00080
00081
00082
00083
00084
00085
00086 const int32_t line_model_d4_coeffs[] =
00087 {
00088 -448, -436, 2230, 2448, -4178, -7050, 5846, 18581,
00089 2322, -26261, -16249, 21637, 25649, -2267, -10311, -4693,
00090 -12690, -7428, 14164, 13467, 4438, 8627, 456, -11879,
00091 -6352, -5104, -7496, 3271, 6566, 4277, 11131, 7562,
00092 1475, 3728, -3525, -7301, -3101, -9269, -6146, -2553,
00093 -6272, 811, 124, 788, 5147, 2172, 5387, 4598,
00094 3535, 4004, 2311, 2150, 1017, 330, -139, -573,
00095 -1100, -1157, -1180, -1455, -1123, -1386, -1123, -1066,
00096 -1020, -1100, -1008, -1077, -1088, -917, -917, -963,
00097 -814, -871, -734, -642, -562, -356, -379, -345,
00098 -230, -233, -333, -356, -390, -310, -265, -368,
00099 -310, -310, -390, -482, -459, -482, -551, -573
00100 };
00101
00102
00103
00104
00105
00106
00107
00108
00109 const int32_t line_model_d5_coeffs[] =
00110 {
00111 160, 312, -241, -415, 897, 908, -1326, -1499,
00112 2405, 3347, -3624, -7733, 4041, 14484, -1477, -21739,
00113 -4470, 25356, 11458, -19696, -11800, 5766, 789, 6633,
00114 14624, -6975, -17156, -187, 149, 1515, 14907, 4345,
00115 -7128, -2757, -10185, -7083, 6850, 3944, 6969, 8694,
00116 -4068, -3852, -5793, -9371, 453, 1060, 3965, 9463,
00117 2393, 2784, -892, -7366, -3376, -5847, -2399, 3011,
00118 1537, 6623, 4205, 1602, 1592, -4752, -3646, -5207,
00119 -5577, -501, -1174, 4041, 5647, 4628, 7252, 2123,
00120 2654, -881, -4113, -3244, -7289, -3830, -4600, -2508,
00121 431, -144, 4184, 2372, 4617, 3576, 2382, 2839,
00122 -404, 539, -1803, -1401, -1705, -2269, -783, -1608,
00123 -220, -306, 257, 615, 225, 561, 8, 344,
00124 127, -57, 182, 41, 203, -111, 95, -79,
00125 30, 84, -13, -68, -241, -68, -24, 19,
00126 -57, -24, 30, -68, 84, -155, -68, 19
00127 };
00128
00129
00130
00131
00132
00133
00134
00135
00136 const int32_t line_model_d6_coeffs[] =
00137 {
00138 293, 268, 475, 460, 517, 704, 581, 879,
00139 573, 896, 604, 787, 561, 538, 440, 97,
00140 265, -385, 20, -938, -523, -1438, -1134, -1887,
00141 -1727, -1698, -4266, -22548, -43424, 2743, 25897, 7380,
00142 21499, 11983, 10400, 11667, 3889, 7241, 925, 2018,
00143 -821, -2068, -2236, -4283, -3406, -5022, -4039, -4842,
00144 -4104, -4089, -3582, -2978, -2734, -1805, -1608, -645,
00145 -495, 279, 471, 947, 1186, 1438, 1669, 1640,
00146 1901, 1687, 1803, 1543, 1566, 1342, 1163, 963,
00147 733, 665, 323, 221, -14, -107, -279, -379,
00148 -468, -513, -473, -588, -612, -652, -616, -566,
00149 -515, -485, -404, -344, -290, -202, -180, -123
00150 };
00151
00152
00153
00154
00155
00156
00157
00158
00159 const int32_t line_model_d7_coeffs[] =
00160 {
00161 29, 109, -83, 198, -294, -135, -415, -202,
00162 -444, -337, -313, -450, -105, -503, 145, -490,
00163 267, -231, 340, 77, 343, 783, 158, 1341,
00164 195, 1798, 344, 1845, 629, 1604, 1182, 940,
00165 5163, 19522, 8421, -50953, -9043, 18046, -13553, 13336,
00166 -3471, -107, 1788, -7409, 2469, -7994, 490, -3860,
00167 -837, 490, -636, 3682, 1141, 5019, 2635, 5025,
00168 3946, 4414, 4026, 3005, 3380, 1616, 2007, 158,
00169 388, -1198, -1117, -2134, -2547, -2589, -3310, -2778,
00170 -3427, -2779, -3116, -2502, -2399, -1956, -1539, -1239,
00171 -570, -377, 251, 331, 964, 1177, 1449, 1564,
00172 1724, 1871, 1767, 1802, 1630, 1632, 1379, 1271,
00173 1063, 856, 711, 482, 289, 54, -137, -321,
00174 -490, -638, -764, -836, -800, -859, -838, -837,
00175 -834, -740, -673, -581, -493, -436, -327, -201
00176 };
00177
00178
00179
00180
00181
00182
00183
00184
00185 const int32_t line_model_d8_coeffs[] =
00186 {
00187 258, -111, 337, -319, 347, -434, 192, -450,
00188 -108, -343, -596, -177, -1187, -52, -1781, -147,
00189 -1959, -326, -1601, -1389, -13620, -720, 33818, -10683,
00190 -6742, 12489, -9862, 8950, -1574, 758, 3526, -3118,
00191 2421, -8966, -4901, 11385, 18072, -14410, -7473, 19836,
00192 -16854, -3115, 9483, -17799, 7399, -4342, -7415, 7929,
00193 -10726, 6239, -2526, -1317, 5345, -4565, 6868, -2195,
00194 3425, 1969, -109, 3963, -1275, 3087, -892, 1239,
00195 2, -427, 596, -1184, 551, -1244, 141, -743,
00196 -415, -372, -769, -183, -785, -270, -659, -377,
00197 -523, -325, -245, -255, -60, 35, 218, 149,
00198 340, 233, 365, 303, 251, 230, 209, 179
00199 };
00200
00201
00202
00203
00204
00205
00206
00207
00208 const int32_t line_model_d9_coeffs[] =
00209 {
00210 80, 31, 4, 42, 42, -61, -81, -64,
00211 121, -102, -26, 1002, -9250, -22562, 39321, 35681,
00212 -35289, 25312, -1457, -229, 15659, -6786, 16791, 3860,
00213 2239, -28730, -11885, 33871, -176, -16421, 18173, -9669,
00214 -10163, 9941, -19365, 3592, -5907, -10257, 5336, -12933,
00215 4348, -4802, -1791, 3035, -4433, 5553, -2596, 3992,
00216 1255, 1450, 4079, 324, 4340, 1059, 3083, 1917,
00217 1756, 2478, 1027, 1871, 845, 1284, 813, 806,
00218 869, 471, 646, 438, 449, 432, 473, 394,
00219 452, 538, 717, 723, 850, 756, 753, 899,
00220 555, 669, 619, 500, 650, 615, 516, 492,
00221 427, 291, 356, 147, 107, -50, -88, -59,
00222 -238, -165, -183
00223 };
00224
00225
00226
00227
00228
00229 const float level_measurement_bp_coeffs[] =
00230 {
00231 0.0000, 0.0006, 0.0005, 0.0004, 0.0011,
00232 0.0000, 0.0015, -0.0003, 0.0012, -0.0002,
00233 0.0000, 0.0002, -0.0020, 0.0005, -0.0040,
00234 0.0000, -0.0047, -0.0019, -0.0033, -0.0047,
00235 0.0000, -0.0068, 0.0036, -0.0057, 0.0054,
00236 0.0000, 0.0044, 0.0095, 0.0017, 0.0188,
00237 0.0000, 0.0225, 0.0024, 0.0163, 0.0092,
00238 0.0000, 0.0164, -0.0210, 0.0161, -0.0375,
00239 0.0000, -0.0406, -0.0357, -0.0267, -0.0871,
00240 0.0000, -0.1420, 0.0289, -0.1843, 0.0475,
00241 0.8006, 0.0475, -0.1843, 0.0289, -0.1420,
00242 0.0000, -0.0871, -0.0267, -0.0357, -0.0406,
00243 0.0000, -0.0375, 0.0161, -0.0210, 0.0164,
00244 0.0000, 0.0092, 0.0163, 0.0024, 0.0225,
00245 0.0000, 0.0188, 0.0017, 0.0095, 0.0044,
00246 0.0000, 0.0054, -0.0057, 0.0036, -0.0068,
00247 0.0000, -0.0047, -0.0033, -0.0019, -0.0047,
00248 0.0000, -0.0040, 0.0005, -0.0020, 0.0002,
00249 0.0000, -0.0002, 0.0012, -0.0003, 0.0015,
00250 0.0000, 0.0011, 0.0004, 0.0005, 0.0006,
00251 0.0000
00252 };
00253
00254
00255
00256
00257 const int css_c1[] =
00258 {
00259 -155, 276, 517, 578, 491, 302, 86, -103,
00260 -207, -198, 60, 190, 543, 948, 1362, 1741,
00261 2043, 2276, 2422, 2500, 2552, 2595, 2655, 2758,
00262 2896, 3060, 3224, 3370, 3500, 3569, 3603, 3603,
00263 3595, 3586, 3595, 3638, 3724, 3819, 3922, 4000,
00264 4043, 4034, 3974, 3862, 3724, 3577, 3439, 3336,
00265 3267, 3224, 3198, 3172, 3129, 3043, 2914, 2750,
00266 2560, 2353, 2155, 1991, 1853, 1750, 1672, 1603,
00267 1534, 1440, 1310, 1146, 965, 776, 603, 448,
00268 345, 276, 250, 250, 267, 267, 241, 190,
00269 103, -9, -138, -267, -388, -491, -569, -638,
00270 -698, -759, -813, -888, -957, -1034, -1103, -1146,
00271 -1181, -1190, -1198, -1215, -1259, -1327, -1457, -1629,
00272 -1853, -2121, -2414, -2707, -3017, -3319, -3612, -3913,
00273 -4224, -4560, -4922, -5301, -5715, -6137, -6560, -6948,
00274 -7301, -7568, -7732, -7758, -7620, -7310, -6810, -6155,
00275 -5344, -4439, -3474, -2508, -1595, -802
00276 };
00277
00278
00279
00280
00281 const int css_c3[] =
00282 {
00283 -198, -112, -9, 103, 233, 388, 543, 724,
00284 896, 1060, 1233, 1388, 1517, 1638, 1747, 1810,
00285 1845, 1845, 1802, 1707, 1569, 1379, 1146, 871,
00286 560, 233, -121, -491, -871, -1250, -1638, -2043,
00287 -2465, -2896, -3345, -3819, -4310, -4810, -5319, -5836,
00288 -6353, -6853, -7353, -7836, -8292, -8715, -9077, -9370,
00289 -9542, -9542, -9361, -8956, -8327, -7465, -6396, -5163,
00290 -3827, -2448, -1103, 155, 1293, 2241, 3034, 3655,
00291 4138, 4517, 4827, 5094, 5344, 5594, 5827, 6043,
00292 6215, 6344, 6413, 6422, 6379, 6310, 6215, 6120,
00293 6051, 6000, 5991, 5991, 6000, 6008, 5991, 5939,
00294 5853, 5715, 5560, 5387, 5215, 5043, 4879, 4732,
00295 4586, 4439, 4276, 4086, 3870, 3629, 3370, 3086,
00296 2801, 2534, 2267, 2034, 1819, 1612, 1422, 1224,
00297 1026, 819, 603, 388, 181, 9, -181, -328,
00298 -448, -543, -629, -707, -784, -871, -948, -1026,
00299 -1112, -1181, -1241, -1276, -1293, -1302, -1293, -1267,
00300 -1250, -1233, -1224, -1224, -1224, -1224, -1215, -1198,
00301 -1172, -1129, -1077, -1026, -974, -922, -888, -871,
00302 -845, -828, -810, -793, -767, -741, -698, -672,
00303 -638, -603, -595, -586, -595, -603, -621, -629,
00304 -938, -638, -638, -638, -638, -638, -647, -664,
00305 -690, -724, -767, -793, -819, -845, -853, -871,
00306 -879, -888, -896, -922, -948, -974, -1009, -1026,
00307 -1052, -1069, -1077, -1069, -1060, -1060, -1052, -1043,
00308 -1043, -1052, -1060, -1060, -1060, -1052, -1034, -1017,
00309 -991, -957, -931, -905, -888, -862, -845, -819,
00310 -793, -767, -724, -672, -621, -560, -509, -457,
00311 -397, -345, -276, -207, -112
00312 };
00313
00314
00315
00316
00317
00318 const int tones_6_4_2_7[][2] =
00319 {
00320 { 697, 0},
00321 { 941, 0},
00322 {1336, 0},
00323 {1633, 0},
00324 { 697, 1209},
00325 { 770, 1336},
00326 { 852, 1477},
00327 { 941, 1633},
00328 { 0, 0}
00329 };
00330
00331 #endif
00332