odezva.mws

Odezva lineárního obvodu na harmonický signál

Tato kapitola se zabývá se odezvou lineárního systému na harmonický signál. Pro pochopení této látky je potřebné znát Laplaceovu transformaci a její použití v elektronických obvodech při konstrukci časových odezev speciálně pak pro impulzní a přechodové charakteristiky. Na závěr tohoto výkladu se však zmíníme o specifikách Laplaceovy a také Fourierovy transformace.

Tento soubor výkladů také předpokládá znalost alespoň základních příkazů Maple V (viz. uvod.mws, maple_in.mws a syrup_in.mws).
restart:

Pro výpočty a kreslení někrerých grafů budeme potřebovat tyto knihovny.

>    with(inttrans):

Budeme uvažovat lineární, časově invariantní systém (bez paměti), který je popsán přenosovou funkcí ve tvaru racionálně lomené funkce F(p) = M(p)/N(p) . Tato funkce má tzv. nulové body p[0] , jestliže platí M(p[0]) = 0 . Funkce F(p)  má dále póly   p[infinity] , pokud N(p[infinity]) = 0 . Předpokládejme také, že přenosová funkce obvodu F(p)  je racionálně lomenou funkcí stupně m/n   a platí m < n . Obraz odezvy na signál s Laplaceovým obrazem S(p)  je dána výrazem O(p) = F(p)*S(p) . Odezvu o(t) dostaneme zpětnou LT a lze ji rozložit na přirozenou (vlastní)   a   vynucenou složku   o(t) = o[p](t)+o[v](t) . Pro nalezení předmětu LT můžme s výhodou použít větu o reziduích ([LT], str.137 a [MA III] str.175), potom je  

o[p](t) = Sum(res[p[k]](O(p)*exp(p*t)),k)         a         o[v](t) = Sum(res[p[j]](O(p)*exp(p*t)),j) ,

kde   p[k]   jsou singulární body (póly) přenosové funkce F(p)  a   p[j]   jsou singulární body (póly) funkce S(p) . Z tohoto vyplývá, že je-li obvod absolutně stabilní , pak po připojení zdroje signálu k obvodu přirozená složka odezvy obvodu postopně zaniká   limit(o[p](t),t = infinity) = 0 , tudíž všechny póly přenosové funkce absolutně stabilního obvodu musí ležet v levé polorovině , jak bude patrné z dalšího výkladu ( Jak se počítá residuum) a což bude také zřejmé z aeo_pol.mws. Zanikající přirozená složka odezvy se přitom nazývá přechodovou složkou . Po zániku přechodové složky je odezva tvořena pouze vynucenou složkou a naopkak po odpojení budícího signálu je odezvva tvořena pouze přechodovou složkou. Při připojení zdroje signálu k obvodu v okamžiku t = 0 , pak pro počáteční a konečnou hodnotu odezvy platí podle vět o limitě:

  o(0) = limit(p*F(p)*S(p),Re(p) = infinity)   a   o(infinity) = limit(p*F(p)*S(p),p = 0) ,  (o(0+), p=>0+).  

Připomeňme ještě dva často používané typy budení. Je-li budícím signálem Dirakův impulz ( S(p) = 1 ), pak odezva obvodu na tento signál je funkce o(t) = L^(-1) {F(p)} = f(t)  , která se nazývá impulzní charakteristika  obvodové funkce F(p) . Je-li dále budící signál ve tvaru jednotkového skoku ( S(p) = 1/p ), pak odezva obvodu na tento signál je o(t) = L^(-1) {F(p)/p} = int(f(tau),tau = 0 .. t)   a nazývá se přechodová charakteristika  obvodové funkce F(p) . Její vztah k impulzní charakteristice je dán zmíněným integrálem. Z výše uvedeného lze ještě napsat počáteční a konečnou hodnotu přechodové charakteristiky:   pch(infinity) = limit(F(p),p = 0) , resp. pch(infinity) = F(0)   a  (pch(0+), p=>0+, F(0+)) pch(0) = limit(F(p),Re(p) = infinity) . , resp. pch(0) = F(infinity) , z čehož je patrné, že stupeň čitatele funkce F(p)  musí být nenší než stupeň jmenovatele -- m < n , což platí u každého reálného obvodu (viz aeo_nul.mws).   

Nyní odvodíme odezvu obdodu s výše definovanou přenosovou funkcí F(p)  na obecný harmonický signál.  

>    vstup:=A*sin(omega*t+Phi);

vstup := A*sin(omega*t+Phi)

Obraz funkce sin(omega*t+Phi) .

>    S:=laplace(vstup,t,p);

