Určování parametrů ZV obvodů "ručně" a SYRUPem -- příklad 1.
soubor pro MAPLE 6
> | restart; |
> | with(Syrup): |
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)
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); |
Ověření správnosti výpočtu SYRUPem.
> | simplify(P-Pv); |
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(%))); |
Výpočet vstupního odporu SYRUPem (bez odporu ) 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)); |
Vstupní odpor bez vlivu ZV (bez odporu ) 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)); |
Vstupní odpor se zpětnou vazbou. Vstupní odpor opět chápán bez odporu , proto je nutné ho v tomto případě vynechat (jeho hodnota jde v limitě do nekonečna - je vlastně paralelně k ). 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},%)); |
Ověření správnosti výpočtu SYRUPem.
> | simplify(Rvst-Rvst_); |
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; |
Výstupní odpor bez vlivu ZV.
> | Rvyst_bez:=R3*(R2+Ry)/(R3+R2+Ry); |
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},%)); |
Opět ověření správnosti výpočtu SYRUPem.
> | simplify(Rvyst-Rvyst_); |
> |