Název školy: | Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 |
Autor: | Ing. Marek Nožka |
Anotace: | Význam vysokých a nízkých harmonických složek |
Vzdělávací oblast: | Principy přenosu informací |
Předmět: | Počítačové sítě a komunikační technika (PSK) |
Tematická oblast: | Harmonická analýza |
Výsledky vzdělávání: | Žák používá frekvenční oblast k popisu signálu |
Klíčová slova: | harmonická analýza, časová oblast, frekvenční oblast, harmonické složky |
Druh učebního materiálu: | Návod na domácí samostatné cvičení; Program v jazyce Python |
Typ vzdělávání: | Střední vzdělávání, 3. ročník, technické lyceum |
Ověřeno: | VOŠ a SPŠE Olomouc; Třída: 3L |
Zdroj: | Vlastní poznámky |
Vyžijeme programovací jazyk Python, který se učíte používat v předmětu Programování a interaktivní interpret IPython. Předpokládám, že máte nainstalovaný Python(x,y), kde jsou k dispozici všechny potřebné knihovny.
Spusťte si program "IPython Qt console" a prostudujte si krátké tutoriály, které jsem pro vás vytvořil:
Nevím jak přesně spouštíte IPython, proto několik málo poznámek. Je možné, že po spuštění programu nemáte importované přístupné matematické a vykreslovací knihovny:
[1]>>> plot
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-88d627f14d84> in <module>()
----> 1 plot
NameError: name 'plot' is not defined
Knihovny se zavedou pomocí příkazu:
%pylab qt
nebo
%pylab inline
Paremetry qt
a inline
mění vykreslovací backend a grafy se budou kreslit
jinak. Při použití inline
se budou grafy kreslit přímo do IPython okna. Pokud
nastavíte qt
budou se grafy kreslit do samostatného okna.
Možná v určité chvíli zjistíte, že vám interaktivní práce nevyhovuje a raději byste všechny příkazy zapsali do samostatného souboru. I to je možné ale musíte si dát pozor na jmenné prostory. Vše myslím dobře demonstruje následující příklad:
#!/usr/bin/python
# -*- coding: utf8 -*-
##############################################################################
import pylab
from pylab import pi
# sinus 50 Hz
t = pylab.linspace(0, 30e-3, 512)
u = 230 * (2 ** 0.5) * pylab.sin(2 * pi * 50 * t)
pylab.plot(t, u)
pylab.title('Sinus f = 50 Hz')
pylab.grid(True)
pylab.xlabel('t [s]')
pylab.ylabel('u [V]')
pylab.show()
`--> stáhnout
Pilovitý časový průběh se dá vyjádřit vztahem:
$$ u(t)=\frac{2U_{max}}{\pi}(\sin \omega t + {1 \over 2} \sin \omega 2 t + {1 \over 3} \sin \omega 3 t + \dots ) $$
To znamená, že amplitudy jednotlivých harmonický složek lze zapsat následující způcobem: $$ U_n={2U_{max}\over n \pi}\sin n \omega t $$
Vyzkoušejte si, kolik harmonických složek je třeba sečíst, aby tvar výsledného napětí připomínal pilu. Celkový výsledek a alespoň jeden mezivýsledek si vlepte do sešitu. Do sešitu si vlepte také postup, který k výsledku vedl.
Nezapomeňte, že všechny grafy musí mít nadpis a musí mít řádně popsány a ocejchovány osy.