S := A*(cos(Phi)*omega+sin(Phi)*p)/(p^2+omega^2)

Poznámka k Laplaceovu obrazu funkce sin(omega*t+Phi)  

V některých pramenech se můžeme setkat s jiným vyjádřením obrazu funkce sin(omega*t+Phi) . Je to periodická funkce, tj. funkce, která není nulová pro záporný argument, proto ji při hledání Laplaceova obrazu násobíme jednotkovým skokem. Maple ji imlicitně násobí skokem v t = 0  ( Heaviside(t) ). Při použití posunutého jednotkového skoku o Phi  a s použitím věty o posunutí lze dospět k obrazu S(p) = A*exp(Phi*p/omega)*omega/(p^2+omega^2)  . Na následujících obrázcích jsou uvedeny oba typy signálů. Čtenář si může ověřit, že výsledek následujícího odvození nezávisí na použitém typu obrazu funkce   A*sin(omega*t+Phi) .

>    plot(Heaviside(t-Pi/5)*5*sin(t-Pi/5),t=-1..8,title=`sin(t-x)*1(t-x)`,thickness=3);

>    plot(Heaviside(t)*5*sin(t-Pi/5),t=-1..8,title=`sin(t-x)*1(t)`,thickness=3);

[Maple Plot]

[Maple Plot]

Jestliže budeme chtít znát předmět funkce O(p) = F(p)*S(p) , nemůžeme to provést takto.  

>    invlaplace(S*F(p),p,t);

A*(cos(Phi)*omega*invlaplace(1/(p^2+omega^2)*F(p),p,t)+sin(Phi)*invlaplace(1/(p^2+omega^2)*F(p)*p,p,t))

V tomto obecném případě to samozřejmě přímo nepůjde, protože F(p)  je zadaná obecně. Pro výpočet lze použít vzpomenutou větu o reziduích. Neznáme však singulární body funkce F(p) , známe pouze póly obrazu budícího signálu. Budeme tedy moci odvodit vynucenou složku výstupního signálu pomocí reziduí právě v těchto pólech. Jak víme, vlastní složka odezvy je daná póly funkce F(p)  a pro stabilní systém postupně vymizí (přechodový děj).     

>    readlib(residue):
r1:=simplify(convert(simplify(residue(F(p)*S*exp(p*t), p=I*omega)),exp));
r2:=simplify(convert(simplify(residue(F(p)*S*exp(p*t), p=-I*omega)),exp));   

r1 := -1/2*I*F(omega*I)*A*exp((omega*t+Phi)*I)

r2 := 1/2*I*F(-I*omega)*A*exp(-I*(omega*t+Phi))

Jak se počítá residuum?

Pro výpočet residua použijeme limitu    r1 = limit((p-I*omega)*F(p)*S(p)*exp(p*t),p = I*omega)  a   r2 = limit((p+I*omega)*F(p)*S(p)*exp(p*t),p = -I*omega) . Tuto limitu lze jednoduše vypočítat i "v ruce". V případě Maple se o to nemusíme starat.

>    simplify(limit((p-I*omega)*F(p)*S*exp(p*t), p=I*omega)); #simplify(convert(%,exp));
simplify(limit((p+I*omega)*F(p)*S*exp(p*t), p=-I*omega));

-1/2*F(omega*I)*A*exp(t*omega*I)*(cos(Phi)*I-sin(Phi))

1/2*F(-I*omega)*A*(cos(Phi)*I+sin(Phi))*exp(-I*t*omega)

Připomeňme pouze, že vztah pro výpočet rezidua ve vícenásobném pólu je poněkud složitější (viz. např. [LA]). Tento případ však již přasahuje rámec tohoto textu, navíc díky Maple není důležitý.  

Jak bylo žečeno, stejně by se počítala i rezidua pro výpočet přirozené složky odezvy o[p](t) , ale rezidua by se počítala v pólech přenosové fynkce F(p) . Pokud by však některý z pólů měl reálnou část větší než nula, evidentně by limita pro výpočet příslušného rezidua rostla, díky členu exp(pt)  ( proc (p) options operator, arrow; p[i] end proc ), nadevšechny meze a obvod by byl tudíž nestabilní, jak bylo dříve poznamenáno.

H ledanou funkci dostaneme součtem jednotlivých reziduí r1+r2 . Jelikož ve většině případů bude přenosová funkce obvodu F(p) racionální funkcí, můžeme ještě uplatnit její vlastnosti ( phi = phi(omega) ):  

