Realizace LC prickove struktury k funkci G(p), ziskane nestandardni aproximaci - tzv. "stipacka":
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 z11 jako podil sude a liche casti G(p):
> z11:=suc/lic;
Pro ilustraci si tutez funkci vyjadrime v "beznem" tvaru zapisu cisel:
> z11pom:=evalf(z11);
Odstipneme podelnou indukcnost, t.j. L1=lim (z11/p), kvuli presnosti pocitame jako rac. cislo, proto
oznacime kl1 (I je oznaceni pro imaginarni jednotku):
> k1:=convert(subs(p=I*om1,z11/p),rational);
Vypocteme zbytkovou funkci z2=z11-p*L1, prikaz simplify znamena vyjadrit v co nejjednodussim tvaru:
> z2:=convert(simplify(z11-p*k1),rational);
Dalsi krok bude realizace serioveho rezonancniho obvodu z funkce y2 jako jejiho polu:
> y2:=1/z2;
Pro deleni pouzijeme funkci quo(delenec,delitel,promenna,'jmeno promenne, kam se ulozi zbytek'):
> dy2:=convert(quo(denom(y2),(p^2+om1^2),p,'eps2'),rational);eps2;
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]y2:
> k2:=convert(subs(p=I*om1,simplify(numer(y2)/(p*dy2))),rational);
Vypocteme zbytkovou funkci po odstepeni serioveho rezonancniho obvodu:
> y3a:=simplify(y2-p*k2/(p^2+om1^2));
Coz je hrozny (ac spravny) vyraz, takze zkusime vypocitat jednoduseji, t.j. s respektovanim faktu, ze jmenovatel
se bude skladat ze soucinu (p^2+om1^2)*dy2, proto vypocteme pouze cital (spolecny jmenovatel zname):
> ny3:=convert(simplify(numer(y2)-p*k2*dy2),rational);
A tento citatel by zase mel byt delitelny (p^2+om1^2):
> dz3:=convert(quo(ny3,(p^2+om1^2),p,'eps3'),rational);eps3;
Dostavame tedy jako z3 podil:
> z3:=dy2/dz3;
Coz je impedance serioveho rezonancniho obvodu, tedy lim(z3/p) pro p jdouci k nekonecnu nam da hodnotu
serioveho induktoru a zbytek po jeho odecteni predstavuje kapacitor:
> k3:=convert(limit(z3/p,p=infinity),rational);
> z4:=convert(simplify(z3-p*k3),rational);
Tim je vypocet dokoncen a nyni si vypiseme hodnoty jednotlivych prvku ve standardnim tvaru:
> L1:=evalf(k1);
> L2:=evalf(1/k2);C2:=evalf(k2/om1^2);
> L3:=evalf(k3);
> C4:=evalf(1/(z4*p));