IIR Filter Design method has many kinds, a relatively simple method is to design the corresponding analog filter, and then convert the analog filter to the corresponding digital filter. The most common method of analog filter to digital filter conversion is bilinear transformation method. Here's how to use the function provided by Scilab to design an IIR filter using this method.
Hz=iir (N,ftype,fdesign,frq,delta)
[P,z,g]=iir (N,ftype,fdesign,frq,delta)
Arguments
N: The order of the filter
The type of Ftype filter, ' LP ' means Low-pass, ' hp ' means Qualcomm, ' BP ' means bandpass, ' SB ' indicates band resistance.
Fdesign: Specifies the type of analog filter, can be ' butt ', ' cheb1 ', ' cheb2 ', ' Ellip '
Frq: A vector of length 2, specifying the cutoff frequency of the filter, where the frequency is normalized and the sampling frequency is normalized to 1. For Low-pass and High-pass filters, only the first parameter is useful, and Bandpass and band-stop filters are used for both cutoff frequencies.
Delta: A vector of length 2, for the CHEB1 filter, only the first parameter is useful, for the CHEB2 filter, only the second parameter is used, the Ellip filter both parameters are used 0<delta (1), Delta (2) <1
Cheb1-Type filter: 1-delta (1) <ripple<1, which limits the ripple of the pass band
CHEB2-Type filter: 0<ripple<delta (2), limiting the ripple of the band
For Ellip type filter:
In Pass band, 1-delta (1) <ripple<1
In the band, 0<ripple<delta (2)
HZ: Computed system functions
P: The various 0 points of the filter are given.
Z: The poles of the filter are given
G: Gain
A specific example is given below:
Hz=iir (3, ' BP ', ' ellip ', [. 15.25],[.08.03]);
This example is designed with a 3-step band-pass elliptic filter. The band cutoff frequency is 0.15 and 0.25, the pass band allows fluctuation of 0.08, and the resistance band allows fluctuation of 0.03.
The calculated filter transfer function is:
Draw the frequency response curve below:
[Hzm,fr]=frmag (HZ,256);
Plot2d (FR ', Hzm ')
Xtitle (' Discrete IIR filter Band pass 0.15 < fr < 0.25 ', ', ');
If we need 0 poles of information, we can calculate this:
[P,z,g]=iir (3, ' BP ', ' ellip ', [. 15.25],[.08.03]);
Z gives the position of 0 points, Q is the pole position:
z =
0.7632657 + 0.6460848i
0.7632657-0.6460848i
1.
-0.3182662-0.9480014i
-0.3182662 + 0.9480014i
-1.
p =
0.5561319-0.7583880i
0.5561319 + 0.7583880i
0.2703756 + 0.7688681i
-0.0034896 + 0.9267011i
-0.0034896-0.9267011i
0.2703756-0.7688681i