Amplitúdová a fázová charakteristika RC obvodu

Z Kiwiki
Verzia z 05:56, 15. marec 2011, ktorú vytvoril Pf (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání

Aplitúdovú a fázovú charakteristiku jednoduchých obvodov môžeme získať tabeláciou komplexnej prenosovej funkcie obvodu. Skriptovací jazyk Python má priamu podporu pre prácu s komplexnými číslami a s pomocou rozširujúcich balíkov scipy a pylab je možné výsledky analyzovať a graficky zobraziť.

Analýza obvodu

Pre analýzu obdu sme zvolili jednoduchý RC filter.

Py-rc-filter.png

Pre nezaťažený výstup obvodu je možné odvodiť komplexnú prenosovú funkciu obvodu

[math] \hat{V_2}=\frac{ 1/[(1/R)+j \omega C] } {[1/(1/R) + j \omega C] + R + (1/ j \omega C) } \hat{V_1} [/math]

po úprave

[math] \hat{V_2}=\frac{ j \omega RC } {( j \omega RC + 1)^2 + j \omega R C } \hat{V_1} [/math]

Substitúciou pre bezrozmernú normovanú frekvenciu [math] \Omega = j \omega RC [/math] dostaneme

[math] \hat{A}(j \Omega) = \frac {\hat{V_2} } {\hat{V_1} } = \frac{j \Omega} {(1+ 3j \Omega - \Omega^2)} [/math]

Analyticky je možné vyjadriť amplitúdovú a fázovú charakteristiku v jednotkách normovanej frekvencie [math]\Omega[/math] pomocou modulu a fázového posunu komplexnej prenosovej funkcie obvodu.

[math] \left| A \right| = \frac{1} {\sqrt{ \left( \frac{1}{\Omega} - \Omega \right)^2 + 9}} [/math]
[math] \varphi = \arctan \frac {1-\Omega^2 }{3 \Omega} [/math]

Tabelácia prenosovej funkcie obvodu

V interaktívnom móde Pythonu (konzola, iPython) importujeme balíky scipy pre vedecké výpočty a pylab pre vizualizáciu dát

>>> from scipy import * 
>>> from pylab import *

Pre tabeláciu funkcie vytvoríme pole s hodnotami normovanej frekvencie [math]\Omega[/math] v logaritmickom rozsahu šiestich dekád príkazom

>>> omega=logspace(-3,3)

Z komplexnej prenosovej funkcie vypočítame amplitúdovú a fázovú charakteristiku pomocou funkcií abs a arctan. Všetky matematické operácie sa v Pythone pochopiteľne uskutočňujú nad poľami hodnôt.

>>> A=1j*omega/(1+3j*omega-omega**2) 
>>> ampl=abs(A) 
>>> phase=arctan(A.imag/A.real)

Aplitúdovú charakteristiku zobrazíme v semilogaritmickom grafe pomocou funkcie semilogx. Štandardná funkcia plot nie je na zobrazenie semilogaritmických dát bez ďaľších úprav vhodná. Podobne zobrazíme aj fázovú charakteristiku obvodu.

>>> semilogx(omega,ampl)
>>> grid() 
>>> show()

Výsledok výpočtu sa zobrazí v ineraktívnom prehliadači, graf môžete uložiť do súboru v rôznych formátoch.

Py-rc-ampl.png