F(I*omega) = abs(F(I*omega))*exp(I*phi)   a platí:    abs(F(-I*omega)) = abs(F(I*omega))  ;   Arg(F(I*omega)) = -Arg(F(-I*omega)) , tj. F(-I*omega) = abs(F(I*omega))*exp(-I*phi)  

Jestliže do úpravy výsledné funkce vememe v potaz i tyto vlastnosti dostaneme následující výraz.

>    o[v](t):=simplify(subs(F(I*omega)=abs(F(I*omega))*exp(I*phi),r1)+subs(F(-I*omega)=abs(F(I*omega))*exp(-I*phi),r2));

o[v](t) := abs(F(omega*I))*A*sin(phi+omega*t+Phi)

Je patrné, že vynucená (ustálená) složka odezvy obvodu na sinusový signál je rovněž sinusová (vynucená složka, která je periodickou funkcí se nazývá ustálenou složkou  odezvy). Poměr amplitud vstupního a výstupního signálu je dán absolutní hodnotou abs(F(I*omega)) , zatímco rozdíl jejich fázových posuvů je dán vztahem Arg(F(I*omega)) = phi . Funkce F(I*omega)  se pak nazývá kmitočtová charakteristika  obvodové funkce F(p) . Složky kmitočtové charakteristiky abs(F(I*omega))  a Arg(F(I*omega))  jsou pak amplitudovou   a   fázovou charakteristikou   obvodové funkce   F(p) . Podobně lze odvodit, že pro obecný periodický budící signál s periodou T , je vynucená složka odezvy také periodickou funkcí se shodnou periodou.  

V posledním vztahu jsme přešli (v případě ustálené složky) od Laplaceovy transformace k transformaci Fourierově -- náhradou I*omega  za p  ve vztahu pro přenos obvodu F(p) . Mezi definičními vztahy těchto transformací a rovměž jejichž vlastnostmi a obrazy stejných funkcí platí velmi úzký vztah (viz definiční vztahy obou transformací). Dále je zřejmé, že vztah pro přenos obvodu F(I*omega)  dostaneme i pomocí symbolicko-komplexního vyjádření, což je velmi důležitá souvislost s FT. Rovnice obvodu v harmonickém ustáleném stavu, formulované pomocí symbolicko-komplexní metody, jsou totiž zároveň rovnicemi Fourierových obrazů napěťových a proudových odezev při přechodových jevech.   FT napětí a proudů vyjadřuje vztah mezi odezvami v časové oblasti (souvislost FT s LT) a kmitočtovými odezvami -- charakteristikmi.  Lze totiž ukázat, že pro Fourierovy obrazy napětí a proudů platí Kirchhoffovy zákony a že při nulových počátečních podmínkách platí pro Fourierův obraz napětí a proudu dvojpólu Ohmův zákon:

U(I omega ) = Z  I(I omega ), atd.  

Této významné fyzikální interpretace FT  se plně využívá v teorii obvodů (např. vztah mezi kmitočtovou charakteristikou a časovou odezvou -- znám-li póly přenosové funkce lineárního stabilního systému, zanám jak jeho  kmitočtové charakteristiky, tak časové odezvy).  Naproti tomu řešení diferenciálních rovnic obvodu pomocí FT je v porovnání s LT náročnšjší a navíc lze LT řešit větší obor i poměrně složitých případů.

V závěru je nutné upozornit na některé "matematické souvislosti" předchozích úvah a závěrů. Mezi matematickým charakterem Laplaceova a Fourierova je totiž značný rozdíl. Laplaceův obraz F(p)  je holomorfní funkcí\footnote{co to je} komplexní proměnné, jež nemá fyzikální význam. Naproti tomu Fourierův obraz F(I*omega)  je spojitou funkcí pouze pro reálné hodnoty proměnné omega , jež mají fyzikální význam jako úhlový kmitočet a pro imaginární hodnoty omega  nemusí obraz F(I*omega)  existovat.   

 Nahradit I*omega  za p  tudíž nelze ve všech případech. Je třeba, aby póly funkce F(p)  (v našem případě F(p)*S(p) ) byly v levé polorovině a to pro takové funkce, jejichž předmět -- funkce f(t)  bude rovna nule pro t < 0 .

Druhá podmínka ( f(t) = 0  pro t < 0 ) vyplývá z definice LT, resp. z nutných podmínek pro předmět (funkci f(t) ), na kterou má být transformace uplatněna, tj. funkce f(t)  musí být standardního typu.

