cauer.mws

syntfil[Cauer]  - compute the Cauer approximation

syntfil[CauerB]  - compute the type B Cauer approximation

syntfil[CauerC]  - compute the type C Cauer approximation

Calling sequence:

      Cauer(order, Os, ap, var)
     
CauerB(order, Os, ap, var)
     
CauerC(order, Os, ap, var)

Parameters:

      order    - order of the Cauer approximation [-]

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

  ap       - passband ripple [dB]

      var      - variable symbol in tranfer and characteristic function

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

Description:

Info level:

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

infolevel[syntfil] =

      2  - print polynomials of inverse transfer function characteristic function and zeros of transfer function on separate lines with description.

      3  - as level 2 +  print transfer function's poles and parameter epsilon .

      4  - as level 3 +  print characteristic function's poles and zeros.

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

         - for type C - as level 4 + print transfer and characteristic function's poles and zeros for type A and B.

Example:

>    with(syntfil):

`Syntfil version 1.53 loaded`

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

Type A Cauer approximation

>    G_a,Phi_a,zeros_a:=Cauer(4,1.2,3,s);

G_a, Phi_a, zeros_a := (13.82512463+46.09821554*s^4+26.27768495*s^3+60.51440040*s^2+22.09489561*s)/(9.787438693+s^4+7.796832429*s^2), (9.764226268+46.08736786*s^4+52.86808058*s^2)/(9.787438693+s^4+7.79...
G_a, Phi_a, zeros_a := (13.82512463+46.09821554*s^4+26.27768495*s^3+60.51440040*s^2+22.09489561*s)/(9.787438693+s^4+7.796832429*s^2), (9.764226268+46.08736786*s^4+52.86808058*s^2)/(9.787438693+s^4+7.79...

Type B and C Cauer approximation

>    G_b,Phi_b,zeros_b:=CauerB(4,1.2,3,s);

>    infolevel[syntfil]:=3:

>    G_c,Phi_c,zeros_c:=CauerC(4,1.2,3,s);

G_b, Phi_b, zeros_b := (2.494427817+9.692608195*s^4+5.559397378*s^3+12.28459067*s^2+4.481914411*s)/(1.765919657+s^2), (1.761731504+9.692608195*s^4+10.69023655*s^2)/(1.765919657+s^2), vector([1.32887909...
G_b, Phi_b, zeros_b := (2.494427817+9.692608195*s^4+5.559397378*s^3+12.28459067*s^2+4.481914411*s)/(1.765919657+s^2), (1.761731504+9.692608195*s^4+10.69023655*s^2)/(1.765919657+s^2), vector([1.32887909...

epsilon = .9976283451

Poles of H:

[-.3962720440+.3402416437*I, -.3962720440-.3402416437*I, -.7308417727e-1+.9606838030*I, -.7308417727e-1-.9606838030*I]

CauerC:

G = (1.959408974+7.737846293*s^4+7.263612593*s^3+10.18993450*s^2+6.001139906*s)/(1.959408973+s^2)

Phi = (7.737846293*s^4+6.780712709*s^2)/(1.959408973+s^2)

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

G_c, Phi_c, zeros_c := (1.959408974+7.737846293*s^4+7.263612593*s^3+10.18993450*s^2+6.001139906*s)/(1.959408973+s^2), (7.737846293*s^4+6.780712709*s^2)/(1.959408973+s^2), vector([1.399788903*I, -1.3997...
G_c, Phi_c, zeros_c := (1.959408974+7.737846293*s^4+7.263612593*s^3+10.18993450*s^2+6.001139906*s)/(1.959408973+s^2), (7.737846293*s^4+6.780712709*s^2)/(1.959408973+s^2), vector([1.399788903*I, -1.3997...

Magnitude frequency response for type A , B  a C.

>    plot([MagnitudeHdB(1/G_a)(omega),MagnitudeHdB(1/G_b)(omega),MagnitudeHdB(1/G_c)(omega)],omega=0..5,-60..0,color=[red,green,blue]);

[Maple Plot]

See also:

CauerNLPOrder

CauerPolesZeros, CauerBOmega, Cauer_asnew

DroppNLP, TestCharEqn, sortzeros, MagnitudeH, MagnitudeHdB, PhaseH, GroupDelayH,
in addition to Cauer approximation the following approximations can be used
Butterworth, Chebyshev, InvChebyschev, InvChebyshevB