chebyshevnlporder.mws

syntfil[ChebyshevNLPOrder]  - compute the order of the Chebyshev approximation of normalized lowpass (NLP) filter

Calling sequence:

      ChebyshevNLPOrder(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 Chebyshev 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

>    cx:=ChebyshevNLPOrder(Os,ap,as);

cx := 4, 2, 3

Compute the new value of the stopband attenuation

>    Chebyshev_asnew(cx);

39.71527404

Compute the power transfer ratio and the characteristic function for the Chebyshev approximation

>    Chebyshev(cx,s);

1.412537545+7.981026761*s^4+4.641604426*s^3+9.330758585*s^2+3.230463838*s, .9976283450+7.981026761*s^4+7.981026761*s^2

Compute secondary parameter epsilon and poles of transfer function for Chebyshev approximation

>    ChebyshevPoles(cx);

7.981026761, vector([-.8517039862e-1+.9464844330*I, -.8517039862e-1-.9464844330*I, -.2056195314+.3920466889*I, -.2056195314-.3920466889*I])
7.981026761, vector([-.8517039862e-1+.9464844330*I, -.8517039862e-1-.9464844330*I, -.2056195314+.3920466889*I, -.2056195314-.3920466889*I])

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

>    InvChebyshev(cx,s);

(128.0000001+96.77511623*s^4+263.5972995*s^3+359.3255113*s^2+289.4742355*s)/(128.0000000+s^4+31.99999998*s^2), 96.76994947*s^4/(128.0000000+s^4+31.99999998*s^2), vector([2.164784401*I, -2.164784401*I, ...
(128.0000001+96.77511623*s^4+263.5972995*s^3+359.3255113*s^2+289.4742355*s)/(128.0000000+s^4+31.99999998*s^2), 96.76994947*s^4/(128.0000000+s^4+31.99999998*s^2), vector([2.164784401*I, -2.164784401*I, ...

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

>    InvChebyshevPolesZeros(cx);

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

See also:

LP2NLP, HP2NLP, BP2NLP, BP22NLP, BS2NLP

ButterworthNLPOrder, CauerNLPOrder

Chebyshev_asnew, Chebyshev, ChebyshevPoles, InvChebyshev, InvChebyshevPolesZeros, InvChebyshevB, InvChebyshevBPolesZeros