Důkaz uvedených skutečností

Nejdříve nahradíme do vztahu pro přenos výraz omegan za [Maple Math] - MAPLE neumí aplikovat předpoklad na indexovanou proměnnou, což budeme dále potřebovat.

> Pks:=K/expand(subs({p1=sigma[n]+I*omegan,p2=sigma[n]-I*omegan},denom(P)));

[Maple Math]

dosadíme za [Maple Math] a vypočteme absolutni hodnotu prenosu

> abs_Pks:=evalc(abs(subs(p=I*omega,Pks))):

předpokládáme omegan = konstanta - je nutné pro další úpravy

> assume(omegan,constant);

a hledáme maximum funkce abs_Pks -- řešíme následující rovnici

> Diff('abs_Pks',omega)=0;
reseni:=solve(diff(abs_Pks,omega),omega);

[Maple Math]

[Maple Math]

Derivace je nulová samozřejmě v bodě [Maple Math] , a dále pro kmitočet [Maple Math] , pro který nastává maximum na modulové charakteristice (záporné kmitočty samozřejmě nelze uvažovat). Tento kmitočet nazvěme [Maple Math] . Z jeho vyjádření lze vyčíst, že "překmit" na modulové chrakteristice nastává pouze pro [Maple Math] , ( [Maple Math] ). Jeli [Maple Math] , jedná se o případ čistě imaginárních kořenů a kmitočet vlastních kmitů , [Maple Math] se rovná zlomovému kmitočtu [Maple Math] . O zlomovém kmitočtu však v tomto případě nelze hovořit -- jde o systém na mezi stability, jak je ukázáno dále (čtvrtý případ). Čím více se hodnota [Maple Math] blíží hodnotě [Maple Math] vzdaluje se [Maple Math] od zlomového kmitočtu [Maple Math] směrem k bodu [Maple Math] "a překmit se zmenšuje". Je-li [Maple Math] , ( [Maple Math] ) překmit zaniká ( [Maple Math] ) a to je právě případ maximálně ploché charakteristiky. Jestliže je [Maple Math] , ( [Maple Math] ) nelze o extrému hovořit, jelokož nastává na komplexním (nereálném) kmitočtu. To si může zvídavý čtenář ověřit na pomocí 3D grafu. To je také případ dvojice reálných kořenů, kdy platí vždy [Maple Math] (viz pravou část náčrtu).

