Periodický neharmonický ustálený stav

Nyní určeme přenos kompenzovaného napěťového děliče (viz. obrázek) a vypočtěme odezvu na vstupní obdélníkový průběh.

[Maple Bitmap]   

Nejprve je nutné určit Fourierův rozvoj obdélníkového průběhu, viz. také 4. přednášku.

Fourierova řada

Zadání topologie obvodu.

>    pnus:=" RC clanek
V 1 0
C1 1 2
C2 2 0 200p
R1 1 2 900k
R2 2 0 100k
.end":

Analýza a výpočet přenosu jednak pro kompenzovaný (přenos je nezávislý na kmitočtu), jednak pro nedokompenzovaný ( tau[1] < tau[2] ) a překompenzovaný dělič.

>    napeti_pnus:=syrup(pnus, ac);

>    P0:=simplify(subs(C1=200e-12/9,subs(napeti_pnus,v[2]/V)));

>    P1:=simplify(subs(C1=200e-12/12,subs(napeti_pnus,v[2]/V)));

>    P2:=simplify(subs(C1=200e-12/7,subs(napeti_pnus,v[2]/V)));

parsedeck:   Analyzing SPICE deck "RC clanek" (ignoring this line)

napeti_pnus := {v[2] = 50000*V*(1+900000*s*C1)/(500000+9*s+45000000000*s*C1), v[1] = V}

P0 := .1000000000

P1 := (200000.+3.*s)/(2000000.+39.*s)

P2 := .5000000000e-1*(.1000000000e15+2571428571.*s)/(.5000000000e14+1028571429.*s)

Výpočet modulů a fází přenosů pro jednotlivé harmonické.

>    out1_m:=a_obd*evalc(abs(subs(s=I*2*Pi*k*f,P1))):

>    out2_m:=a_obd*evalc(abs(subs(s=I*2*Pi*k*f,P2))):

>    out1_phi:=evalc(argument(subs(s=I*2*Pi*k*f,P1))):

>    out2_phi:=evalc(argument(subs(s=I*2*Pi*k*f,P2))):

Vykreslení výstupního průběhu pro oba případy - nedokokompenzovaného a kompenzovaného přenosu (amlituda vstupního průběhu je 1).

>    f_out1:=(t,n)->sum(out1_m*cos(2*Pi*k*f*t+out1_phi),k=1..n);

>    f_out2:=(t,n)->sum(out2_m*cos(2*Pi*k*f*t+out2_phi),k=1..n);

>    ted:= time():

>    plot([f_out1(t,200),f_out2(t,200)],t=0..1.5e-3,thickness=2,numpoints=500,color=[red,blue]);

>    time() - ted;

f_out1 := proc (t, n) options operator, arrow; sum(out1_m*cos(2*Pi*k*f*t+out1_phi),k = 1 .. n) end proc

f_out2 := proc (t, n) options operator, arrow; sum(out2_m*cos(2*Pi*k*f*t+out2_phi),k = 1 .. n) end proc

[Maple Plot]

2.814

Je pochopitelné, že výpočet je numericky náročný (výše zobrazená hodnota je čas potřebný pro výpočet). Navíc je výsledek zatížen chybou díky konečnému počtu uvažovaných harmonických ("zákmity"). Časový průběh náběžné (případně sestupné) hrany průběhu lze jednoduše vypočítat pomocí Laplaceovy transformace (odezva na jednotkový skok).  

>    odezva1:=inttrans[invlaplace](P1/s,s,t)*Heaviside(t);

>    odezva2:=inttrans[invlaplace](P2/s,s,t)*Heaviside(t);

odezva1 := (.1000000000-.2307692308e-1*exp(-51282.05128*t))*Heaviside(t)

odezva2 := (.1000000000+.2499999993e-1*exp(-48611.11109*t))*Heaviside(t)

Je evidentní, že dostáváme shodný výsledek s neporovnatelně menšími nároky na výpočet.

>    plot([odezva1,odezva2],t=-1e-4..1e-3,color=[red,blue],thickness=2);

[Maple Plot]