Polynoms::IIRFilter Function

void IIRFilter(TVec *B, TVec *A, TVec *X, TVec *Y, TVec *DelayLine = null);

Performs infinite impulse response (IIR) filtering.

#NameTypeDescription
1BTVec *
2ATVec *
3XTVec *
4YTVec *
5DelayLine = nullTVec *
Remarks:

Performs infinite impulse response (IIR) filtering. The IIRFilter procedure filters X through an IIR filter ([1]) and stores the results in vector Y. The filter is described with vectors A and B.

The X values are filtered by using the following equation:

y[i] = b[0]*x[i] + b[1]*x[i-1] + ... + b[N]*x[i-N]
                 + a[1]*y[i-1] + ... + a[M]*y[i-M]

x[i] ... input sample
y[i] ... output (filtered) sample

where M = A.Length-1 and N = B.Length-1. The filter coefficients are normalized by A.Values[0]. The routine is not capable of continuous filtering (streaming).

See Also: Polynoms::DeConv
Declared in Dew::Math::Units::Polynoms · Dew.Math/Units.Polynoms.h · Cross-compiler