Mercurial > hg > yjdafx13bpr
view BassPedalRackPlugin/filter.h @ 2:13ec2fa02a26 tip
(none)
author | Yannick JACOB <y.jacob@se12.qmul.ac.uk> |
---|---|
date | Tue, 03 Sep 2013 15:33:42 +0100 |
parents | 2cd427e000b0 |
children |
line wrap: on
line source
/******************************************************************************* * FILENAME * highpass_table.h * * DESCRIPTION * Header File for table of FIR filters * *******************************************************************************/ #ifndef HIGHPASS_TABLE_H #define HIGHPASS_TABLE_H /*-----------------------------------------------------------------------*/ /* highpass 1 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_1[] = { -0.00017322, -0.00017432, -0.00017717, -0.00018177, -0.00018812, -0.00019621, -0.00020605, -0.00021761, -0.00023088, -0.00024585, -0.00026249, -0.00028078, -0.00030070, -0.00032220, -0.00034527, -0.00036986, -0.00039593, -0.00042344, -0.00045236, -0.00048262, -0.00051418, -0.00054699, -0.00058099, -0.00061612, -0.00065233, -0.00068956, -0.00072773, -0.00076679, -0.00080666, -0.00084728, -0.00088858, -0.00093048, -0.00097292, -0.00101581, -0.00105908, -0.00110267, -0.00114648, -0.00119044, -0.00123447, -0.00127851, -0.00132246, -0.00136624, -0.00140980, -0.00145303, -0.00149587, -0.00153824, -0.00158007, -0.00162127, -0.00166178, -0.00170152, -0.00174042, -0.00177841, -0.00181543, -0.00185140, -0.00188626, -0.00191994, -0.00195240, -0.00198356, -0.00201337, -0.00204179, -0.00206874, -0.00209420, -0.00211811, -0.00214042, -0.00216110, -0.00218011, -0.00219742, -0.00221299, -0.00222679, -0.00223881, -0.00224901, -0.00225739, -0.00226392, -0.00226859, -0.00227140, 0.99755456, -0.00227140, -0.00226859, -0.00226392, -0.00225739, -0.00224901, -0.00223881, -0.00222679, -0.00221299, -0.00219742, -0.00218011, -0.00216110, -0.00214042, -0.00211811, -0.00209420, -0.00206874, -0.00204179, -0.00201337, -0.00198356, -0.00195240, -0.00191994, -0.00188626, -0.00185140, -0.00181543, -0.00177841, -0.00174042, -0.00170152, -0.00166178, -0.00162127, -0.00158007, -0.00153824, -0.00149587, -0.00145303, -0.00140980, -0.00136624, -0.00132246, -0.00127851, -0.00123447, -0.00119044, -0.00114648, -0.00110267, -0.00105908, -0.00101581, -0.00097292, -0.00093048, -0.00088858, -0.00084728, -0.00080666, -0.00076679, -0.00072773, -0.00068956, -0.00065233, -0.00061612, -0.00058099, -0.00054699, -0.00051418, -0.00048262, -0.00045236, -0.00042344, -0.00039593, -0.00036986, -0.00034527, -0.00032220, -0.00030070, -0.00028078, -0.00026249, -0.00024585, -0.00023088, -0.00021761, -0.00020605, -0.00019621, -0.00018812, -0.00018177, -0.00017717, -0.00017432, -0.00017432}; /*-----------------------------------------------------------------------*/ /* highpass 2 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_2[] = { -0.00029791, -0.00030106, -0.00030725, -0.00031651, -0.00032888, -0.00034438, -0.00036304, -0.00038487, -0.00040988, -0.00043805, -0.00046939, -0.00050388, -0.00054150, -0.00058222, -0.00062599, -0.00067278, -0.00072254, -0.00077520, -0.00083071, -0.00088899, -0.00094996, -0.00101354, -0.00107963, -0.00114814, -0.00121897, -0.00129200, -0.00136712, -0.00144421, -0.00152314, -0.00160378, -0.00168600, -0.00176966, -0.00185461, -0.00194071, -0.00202780, -0.00211574, -0.00220435, -0.00229349, -0.00238300, -0.00247270, -0.00256244, -0.00265204, -0.00274135, -0.00283019, -0.00291839, -0.00300580, -0.00309225, -0.00317756, -0.00326158, -0.00334415, -0.00342511, -0.00350430, -0.00358156, -0.00365675, -0.00372972, -0.00380033, -0.00386844, -0.00393392, -0.00399663, -0.00405645, -0.00411327, -0.00416697, -0.00421745, -0.00426461, -0.00430834, -0.00434857, -0.00438522, -0.00441821, -0.00444747, -0.00447296, -0.00449461, -0.00451238, -0.00452624, -0.00453616, -0.00454212, 0.99515881, -0.00454212, -0.00453616, -0.00452624, -0.00451238, -0.00449461, -0.00447296, -0.00444747, -0.00441821, -0.00438522, -0.00434857, -0.00430834, -0.00426461, -0.00421745, -0.00416697, -0.00411327, -0.00405645, -0.00399663, -0.00393392, -0.00386844, -0.00380033, -0.00372972, -0.00365675, -0.00358156, -0.00350430, -0.00342511, -0.00334415, -0.00326158, -0.00317756, -0.00309225, -0.00300580, -0.00291839, -0.00283019, -0.00274135, -0.00265204, -0.00256244, -0.00247270, -0.00238300, -0.00229349, -0.00220435, -0.00211574, -0.00202780, -0.00194071, -0.00185461, -0.00176966, -0.00168600, -0.00160378, -0.00152314, -0.00144421, -0.00136712, -0.00129200, -0.00121897, -0.00114814, -0.00107963, -0.00101354, -0.00094996, -0.00088899, -0.00083071, -0.00077520, -0.00072254, -0.00067278, -0.00062599, -0.00058222, -0.00054150, -0.00050388, -0.00046939, -0.00043805, -0.00040988, -0.00038487, -0.00036304, -0.00034438, -0.00032888, -0.00031651, -0.00030725, -0.00030106, -0.00030106}; /*-----------------------------------------------------------------------*/ /* highpass 3 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_3[] = { -0.00028555, -0.00029609, -0.00030978, -0.00032689, -0.00034768, -0.00037238, -0.00040124, -0.00043449, -0.00047233, -0.00051497, -0.00056260, -0.00061540, -0.00067352, -0.00073711, -0.00080629, -0.00088117, -0.00096184, -0.00104836, -0.00114080, -0.00123916, -0.00134347, -0.00145370, -0.00156983, -0.00169179, -0.00181951, -0.00195288, -0.00209179, -0.00223608, -0.00238558, -0.00254012, -0.00269947, -0.00286342, -0.00303170, -0.00320406, -0.00338019, -0.00355980, -0.00374256, -0.00392813, -0.00411615, -0.00430626, -0.00449806, -0.00469118, -0.00488519, -0.00507969, -0.00527425, -0.00546844, -0.00566182, -0.00585395, -0.00604439, -0.00623269, -0.00641841, -0.00660111, -0.00678034, -0.00695567, -0.00712666, -0.00729290, -0.00745397, -0.00760947, -0.00775900, -0.00790219, -0.00803867, -0.00816809, -0.00829011, -0.00840443, -0.00851074, -0.00860876, -0.00869825, -0.00877896, -0.00885069, -0.00891324, -0.00896645, -0.00901018, -0.00904431, -0.00906876, -0.00908345, 0.99063061, -0.00908345, -0.00906876, -0.00904431, -0.00901018, -0.00896645, -0.00891324, -0.00885069, -0.00877896, -0.00869825, -0.00860876, -0.00851074, -0.00840443, -0.00829011, -0.00816809, -0.00803867, -0.00790219, -0.00775900, -0.00760947, -0.00745397, -0.00729290, -0.00712666, -0.00695567, -0.00678034, -0.00660111, -0.00641841, -0.00623269, -0.00604439, -0.00585395, -0.00566182, -0.00546844, -0.00527425, -0.00507969, -0.00488519, -0.00469118, -0.00449806, -0.00430626, -0.00411615, -0.00392813, -0.00374256, -0.00355980, -0.00338019, -0.00320406, -0.00303170, -0.00286342, -0.00269947, -0.00254012, -0.00238558, -0.00223608, -0.00209179, -0.00195288, -0.00181951, -0.00169179, -0.00156983, -0.00145370, -0.00134347, -0.00123916, -0.00114080, -0.00104836, -0.00096184, -0.00088117, -0.00080629, -0.00073711, -0.00067352, -0.00061540, -0.00056260, -0.00051497, -0.00047233, -0.00043449, -0.00040124, -0.00037238, -0.00034768, -0.00032689, -0.00030978, -0.00029609, -0.00029609}; /*-----------------------------------------------------------------------*/ /* highpass 4 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_4[] = { 0.00002422, 0.00000988, -0.00000508, -0.00002111, -0.00003868, -0.00005828, -0.00008043, -0.00010564, -0.00013444, -0.00016738, -0.00020497, -0.00024777, -0.00029630, -0.00035109, -0.00041264, -0.00048145, -0.00055800, -0.00064274, -0.00073611, -0.00083849, -0.00095027, -0.00107177, -0.00120330, -0.00134509, -0.00149736, -0.00166028, -0.00183397, -0.00201848, -0.00221384, -0.00242000, -0.00263687, -0.00286431, -0.00310212, -0.00335002, -0.00360772, -0.00387483, -0.00415093, -0.00443555, -0.00472815, -0.00502814, -0.00533490, -0.00564775, -0.00596595, -0.00628875, -0.00661533, -0.00694485, -0.00727644, -0.00760919, -0.00794217, -0.00827442, -0.00860499, -0.00893287, -0.00925709, -0.00957664, -0.00989053, -0.01019777, -0.01049736, -0.01078834, -0.01106976, -0.01134068, -0.01160021, -0.01184746, -0.01208160, -0.01230184, -0.01250741, -0.01269760, -0.01287175, -0.01302927, -0.01316958, -0.01329221, -0.01339672, -0.01348273, -0.01354995, -0.01359814, -0.01362712, 0.98639451, -0.01362712, -0.01359814, -0.01354995, -0.01348273, -0.01339672, -0.01329221, -0.01316958, -0.01302927, -0.01287175, -0.01269760, -0.01250741, -0.01230184, -0.01208160, -0.01184746, -0.01160021, -0.01134068, -0.01106976, -0.01078834, -0.01049736, -0.01019777, -0.00989053, -0.00957664, -0.00925709, -0.00893287, -0.00860499, -0.00827442, -0.00794217, -0.00760919, -0.00727644, -0.00694485, -0.00661533, -0.00628875, -0.00596595, -0.00564775, -0.00533490, -0.00502814, -0.00472815, -0.00443555, -0.00415093, -0.00387483, -0.00360772, -0.00335002, -0.00310212, -0.00286431, -0.00263687, -0.00242000, -0.00221384, -0.00201848, -0.00183397, -0.00166028, -0.00149736, -0.00134509, -0.00120330, -0.00107177, -0.00095027, -0.00083849, -0.00073611, -0.00064274, -0.00055800, -0.00048145, -0.00041264, -0.00035109, -0.00029630, -0.00024777, -0.00020497, -0.00016738, -0.00013444, -0.00010564, -0.00008043, -0.00005828, -0.00003868, -0.00002111, -0.00000508, 0.00000988, 0.00000988}; /*-----------------------------------------------------------------------*/ /* highpass 5 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_5[] = { 0.00030894, 0.00030598, 0.00030484, 0.00030528, 0.00030699, 0.00030957, 0.00031257, 0.00031546, 0.00031764, 0.00031846, 0.00031719, 0.00031308, 0.00030528, 0.00029294, 0.00027514, 0.00025096, 0.00021941, 0.00017953, 0.00013033, 0.00007081, -0.00000000, -0.00008307, -0.00017935, -0.00028972, -0.00041506, -0.00055618, -0.00071381, -0.00088865, -0.00108129, -0.00129225, -0.00152196, -0.00177074, -0.00203881, -0.00232629, -0.00263317, -0.00295934, -0.00330455, -0.00366843, -0.00405049, -0.00445011, -0.00486655, -0.00529894, -0.00574629, -0.00620748, -0.00668128, -0.00716637, -0.00766129, -0.00816451, -0.00867438, -0.00918920, -0.00970717, -0.01022644, -0.01074509, -0.01126117, -0.01177268, -0.01227762, -0.01277396, -0.01325968, -0.01373276, -0.01419123, -0.01463312, -0.01505655, -0.01545966, -0.01584070, -0.01619797, -0.01652988, -0.01683493, -0.01711175, -0.01735908, -0.01757579, -0.01776088, -0.01791350, -0.01803294, -0.01811866, -0.01817025, 0.98212344, -0.01817025, -0.01811866, -0.01803294, -0.01791350, -0.01776088, -0.01757579, -0.01735908, -0.01711175, -0.01683493, -0.01652988, -0.01619797, -0.01584070, -0.01545966, -0.01505655, -0.01463312, -0.01419123, -0.01373276, -0.01325968, -0.01277396, -0.01227762, -0.01177268, -0.01126117, -0.01074509, -0.01022644, -0.00970717, -0.00918920, -0.00867438, -0.00816451, -0.00766129, -0.00716637, -0.00668128, -0.00620748, -0.00574629, -0.00529894, -0.00486655, -0.00445011, -0.00405049, -0.00366843, -0.00330455, -0.00295934, -0.00263317, -0.00232629, -0.00203881, -0.00177074, -0.00152196, -0.00129225, -0.00108129, -0.00088865, -0.00071381, -0.00055618, -0.00041506, -0.00028972, -0.00017935, -0.00008307, -0.00000000, 0.00007081, 0.00013033, 0.00017953, 0.00021941, 0.00025096, 0.00027514, 0.00029294, 0.00030528, 0.00031308, 0.00031719, 0.00031846, 0.00031764, 0.00031546, 0.00031257, 0.00030957, 0.00030699, 0.00030528, 0.00030484, 0.00030598, 0.00030598}; /*-----------------------------------------------------------------------*/ /* highpass 6 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_6[] = { -0.00004832, -0.00001974, 0.00001016, 0.00004214, 0.00007696, 0.00011536, 0.00015807, 0.00020577, 0.00025903, 0.00031834, 0.00038406, 0.00045641, 0.00053543, 0.00062097, 0.00071267, 0.00080996, 0.00091205, 0.00101788, 0.00112617, 0.00123539, 0.00134376, 0.00144928, 0.00154970, 0.00164260, 0.00172532, 0.00179507, 0.00184889, 0.00188374, 0.00189647, 0.00188389, 0.00184281, 0.00177008, 0.00166260, 0.00151740, 0.00133166, 0.00110279, 0.00082839, 0.00050639, 0.00013502, -0.00028714, -0.00076110, -0.00128747, -0.00186639, -0.00249754, -0.00318011, -0.00391281, -0.00469382, -0.00552083, -0.00639100, -0.00730102, -0.00824709, -0.00922496, -0.01022995, -0.01125697, -0.01230057, -0.01335498, -0.01441418, -0.01547188, -0.01652165, -0.01755695, -0.01857115, -0.01955766, -0.02050993, -0.02142155, -0.02228627, -0.02309812, -0.02385140, -0.02454078, -0.02516135, -0.02570863, -0.02617867, -0.02656804, -0.02687389, -0.02709398, -0.02722668, 0.97266661, -0.02722668, -0.02709398, -0.02687389, -0.02656804, -0.02617867, -0.02570863, -0.02516135, -0.02454078, -0.02385140, -0.02309812, -0.02228627, -0.02142155, -0.02050993, -0.01955766, -0.01857115, -0.01755695, -0.01652165, -0.01547188, -0.01441418, -0.01335498, -0.01230057, -0.01125697, -0.01022995, -0.00922496, -0.00824709, -0.00730102, -0.00639100, -0.00552083, -0.00469382, -0.00391281, -0.00318011, -0.00249754, -0.00186639, -0.00128747, -0.00076110, -0.00028714, 0.00013502, 0.00050639, 0.00082839, 0.00110279, 0.00133166, 0.00151740, 0.00166260, 0.00177008, 0.00184281, 0.00188389, 0.00189647, 0.00188374, 0.00184889, 0.00179507, 0.00172532, 0.00164260, 0.00154970, 0.00144928, 0.00134376, 0.00123539, 0.00112617, 0.00101788, 0.00091205, 0.00080996, 0.00071267, 0.00062097, 0.00053543, 0.00045641, 0.00038406, 0.00031834, 0.00025903, 0.00020577, 0.00015807, 0.00011536, 0.00007696, 0.00004214, 0.00001016, -0.00001974, -0.00001974}; /*-----------------------------------------------------------------------*/ /* highpass 7 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_7[] = { -0.00025654, -0.00028542, -0.00031466, -0.00034444, -0.00037472, -0.00040523, -0.00043544, -0.00046456, -0.00049152, -0.00051499, -0.00053339, -0.00054492, -0.00054762, -0.00053937, -0.00051800, -0.00048132, -0.00042719, -0.00035361, -0.00025882, -0.00014132, -0.00000000, 0.00016578, 0.00035616, 0.00057064, 0.00080811, 0.00106671, 0.00134386, 0.00163621, 0.00193963, 0.00224921, 0.00255929, 0.00286353, 0.00315491, 0.00342585, 0.00366829, 0.00387377, 0.00403360, 0.00413895, 0.00418101, 0.00415115, 0.00404104, 0.00384287, 0.00354944, 0.00315436, 0.00265221, 0.00203863, 0.00131051, 0.00046603, -0.00049514, -0.00157186, -0.00276142, -0.00405950, -0.00546018, -0.00695594, -0.00853772, -0.01019498, -0.01191579, -0.01368696, -0.01549416, -0.01732210, -0.01915472, -0.02097535, -0.02276695, -0.02451233, -0.02619438, -0.02779626, -0.02930169, -0.03069514, -0.03196205, -0.03308902, -0.03406404, -0.03487663, -0.03551801, -0.03598121, -0.03626117, 0.96340302, -0.03626117, -0.03598121, -0.03551801, -0.03487663, -0.03406404, -0.03308902, -0.03196205, -0.03069514, -0.02930169, -0.02779626, -0.02619438, -0.02451233, -0.02276695, -0.02097535, -0.01915472, -0.01732210, -0.01549416, -0.01368696, -0.01191579, -0.01019498, -0.00853772, -0.00695594, -0.00546018, -0.00405950, -0.00276142, -0.00157186, -0.00049514, 0.00046603, 0.00131051, 0.00203863, 0.00265221, 0.00315436, 0.00354944, 0.00384287, 0.00404104, 0.00415115, 0.00418101, 0.00413895, 0.00403360, 0.00387377, 0.00366829, 0.00342585, 0.00315491, 0.00286353, 0.00255929, 0.00224921, 0.00193963, 0.00163621, 0.00134386, 0.00106671, 0.00080811, 0.00057064, 0.00035616, 0.00016578, -0.00000000, -0.00014132, -0.00025882, -0.00035361, -0.00042719, -0.00048132, -0.00051800, -0.00053937, -0.00054762, -0.00054492, -0.00053339, -0.00051499, -0.00049152, -0.00046456, -0.00043544, -0.00040523, -0.00037472, -0.00034444, -0.00031466, -0.00028542, -0.00028542}; /*-----------------------------------------------------------------------*/ /* highpass 8 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_8[] = { -0.00009565, -0.00003942, 0.00002031, 0.00008373, 0.00015084, 0.00022136, 0.00029459, 0.00036929, 0.00044361, 0.00051505, 0.00058048, 0.00063615, 0.00067783, 0.00070096, 0.00070084, 0.00067290, 0.00061295, 0.00051750, 0.00038405, 0.00021142, -0.00000000, -0.00024803, -0.00052849, -0.00083511, -0.00115951, -0.00149130, -0.00181821, -0.00212640, -0.00240083, -0.00262575, -0.00278524, -0.00286387, -0.00284735, -0.00272325, -0.00248171, -0.00211611, -0.00162369, -0.00100612, -0.00026991, 0.00057331, 0.00150662, 0.00250787, 0.00354986, 0.00460080, 0.00562485, 0.00658294, 0.00743365, 0.00813435, 0.00864234, 0.00891616, 0.00891689, 0.00860945, 0.00796394, 0.00695677, 0.00557174, 0.00380099, 0.00164568, -0.00088358, -0.00376642, -0.00697286, -0.01046356, -0.01419048, -0.01809773, -0.02212273, -0.02619750, -0.03025027, -0.03420712, -0.03799378, -0.04153746, -0.04476867, -0.04762303, -0.05004288, -0.05197885, -0.05339107, -0.05425033, 0.94533834, -0.05425033, -0.05339107, -0.05197885, -0.05004288, -0.04762303, -0.04476867, -0.04153746, -0.03799378, -0.03420712, -0.03025027, -0.02619750, -0.02212273, -0.01809773, -0.01419048, -0.01046356, -0.00697286, -0.00376642, -0.00088358, 0.00164568, 0.00380099, 0.00557174, 0.00695677, 0.00796394, 0.00860945, 0.00891689, 0.00891616, 0.00864234, 0.00813435, 0.00743365, 0.00658294, 0.00562485, 0.00460080, 0.00354986, 0.00250787, 0.00150662, 0.00057331, -0.00026991, -0.00100612, -0.00162369, -0.00211611, -0.00248171, -0.00272325, -0.00284735, -0.00286387, -0.00278524, -0.00262575, -0.00240083, -0.00212640, -0.00181821, -0.00149130, -0.00115951, -0.00083511, -0.00052849, -0.00024803, -0.00000000, 0.00021142, 0.00038405, 0.00051750, 0.00061295, 0.00067290, 0.00070084, 0.00070096, 0.00067783, 0.00063615, 0.00058048, 0.00051505, 0.00044361, 0.00036929, 0.00029459, 0.00022136, 0.00015084, 0.00008373, 0.00002031, -0.00003942, -0.00003942}; /*-----------------------------------------------------------------------*/ /* highpass 9 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_high_9[] = { 0.00033619, 0.00032240, 0.00029386, 0.00025008, 0.00019063, 0.00011541, 0.00002488, -0.00007956, -0.00019534, -0.00031847, -0.00044341, -0.00056312, -0.00066919, -0.00075225, -0.00080248, -0.00081029, -0.00076716, -0.00066648, -0.00050448, -0.00028095, -0.00000000, 0.00032960, 0.00069420, 0.00107554, 0.00145123, 0.00179579, 0.00208189, 0.00228200, 0.00237024, 0.00232432, 0.00212757, 0.00177079, 0.00125380, 0.00058668, -0.00020963, -0.00110323, -0.00205202, -0.00300503, -0.00390455, -0.00468890, -0.00529572, -0.00566569, -0.00574645, -0.00549650, -0.00488887, -0.00391439, -0.00258413, -0.00093109, 0.00098924, 0.00309948, 0.00530221, 0.00748295, 0.00951439, 0.01126149, 0.01258749, 0.01336035, 0.01345940, 0.01278194, 0.01124934, 0.00881232, 0.00545517, 0.00119864, -0.00389883, -0.00974149, -0.01619843, -0.02310740, -0.03028025, -0.03750966, -0.04457702, -0.05126097, -0.05734632, -0.06263288, -0.06694380, -0.07013303, -0.07209153, 0.92758750, -0.07209153, -0.07013303, -0.06694380, -0.06263288, -0.05734632, -0.05126097, -0.04457702, -0.03750966, -0.03028025, -0.02310740, -0.01619843, -0.00974149, -0.00389883, 0.00119864, 0.00545517, 0.00881232, 0.01124934, 0.01278194, 0.01345940, 0.01336035, 0.01258749, 0.01126149, 0.00951439, 0.00748295, 0.00530221, 0.00309948, 0.00098924, -0.00093109, -0.00258413, -0.00391439, -0.00488887, -0.00549650, -0.00574645, -0.00566569, -0.00529572, -0.00468890, -0.00390455, -0.00300503, -0.00205202, -0.00110323, -0.00020963, 0.00058668, 0.00125380, 0.00177079, 0.00212757, 0.00232432, 0.00237024, 0.00228200, 0.00208189, 0.00179579, 0.00145123, 0.00107554, 0.00069420, 0.00032960, -0.00000000, -0.00028095, -0.00050448, -0.00066648, -0.00076716, -0.00081029, -0.00080248, -0.00075225, -0.00066919, -0.00056312, -0.00044341, -0.00031847, -0.00019534, -0.00007956, 0.00002488, 0.00011541, 0.00019063, 0.00025008, 0.00029386, 0.00032240, 0.00032240}; /*-----------------------------------------------------------------------*/ /* lowpass 1 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_1[] = { 0.00094747, 0.00095348, 0.00096905, 0.00099421, 0.00102895, 0.00107323, 0.00112702, 0.00119025, 0.00126284, 0.00134471, 0.00143573, 0.00153578, 0.00164470, 0.00176233, 0.00188850, 0.00202299, 0.00216560, 0.00231609, 0.00247423, 0.00263975, 0.00281238, 0.00299183, 0.00317780, 0.00336998, 0.00356804, 0.00377164, 0.00398043, 0.00419406, 0.00441215, 0.00463434, 0.00486022, 0.00508942, 0.00532153, 0.00555614, 0.00579283, 0.00603121, 0.00627084, 0.00651129, 0.00675216, 0.00699300, 0.00723339, 0.00747290, 0.00771111, 0.00794758, 0.00818191, 0.00841366, 0.00864243, 0.00886780, 0.00908937, 0.00930674, 0.00951951, 0.00972732, 0.00992977, 0.01012651, 0.01031719, 0.01050145, 0.01067896, 0.01084941, 0.01101248, 0.01116788, 0.01131533, 0.01145457, 0.01158532, 0.01170737, 0.01182049, 0.01192448, 0.01201914, 0.01210430, 0.01217981, 0.01224554, 0.01230135, 0.01234716, 0.01238287, 0.01240843, 0.01242378, 0.01242890, 0.01242378, 0.01240843, 0.01238287, 0.01234716, 0.01230135, 0.01224554, 0.01217981, 0.01210430, 0.01201914, 0.01192448, 0.01182049, 0.01170737, 0.01158532, 0.01145457, 0.01131533, 0.01116788, 0.01101248, 0.01084941, 0.01067896, 0.01050145, 0.01031719, 0.01012651, 0.00992977, 0.00972732, 0.00951951, 0.00930674, 0.00908937, 0.00886780, 0.00864243, 0.00841366, 0.00818191, 0.00794758, 0.00771111, 0.00747290, 0.00723339, 0.00699300, 0.00675216, 0.00651129, 0.00627084, 0.00603121, 0.00579283, 0.00555614, 0.00532153, 0.00508942, 0.00486022, 0.00463434, 0.00441215, 0.00419406, 0.00398043, 0.00377164, 0.00356804, 0.00336998, 0.00317780, 0.00299183, 0.00281238, 0.00263975, 0.00247423, 0.00231609, 0.00216560, 0.00202299, 0.00188850, 0.00176233, 0.00164470, 0.00153578, 0.00143573, 0.00134471, 0.00126284, 0.00119025, 0.00112702, 0.00107323, 0.00102895, 0.00099421, 0.00096905, 0.00095348, 0.00095348}; /*-----------------------------------------------------------------------*/ /* lowpass 2 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_2[] = { 0.00083374, 0.00084256, 0.00085987, 0.00088579, 0.00092041, 0.00096380, 0.00101603, 0.00107712, 0.00114709, 0.00122594, 0.00131365, 0.00141018, 0.00151546, 0.00162940, 0.00175191, 0.00188287, 0.00202212, 0.00216951, 0.00232485, 0.00248795, 0.00265858, 0.00283651, 0.00302148, 0.00321322, 0.00341143, 0.00361582, 0.00382605, 0.00404179, 0.00426269, 0.00448838, 0.00471849, 0.00495262, 0.00519037, 0.00543132, 0.00567506, 0.00592115, 0.00616916, 0.00641863, 0.00666911, 0.00692016, 0.00717129, 0.00742206, 0.00767200, 0.00792063, 0.00816749, 0.00841211, 0.00865404, 0.00889280, 0.00912795, 0.00935903, 0.00958560, 0.00980721, 0.01002344, 0.01023387, 0.01043809, 0.01063570, 0.01082631, 0.01100955, 0.01118506, 0.01135249, 0.01151150, 0.01166180, 0.01180307, 0.01193503, 0.01205743, 0.01217003, 0.01227259, 0.01236491, 0.01244681, 0.01251813, 0.01257871, 0.01262845, 0.01266724, 0.01269500, 0.01271168, 0.01271724, 0.01271168, 0.01269500, 0.01266724, 0.01262845, 0.01257871, 0.01251813, 0.01244681, 0.01236491, 0.01227259, 0.01217003, 0.01205743, 0.01193503, 0.01180307, 0.01166180, 0.01151150, 0.01135249, 0.01118506, 0.01100955, 0.01082631, 0.01063570, 0.01043809, 0.01023387, 0.01002344, 0.00980721, 0.00958560, 0.00935903, 0.00912795, 0.00889280, 0.00865404, 0.00841211, 0.00816749, 0.00792063, 0.00767200, 0.00742206, 0.00717129, 0.00692016, 0.00666911, 0.00641863, 0.00616916, 0.00592115, 0.00567506, 0.00543132, 0.00519037, 0.00495262, 0.00471849, 0.00448838, 0.00426269, 0.00404179, 0.00382605, 0.00361582, 0.00341143, 0.00321322, 0.00302148, 0.00283651, 0.00265858, 0.00248795, 0.00232485, 0.00216951, 0.00202212, 0.00188287, 0.00175191, 0.00162940, 0.00151546, 0.00141018, 0.00131365, 0.00122594, 0.00114709, 0.00107712, 0.00101603, 0.00096380, 0.00092041, 0.00088579, 0.00085987, 0.00084256, 0.00084256}; /*-----------------------------------------------------------------------*/ /* lowpass 3 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_3[] = { 0.00043674, 0.00045286, 0.00047380, 0.00049997, 0.00053176, 0.00056954, 0.00061368, 0.00066453, 0.00072240, 0.00078762, 0.00086048, 0.00094123, 0.00103012, 0.00112738, 0.00123319, 0.00134772, 0.00147110, 0.00160343, 0.00174480, 0.00189525, 0.00205478, 0.00222338, 0.00240099, 0.00258753, 0.00278287, 0.00298686, 0.00319931, 0.00341999, 0.00364865, 0.00388501, 0.00412874, 0.00437948, 0.00463687, 0.00490048, 0.00516987, 0.00544457, 0.00572409, 0.00600791, 0.00629548, 0.00658624, 0.00687961, 0.00717497, 0.00747170, 0.00776918, 0.00806675, 0.00836375, 0.00865952, 0.00895338, 0.00924465, 0.00953265, 0.00981671, 0.01009613, 0.01037026, 0.01063841, 0.01089994, 0.01115420, 0.01140055, 0.01163838, 0.01186708, 0.01208608, 0.01229482, 0.01249276, 0.01267939, 0.01285423, 0.01301683, 0.01316676, 0.01330362, 0.01342707, 0.01353677, 0.01363244, 0.01371383, 0.01378071, 0.01383291, 0.01387030, 0.01389277, 0.01390027, 0.01389277, 0.01387030, 0.01383291, 0.01378071, 0.01371383, 0.01363244, 0.01353677, 0.01342707, 0.01330362, 0.01316676, 0.01301683, 0.01285423, 0.01267939, 0.01249276, 0.01229482, 0.01208608, 0.01186708, 0.01163838, 0.01140055, 0.01115420, 0.01089994, 0.01063841, 0.01037026, 0.01009613, 0.00981671, 0.00953265, 0.00924465, 0.00895338, 0.00865952, 0.00836375, 0.00806675, 0.00776918, 0.00747170, 0.00717497, 0.00687961, 0.00658624, 0.00629548, 0.00600791, 0.00572409, 0.00544457, 0.00516987, 0.00490048, 0.00463687, 0.00437948, 0.00412874, 0.00388501, 0.00364865, 0.00341999, 0.00319931, 0.00298686, 0.00278287, 0.00258753, 0.00240099, 0.00222338, 0.00205478, 0.00189525, 0.00174480, 0.00160343, 0.00147110, 0.00134772, 0.00123319, 0.00112738, 0.00103012, 0.00094123, 0.00086048, 0.00078762, 0.00072240, 0.00066453, 0.00061368, 0.00056954, 0.00053176, 0.00049997, 0.00047380, 0.00045286, 0.00045286}; /*-----------------------------------------------------------------------*/ /* lowpass 4 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_4[] = { -0.00002835, -0.00001156, 0.00000595, 0.00002470, 0.00004526, 0.00006820, 0.00009412, 0.00012362, 0.00015733, 0.00019587, 0.00023987, 0.00028995, 0.00034674, 0.00041085, 0.00048288, 0.00056340, 0.00065298, 0.00075215, 0.00086141, 0.00098123, 0.00111204, 0.00125422, 0.00140813, 0.00157406, 0.00175226, 0.00194291, 0.00214616, 0.00236208, 0.00259069, 0.00283195, 0.00308574, 0.00335190, 0.00363018, 0.00392029, 0.00422185, 0.00453443, 0.00485754, 0.00519060, 0.00553301, 0.00588407, 0.00624305, 0.00660915, 0.00698152, 0.00735926, 0.00774144, 0.00812705, 0.00851509, 0.00890448, 0.00929414, 0.00968296, 0.01006979, 0.01045350, 0.01083291, 0.01120686, 0.01157418, 0.01193371, 0.01228430, 0.01262482, 0.01295414, 0.01327118, 0.01357489, 0.01386423, 0.01413823, 0.01439595, 0.01463651, 0.01485908, 0.01506289, 0.01524721, 0.01541141, 0.01555492, 0.01567721, 0.01577787, 0.01585653, 0.01591292, 0.01594683, 0.01595815, 0.01594683, 0.01591292, 0.01585653, 0.01577787, 0.01567721, 0.01555492, 0.01541141, 0.01524721, 0.01506289, 0.01485908, 0.01463651, 0.01439595, 0.01413823, 0.01386423, 0.01357489, 0.01327118, 0.01295414, 0.01262482, 0.01228430, 0.01193371, 0.01157418, 0.01120686, 0.01083291, 0.01045350, 0.01006979, 0.00968296, 0.00929414, 0.00890448, 0.00851509, 0.00812705, 0.00774144, 0.00735926, 0.00698152, 0.00660915, 0.00624305, 0.00588407, 0.00553301, 0.00519060, 0.00485754, 0.00453443, 0.00422185, 0.00392029, 0.00363018, 0.00335190, 0.00308574, 0.00283195, 0.00259069, 0.00236208, 0.00214616, 0.00194291, 0.00175226, 0.00157406, 0.00140813, 0.00125422, 0.00111204, 0.00098123, 0.00086141, 0.00075215, 0.00065298, 0.00056340, 0.00048288, 0.00041085, 0.00034674, 0.00028995, 0.00023987, 0.00019587, 0.00015733, 0.00012362, 0.00009412, 0.00006820, 0.00004526, 0.00002470, 0.00000595, -0.00001156, -0.00001156}; /*-----------------------------------------------------------------------*/ /* lowpass 5 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_5[] = { -0.00032178, -0.00031869, -0.00031751, -0.00031797, -0.00031974, -0.00032243, -0.00032555, -0.00032856, -0.00033083, -0.00033169, -0.00033037, -0.00032608, -0.00031796, -0.00030511, -0.00028657, -0.00026138, -0.00022853, -0.00018699, -0.00013574, -0.00007375, 0.00000000, 0.00008652, 0.00018680, 0.00030176, 0.00043231, 0.00057928, 0.00074347, 0.00092557, 0.00112621, 0.00134594, 0.00158519, 0.00184430, 0.00212351, 0.00242293, 0.00274257, 0.00308228, 0.00344183, 0.00382083, 0.00421876, 0.00463499, 0.00506873, 0.00551908, 0.00598501, 0.00646536, 0.00695885, 0.00746409, 0.00797957, 0.00850369, 0.00903475, 0.00957096, 0.01011045, 0.01065129, 0.01119149, 0.01172901, 0.01226177, 0.01278769, 0.01330465, 0.01381054, 0.01430328, 0.01478079, 0.01524105, 0.01568206, 0.01610193, 0.01649879, 0.01687090, 0.01721660, 0.01753433, 0.01782265, 0.01808026, 0.01830597, 0.01849874, 0.01865770, 0.01878211, 0.01887139, 0.01892512, 0.01894306, 0.01892512, 0.01887139, 0.01878211, 0.01865770, 0.01849874, 0.01830597, 0.01808026, 0.01782265, 0.01753433, 0.01721660, 0.01687090, 0.01649879, 0.01610193, 0.01568206, 0.01524105, 0.01478079, 0.01430328, 0.01381054, 0.01330465, 0.01278769, 0.01226177, 0.01172901, 0.01119149, 0.01065129, 0.01011045, 0.00957096, 0.00903475, 0.00850369, 0.00797957, 0.00746409, 0.00695885, 0.00646536, 0.00598501, 0.00551908, 0.00506873, 0.00463499, 0.00421876, 0.00382083, 0.00344183, 0.00308228, 0.00274257, 0.00242293, 0.00212351, 0.00184430, 0.00158519, 0.00134594, 0.00112621, 0.00092557, 0.00074347, 0.00057928, 0.00043231, 0.00030176, 0.00018680, 0.00008652, 0.00000000, -0.00007375, -0.00013574, -0.00018699, -0.00022853, -0.00026138, -0.00028657, -0.00030511, -0.00031796, -0.00032608, -0.00033037, -0.00033169, -0.00033083, -0.00032856, -0.00032555, -0.00032243, -0.00031974, -0.00031797, -0.00031751, -0.00031869, -0.00031869}; /*-----------------------------------------------------------------------*/ /* lowpass 6 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_6[] = { 0.00004813, 0.00001967, -0.00001012, -0.00004198, -0.00007666, -0.00011492, -0.00015747, -0.00020498, -0.00025804, -0.00031712, -0.00038260, -0.00045467, -0.00053338, -0.00061859, -0.00070994, -0.00080687, -0.00090856, -0.00101399, -0.00112187, -0.00123067, -0.00133863, -0.00144374, -0.00154378, -0.00163632, -0.00171873, -0.00178821, -0.00184183, -0.00187654, -0.00188922, -0.00187669, -0.00183577, -0.00176332, -0.00165624, -0.00151160, -0.00132658, -0.00109857, -0.00082523, -0.00050446, -0.00013450, 0.00028604, 0.00075820, 0.00128255, 0.00185926, 0.00248799, 0.00316796, 0.00389787, 0.00467589, 0.00549974, 0.00636658, 0.00727312, 0.00821558, 0.00918972, 0.01019087, 0.01121396, 0.01225358, 0.01330397, 0.01435911, 0.01541277, 0.01645854, 0.01748988, 0.01850021, 0.01948295, 0.02043158, 0.02133971, 0.02220114, 0.02300988, 0.02376028, 0.02444704, 0.02506523, 0.02561042, 0.02607866, 0.02646654, 0.02677123, 0.02699047, 0.02712267, 0.02716685, 0.02712267, 0.02699047, 0.02677123, 0.02646654, 0.02607866, 0.02561042, 0.02506523, 0.02444704, 0.02376028, 0.02300988, 0.02220114, 0.02133971, 0.02043158, 0.01948295, 0.01850021, 0.01748988, 0.01645854, 0.01541277, 0.01435911, 0.01330397, 0.01225358, 0.01121396, 0.01019087, 0.00918972, 0.00821558, 0.00727312, 0.00636658, 0.00549974, 0.00467589, 0.00389787, 0.00316796, 0.00248799, 0.00185926, 0.00128255, 0.00075820, 0.00028604, -0.00013450, -0.00050446, -0.00082523, -0.00109857, -0.00132658, -0.00151160, -0.00165624, -0.00176332, -0.00183577, -0.00187669, -0.00188922, -0.00187654, -0.00184183, -0.00178821, -0.00171873, -0.00163632, -0.00154378, -0.00144374, -0.00133863, -0.00123067, -0.00112187, -0.00101399, -0.00090856, -0.00080687, -0.00070994, -0.00061859, -0.00053338, -0.00045467, -0.00038260, -0.00031712, -0.00025804, -0.00020498, -0.00015747, -0.00011492, -0.00007666, -0.00004198, -0.00001012, 0.00001967, 0.00001967}; /*-----------------------------------------------------------------------*/ /* lowpass 7 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_7[] = { 0.00025614, 0.00028498, 0.00031418, 0.00034391, 0.00037414, 0.00040460, 0.00043477, 0.00046384, 0.00049076, 0.00051419, 0.00053256, 0.00054408, 0.00054677, 0.00053854, 0.00051720, 0.00048057, 0.00042653, 0.00035307, 0.00025842, 0.00014110, -0.00000000, -0.00016553, -0.00035561, -0.00056976, -0.00080686, -0.00106506, -0.00134179, -0.00163369, -0.00193663, -0.00224573, -0.00255534, -0.00285911, -0.00315004, -0.00342056, -0.00366262, -0.00386778, -0.00402737, -0.00413256, -0.00417455, -0.00414474, -0.00403480, -0.00383693, -0.00354396, -0.00314949, -0.00264812, -0.00203549, -0.00130848, -0.00046531, 0.00049437, 0.00156943, 0.00275716, 0.00405323, 0.00545174, 0.00694519, 0.00852453, 0.01017923, 0.01189739, 0.01366582, 0.01547023, 0.01729535, 0.01912514, 0.02094295, 0.02273178, 0.02447447, 0.02615392, 0.02775333, 0.02925644, 0.03064774, 0.03191268, 0.03303791, 0.03401143, 0.03482277, 0.03546316, 0.03592564, 0.03620517, 0.03629868, 0.03620517, 0.03592564, 0.03546316, 0.03482277, 0.03401143, 0.03303791, 0.03191268, 0.03064774, 0.02925644, 0.02775333, 0.02615392, 0.02447447, 0.02273178, 0.02094295, 0.01912514, 0.01729535, 0.01547023, 0.01366582, 0.01189739, 0.01017923, 0.00852453, 0.00694519, 0.00545174, 0.00405323, 0.00275716, 0.00156943, 0.00049437, -0.00046531, -0.00130848, -0.00203549, -0.00264812, -0.00314949, -0.00354396, -0.00383693, -0.00403480, -0.00414474, -0.00417455, -0.00413256, -0.00402737, -0.00386778, -0.00366262, -0.00342056, -0.00315004, -0.00285911, -0.00255534, -0.00224573, -0.00193663, -0.00163369, -0.00134179, -0.00106506, -0.00080686, -0.00056976, -0.00035561, -0.00016553, -0.00000000, 0.00014110, 0.00025842, 0.00035307, 0.00042653, 0.00048057, 0.00051720, 0.00053854, 0.00054677, 0.00054408, 0.00053256, 0.00051419, 0.00049076, 0.00046384, 0.00043477, 0.00040460, 0.00037414, 0.00034391, 0.00031418, 0.00028498, 0.00028498}; /*-----------------------------------------------------------------------*/ /* lowpass 8 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_8[] = { 0.00009588, 0.00003952, -0.00002036, -0.00008394, -0.00015121, -0.00022191, -0.00029532, -0.00037020, -0.00044471, -0.00051633, -0.00058192, -0.00063773, -0.00067951, -0.00070270, -0.00070258, -0.00067457, -0.00061447, -0.00051878, -0.00038500, -0.00021195, 0.00000000, 0.00024864, 0.00052980, 0.00083718, 0.00116239, 0.00149501, 0.00182273, 0.00213168, 0.00240679, 0.00263227, 0.00279216, 0.00287098, 0.00285442, 0.00273001, 0.00248787, 0.00212136, 0.00162772, 0.00100862, 0.00027058, -0.00057473, -0.00151036, -0.00251409, -0.00355868, -0.00461222, -0.00563882, -0.00659928, -0.00745211, -0.00815454, -0.00866380, -0.00893830, -0.00893903, -0.00863083, -0.00798372, -0.00697404, -0.00558557, -0.00381043, -0.00164976, 0.00088577, 0.00377578, 0.00699017, 0.01048954, 0.01422571, 0.01814267, 0.02217766, 0.02626255, 0.03032538, 0.03429206, 0.03808812, 0.04164059, 0.04487983, 0.04774127, 0.05016713, 0.05210790, 0.05352364, 0.05438503, 0.05467417, 0.05438503, 0.05352364, 0.05210790, 0.05016713, 0.04774127, 0.04487983, 0.04164059, 0.03808812, 0.03429206, 0.03032538, 0.02626255, 0.02217766, 0.01814267, 0.01422571, 0.01048954, 0.00699017, 0.00377578, 0.00088577, -0.00164976, -0.00381043, -0.00558557, -0.00697404, -0.00798372, -0.00863083, -0.00893903, -0.00893830, -0.00866380, -0.00815454, -0.00745211, -0.00659928, -0.00563882, -0.00461222, -0.00355868, -0.00251409, -0.00151036, -0.00057473, 0.00027058, 0.00100862, 0.00162772, 0.00212136, 0.00248787, 0.00273001, 0.00285442, 0.00287098, 0.00279216, 0.00263227, 0.00240679, 0.00213168, 0.00182273, 0.00149501, 0.00116239, 0.00083718, 0.00052980, 0.00024864, 0.00000000, -0.00021195, -0.00038500, -0.00051878, -0.00061447, -0.00067457, -0.00070258, -0.00070270, -0.00067951, -0.00063773, -0.00058192, -0.00051633, -0.00044471, -0.00037020, -0.00029532, -0.00022191, -0.00015121, -0.00008394, -0.00002036, 0.00003952, 0.00003952}; /*-----------------------------------------------------------------------*/ /* lowpass 9 FIR filter */ /*-----------------------------------------------------------------------*/ const double filter_low_9[] = { -0.00033605, -0.00032227, -0.00029374, -0.00024997, -0.00019055, -0.00011536, -0.00002487, 0.00007952, 0.00019526, 0.00031834, 0.00044323, 0.00056289, 0.00066892, 0.00075194, 0.00080215, 0.00080995, 0.00076684, 0.00066621, 0.00050427, 0.00028084, -0.00000000, -0.00032946, -0.00069392, -0.00107509, -0.00145063, -0.00179505, -0.00208103, -0.00228107, -0.00236926, -0.00232336, -0.00212670, -0.00177006, -0.00125328, -0.00058643, 0.00020954, 0.00110278, 0.00205118, 0.00300380, 0.00390295, 0.00468697, 0.00529355, 0.00566337, 0.00574409, 0.00549424, 0.00488686, 0.00391278, 0.00258306, 0.00093071, -0.00098883, -0.00309821, -0.00530003, -0.00747988, -0.00951048, -0.01125686, -0.01258232, -0.01335486, -0.01345387, -0.01277669, -0.01124472, -0.00880870, -0.00545293, -0.00119815, 0.00389723, 0.00973749, 0.01619178, 0.02309791, 0.03026781, 0.03749425, 0.04455871, 0.05123992, 0.05732277, 0.06260716, 0.06691631, 0.07010422, 0.07206192, 0.07272208, 0.07206192, 0.07010422, 0.06691631, 0.06260716, 0.05732277, 0.05123992, 0.04455871, 0.03749425, 0.03026781, 0.02309791, 0.01619178, 0.00973749, 0.00389723, -0.00119815, -0.00545293, -0.00880870, -0.01124472, -0.01277669, -0.01345387, -0.01335486, -0.01258232, -0.01125686, -0.00951048, -0.00747988, -0.00530003, -0.00309821, -0.00098883, 0.00093071, 0.00258306, 0.00391278, 0.00488686, 0.00549424, 0.00574409, 0.00566337, 0.00529355, 0.00468697, 0.00390295, 0.00300380, 0.00205118, 0.00110278, 0.00020954, -0.00058643, -0.00125328, -0.00177006, -0.00212670, -0.00232336, -0.00236926, -0.00228107, -0.00208103, -0.00179505, -0.00145063, -0.00107509, -0.00069392, -0.00032946, -0.00000000, 0.00028084, 0.00050427, 0.00066621, 0.00076684, 0.00080995, 0.00080215, 0.00075194, 0.00066892, 0.00056289, 0.00044323, 0.00031834, 0.00019526, 0.00007952, -0.00002487, -0.00011536, -0.00019055, -0.00024997, -0.00029374, -0.00032227, -0.00032227}; #endif /*-----------------------------------------------------------------------*/ /* End of highpass_table.h */ /*-----------------------------------------------------------------------*/