butterworthnlporder.mws

syntfil[ButterworthNLPOrder]  - compute the order of the Butterworth approximation of the normalized lowpass (NLP) filter

Calling sequence:

      ButterworthNLPOrder(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 the Butterworth 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,25;

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

>    bx:=ButterworthNLPOrder(Os,ap,as);

bx := 5, 2, 3

Compute new value of stopband attenuation

>    Butterworth_asnew(bx);

30.08663442

Compute power transfer ratio and characteristic function for Butterworth approximation

>    Butterworth(bx,s);

1.000000000+.9976283451*s^5+3.229926649*s^4+5.228613548*s^3+5.231097176*s^2+3.234531551*s, .9976283451*s^5

Compute the secondary parameter epsilon and the poles of transfer function for the Butterworth approximation

>    ButterworthPoles(bx);

.9976283451, vector([-.8094012830+.5880644545*I, -.8094012830-.5880644545*I, -.3091637790+.9515082750*I, -.3091637790-.9515082750*I, -1.000475007])
.9976283451, vector([-.8094012830+.5880644545*I, -.8094012830-.5880644545*I, -.3091637790+.9515082750*I, -.3091637790-.9515082750*I, -1.000475007])

See also:

LP2NLP, HP2NLP, BP2NLP, BP22NLP, BS2NLP

ChebyshevNLPOrder, CauerNLPOrder

Butterworth_asnew, Butterworth, ButterworthPoles