Change language to:
English - 日本語 - Português

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

# iir

iir digital filter

### Calling Sequence

[hz]=iir(n,ftype,fdesign,frq,delta)

### Arguments

n

positive number witn inteher value, the filter order.

ftype

string specifying the filter type, the possible values are: 'lp' for low-pass,'hp' for high pass,'bp' for band pass and 'sb' for stop band.

fdesign

string specifying the analog filter design, the possible values are: 'butt', 'cheb1', 'cheb2' and 'ellip'

frq

2-vector of discrete cut-off frequencies (i.e., 0<frq<.5). For 'lp' and 'hp' filters only frq(1) is used. For 'bp' and 'sb' filters frq(1) is the lower cut-off frequency and frq(2) is the upper cut-off frequency

delta

2-vector of error values for cheb1, cheb2, and ellip filters where only delta(1) is used for cheb1 case, only delta(2) is used for cheb2 case, and delta(1) and delta(2) are both used for ellip case. 0<delta(1),delta(2)<1

• for cheb1 filters 1-delta(1)<ripple<1 in passband

• for cheb2 filters 0<ripple<delta(2) in stopband

• for ellip filters 1-delta(1)<ripple<1 in passband and 0<ripple<delta(2) in stopband

### Description

function which designs an iir digital filter using analog filter designs and bilinear transformation .

### Examples

hz=iir(3,'bp','ellip',[.15 .25],[.08 .03]);
[hzm,fr]=frmag(hz,256);
plot2d(fr',hzm')
xtitle('Discrete IIR filter band pass  0.15&lt;fr&lt;0.25 ',' ',' ');
q=poly(0,'q');     //to express the result in terms of the delay operator q=z^-1
hzd=horner(hz,1/q)