22 void Process(
const float* pfIn,
float* pfOut,
int iNumSamples);
40 double fOut = double(fIn) * fNumerCoeffs[B0] +
41 fPrevIn * fNumerCoeffs[B1] +
42 fPrevPrevIn * fNumerCoeffs[B2] -
43 fPrevOut * fDenomCoeffs[A1] -
44 fPrevPrevOut * fDenomCoeffs[A2];
45 fPrevPrevIn = fPrevIn;
47 fPrevPrevOut = fPrevOut;
52 double fNumerCoeffs[3];
53 double fDenomCoeffs[2];
66 static ArrayOf<Biquad> CalcButterworthFilter(
int order,
double fn,
double fc,
int type);
67 static ArrayOf<Biquad> CalcChebyshevType1Filter(
int order,
double fn,
double fc,
double ripple,
int type);
68 static ArrayOf<Biquad> CalcChebyshevType2Filter(
int order,
double fn,
double fc,
double ripple,
int type);
70 static void ComplexDiv (
double fNumerR,
double fNumerI,
double fDenomR,
double fDenomI,
71 double* pfQuotientR,
double* pfQuotientI);
72 static bool BilinTransform (
double fSX,
double fSY,
double* pfZX,
double* pfZY);
73 static float Calc2D_DistSqr (
double fX1,
double fY1,
double fX2,
double fY2);
75 static const double s_fChebyCoeffs[MAX_Order][MAX_Order + 1];
76 static double ChebyPoly(
int Order,
double NormFreq);
Represents a biquad digital filter.
float ProcessOne(float fIn)