Amplitúdová a fázová charakteristika RC obvodu: Rozdiel medzi revíziami
(Vytvorená stránka „Aplitúdovú a fázovú charakteristiku jednoduchých obvodov môžeme získať tabeláciou komplexnej prenosovej funkcie obvodu. Skriptovací jazyk Python má priamu podp…“) |
|||
| Riadok 5: | Riadok 5: | ||
a graficky zobraziť. | a graficky zobraziť. | ||
| − | + | === Analýza obvodu === | |
Pre analýzu obdu sme zvolili jednoduchý RC filter. | Pre analýzu obdu sme zvolili jednoduchý RC filter. | ||
| − | [[Súbor:py-rc-filter.png]] | + | [[Súbor:py-rc-filter.png | 250px]] |
Pre nezaťažený výstup obvodu je možné odvodiť komplexnú prenosovú | Pre nezaťažený výstup obvodu je možné odvodiť komplexnú prenosovú | ||
| Riadok 27: | Riadok 27: | ||
\hat{V_1} | \hat{V_1} | ||
</math> | </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 | ||
| + | <source lang="python"> | ||
| + | >>> from scipy import * | ||
| + | >>> from pylab import * | ||
| + | </source> | ||
| + | |||
| + | Pre tabeláciu funkcie vytvoríme pole s hodnotami normovanej frekvencie <math>\Omega</math> v logaritmickom rozsahu šiestich dekád príkazom | ||
| + | <source lang="python"> | ||
| + | >>> omega=logspace(-3,3) | ||
| + | </source> | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <source lang="python"> | ||
| + | >>> A=1j*omega/(1+3j*omega-omega**2) | ||
| + | >>> ampl=abs(A) | ||
| + | >>> phase=arctan(A.imag/A.real) | ||
| + | </source> | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <source lang="python"> | ||
| + | >>> semilogx(omega,ampl) | ||
| + | >>> grid() | ||
| + | >>> show() | ||
| + | </source> | ||
| + | |||
| + | 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. | ||
| + | |||
| + | [[Súbor:py-rc-ampl.png | 400 px]] | ||
Verzia zo dňa a času 04:56, 15. marec 2011
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.
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.