#!/usr/bin/env python # coding: utf-8 # Součet harmonických složek # ============================== # # Mějme následující časový průběh: # # $$ u(t)=\frac{8}{\pi^2} \cos(\omega t - {\pi\over 2}) + \frac{8}{(3\pi)^2} \cos(3\omega t +{\pi\over 2}) + \frac{8}{(5\pi)^2} \cos(5\omega t -{\pi\over 2})+ \frac{8}{(7\pi)^2} \cos(7\omega t+{\pi\over 2}) + \dots$$ # # # Časové průběhy # ---------------- # vytvoříme jednotlivé harnonocké složky # In[1]: t=linspace(0,1,1000) u1=8./pi/pi*cos(2*pi*1*t-pi/2) u3=8./3/3/pi/pi*cos(2*pi*3*t+pi/2) u5=8./5/5/pi/pi*cos(2*pi*5*t-pi/2) u7=8./7/7/pi/pi*cos(2*pi*7*t+pi/2) # vykreslíme jednotlivé harmonické složky # In[2]: figure(figsize=(10,7)) plot(t,u1) plot(t,u3) plot(t,u5,t,u7) minorticks_on() matplotlib.ticker.AutoMinorLocator(9) xlabel(r'$\rightarrow$ \\t [s]',fontsize=16, x=0.9 ) ylabel(r'u [V] $\uparrow$',fontsize=16, y=0.9, rotation=0) grid(True, 'major', linewidth=1) grid(True, 'minor', linewidth=0.5) # * Vykreslíme celkový časový průběh # In[3]: u=u1+u3+u5+u7 figure(figsize=(10,7)) plot(t,u,linewidth=2) minorticks_on() xlabel(r'$\rightarrow$ \\t [s]',fontsize=16, x=0.9 ) ylabel(r'u [V] $\uparrow$',fontsize=16, y=0.9, rotation=0) grid(True,'both') # **Vydíme, že složením několika napětí tvaru funkce sinus dostáváme tvar trojúhelníku -- tedy lineární funkce**. # Amplitudové spektrum # ---------- # In[4]: U= 8./pi/pi, 8./pi/pi/3/3 , 8/pi/pi/5/5 , 8./pi/pi/7/7 f=(1,3,5,7) figure(figsize=(10,5)) stem(f,U,markerfmt='o' ) xlim((0,8)) xticks(arange(0,8)) minorticks_on() xlabel(r'$\rightarrow$ \\f [Hz]', x=0.9 ) ylabel('U [V] $\uparrow$',fontsize=16, y=0.9, rotation=0) title(u'Amplitudové frekvenční spektrum') grid(True) # Fázové spektrum # ------------------ # In[5]: figure(figsize(10,5)) fi= 2 * ( -pi/2, pi/2 ) stem(f,fi, basefmt='k.') xlim(0,8) yticks((-pi,-pi/2,0,pi/2, pi),(r'$-\pi$',r'$-{\pi \over 2}$', '0', r'{$\pi \over 2$}', r'$\pi$') ) xlabel(r'$\rightarrow$ \\f [Hz]', x=0.9 ) ylabel(r'$\varphi$ [rad] $\uparrow$',fontsize=16, y=0.9, rotation=0) title(u'Fázové frekvenční spektrum') grid(1) # In[6]: U= 8./pi/pi, 8./pi/pi/3/3 , 8/pi/pi/5/5 , 8./pi/pi/7/7 fi= 2 * ( -pi/2, pi/2 ) f=(1,3,5,7) figure(figsize=(10,8)) subplot(211) stem(f,U,markerfmt='o' ) xlim((0,8)) xticks(arange(0,8)) minorticks_on() xlabel(r'$\rightarrow$ \\f [Hz]', x=0.9 ) ylabel('U [V] $\uparrow$',fontsize=16, y=0.9, rotation=0) title(u'Amplitudové frekvenční spektrum') grid(True) subplot(212) stem(f,fi, basefmt='k.') xlim(0,8) yticks((-pi,-pi/2,0,pi/2, pi),(r'$-\pi$',r'$-{\pi \over 2}$', '0', r'{$\pi \over 2$}', r'$\pi$') ) xlabel(r'$\rightarrow$ \\f [Hz]', x=0.9 ) ylabel(r'$\varphi$ [rad] $\uparrow$',fontsize=16, y=0.9, rotation=0) title(u'Fázové frekvenční spektrum') grid(1)