/* IIR Decimation filter for rate 3 (highpass) Copyright (C) 2002 Jussi Laako This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef _MSC_VER #pragma warning(disable:4305) #endif /* f1: 0.33333, f2: 0.36667, r: 0.5, a: 72, t: chebyshev */ /*static const long lDec3hpIIRSize = 7l; static const float fpDec3hpIIRCoeffs[][5] = { { // 0 0.164190070508077, -0.328380141016154, 0.164190070508077, -1.32232884862835, -0.97908913066066 }, { // 1 0.14771660147541, -0.295433202950821, 0.14771660147541, -1.34773146232607, -0.938597868227715 }, { // 2 0.120539151339148, -0.241078302678296, 0.120539151339148, -1.41797686375095, -0.900133469107542 }, { // 3 0.0865329534381814, -0.173065906876363, 0.0865329534381814, -1.51853502185987, -0.864666835612592 }, { // 4 0.0513435553615828, -0.102687110723166, 0.0513435553615828, -1.62875451749147, -0.834128738937801 }, { // 5 0.0219355901407475, -0.0438711802814949, 0.0219355901407475, -1.72351458121296, -0.811256941775948 }, { // 6 0.00508454201718919, -0.0101690840343784, 0.00508454201718919, -1.77855563451542, -0.798893802584178 } }; static const double dpDec3hpIIRCoeffs[][5] = { { // 0 0.164190070508077, -0.328380141016154, 0.164190070508077, -1.32232884862835, -0.97908913066066 }, { // 1 0.14771660147541, -0.295433202950821, 0.14771660147541, -1.34773146232607, -0.938597868227715 }, { // 2 0.120539151339148, -0.241078302678296, 0.120539151339148, -1.41797686375095, -0.900133469107542 }, { // 3 0.0865329534381814, -0.173065906876363, 0.0865329534381814, -1.51853502185987, -0.864666835612592 }, { // 4 0.0513435553615828, -0.102687110723166, 0.0513435553615828, -1.62875451749147, -0.834128738937801 }, { // 5 0.0219355901407475, -0.0438711802814949, 0.0219355901407475, -1.72351458121296, -0.811256941775948 }, { // 6 0.00508454201718919, -0.0101690840343784, 0.00508454201718919, -1.77855563451542, -0.798893802584178 } };*/ /* f1: 0.33333, f2: 0.35, r: 0.5, a: 72, t: chebyshev */ static const long lDec3hpIIRSize = 10l; static const float fpDec3hpIIRCoeffs[][5] = { { // 0 0.205234253514393, -0.410468507028786, 0.205234253514393, -1.16785413526889, -0.988791149326458 }, { // 1 0.195102566174706, -0.390205132349412, 0.195102566174706, -1.18627805084895, -0.966688315547777 }, { // 2 0.177737827687996, -0.355475655375991, 0.177737827687996, -1.23399160039572, -0.944942911147706 }, { // 3 0.154099624689977, -0.308199249379955, 0.154099624689977, -1.30720250542069, -0.923601004180597 }, { // 4 0.12565595909824, -0.251311918196479, 0.12565595909824, -1.40028694844756, -0.90291078484052 }, { // 5 0.0945035087026048, -0.18900701740521, 0.0945035087026048, -1.50536508729511, -0.883379122105524 }, { // 6 0.0634071813715804, -0.126814362743161, 0.0634071813715804, -1.61216230556321, -0.865791031049534 }, { // 7 0.0356575599864075, -0.0713151199728149, 0.0356575599864075, -1.70852981180808, -0.851160051753707 }, { // 8 0.0146679323911365, -0.0293358647822729, 0.0146679323911365, -1.7819124197207, -0.840584149285245 }, { // 9 0.00333345430283358, -0.00666690860566715, 0.00333345430283358, -1.8216827274188, -0.835016544630132 } }; static const double dpDec3hpIIRCoeffs[][5] = { { // 0 0.205234253514393, -0.410468507028786, 0.205234253514393, -1.16785413526889, -0.988791149326458 }, { // 1 0.195102566174706, -0.390205132349412, 0.195102566174706, -1.18627805084895, -0.966688315547777 }, { // 2 0.177737827687996, -0.355475655375991, 0.177737827687996, -1.23399160039572, -0.944942911147706 }, { // 3 0.154099624689977, -0.308199249379955, 0.154099624689977, -1.30720250542069, -0.923601004180597 }, { // 4 0.12565595909824, -0.251311918196479, 0.12565595909824, -1.40028694844756, -0.90291078484052 }, { // 5 0.0945035087026048, -0.18900701740521, 0.0945035087026048, -1.50536508729511, -0.883379122105524 }, { // 6 0.0634071813715804, -0.126814362743161, 0.0634071813715804, -1.61216230556321, -0.865791031049534 }, { // 7 0.0356575599864075, -0.0713151199728149, 0.0356575599864075, -1.70852981180808, -0.851160051753707 }, { // 8 0.0146679323911365, -0.0293358647822729, 0.0146679323911365, -1.7819124197207, -0.840584149285245 }, { // 9 0.00333345430283358, -0.00666690860566715, 0.00333345430283358, -1.8216827274188, -0.835016544630132 } };