syredi — Design of iir filters, syredi code interface
[fact,b2,b1,b0,c1,c0,zzeros,zpoles]=syredi(ityp,iapro,om,deltap,deltas)
integer, the filter type: 1 stands for low-pass, 2 for high-pass, 3 for band-pass, 4 for stop-band.
integer, the design approximation type: 1 stands for butterworth, 2 for elliptic, 3 for Chebytchev1, 4 for Chebytchev2.
4-vector of cutoff frequencies (in radians)
om=[om1,om2,om3,om4]
,
0 <= om1 <= om2 <= om3 <= om4 <=
pi
.
When ftype
='lp' or 'hp'
,
om3
and om4
are not used and
may be set to 0.
a real scalar, the ripple in the passband. 0<
deltap <1
a real scalar, the ripple in the stopband. 0<
deltas <1
scalar, the filter gain
real row vector, degree 2 coefficients of numerators.
real row vector, degree 1 coefficients of numerators.
real row vector, degree 0 coefficients of numerators.
real row vector, degree 1 coefficients of denominators.
real row vector, degree 0 coefficients of denominators.
complex row vector, filter zeros in the z-domain
complex row vector, filter poles in the z-domain
Computes iir filter approximation. The result is given as a set of
second order transfer functions
Hi=(b0(i)+b1(i)*z+b2(i)*z^2)/(c0(i)+c1(i)*z+z^2)
and
also as a poles, zeros, gain representation.
The filter obtained is h=fact*H1*...*Hn
.
The syredi code is derived from doredi package written by Guenter F. Dehner, Institut fuer Nachrichtentechnik Universitaet Erlangen-Nuernberg, Germany.
Dehner,G.F. 1979, DOREDI: Program for Design and Optimization of REcursive DIgital filters-Programs for Digital Signal Processing, ed:Digital Signal Processing committee of IEEE Acoustics, Speech and Signal Processing Society.
For DOREDI.f source code see http://michaelgellis.tripod.com/dsp/pgm25.html