void IIRFilter(TVec B, TVec A, TVec X, TVec Y, TVec DelayLine)
Performs infinite impulse response (IIR) filtering.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | B | TVec | source TVec |
| 2 | A | TVec | source TVec |
| 3 | X | TVec | source TVec |
| 4 | Y | TVec | source TVec |
| 5 | DelayLine | TVec | source TVec |
Result: stored in self (calling object)
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