Definice obecneho tvaru citatele G(p):
> Cit := (p^2+p*omega1/Q1+omega1^2)*(p^2+p*omega2/Q2+omega2^2);
Definice obecneho tvaru jmenovatele funkce G(p):
> Jm:=(p^2+om1^2);
Dosazeni konkretnich hodnot za jednotlive promenne - pozor, program NAP zobrazi na vystupu
hodnoty polu a nul v Hz, nikoliv jako kruhovy kmitocet, my pro dalsi vypocet potrebujeme normovane
hodnoty => normujeme k mezi propustneho pasma (12 500 Hz):
> Cit:=subs(omega1=13340.756981/12500,Q1=3.59322,omega2=9715.476942/12500,Q2=0.693235,Cit);
> om1:=18989.652197/12500;
Pomoci funkce collect (co,podle ceho) provedeme prepocet citatele G(p) na polynomialni tvar:
> Citpol:=collect(Cit,p);
Budeme pomoci funkce convert pro vypocet cisel definovat sudou (suc) a lichou (lic) cast G(p),
parametr rational definuje vyjadreni cisel ve tvaru podilu celych cisel (racionalni cislo) pro zvyseni
presnosti vypoctu (v zaveru si cisla opet upravime na "bezny" tvar:
> suc:=convert(p^4*(coeff(Citpol,p,4))+p^2*(coeff(Citpol,p,2))+(coeff(Citpol,p,0)),rational);
> lic:=convert(p^3*(coeff(Citpol,p,3))+p*(coeff(Citpol,p,1)),rational);
Vypocteme y22 jako podil sude a liche casti G(p):
> y22:=suc/lic;
Odstipneme uplne pricnou kapacitu, t.j. C4=lim (y22/p), kvuli presnosti pocitame jako rac. cislo, proto
oznacime kc4 (infinity je oznaceni pro nekonecno):
> kc4:=convert(limit(y22/p,p=infinity),rational);
Vypocteme zbytkovou funkci y22a=y22-p*C4, prikaz simplify znamena vyjadrit v co nejjednodussim tvaru:
> y22a:=convert(simplify(y22-p*kc4),rational);
Dalsi krok bude realizace castecneho odstipnuti induktoru z funkce z22a jako jejiho polu v zadanem utlumovem polu, t.j. z22a=pL3+z22b, t.j. L3=z22a/p pro p=j*om1:
> z22a:=1/y22a;
> kl3:=convert(subs(p=I*om1,z22a/p),rational);
Nyni vypocteme z22b=z22a-pL3:
> z22b:=convert(simplify(z22a-p*kl3),rational);
A nyni budeme realizovat seriovy rezonancni obvod jako pol funkce y22b=k2*p/(p^2+om1^2)+y22c:
> y22b:=1/z22b;
Pro zjednoduseni dalsich vypoctu si funkci y22b rozlozime na citatele a jsmenovatele. Jmenovatel musi byt delitelny (p^2+om1^2) - funkce tam ma pol. Pro deleni pouzijeme funkci quo(delenec,delitel,promenna,'jmeno promenne, kam se ulozi zbytek):
> dy22b:=convert(quo(denom(y22b),(p^2+om1^2),p,'eps1'),rational);eps1;
Vysledek (nulovy zbytek) potvrzuje, ze y2 ma skutecne v om1 pol. Nyni dokoncime vypocet, t.j. budeme pocitat
k2=lim [(p^2+om1^2)/p] * y22b (I je imaginarni jednotka):
> k2:=convert(subs(p=I*om1,simplify(numer(y22b)/(p*dy22b))),rational);
Vypocteme zbytkovou funkci po odstepeni serioveho rezonancniho obvodu - abychom dostali vysledek v "rozumnem" tvaru, vyuzijeme vyse provedeny rozklad a piseme - y22c=citatel y22b/ [dy22b*(p^2+om1^1)]-k2*p/(p^2+om1^1)
=> staci nam spocitat citatel tohoto vyrazu:
> ny22c:=convert(simplify(numer(y22b)-p*k2*dy22b),rational);
A tento citatel by zase mel byt delitelny (p^2+om1^2):
> dy22c:=convert(quo(ny22c,(p^2+om1^2),p,'eps2'),rational);eps2;
Dostavame tedy jako z22c=1/y22c podil:
> z22c:=dy22b/dy22c;
Coz je impedance induktoru. Takze nam zbyva prevest vypoctene hodnoty na bezny tvar cisel:
> L1:=evalf(quo(z22c,p,p,'eps3'));eps3;
> L2:=evalf(1/k2);C2:=evalf(k2/om1^2);
> L3:=evalf(kl3);
> C4:=evalf(kc4);
Dalsim krokem je overeni navrzeneho obvodu simulacnim programem, pripadne napr. i programem MAPLE, resp. jeho casti oznacovanou jako SYRUP.