IIRFilters::EllipticAnalog Function

void EllipticAnalog(int Order, double PassRipple, double StopRipple, TVec *z, TVec *p, double &k);

Design an analog elliptic (Cauer) lowpass prototype filter of order Order, equiripple in BOTH bands (PassRipple dB passband, StopRipple dB stopband), cutoff fixed at 1 rad/s. Returns zero-pole-gain with finite imaginary-axis zeros: |H(jomega)|^2=1/(1+varepsilon^2 R_n^2(omega,xi)), varepsilon=sqrt(10^(R_p/10)-1), where R_n is the Chebyshev rational (elliptic) function. For a given order the elliptic design gives the narrowest transition band of the five families. At the passband edge omega=1 the magnitude equals 10^(-R_p/20). Domain: 1 <= Order <= MaxIirOrder, PassRipple>0, StopRipple>PassRipple (dB). Poles satisfy Re(p_k)<0 (stable). z and p must share precision or an exception is raised.

#NameTypeDescription
1Orderint
2PassRippledouble
3StopRippledouble
4zTVec *
5pTVec *
6kdouble &
Remarks:

Design analog elliptic prototype filter of order Order. Place the resulting transfer function in zero-pole form in Z (zeros), P (poles) and K (gain). PassRipple defines the ripple (dB) of the passband and StopRipple defines the ripple of the stopband (dB). The cutoff frequency of the prototype filter is preset to 1 rad/sec. For pole and zero specifications see [1] p. 187.

References:

[1] Digital Filter Design, T.W.Parks and C.S.Burrs, John Wiley and Sons, 1987.

See Also: IIRFilters::EllipticFilter, LowpassToHighpass, Bilinear
Declared in Dew::Signal::Units::IIRFilters · Dew.Signal/Units.IIrFilters.h · Cross-compiler