> modul1:=evalc(abs(subs({Q=2,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
modul2:=evalc(abs(subs({Q=1,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
modul3:=evalc(abs(subs({Q=1/sqrt(2),omega[0]=1000,K=1000000,p=I*omega},Pkq))):
modul4:=evalc(abs(subs({Q=0.5,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
modul5:=evalc(abs(subs({Q=0.2,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
pl1:=semilogplot(20*log10(modul1),omega=1..3000,thickness=3,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=red):
pl2:=semilogplot(20*log10(modul2),omega=1..3000,thickness=3,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=green):
pl3:=semilogplot(20*log10(modul3),omega=1..3000,thickness=3,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=blue):
pl4:=semilogplot(20*log10(modul4),omega=1..3000,thickness=3,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=maroon):
pl5:=semilogplot(20*log10(modul5),omega=1..3000,thickness=3,title=`Modulová charakteristika pro Q=2, 1, 0.707, 0.5 a 0.2`,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=black):
t1 := textplot([3,-22,`omega_0`]):
t2 := textplot([2.6,-8,`Q=0.2`],align=LEFT):
t3 := textplot([2.82,-4,`0.5`],align=LEFT):
t4 := textplot([2.87,2.3,`1`]):
t5 := textplot([3.1,4,`Q=2`],align=RIGHT):
t6 := textplot([1,-2.8,`-3dB`],align=ABOVE):
t7 := textplot([1,-5.8,`-6dB`],align=ABOVE):
l1:=line([3,6],[3,-20],color=black,linestyle=2):
l2:=line([0,-3],[3.5,-3],color=black,linestyle=2):
l3:=line([0,-6],[3.5,-6],color=black,linestyle=2):
display(pl1,pl2,pl3,pl4,pl5,l1,l2,l3,t1,t2,t3,t4,t5,t6,t7);

[Maple Plot]

> faze1:=evalc(argument(subs({Q=2,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
faze2:=evalc(argument(subs({Q=1,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
faze3:=evalc(argument(subs({Q=1/sqrt(2),omega[0]=1000,K=1000000,p=I*omega},Pkq))):
faze4:=evalc(argument(subs({Q=0.5,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
faze5:=evalc(argument(subs({Q=0.2,omega[0]=1000,K=1000000,p=I*omega},Pkq))):
ph1:=semilogplot(180/Pi*faze1,omega=1..3000,thickness=3,numpoints=300,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=red):
ph2:=semilogplot(180/Pi*faze2,omega=1..3000,thickness=3,numpoints=300,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=green):
ph3:=semilogplot(180/Pi*faze3,omega=1..3000,thickness=3,numpoints=300,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=blue):
ph4:=semilogplot(180/Pi*faze4,omega=1..3000,thickness=3,numpoints=300,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=maroon):
ph5:=semilogplot(180/Pi*faze5,omega=1..3000,thickness=3,numpoints=300,title=`Fázová charakteristika pro Q=2, 1, 0.707, 0.5 a 0.2`,labelfont=[HELVETICA,8],axesfont=[HELVETICA,8],color=black):
t1 := textplot([2.98,-20,`Q=0.2`]):
t2 := textplot([1.8,-30,`Q=2`]):
display(ph1,ph2,ph3,ph4,ph5,t1,t2);

[Maple Plot]

P ro případ [Maple Math] si ještě ověříme polohu zlomového kmitočtu a velikost poklesu modulové charakteristiky pro tento kmitočet.

> Pk;

[Maple Math]

Dosadíme do jmenovatele přenosu [Maple Math] a nalezneme póly přenosu.

> omega0:=solve(subs(sigma[n]=omega[n],denom(Pk)),p);

[Maple Math]

Póly musí být komplexně združené a jejich velikost musí být rovna [Maple Math] , což pro náš případ vyjde.

> omega0_abs:=abs(omega0[1]);

[Maple Math]

Nyní vypočteme absolutní hodnotu přenosu pro [Maple Math] (abychom dostali požadovaný výsledek, je nutno opět zavést předpoklad [Maple Math] a tudíž provést trik s omegan .

> 'Pks'=abs(subs({p=I*omega0_abs,sigma[n]=omega[n]},Pk));
assume(omegan,positive);
Pkn:=simplify(subs(omega[n]=omegan,rhs(%)));

[Maple Math]

[Maple Math]

Dále vypočteme hodnotu přenosu pro nulový kmitočet - "asyptotická" hodnota přenosu.

> Pk0:=abs(Limit(Pk,p=0)); Pk0:=value(Pk0);

[Maple Math]

[Maple Math]

Nyní již lze určit pokles přenosu ve zlomovém kmitočtu.

> 'Pkn/Pk0'=simplify(Pkn/subs({sigma[n]=omegan,omega[n]=omegan},Pk0));
'Pkn/Pk0'=evalf(20*log10(rhs(%))); # pokles v [dB]

[Maple Math]

[Maple Math]

Což je výsledek který již známe z průběhu maximálně ploché modulové charakteristiky. Podíl skutečného modulu při zlomovém kmitočtu a jeho "asymptotické" hodnoty je také roven činiteli jakosti, jak bylo výše uvedeno. Tuto skutečnost lze jednoduše dokázat i pro obecný případ.

> Pkq;

[Maple Math]

Dosaďme za [Maple Math] (zlomový kmitočet) do výrazu pro modul přenosu.

> Pkz:=abs(subs(p=I*omega[0],Pkq));

[Maple Math]

Tuto hodnotu vydělme "asymtotickou" hodnotou přenosu a dostaneme:

> 'Pkz/Pk0'=simplify(subs(omega[0]=sqrt(sigma[n]^2+omega[n]^2),Pkz)/Pk0);

[Maple Math]

Jelikož je [Maple Math] , je to důkaz našeho tvrzení. Nyní následuje dokončení výkladu .