Střídavá analýza
Uvázka střídavé alanýzy jednoduchého lineárního modelu (jednostupňový zesilovač SE s neblokovaným emitorovým odporem -- zjednodušeno).
> | ZZ:=" zesilovač V 1 0 C1 1 2 CB 2 3 RB 2 3 RE 3 0 RC 4 0 Gm 4 3 2 3 Gm .end": |
> | napeti:=syrup(ZZ, ac, 'proudy'); |
parsedeck: Analyzing SPICE deck "zesilovač" (ignoring this line)
!!!!! V popisu řízeného zdroje musí být jeho hodnota !!! `Gm 4 3 2 3 Gm`!!!
Zde se jedná o řešení početní, ale jelikož nebyly zadané žádné hodnoty součástek, je jeho tvar symbolický. Lze také zadat jen hodnoty některých součástek, potom dosteneme výsledek v číselné podobě a velikost nezadaných prvků bude nahrazena jejich identifikátory.
Vypočítáme napěťový přěnos v uzlu 1 na uzel 4.
> | P:=simplify(subs(napeti,v[4]/v[1])); |
Výsledek si můžeme, pro přehlednost, ještě uspořádat podle mocnin s .
> | P:=collect(P,s); |
Dosadíme numercké hodnoty a za s .
> | Pn:=subs({C1=1e-6,CB=1e-7,RB=10e3,RC=5e3,RE=500,Gm=0.01,s=I*omega},P); |
Následuje vykreslení modulové charakteristiky. K tomuto účelu je výhodný příkaz semilogplot, jehož implementace však není ideální a při velkém rozsahu hodnot osy x je vykreslení chybné i při implicitním zadání velkého počtu bodů (např. numpoints=200). Výpočet polohy bodů na ose x je nevhodný. Je proto výhodné použít možnosti implicitního zadání "startovních bodů" výpočtu s adaptivním algoritmem nebo si rozložení bodů udělat sami (jako návod může sloužit procedura dd ).
> | modul:=simplify(evalc(abs(Pn))): |
> | semilogplot(20*log10(modul),omega=2..10e5); |
> | semilogplot(20*log10(modul),omega=2..10e5,sample=[2,5,10,50,100,1e3,1e4,5e4,1e5,5e5,1e6],adaptive=true); |
Procedura na výpočet bodů - při prvním čtení vynechat
Vyčíslení hodnoty modulu přenosu (v dB) pro konkrétní kmitočet.
> | 20*log10(evalf(subs(omega=1e3,modul))); |
Následuje zjednodušování přenosu při různých podmínkách.
> | Ps:=simplify(limit(P,{C1=infinity,CB=0})); |
Následující výsledek je už známý.
> | Ps_pribl:=limit(P,Gm=infinity); |
Není samozřejmě možné dělat podmínky typu x >> y. MAPLE je matematický program a nelze ho přinutit dělat přibližná zjednodušení.