cauerpoleszeros.mws

syntfil[CauerPolesZeros]  - výpočet pólů a nul přenosové funkce Cauerovy aproximace

syntfil[CauerBPolesZeros]  - výpočet pólů a nul přenosové funkce Cauerovy aproximace typu B

syntfil[CauerCPolesZeros]  - výpočet pólů a nul přenosové funkce Cauerovy aproximace typu C

Calling sequence:

      CauerPolesZeros(order, Os, ap)

      CauerBPolesZeros(order, Os, ap)

      CauerCPolesZeros(order, Os, ap)

Parameters:

      order    - stupeň Cauerovy aproximace [-]

      Os       - kmitočet hranice nepropustného pásma [1/s]

      ap       - maximální útlum v propustném pásmu [dB]

Parametr   order musí být celé kladné číslo, pro aproximaci typu B a C navíc sudé. Parametry   Os   a   ap   musí být kladná reálná čísla, kde   Os  > 1 .

Description:

Info level:

Změnou proměnné   infolevel[syntfil]   dostanete podrobnější výsledek.

infolevel[syntfil] =

      2  - vypsání koeficientu u nejvyšší mocniny čitatele provozního činitele přenosu G a dvou jednorozměrných polí pólů a nul přenosové funkce H na oddělených řádcích s textovým označením

      3  - jako úroveň 2 + vypsání parametru epsilon

      4  - jako úroveň 3 + vypsání pólů a nul charakteristické funkce

      5  - pro aproximaci typu B - jako úroveň 4 + vypsání nul a pólů přenosové funkce Cauerovy aproximace typu A,

         - pro aproximaci typu C - jako úroveň 4 + vypsání nul a pólů přenosové funkce Cauerovy aproximace typu A a B.

Example:

>    with(syntfil):

`Syntfil version 1.53 loaded`

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

>    CauerPolesZeros(4,2,3);

772.1431299, vector([-.2139614671+.4198361739*I, -.2139614671-.4198361739*I, -.7525714614e-1+.9545533527*I, -.7525714614e-1-.9545533527*I]), vector([4.922113488*I, -4.922113488*I, 2.143189336*I, -2.143...
772.1431299, vector([-.2139614671+.4198361739*I, -.2139614671-.4198361739*I, -.7525714614e-1+.9545533527*I, -.7525714614e-1-.9545533527*I]), vector([4.922113488*I, -4.922113488*I, 2.143189336*I, -2.143...
772.1431299, vector([-.2139614671+.4198361739*I, -.2139614671-.4198361739*I, -.7525714614e-1+.9545533527*I, -.7525714614e-1-.9545533527*I]), vector([4.922113488*I, -4.922113488*I, 2.143189336*I, -2.143...

>    CauerBPolesZeros(4,2,3);

>    infolevel[syntfil]:=3:

>    CauerCPolesZeros(4,2,3);

39.27611208, vector([-.2115978052+.4114001456*I, -.2115978052-.4114001456*I, -.7803771035e-1+.9523727340*I, -.7803771035e-1-.9523727340*I]), vector([2.331069616*I, -2.331069616*I])
39.27611208, vector([-.2115978052+.4114001456*I, -.2115978052-.4114001456*I, -.7803771035e-1+.9523727340*I, -.7803771035e-1-.9523727340*I]), vector([2.331069616*I, -2.331069616*I])
39.27611208, vector([-.2115978052+.4114001456*I, -.2115978052-.4114001456*I, -.7803771035e-1+.9523727340*I, -.7803771035e-1-.9523727340*I]), vector([2.331069616*I, -2.331069616*I])

epsilon = .9976283451

CauerCPolesZeros:

Gc = 33.01648338

Poles = [-.3554897032+.2913038752*I, -.3554897032-.2913038752*I, -.9366802015e-1+.9438822515*I, -.9366802015e-1-.9438822515*I]

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

33.01648338, vector([-.3554897032+.2913038752*I, -.3554897032-.2913038752*I, -.9366802015e-1+.9438822515*I, -.9366802015e-1-.9438822515*I]), vector([2.504897318*I, -2.504897318*I])
33.01648338, vector([-.3554897032+.2913038752*I, -.3554897032-.2913038752*I, -.9366802015e-1+.9438822515*I, -.9366802015e-1-.9438822515*I]), vector([2.504897318*I, -2.504897318*I])
33.01648338, vector([-.3554897032+.2913038752*I, -.3554897032-.2913038752*I, -.9366802015e-1+.9438822515*I, -.9366802015e-1-.9438822515*I]), vector([2.504897318*I, -2.504897318*I])

See also:

CauerNLPOrder

Cauer, CauerBOmega, Cauer_asnew

NLP2LP, NLP2HP, NLP2BP, NLP2BP2, NLP2BS, BodePlot

kromě Cauerovy aproximace lze použít další aproximace
ButterworthPoles, ChebyshevPoles, InvChebyschevPolesZeros, InvChebyshevBPolesZeros