Pozn:  P ředmět standardního typu je každá komplexní funkce reálné proměnné má-li tyto tři vlastnosti:  (1) je po částech spojitá na intervalu <0, infinity  ),  (2) je exponenciálního řádu a  (3) rovná se nule pro všechna t < 0 . (Zkráceně: funkce f(t)  se nazývá exponenciálního řádu s indexem růstu xi[1]  ,  existuje-li takové t[0]  a číslo 0 < M  , že nerovnost abs(f(t)) < M*exp(xi[1]*t)  , (nebo se rovná) platí pro všechna t[0] < t  , pro která je funkce definována).

Uvědomme si, že exponenciála   exp(-p*t)  definičního integrálu LT by pro nekonečné záporné hohnoty p  rostla nadevšechny meze, tudíž je dolní mez integrálu rovna nule a tudíž i předmět musí být v tomto oboru ( t < 0 ) roven nule, abychom vyločili stejný obraz pro různé předměty.  

To, že póly obrazu F(p)  musí pro přechod k Fourierově transformaci ( proc (p) options operator, arrow; I*omega end proc ) ležet v levé polorovině koplexní roviny lze odvodit čistě matematicky nebo to lze jednoduše zjistit z teorie obvodů. Symbolicko-komplexní metody lze použít jen pro řešení asymptoticky stabilních obvodů -- v ustáleném stavu existuje při harmonickém buzení jen jediný harmonický ustálený stav nezávislý na počátečních podmínkách. Přenosové funkce takových obvodů však mají póly v levé polorovině.

Skutečnost, že u nestabilních obvodů nelze pro řešení použít symbolicko-komplexní metody se můžeme přesvědčit na velmi jednoduchém obvodu, např. netlumeného sériového rezonančního LC obvodu napájeného harmonickým signálem (póly charakteristické funkce leží na imaginární ose). Je zřejmé, že v tomto případě obvod nedosáhne ustáleného stavu, který jako jediný by bylo možno řešit symbolicko-komplexní metodou. Je nutné rozlišit dva případy:  (1) budicí kmitočet se nerovná kmitočtu rezonančnímu, pak je proud i(t)  vyjádřen součtem dvou harmonických funkcí, z nichž jedna má kmitočet omega[r]  a druhá kmitočet buzení omega . Je tedy omezenou funkcí, narozdíl od případu (2), kdy omega = omega[r] . Obvod není regulární a jeho řešení není zdaleka jednoduché. Tyto skutečnosti samozřejmě není možné zjistit pomocí symbolicko-komplexní metody, jak bylo řečeno, ale je nutné použít LT nebo řešit přímo příslušnou diferenciální rovnici.

Toto je důvod, proč např. střídavá analýza v programu SPICE dává pro nestabilní obvody naprosto zavádějící výsledky! Jestli získané kmitočtové charakteristiky jsou opravdu skutečnými charakteristikami analyzovaného obvodu nebo jen vykreslením matematické funkce bez vatahu na reálný systém se musíme ujistit z polohy pólů přenosové funkce.

Na závěr uvedeme ještě matematický příklad nesprávného použití FT na funkci jednotkového skoku ( v(t) = 1(t) ). Lapaceův obraz této funkce je V(p)  = L(1(t)) = 1/p  a bylo by chybou domnívat se, že Fourierův obraz dostaneme prostým dosazením dosazením I*omega  za p  v Laplaceově obrazu. Neplatí totiž výše uvedené podmínky -- pól funkce V(p)  leží na imaginární ose. O neexistenci Fourierova obrazu se přesto můžeme ještě přesvědčit výpočtem definičního integrálu FT   L(1(t)) = int(1(t)*exp(-I*omega*t),t = -infinity .. infinity)  = limit(-1*exp(-I*omega*t)/(I*omega),omega = infinity)-limit(-1*exp(-I*omega*t)/(I*omega),omega = 0)  . Jelikož limita pro omega = infinity  neexistuje, nemůže existovat ani Fourierův obraz jednotkového skoku a tudíž ani funkce 1(t)  nemůže být fourierovským předmětem standardního typu -- integrál int(abs(1(t)),t = -infinity .. infinity)   nemá konečnou hodnotu.   

Zde je potvrzení výše uvedených skutečností.

>    Int(Heaviside(t)*exp(-I*omega*t),t = -infinity .. infinity):%=value(%);

Int(Heaviside(t)*exp(-I*omega*t),t = -infinity .. infinity) = undefined

>    Int(abs(Heaviside(t)),t = -infinity .. infinity):%=value(%);

Int(Heaviside(t),t = -infinity .. infinity) = infinity

Podobně není definován ani fourierův obraz pro signál sin(w*t)  -- ( int(abs(sin(w*t)),t = -infinity .. infinity) = infinity ), což lze rozšířit na všechny periodické funkce. Fourierův obraz lze hledat jen u takových funkcí (analogových signálů), které mají konečnou energii, tj. abs(abs(f))^2 = int(abs(f(t))^2,t = -infinity .. infinity)  musí být konečné čislo.    

