/* 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.34167, r: 0.1, a: 96, t: elliptic */ /*static const long lDec3hpIIRSize = 8l; static const float fpDec3hpIIRCoeffs[][5] = { { // 0 0.0532151204481016, -0.0556095578414634, 0.0532151204481016, -1.42590878667061, -0.587948585408279 }, { // 1 0.188817711362083, 0.00731449588591847, 0.188817711362083, -1.32616446021101, -0.69648538704926 }, { // 2 0.405472650977335, 0.230250588727635, 0.405472650977335, -1.22567974913643, -0.806374462363461 }, { // 3 0.617371719998023, 0.49954033295057, 0.617371719998023, -1.15249036567959, -0.887693472725061 }, { // 4 0.771512506258032, 0.71192562397335, 0.771512506258032, -1.10834000808461, -0.939439396627325 }, { // 5 0.863947780294666, 0.843326061565994, 0.863947780294666, -1.08627956726684, -0.970849066290181 }, { // 6 0.908502197138431, 0.906241218609219, 0.908502197138431, -1.08060948339595, -0.991372659063591 }, { // 7 0.132524985024051, -0.132524985024051, 0, -0.734950029951898, 0 } }; static const double dpDec3hpIIRCoeffs[][5] = { { // 0 0.0532151204481016, -0.0556095578414634, 0.0532151204481016, -1.42590878667061, -0.587948585408279 }, { // 1 0.188817711362083, 0.00731449588591847, 0.188817711362083, -1.32616446021101, -0.69648538704926 }, { // 2 0.405472650977335, 0.230250588727635, 0.405472650977335, -1.22567974913643, -0.806374462363461 }, { // 3 0.617371719998023, 0.49954033295057, 0.617371719998023, -1.15249036567959, -0.887693472725061 }, { // 4 0.771512506258032, 0.71192562397335, 0.771512506258032, -1.10834000808461, -0.939439396627325 }, { // 5 0.863947780294666, 0.843326061565994, 0.863947780294666, -1.08627956726684, -0.970849066290181 }, { // 6 0.908502197138431, 0.906241218609219, 0.908502197138431, -1.08060948339595, -0.991372659063591 }, { // 7 0.132524985024051, -0.132524985024051, 0, -0.734950029951898, 0 } };*/ /* f1: 0.33333, f2: 0.34167, r: 0.1, a: 96, t: elliptic */ static const long lDec3hpIIRSize = 9l; static const float fpDec3hpIIRCoeffs[][5] = { { // 0 0.0408188593764457, -0.0492079463009502, 0.0408188593764457, -1.48699558491155, -0.617841249965396 }, { // 1 0.143685036105185, -0.0227464867454071, 0.143685036105185, -1.39106746929454, -0.701184028250316 }, { // 2 0.32283718923554, 0.137767246957536, 0.32283718923554, -1.28537867078234, -0.793285802295889 }, { // 3 0.521937947915603, 0.374850045712181, 0.521937947915603, -1.19962114304601, -0.868646993165034 }, { // 4 0.688302531212309, 0.596235253104623, 0.688302531212309, -1.14102044355734, -0.921390252877333 }, { // 5 0.804169407254514, 0.758312853663764, 0.804169407254514, -1.10560544086235, -0.955631401707618 }, { // 6 0.874315446101548, 0.858368069397897, 0.874315446101548, -1.08744667187195, -0.977709494677148 }, { // 7 0.908934502283608, 0.90716977094238, 0.908934502283608, -1.08253416825182, -0.993233401876658 }, { // 8 0.118221157568635, -0.118221157568635, 0, -0.763557684862729, 0 } }; static const double dpDec3hpIIRCoeffs[][5] = { { // 0 0.0408188593764457, -0.0492079463009502, 0.0408188593764457, -1.48699558491155, -0.617841249965396 }, { // 1 0.143685036105185, -0.0227464867454071, 0.143685036105185, -1.39106746929454, -0.701184028250316 }, { // 2 0.32283718923554, 0.137767246957536, 0.32283718923554, -1.28537867078234, -0.793285802295889 }, { // 3 0.521937947915603, 0.374850045712181, 0.521937947915603, -1.19962114304601, -0.868646993165034 }, { // 4 0.688302531212309, 0.596235253104623, 0.688302531212309, -1.14102044355734, -0.921390252877333 }, { // 5 0.804169407254514, 0.758312853663764, 0.804169407254514, -1.10560544086235, -0.955631401707618 }, { // 6 0.874315446101548, 0.858368069397897, 0.874315446101548, -1.08744667187195, -0.977709494677148 }, { // 7 0.908934502283608, 0.90716977094238, 0.908934502283608, -1.08253416825182, -0.993233401876658 }, { // 8 0.118221157568635, -0.118221157568635, 0, -0.763557684862729, 0 } };