Určování parametrů ZV obvodů "ručně" a SYRUPem -- příklad 1.

© Jiří Hospodka

soubor pro MAPLE 6

> restart;

> with(Syrup):

[Maple OLE 2.0 Object]

Analýza obvodu podle obrázku: jeho zadání

> Obvod:=" zesilovač
V0 1 0
R0 1 2
R1 2 0
E1 3 0 2 0 A
R3 3 4
Rz 4 0
R2 4 2
.end":

Analýza uzlových napětí, proudů větví a následný výpočet napěťového přenosu.

> napeti:=syrup(Obvod, ac, 'proudy', symbolic):
P:=simplify(subs(napeti,v[4]/v[1]));

syrup: Symbolic analysis, numeric values will be ignored

Syrup/parsedeck: Analyzing SPICE deck " zesilovač" (ignoring this line)

P := -Rz*R1*(A*R2+R3)/(-R3*R2*R1-R0*R1*R3-R3*R0*R2-...

Určení jednotlivých přenosových koeficientů. výpočet napěťového přenosu s jejich použitím.

> Rx:=R3*Rz/(R3+Rz):
Ry:=R0*R1/(R0+R1):
K1:=R1*(R2+Rx)/(R1+R2+Rx)/(R0+R1*(R2+Rx)/(R1+R2+Rx)):
K2:=Rz*(R2+Ry)/(Rz+R2+Ry)/(R3+Rz*(R2+Ry)/(Rz+R2+Ry)):
K3:=R1/(R0+R1)*Rx/(Rx+R2+Ry):
K4:=Rz/(R3+Rz)*Ry/(Ry+R2+Rx):

Výpočet vratného rozdílu a napěťového přenosu s použitím výše definovaných přenosových koeficientů.

> F:=1-K4*A:

> Pv:=simplify(K3+K1*K2*A/F);

Pv := -Rz*R1*(A*R2+R3)/(-R3*R2*R1-R0*R1*R3-R3*R0*R2...

Ověření správnosti výpočtu SYRUPem.

> simplify(P-Pv);

0

Vyčíslení napěťového přenosu (lineárně a v dB).

> evalf(subs({R0=1e3,R1=10e3,R2=100e3,R3=100,Rz=10e3,A=-1e3},Pv));

> evalf(20*log10(abs(%)));

-89.91017964

39.07617730

Výpočet vstupního odporu SYRUPem (bez odporu R0 ) a jeho vyčíslení.

> Rvst:=simplify(subs(napeti,proudy,v[2]/i[R0]));

> evalf(subs({R0=1e3,R1=10e3,R2=100e3,R3=100,Rz=10e3,A=-1e3},Rvst));

Rvst := -R1*(R2*Rz+R3*Rz+R3*R2)/(-R3*R2-Rz*R1-R3*Rz...

99.98813197

Vstupní odpor bez vlivu ZV (bez odporu R0 ) a jeho vyčíslení.

> Rvst_bez:=R1*(R2+Rx)/(R1+R2+Rx);

> evalf(subs({R0=1e3,R1=10e3,R2=100e3,R3=100,Rz=10e3,A=-1e3},Rvst_bez));

Rvst_bez := R1*(R2+R3*Rz/(R3+Rz))/(R1+R2+R3*Rz/(R3+...

9091.726619

Vstupní odpor se zpětnou vazbou. Vstupní odpor opět chápán bez odporu R0 , proto je nutné ho v tomto případě vynechat (jeho hodnota jde v limitě do nekonečna - je vlastně paralelně k R1 ). Vstupní odpor se musí vlivem ZV zmenšit, protože se jedná o paralelní ZZV.

> Rvst_:=simplify(Rvst_bez/limit(F,R0=infinity));
evalf(subs({R0=1e3,R1=10e3,R2=100e3,R3=100,Rz=10e3,A=-1e3},%));

Rvst_ := -R1*(R2*Rz+R3*Rz+R3*R2)/(-R3*R2-Rz*R1-R3*R...

99.98813197

Ověření správnosti výpočtu SYRUPem.

> simplify(Rvst-Rvst_);

0

Výpočet výstupního odporu pomocí SYRUPu jako poměr výstupního napětí naprázdno k výstupnímu proudu nakrátko.

> Iv:=limit(subs(proudy,i[Rz]),Rz=0);
Uv:=limit(subs(napeti,v[4]),Rz=infinity);
Rvyst:=Uv/Iv;

Iv := V0*R1*(A*R2+R3)/(R3*(R0*R2+R2*R1+R0*R1))

Uv := -V0*R1*(A*R2+R3)/(-R2*R1+R1*A*R0-R0*R1-R0*R2-...

Rvyst := -R3*(R0*R2+R2*R1+R0*R1)/(-R2*R1+R1*A*R0-R0...

Výstupní odpor bez vlivu ZV.

> Rvyst_bez:=R3*(R2+Ry)/(R3+R2+Ry);

Rvyst_bez := R3*(R2+R0*R1/(R1+R0))/(R3+R2+R0*R1/(R1...

Výstupní odpor s vlivem ZV a jeho vyčíslení. Výstupní odpor se musí vlivem ZV také zmenšit, jelikož se jedná o napěťovou ZZV.

> Rvyst_:=simplify(Rvyst_bez/limit(F,Rz=infinity));
evalf(subs({R0=1e3,R1=10e3,R2=100e3,R3=100,Rz=10e3,A=-1e3},%));

Rvyst_ := -R3*(R0*R2+R2*R1+R0*R1)/(-R2*R1+R1*A*R0-R...

9.990009990

Opět ověření správnosti výpočtu SYRUPem.

> simplify(Rvyst-Rvyst_);

0

>