cauernlporder.mws

syntfil[CauerNLPOrder]  - compute the order of the Cauer approximation of a normalized lowpass (NLP) filter

Calling sequence:

      CauerNLPOrder(Os, ap, as)

Parameters:

      Os       - stopband frequency of NLP [1/s]

  ap       - passband ripple [dB]

  as       - stopband attenuation [dB]

All parameters must be positive real values, where Os > 1  and ap < as .

Description:

  order -  order of Cauer approxiamation [-]

  ap     -  passband ripple [dB]

  as     -  stopband attenuation [dB]

Info level:

Setting of variable infolevel[syntfil]  can be used to get more detailed results.

infolevel[syntfil] =

      2  - print output of function (order, Os, ap)

      3  - as level 2 + print secondary parameters of NLP (epsilon, k, k1)

Example:

>    with(syntfil):

`Syntfil version 1.53 loaded`

`You can set infolevel[syntfil] variable to 2..5 to get more detailed results!`

NLP specification

>    Os,ap,as:=2,3,30;

Os, ap, as := 2, 3, 30

>    dx:=CauerNLPOrder(Os,ap,as);

dx := 3, 2, 3

Compute the new value of the stopband attenuation

>    Cauer_asnew(dx);

40.30060985

Compute the power transfer ratio, characteristic function, and zeros of the transfer function for the Cauer approximation

>    Cauer(dx,s);

(5.153209120+18.51493869*s^3+10.94470338*s^2+17.57943604*s)/(5.153209120+s^2), (18.51493869*s^3+14.37157954*s)/(5.153209120+s^2), vector([2.270068087*I, -2.270068087*I])

Compute the secondary parameter epsilon, poles, and zeros of the transfer function for the Cauer approximation

>    CauerPolesZeros(dx);

18.51493869, vector([-.1342794533+.9191372294*I, -.1342794533-.9191372294*I, -.3225693471]), vector([2.270068087*I, -2.270068087*I])

See also:

LP2NLP, HP2NLP, BP2NLP, BP22NLP, BS2NLP

ButterworthNLPOrder, ChebyshevNLPOrder

Cauer_asnew, Cauer, CauerPolesZeros, CauerB, CauerBPolesZeros, CauerC, CauerCPolesZeros