You are here: Symbol Reference > SignalUtils Namespace > Functions > SignalUtils.IirInit Function
DSP Master VCL
ContentsIndex
PreviousUpNext
SignalUtils.IirInit Function

Initialize an IIR filter.

Pascal
procedure IirInit(const Num: TVec; const Den: TVec; var IirState: TIirState; ComplexData: boolean = false); overload;

Num contains the numerator and Den the denominator coefficients of the transfer function. The length of the Num and Den must be equal. If the numerator is of lower order that the denominator, then the numerator should be padded with zeros from the left. Transfer function:

        Sum( b[k]*z^(-k) )
H(z) = ----------------------,    from k = 0 to N-1.
        Sum( a[k]*z^(-k) )

N = Num.Length = Den.Length.
b... Num vector
a... Den vector


H(z) is also written as:

        Sum( b[k]*z^(-k) )
H(z) = ----------------------,    k = 0.. N-1, m = 1..N-1
        1 - Sum( a[m]*z^(-m) )

a[0] must always be 1.

IIR filters evaluate the difference equation:

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

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

 

References:  

[1]Understanding digital signal processing, Richard G. Lyons, Prentice Hall, 2001.

Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!