invchebyshevpoleszeros.mws

syntfil[InvChebyshevPolesZeros]  - compute the poles and zeros of the transfer function for the inverse Chebyshev approximation

syntfil[InvChebyshevBPolesZeros]  - compute the poles and zeros of the transfer function for the inverse type B Chebyshev approximation

Calling sequence:

      InvChebyshevPolesZeros(order, Os, ap)

      InvChebyshevBPolesZeros(order, Os, ap)

Parameters:

      order    - order of the Chebyshev approximation [-]

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

  ap       - passband ripple [dB]

Parameter order  must be positive integer and for type B in addition even. Parameters Os   and   ap  must be positive numbers where Os  > 1 .

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 two 1D arrays of transfer function's poles and zeros on separate lines with description

      3  - as level 2 +  print parameter epsilon .

      4  - as level 3 +  print ellipse parameter ( a , b ) on which lies poles of transfer function and secondary parameter k1 .

      5  - for type B - as level 4 + print transfer function's poles and zeros for type A,

Example:

>    with(syntfil):

`Syntfil version 1.53 loaded`

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

>    InvChebyshevPolesZeros(4,2,3);

96.77511623, vector([-.3441366787+.9595084316*I, -.3441366787-.9595084316*I, -1.017769717+.4868733314*I, -1.017769717-.4868733314*I]), vector([2.164784401*I, -2.164784401*I, 5.226251858*I, -5.226251858...
96.77511623, vector([-.3441366787+.9595084316*I, -.3441366787-.9595084316*I, -1.017769717+.4868733314*I, -1.017769717-.4868733314*I]), vector([2.164784401*I, -2.164784401*I, 5.226251858*I, -5.226251858...
96.77511623, vector([-.3441366787+.9595084316*I, -.3441366787-.9595084316*I, -1.017769717+.4868733314*I, -1.017769717-.4868733314*I]), vector([2.164784401*I, -2.164784401*I, 5.226251858*I, -5.226251858...

>    infolevel[syntfil]:=3:

>    InvChebyshevBPolesZeros(4,2,3);

epsilon = .9976283451

InvChebyshevBPolesZeros:

Gc = 4.439194219

Poles = [-.3546723780+.9514318954*I, -.3546723780-.9514318954*I, -.9925077857+.4534771731*I, -.9925077857-.4534771731*I]

Zeros = [2.334469420*I, -2.334469420*I]

4.439194219, vector([-.3546723780+.9514318954*I, -.3546723780-.9514318954*I, -.9925077857+.4534771731*I, -.9925077857-.4534771731*I]), vector([2.334469420*I, -2.334469420*I])
4.439194219, vector([-.3546723780+.9514318954*I, -.3546723780-.9514318954*I, -.9925077857+.4534771731*I, -.9925077857-.4534771731*I]), vector([2.334469420*I, -2.334469420*I])
4.439194219, vector([-.3546723780+.9514318954*I, -.3546723780-.9514318954*I, -.9925077857+.4534771731*I, -.9925077857-.4534771731*I]), vector([2.334469420*I, -2.334469420*I])

See also:

ChebyshevNLPOrder

InvChebyshev, Chebyshev_asnew

NLP2LP, NLP2HP, NLP2BP, NLP2BP2, NLP2BS, BodePlot

in addition to inverse Chebyshev approximation the following approximations can be used
ButterworthPoles, ChebyshevPoles, CauerPolesZeros, CauerBPolesZeros, CauerCPolesZeros