butterworthpoles.mws

syntfil[ButterworthPoles]  - compute the poles for the transfer function of the Butterworth approximation

Calling sequence:

      ButterworthPoles(order, Os, ap)

Parameters:

      order    - order of the Butterworth approximation [-]

      Os       - stopband frequency of normalized lowpass (NLP) [1/s]

  ap       - passband ripple [dB]

Parameter order  must be positive integer. Parameter ap  must be positive number. Parameter Os  is not utilized and its type is not checked.

Description:

Info level:

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

infolevel[syntfil] =

      2  - print leading coefficient of denominator polynomial of transfer function and one dimensional array of transfer function's poles on separate lines with description

      3  - as level 2 +  print parameter epsilon .

Example:

>    with(syntfil):

`Syntfil version 1.53 loaded`

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

>    infolevel[syntfil]:=3;

>    ButterworthPoles(5,2,3);

infolevel[syntfil] := 3

epsilon = .9976283451

ButterworthPoles:

Gc = .9976283451

Poles = [-.8094012830+.5880644545*j, -.8094012830-.5880644545*j, -.3091637790+.9515082750*j, -.3091637790-.9515082750*j, -1.000475007]

.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])

>    infolevel[syntfil]:=1;

>    ButterworthPoles(4,2,3);

infolevel[syntfil] := 1

.9976283451, vector([-.9244281266+.3829106676*I, -.9244281266-.3829106676*I, -.3829106676+.9244281266*I, -.3829106676-.9244281266*I])
.9976283451, vector([-.9244281266+.3829106676*I, -.9244281266-.3829106676*I, -.3829106676+.9244281266*I, -.3829106676-.9244281266*I])

See also:

ButterworthNLPOrder

Butterworth, Butterworth_asnew

NLP2LP, NLP2HP, NLP2BP, NLP2BP2, NLP2BS, BodePlot

in addition to Butterworth approximation the following approximations can be used
ChebyshevPoles, InvChebyschevPolesZeros, InvChebyshevBPolesZeros, CauerPolesZeros, CauerBPolesZeros, CauerCPolesZeros