>    Int(sin(w*t)*exp(-I*omega*t),t = -infinity .. infinity):%=value(%);

Int(sin(w*t)*exp(-I*omega*t),t = -infinity .. infinity) = undefined

Uvědomme si jaké jsou definiční vztahy Fourierovy transformace (vztahem G(omega)  míníme komplexní funkci reálné proměnné omega , kterou většinou zapisujeme následujícím způsobem G(I*omega) .

>    G(omega)=convert(fourier(g(t),t,omega),int);
g(t)=convert(invfourier(G(omega),omega,t),int);

G(omega) = int(g(t)*exp(-I*t*omega),t = -infinity .. infinity)

g(t) = 1/2*int(G(omega)*exp(I*t*omega),omega = -infinity .. infinity)/Pi

Pro účely teorie obvodů by však bylo velmi výhodné, kdyby obrazy výše uvedených funkcí existovaly.  Proč? ..... Jak se to zařídí? .....

>    fourier(A*exp(I*omega0*t),t,omega) assuming omega0>0;

>    fourier(A*cos(omega0*t),t,omega) assuming omega0>0;

>    fourier(A*sin(omega0*t),t,omega) assuming omega0>0;

2*A*Pi*Dirac(omega-omega0)

A*Pi*(Dirac(omega-omega0)+Dirac(omega+omega0))

A*Pi*(-Dirac(omega-omega0)+Dirac(omega+omega0))*I

Tyto vztahy lze poměrně snadno odvodit při znalosti spektra konstantního signálu ( [Maple Bitmap] , což lzde dokázat zpětnou fransformací [Maple Bitmap]  ) a použitím věty o kmitočtovém posunu

[Maple Bitmap]

 Lze tak získat obraz komplexní exponencialy.

[Maple Bitmap]   což lze potvrdit zpětnou transformací   [Maple Bitmap]  

Odtud již lze napsat i ostatní vztahy (pro funkce sin a cos), pokud uvážíme, že [Maple Bitmap] . Podobně odvodit i vztah pro obecný periodický signál

[Maple Bitmap]   kde   [Maple Bitmap]  

Jaký je tedy vztah mezi spektrem periodického signálu vypočteným pomocí Fourierovy transformace a koeficienty jeho Fourierova rozvoje. Například pro spektrum funkce A*cos(omega0*t)  platí výše uvedený vztah. Vzhledem k~tomu, že A*cos(omega0*t) = A/2*(exp(I*omega0*t)+exp(-I*omega0*t)) , jsou koeficienty komplexní Fourierovy řady c[-1] = c[1]  = A/2 . Jejich grafické znázornění je uvedeno na následijícím obrázku (a). Oproti tomu spektrum stejného signálu A*cos(omega0*t) , získané Fourierovou transformací tvoří dva Diracovy pulzy s plochou Pi*A  na kmitočtech -omega  a omega , jak ukazuje obrázek (b).

[Maple Bitmap]

Plocha Diracových pulzů je přitom úměrná velikosti koeficientu ck  Fourierova rozvoje. Je-li fyzikální rozměr amplitudy A  např. [V], pak plocha tohoto pulzu má fyzikální rozměr [V * s * rad / s]=[V * rad]. Pokud tedy chceme znát velikost příslušného koeficientu ck  stačí vydělit plochu odpovídajícího Diracova pulzu členem 2*Pi . To také evidentní ze vztahu pro zpětnou Fourierovu transformaci. Pokud ho budeme aplikovat na dané spektrum (např. kosinusového signálu), vynásobené amplitudou A , dostaneme člen 1/(2*Pi)  násobený integrálem, udávajícím plochy obou pulzů násobené komplexními exponenciálami, tj.

[Maple Bitmap] [Maple Bitmap]

Po úpravě samozřejmě dostaneme původní signál se správnou velikostí amplitudy.

>   

>    invfourier(%,omega,t);

A*sin(omega0*t)*Dirac(t)

Podobně lze i následující

>    fourier(Heaviside(t),t,omega);

Pi*Dirac(omega)-I/omega

>    invfourier(%,omega,t);

Heaviside(t)

Jelikož Int(Dirac(t),t = -infinity .. infinity) = 1  musí platit následující ( diff(Dirac(t),t) = Dirac(1,n) ).

>    fourier(Dirac(t),t,omega);
fourier(1,t,omega);
fourier(t,t,omega);

1

2*Pi*Dirac(omega)

2*I*Pi*Dirac(1,omega)

>