Infinite Impulse Response filters are those filters present a non-zero infinite length response when excited with a very brief (ideally an infinite peak) input signal. A linear causal IIR filter can be described by the following difference equation
This operation describe a recursive system, i.e. a system that depends on current and past samples of the input x[n], but also on the output data stream y[n].
The following example creates an order 1 highpass filter with high frequency gain 2. Filter is designed for 10 Hz sampled data and has a cut-off frequency of 0.2 Hz.
pl = plist('type', 'highpass', ... 'order', 1, ... 'gain', 2.0, ... 'fs', 10, ... 'fc', 0.2); f = miir(pl)
IIR filters can also be created from a pzmodel .
Alternatively, the filter can be defined in terms of two vectors specifying the coefficients of the filter and the sampling frequency. The following example creates a IIR filter with sampling frequency 1 Hz and the following recursive equation:
a = [0.5 -0.01]; b = [1 0.1]; fs = 1; f = miir(a,b,fs)
Notice that the convetion used in this function is the one described in the Digital filters classification section
The miir constructor also accepts as an input existing models in different formats:
f = miir('foo_iir.fil')
f = miir('foo_iir.xml')
f = miir('foo_iir.mat')
f = miir(plist('hostname', 'localhost', 'database', 'ltpda', 'ID', ))
|Digital Filtering||FIR Filters|