Lichoběžníkový časový průběh s lze popsat vztahem:
$$u_t() = \sum_{n=1}^\infty {4U_m \over{2 \pi}} \sin(n\alpha) { \sin(n\omega t ) \over n^2 }$$Vyzkoušejte si, kolik je třeba harmonických složek pro zachování tvaru tohoto časového průběhu.
In [1]:
#############################################################
def obdelnik(t,m,kroky=True,Um=1,f=1):
u=zeros(len(t))
figure(figsize=(10,7))
minorticks_on()
xlabel(r'$\rightarrow$ \\t [s]',fontsize=16, x=0.9 )
ylabel(r'u [V] $\uparrow$',fontsize=16, y=0.9, rotation=0)
title(u"{} harmonických složek".format(m))
grid(True, 'major', linewidth=1)
grid(True, 'minor', linewidth=0.5)
for n in range(1,m+1)[::2]:
harm = 4.*Um*sin(n*2.5)*sin(n*2*pi*f*t)/(2*pi*n*n)
if kroky:
plot(t,harm,'--g')
u = u + harm
#figure(figsize=(10,7))
plot(t,u,'r-',lw=2)
grid(1)
############################################################
t=linspace(0,2,5000)
In [2]:
obdelnik(t,3,)
In [3]:
obdelnik(t,7,)
In [4]:
obdelnik(t,11,)
In [5]:
obdelnik(t,20,False)
In [6]:
obdelnik(t,30,False)
In [7]:
obdelnik(t,50,False)