Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - 日本語 - Русский

See the recommended documentation of this function

# iir

iir digital filter

### Syntax

```hz=iir(n,ftype,fdesign,frq,delta)
[p,z,g]=iir(n,ftype,fdesign,frq,delta)```

### Arguments

n

positive number witn integer 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 (in this case, `frq` can be a scalar). For `'bp'` and `'sb'` filters `frq(1)` is the upper cut-off frequency and `frq(2)` is the lower 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

hz

a single input single output discrete transfer function, the low pass filter

p

vector of transformed filter zeros.

z

vector of transformed filter poles.

g

a scalar: transformed filter gain.

### 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 < fr < 0.25 ',' ',' ');
q=poly(0,'q');     //to express the result in terms of the delay operator q=z^-1
hzd=horner(hz,1/q)```
```//Poles Zeros Gain filter representation
[p,z,g]=iir(3,'bp','ellip',[.15 .25],[.08 .03]);
g*poly(z,'z')/poly(p,'z')```

• eqfir — minimax approximation of FIR filter
• eqiir — Design of iir filters
• analpf — create analog low-pass filter
• bilt — bilinear or biquadratic transform SISO system given by a zero/poles representation