Obdélníkový časový průběh s DCL) 50% lze popsat vztahem:

$$u_t() = \sum_{n=1}^\infty {4U_m \over \pi} { \cos(n\omega t - {\pi\over 2}) \over n }$$

Vyzkoušejte si, kolik je třeba harmonických složek pro zachování tvaru tohoto časového průběhu.

In [25]:
t=linspace(0,2,5000)
In [26]:
#############################################################
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*cos(n*2*pi*f*t-pi/2)/(pi*n)
        if kroky:
            plot(t,harm,'--g')
        u = u + harm
    #figure(figsize=(10,7))
    plot(t,u,'r-',lw=2)
    grid(1)
############################################################
obdelnik(t,5,)
In [27]:
obdelnik(t,20,)
In [28]:
obdelnik(t,50,)
In [29]:
obdelnik(t,100,False)
In [30]:
obdelnik(t,500,False)
In [31]:
obdelnik(t,2000,False)
In [32]:
obdelnik(t,5000,False)
In [33]:
obdelnik(t,10000,False)