Příklady k přednášce 2 - Diskrétní modely spojitýc systémů Micael Šebek Automatické řízení 206 2-5-6
Na úvod: CL stabilita při spojitém a diskrétním řízení Automatické řízení - Kybernetika a robotika Pozor při návru emulací: CL stabilita spojitéo řízení nezaručuje CL stabilitu diskrétnío řízení! Musíme testovat diskrétní stabilitu! Pro soustavu a P regulátor a je spojitý CL car. polynom c () s s a ak stabilní Zde diskrétní regulátor = = spojitý regulátor Cz () = Cs () = kp Ps () =, a> 0, Cs () = kp s+ a Real Axis Po připojení k diskrétní soustavě (spojitá + vzorkovač + ZOH) je Což je nestabilní nejen pro, ale i pro CL Imaginary Axis (seconds - ) 0.4 0.3 0.2 0. 0-0. -0.2-0.3 = + + (, ) a = -0.4-6 -5-4 -3-2 - 0 Micael Šebek Pr-ARI-2-202 2 Root Locus Real Axis (seconds - ) P k = 0 a e a a Pz ( ) = ccl( z) = z e + ( e ) k a z e k P p k = p P k P Imaginary Axis 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8 k P = + e e k P 20 a a Root Locus k = - -.5 - -0.5 0 0.5.5 P
Automatické řízení - Kybernetika a robotika CL stabilita při spojitém a diskrétním řízení a e Ps () =, a> 0, Cs () = kp Pz () = s+ a z e a a.5 Nyquist Diagram 5 Nyquist Diagram 0 Imaginary Axis 0.5 0-0.5 k p 5 0 k p - -5 p -.5 - -0.5 0 0.5.5 2 2.5 3 k (, 0] Porovnej GM! Proč? V čem je rozdíl? k > p 0 0 5-5 0 5 0 5 20 Micael Šebek Pr-ARI-2-202 3
Automatické řízení - Kybernetika a robotika Rozdíl je ve vzorkování + ZOH! ZOH vnáší, zruba řečeno, dopravní zpoždění Srovnej 0.6 a = a 0.4 s 2 Pse ZOH () s = e s + a Což má GM = 30! Tedy konečné CL stabilita při spojitém a diskrétním řízení 0.2 0-0.2 e s System: Pzo Gain Margin (db): 30. At frequency (rad/s): 32 Closed loop stable? Yes 2 Nyquist Diagram Není to sice těc 20, ale je to jen zruba Proto je lépe s tím počítat už při spojitém návru -0.4-0.6-0.8 - -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 Real Axis Micael Šebek Pr-ARI-2-202 4
Automatické řízení - Kybernetika a robotika Protože obecný regulátor (systém) můžeme realizovat sestavou s integrátory n us () as n + + as+ a Cs () = = n e() s bs + + bs+ b odvodíme diskrétní aproximaci pro jeden (každý) integrátor Výstup za jednu vzorkovací periodu je et () n e k u( k) e( k + ) ( ) k 0 0 us () Cs () = es () = t ut ( ) = u(0) + e( τ) dτ s 0 u( k + ) k + t Odvození metod aproximace us () b0 a 0 s b a s an Různé populární metody různě aproximují integrál použitím odnot v diskrétníc okamžicíc vzorkování bn s k+ bn ys () u( k + ) = u( k) + e( τ) dτ k+ k k e( τ) dτ = u( k + ) u( k) Micael Šebek Pr-ARI-2-202 5
Automatické řízení - Kybernetika a robotika Náradě derivace přímou diferencí odpovídá v tomto grafu nárada červené plocy zeleným obdélníkem k+ k e( τ) dτ e( k) uk ( + ) = uk ( ) + = u( k) + e( k) Použitím z-transformace k+ k e( τ) dτ et () Metoda přímé diference e k e( k + ) ( ) e( k) k k + t zuz ( ) = uz ( ) + ez ( ) uz ( ) = s ez ( ) z z s z Metoda se také nazývá Eulerova aproximace Micael Šebek Pr-ARI-2-202 6
Metoda zpětné diference Automatické řízení - Kybernetika a robotika Náradě derivace zpětnou diferencí odpovídá v tomto grafu nárada červené plocy zeleným obdélníkem k+ k e( τ) dτ e( k + ) uk ( + ) = uk ( ) + Použitím z-transformace k+ k e( τ) dτ = u( k) + e( k + ) et () e k e( k + ) ( ) e( k + k) k k + t zu( z) = u( z) + ze( z) u( z) z = s ez ( ) z z z s z z Micael Šebek Pr-ARI-2-202 7
Metoda Tustinova neboli bilineární Automatické řízení - Kybernetika a robotika Bilineární Tustinově transformaci odpovídá v tomto grafu nárada červené plocy zeleným licoběžníkem k+ e ( τ) dτ [ e ( k ) + e ( k + )] k 2 u( k + ) = u( k) + k+ e( τ) dτ = u( k ) + e k k 2 Použitím z-transformace zu( z) = u( z) + e( z) + ze( z) 2 2 uz ( ) z+ = ez ( ) 2 z k [ ( ) + e ( + )] et () z+ s 2 z e k e( k + ) ( ) k e( k) k + obsa zelenéo licoběžníku e k e k 2 [ ( ) + ( + )] 2 z 2 z s = z+ + z t Micael Šebek Pr-ARI-2-202 8
Automatické řízení - Kybernetika a robotika Vlastnosti aproximací Řád Všecny tyto transformace zacovávají řád systému a tedy i počet pólů Aproximace vyššíc řádů se neužívají proto, že by řád zvyšovaly Aliasing Pozor na stroboskopický efekt: regulátor nesprávně reaguje na nesprávně vzorkovaný (alised) signál: porucu nebo referenci Může pomoci anti-aliasing filter : Pak VF signály nepůsobí cybně, jsou neviditelné Ale filtr přidává fázové zpoždění a potenciálně destabilizuje CL Stabilita OL Je-li C(s) stabilní, je stabilní i C(z)? Porovnání dále. Podobně minimální fáze Stabilita CL: I když je při předběžném návru spojitý CL systém navržen jako stabilní, po připojení aproximovanéo diskrétnío regulátoru stabilní být nemusí Musíme vypočítat diskrétní model soustavy se vzorkovačem a ZOH, spojit o s diskrétním regulátorem a testovat toto CL spojení na diskrétní stabilitu! Micael Šebek Pr-ARI-2-202 9
Stabilita spojitéo regulátoru a jeo aproximace (OL) Automatické řízení - Kybernetika a robotika Přímá diference spojitý diskrétní s z = e + s Re s< 0 Re s< 0 z z s = = Re z < Re + s < 0 Stabilní spojitý regulátor s módy (póly) VF nebo slabě tlumenými má nestabilní diskrétní aproximaci Micael Šebek Pr-ARI-2-202 0
Stabilita spojitéo regulátoru a jeo aproximace (OL) Automatické řízení - Kybernetika a robotika Zpětná diference z = 0 s Stabilita zacována I když má spojitý málo tlumené módy, diskrétní je nemá s = z 0 Tustinova metoda + s 2 2 z z =, s = s 2 z + Nejen že zacová stabilitu (a minimální fázovost) Zobrazení stabilní oblasti je one-to-one, proto se užívá nejčastěji 0 Micael Šebek Pr-ARI-2-202
Automatické řízení - Kybernetika a robotika Ručně Cs () a a s 2 z s = + z Tustinova metoda: Numerický příklad ( ) = a + z a C + Tustin ( z) = = ( ) 2 z a + a + 2 z + z V Matlabu CSTbx: >> a=2;=4;c=a./(a+s) C = 2 ----- 2 + s >> CTustin=c2d(tf(C),,'tustin') Transfer function: 0.8 z + 0.8 ----------- z + 0.6 Sampling time: 4 Micael Šebek Pr-ARI-2-202 2
Příklady Automatické řízení - Kybernetika a robotika Spojitý regulátor s přenosem Aproximujeme přímou diferencí Zpětnou diferencí a Cs () = a + s ( ) a a Cforward z = = z a + z + a A Tustinovou metodou C Tustin ( z) ( ) a az Cbackward z = = z a + z( a + ) z a a( z + ) = = 2 z a + ( a + 2) z + a 2 z + Micael Šebek Pr-ARI-2-202 3
Automatické řízení - Kybernetika a robotika Spojitý regulátor s přenosem Cs () = s + ( 0.s+ )( 0.0+ s) Aproximujeme: přímá diference zpětná diference tustin >> C=(s+)/((0.*s+)*(0.0*s+));=.05; >> fs=/,fn=fs/2,oms=2*pi*fs,omn=2*pi*fn 0 = 0.0500, fs = 20, fn = 0, oms = 2^, omn = 63 >> S=(z-)/; >> Cpd=(S+)/((0.*S+)*(0.0*S+)),props(Cpd,); Cpd = 50(z-0.9500) / (z+4.0000)(z-0.5000) >> S=(z-)./*z; >> Czd=(S+)/((0.*S+)*(0.0*S+)),props(Czd,); >> Ctu=c2d(tf(C),,'tustin') Transfer function: 5.857 z^2 + 0.2857 z - 5.57 ---------------------------- z^2-0.74 z - 0.257 >> bode(tf(c),tf(cpd),tf(czd),ctu) Magnitude (db) Pase (deg) 40 35 30 25 20 5 0 5 0-5 -0 90 45 Bode Diagram Příklady -45 0-0 0 0 0 2 Frequency (rad/s) Tustinova aproximace: nejlepší, až na okolí Nyquistovy frekvence! ωs 2 = ω = 63rad s N Micael Šebek Pr-ARI-2-202 4
Automatické řízení - Kybernetika a robotika Zkreslení frekvence při Tustinově transformaci Tustinova trans. zobrazuje imaginární osu na jednot. kružnici jedenkrát! Všecny spojité frekvence s = jω j[ 0, ] zobrazí na diskrétní jω frekvence z = e, Ω [ 0, π. ]. Např. s = j z = e jπ = Naproti tomu vzorkování zobrazuje frekvence přes ω Ω, takže j s = jπ z = e π = 2 z jω Dosadíme-li do transformačnío vztau s = za s = jω, z = e z+ dostaneme jω jω 2 jω 2 2 e 2 e e 2 jsin( Ω 2) 2 j Ω jω = = = = jω jω 2 jω 2 tan e + e + e cos( Ω2) 2 Z too vycází výsledné zkreslení 2 ω Ω= arctan 2 jω jω s z j e ω j e Ω j e Ω j e ω přesně aproximace Micael Šebek Pr-ARI-2-202 5
Zkreslení frekvence při Tustinově transformaci Automatické řízení - Kybernetika a robotika 2 ω Ω= arctan je přibližně 2 Diskrétní frekvence Ω[ rad s] Ω ω ( ω) 2 2 Tustinova transformace n ( ) x arctan x = 0 2n + 3 x = x +, 3 x, x= i, i 2n+ Spojitá frekvence ω [ rad s] Ω=ω vzorkování Toto zkreslení měřítka frekvencí - frequency warping - je nepříjemné. Např. digitální realizace spojitéo filtru typu pásmová propusť (zádrž) nemusí správně zacovat požadované pásmo Micael Šebek Pr-ARI-2-202 6
Automatické řízení - Kybernetika a robotika Pro jednu vybranou frekvenci můžeme zkreslení napravit Úpravou transformace ne z s = α, které také Re s< 0 z < z + a stupeň volnosti α můžeme využít k modifikaci zkreslení: Prewarping j pw Vybereme α, aby pro jednu frekvenci ω pw bylo C( jω pw) = Cz ( e ω ) Pak bude Cs () = C() z přesně platit pro s = j0, (DC) a s = jω pw z jω pw e jωpw = α = jα α = jω pw e + ( ω pw ) tan 2 Frekvence pro prewarping musí být v rozsau ωpw 0, π Pro ω = 0 dostáváme klasikou transformaci s α = 2 pw ω pw Prewarping [ ) Vybíráme např. ωpw = ωc (pomůže zacovat PM), nebo frekvenci kritickéo vrubu nebo frekvenci kritickéo oscilačnío módu Micael Šebek Pr-ARI-2-202 7
Automatické řízení - Kybernetika a robotika Klasická Tustinova transformace: zkreslení Tustinova transformace s prewarpingem: zkreslení Diskrétní frekvence Ω[ rad s] 2 ω Ω= ar ca tn 2 2 ω Ω pw = arcta n, α = α ω pw tan Prewarping ω prewarping Tustinova transformace pw ( ω pw 2) Spojitá frekvence ω [ rad s] Ω=ω vzorkování Micael Šebek Pr-ARI-2-202 8
Automatické řízení - Kybernetika a robotika Spojitý regulátor s přenosem Cs () = s + ( 0.s+ )( 0.0+ s) Aproximujeme: Tustin Tustin s prewarpingem ω = 50 rad s >> C=(s+)/((0.*s+)*(0.0*s+));=.05; >> Ctustin=c2d(tf(C),,'tustin') Transfer function: 5.857 z^2 + 0.2857 z - 5.57 ---------------------------- z^2-0.74 z - 0.257 Sampling time (seconds): 0.05 pw >> opt = c2doptions('metod','tustin','prewarpfrequency',50); >> Cpw = c2d(tf(c),,opt) Transfer function: 5.675 z^2 + 0.6444 z - 5.03 ---------------------------- z^2 + 0.4666 z - 0.777 >> bode(tf(c),ctu,cpw) Magnitude (db) Pase (deg) 20 8 6 4 2 0 8 6 4 2 0 90 45 0-45 Bode Diagram ω pw = Příklad -90 0 0 2 Frequency (rad/s) 50 rad s ωs 2 = ω = 63rad s Micael Šebek Pr-ARI-2-202 9 N
Automatické řízení - Kybernetika a robotika Příklad: Prewarping Soustavu s přenosem G( s) = řídíme diskrétně s = 0. s s s + ( ) G Pro spojitý návr započteme vliv ZOH ZOH () s = 0.05s + takže běem návru pracujme s přenosem soustavy des ( ) ( ) ( ) G s = G s G s = ZOH ( + )( 0.05s+ ) Při spojitém návru (který tu přeskočíme) jsme navrli spojitý regulátor 0.593 ( ) 25.7 s + C s = 0.002 s + s s Kterým jsme dosáli odnot ω = 2.8, PM = 46.9 C Micael Šebek Pr-ARI-2-202 20
Příklad: Prewarping Automatické řízení - Kybernetika a robotika Spojitý regulátor ( ) 25.7 0.593s + C s = 0.002 s + Nyní aproximujeme Tustinovou metodou z z 0.844 s = 20 Ctustin ( z) = 274. 2 z + z + 0.659 >>G=tf(./(s*(s+)));=.;C=tf(25.7 *(.593*s+)./(.002*s+));Gdes=G*tf (/(.05*s+));omegaC=2.8; >> Ctustin=c2d(C,,'tustin') Transfer function: 274.5 z - 23.8 --------------- z + 0.66 >> Cpw=c2d(C,,'prewarp',omegaC) Transfer function: 244.8 z - 20 ------------- z + 0.706 A také použitím prewarping na frekvenci ω pw z 2.8 z z s = = = 7.2 C ω pwt z+ tan ( 0.64) z+ z + tan 2 ω C = 2.8 = ω pw ( z) = pw 244.5 z z 0. 822 + 0.700 Micael Šebek Pr-ARI-2-202 2
Příklad: Bodeo grafy regulátorů Automatické řízení - Kybernetika a robotika >> bode(c,ctustin,cpw) ω = 2.8rad s Micael Šebek Pr-ARI-2-202 pw 22
Příklad: Bodeo grafy přenosu OL Automatické řízení - Kybernetika a robotika >> Gdt=c2d(G,,'zo'); Transfer function: 0.004837 z + 0.004679 ---------------------- z^2 -.905 z + 0.9048 >> Ldes=Gdes*C >> Ltustin=Gdt*Ctustin >> Lpw=Gdt*Cpw, >> bode(ldes,ltustin,lpw) ω = 2.8rad s pw Micael Šebek Pr-ARI-2-202 23
Příklad: Odezvy na skok Automatické řízení - Kybernetika a robotika >> Tdes=Ldes/(+Ldes); >> Ttustin=Ltustin/(+Ltustin); >> Tpw=Lpw/(+Lpw); >> step(tdes,ttustin,tpw,) Micael Šebek ARI-2-202 24
Automatické řízení - Kybernetika a robotika Metoda MPZ Metoda sladěnýc nul a pólů - MPZ (Matced pole-zero) s i vycází ze vztau mezi póly/nulami zi = e spojitéo a vzorkovanéo signálu použitéo zde na impulsní carakteristiku regulátoru Navíc, je-li to možné, přidáváme nuly v z =, tj. členy ( z + ) do čitatele, což vede k zprůměrování současné a předcozí odnoty Metoda je jednoducá a praktická, i když ne moc podložená Postup MPZ. vypočti nuly a póly spojitéo regulátoru C(s) s i 2. sestav C(z) tak, aby pro jeo nuly a póly platilo zi = e 3. je-li to možné, přidej do čitatele členy ( z +) tak, aby se stupeň čitatele = stupeň jmenovatele 4. nastav zesílení C(z) pro nulové nebo nízké frekvence stejné jako bylo zesílení v C(s) Micael Šebek Pr-ARI-2-202 25
Metoda MPZ Automatické řízení - Kybernetika a robotika MPZ pro s+ a Cs () = KC s + b z e C ( z) = K z e a MPZ D b zi = e s i a C(0) = K = C () = K b! e e a C MPZ D b a e K = K b e b D C a MPZ pro a a s+ a z e ( z+ )( z e ) C( s) = KC CMPZ,( z) = KD CMPZ ( z) = K b D b s( s+ b) ( z )( z e ) ( z )( z e ) a e K = K 2 b e b D C a Micael Šebek Pr-ARI-2-202 26
Příklad: ZOH Automatické řízení - Kybernetika a robotika rs () ys () rz ( ) yz ( ) Cz ( ) ZOH Gs () Cz ( ) Gz ( ) pro spojitý přenos Gs () je diskrétní přenos a = s + a ( ( ) ) a Gz = z = ss ( + a) ( e ( z ) ( )( a ) = α =, z α z α = e a ) z e a z { } a at = = e e ak ss ( + a) s s+ a ak z z { e } = a z z e = a z e z a ( e ) z = a ( z )( e z ) >> sdf(c2d(tf(/(s+)),,'zo')) ans = 0.632 ---------- reduced (z-0.3679) Micael Šebek Pr-ARI-2-202 27
Automatické řízení - Kybernetika a robotika spojitý přenos části mixéru je Te () s τds τds s Gs () = = e Fs () = e T () s s+ a ec Příklad: Dopravní zpoždění teplá studená Pro odnoty a=, =, τ d =.5 najdeme diskrétní přenos Protože dopravní zpoždění τ d není celočíselným násobkem periody vzorkování, rozdělíme o na Tec zanedbatelné ztráty tepla τ d = l m, l Z, m <, m R.5 = 2 0.5, =, l = 2, λ = 0.5 Te tak dostaneme ms Gs () ls e Fs () = e s s ls e přičemž člen nakonec přejde na z l Micael Šebek Pr-ARI-2-202 28
Automatické řízení - Kybernetika a robotika po dosazení a rozkladu na parciální zlomky dostaneme ms ms Gs l e e { ()} Gz ( ) = ( z ) = ( z ) z s s s+ a Příklad: Dopravní zpoždění o m sekund posunutý jednotkový skok a stejně posunutá exponenciála protože posunutí jsou o méně než celou periodu (m<), nebere se vzorek pro t < 0 vzorky jsou tedy ( k) z ( z ) a( k m) am a e + ( k) ze ( z e ) am z z ze z+ α Gz ( ) = am ( ) l a = e l a z z z z e z ( z e ) Micael Šebek Pr-ARI-2-202 29
Příklad: Dopravní zpoždění Automatické řízení - Kybernetika a robotika pro odnoty a=, =, τ d =.5 >> G=tf([],[ ],'iodelay',.5) Transfer function: exp(-.5*s) * ----- s + >> Gd=c2d(G,,'zo') Transfer function: 0.3935 z + 0.2387 z^(-) * ----------------- z^2-0.3679 z Sampling time: >> Gd/.3935 Transfer function: z + 0.6065 z^(-) * -------------- z^2-0.3679 z Sampling time: spojitý přenos nemá nulu diskrétní přenos má nulu v am e e α = e am a α m >> m=0.:0.0:;alpa=(exp(-m)-exp(-))./(-exp(-m)); plot(m,-alpa); >> syms m; m_sb=solve('(exp(-m)-exp(-))/(-exp(-m))=') m_sb = -log(/2*exp(-)+/2) >> vpa(m_sb,3) ans =.380 Micael Šebek Pr-ARI-2-202 30
Příklad Automatické řízení - Kybernetika a robotika rs () ys () Cz ( ) FOH Gs () rz ( ) yz ( ) Cz ( ) Gz ( ) Gs () = 2 s { } { } 3 3 { } 3 3 2 Gs () t ( k) 3 3 z( z + 4z + ) = = 2 4 ( k ) = { k } = 4 s s 3! 6 6 6 6 ( z ) pro spojitý přenos napřed vypočteme Pak je diskrétní přenos Gz ( ) = 2 3 2 ( z ) zz ( + 4z+ ) 4 z 2 = 6 ( z ) 6 ( z ) 2 ( z + 4z+ ) 2 >> Gz=c2d(tf(/s^2),,'fo') Transfer function: 0.667 z^2 + 0.6667 z + 0.667 ------------------------------ z^2-2 z + Sampling time: >> Gzp=sdf(Gz) Gzp = 0.667(z+3.732)(z+0.2679) -------------------------- (z-)(z-) Micael Šebek Pr-ARI-2-202 3
Příklad Automatické řízení - Kybernetika a robotika >> D=5/(s+5);DD=zpk(D); T=/5; >> DDtustin=c2d(DD,T,'tustin'), DDmpz=c2d(DD,T,'matced'),... DDzo=c2d(DD,T,'zo'),DDfo=c2d(DD,T,'fo'),... Zero/pole/gain: 0.4286 (z+) ------------- Sampling time: 0.066667 (z-0.743) Zero/pole/gain: 0.28347 ---------- Sampling time: 0.066667 (z-0.765) Zero/pole/gain: 0.28347 ---------- Sampling time: 0.066667 (z-0.765) Zero/pole/gain: 0.4959 (z+0.8949) ------------------ Sampling time: 0.066667 (z-0.765) >> bode(dd,ddtustin,ddmpz,ddzo,ddfo) >> omegas=2*pi/t omegas = 94.2478 Micael Šebek Pr-ARI-2-202 32
Automatické řízení - Kybernetika a robotika Porovnání frekvenčníc carakteristik Gs () ω s 5 = s + 5 = 5 s 94 rad ω s 4 Tustin a FOH MPZ a ZOH spojitý všecny OK asi do ω 2= ω 4 N s ω N = ω s 2 4 MPZ a ZOH Tustin a FOH spojitý ω N = ω s 2 Micael Šebek Pr-ARI-2-202 33 33
Diskretizace stavovéo modelu: odvození Automatické řízení - Kybernetika a robotika Diskrétní stavový model soustavy + tvarovacío členu 0. řádu u( k) ZOH ut () x = Ax + Bu y = Cx + Du yt () Y() s y( k) u( k) x = + Fx + Gu y = Cx + Du k k k k k k y( k) Při odvození diskrétnío modelu vyjdeme z modelu spojitéo x = Ax + Bu y = Cx + Du Je-li tento systém v čase t0 ve stavu xt ( 0), pak v čase t t0 je ve stavu x t = e xt + e Buτ dτ A( t t0 ) A( t τ ) () ( 0) ( ) t0 kde pro výpočet musíme znát vstup v celém intervalu t [ t, t 0 ) Micael Šebek ARI-2-202 34
Automatické řízení - Kybernetika a robotika Diskretizace stavovéo modelu: odvození Při ledání diskrétnío modelu nás zajímá, jaký závisí stav v čase k na stavu v čase t k za předpokladu ZOH, tj. konstantnío vstupu uk = u( τ), τ [ tk, tk+ ) běem celéo intervalu mezi vzorkováními Označíme-li = t t a použijeme předcozí vzoreček, dostaneme k+ x t = e x t + e Bu τ dτ A( t ) ( ) ( ) k t k k t k + + A ( k) k+ τ + ( ) tk t A e x t e dτbut = + k+ A( tk+ τ ) ( k) ( k) tk ( ) Aν ν 0 A = e xt ( ) + e d But ( ) k Protože výstupní rovnici vzorkování nezmění, dostaneme diskrétní model x( tk+ ) = Fx( tk) + Gut ( k) y( t ) = ( t ) + Du( t ) k t k k k k ν = τ F = e t k + A t + ( ) A Cx G = e ν dν 0 B Micael Šebek ARI-2-202 35
Výpočet maticové exponenciály Automatické řízení - Kybernetika a robotika Existuje mnoo metod pro výpočet maticové exponenciály a jejío integrálu Rozklad exponenciály v Taylorovu řadu ( ) A ν ν 0 A F= e, G = e d B 2 2 3 i i+ A A A A V = e ν dν = I+ + + + + F = I + AV, G = VB 0 2! 3! ( i + )! Přes Jordanův tvar (vlastní čísla) { λ } A= V diag V i Caylay-Hamiltonův teorém Matlabská funkce expm Padéo aproximace λi { } A e = V diag e V >> expmdemo2 >> expmdemo3 >> expmdemo Micael Šebek ARI-2-202 36
Příklad Automatické řízení - Kybernetika a robotika Pro spojitý systém. řádu a periodu vzorkování je x = αx+ βu F A = = e e α ( ) αν β ( αν e dν β e ) 0 G = = α Takže diskrétní popis vzorkovanéo systému se ZOH je α β ( ) ( ) ( αν xk+ = e xk + e ) uk ( ) α Micael Šebek ARI-2-202 37
Příklad Automatické řízení - Kybernetika a robotika Pro dvojitý integrátor se stavovým popisem vzorkovaný s periodou je 0 0 x () t = () t ut () 0 0 x + () 0 x() t yt = [ ] A 2 2 0 0 F= e = I+ A+ A 2+ = 0 0 + 0 0 + + = 0 2 Aν ν 2 G = e Bdν = dν = 0 0 Takže diskrétní popis vzorkovanéo systému (se ZOH) je 2 2 x( k+ ) = ( k) uk ( ) 0 x + yk ( ) = 0 x( k) [ ] Micael Šebek ARI-2-202 38
Automatické řízení - Kybernetika a robotika Problém okamžitéo výpočtu v předcozíc příkladec: stupeň čitatele v z = stupeň jmenovatele v z tedy diferenční rovnice regulátoru je u(k) + členy s k-, = ce(k) + členy s k-, k-2, takový číslicový regulátor musí počítat okamžitě, tedy zpoždění plynoucí z nenulové doby výpočtu je zanedbáno to je prakticky přijatelné jen pokud výpočetní čas < /0, jinak musí mít diskrétní regulátor aspoň zpoždění krok stupeň čitatele v z < stupeň jmenovatele v z (dostaneme o třeba tak, že v MPZ metodě stupeň nedorovnáme) anebo to zpoždění musíme přidat do soustavy nejde o dopravní zpoždění, je to jen způsob indexování Micael Šebek Pr-ARI-2-202 39
Frekvenční model ZOH: Značení Automatické řízení - Kybernetika a robotika Jednotkové pulzy rect( t), t 2 = 0, t > 2 2 2 t t 2 rect( ) [ ] [ ], t 0, = 0, t 0, 0 t Funkce sinc sin x sinc( x) = x Normalizovaná funkce sinc sinc( x) sin( π x) = π x používá se ve zpracování signálů a má integrál (přes všecny x) = Micael Šebek ARI-2-202 40
Automatické řízení - Kybernetika a robotika Frekvenční model ZOH? ZOH rekonstruuje spojitý signál t 2 k ut ( ) = z diskrétnío podle vztau uk ( ) rect( ) k = 0 Můžeme o také modelovat LTI filtrem s obdélníkovou impulzní odezvou, ne jeož vstup přicází série Diracovýc pulzů t k us ( t) = uk ( ) δ( ) = uk ( ) δ( t k) k= 0 k= 0 Škálování vzniká z časovéo škálování Diraců. Díky jemu je střední odnota us () t rovna středná odnotě uk ( ) a výsledný filtr má DC zesílení =. Někteří autoři o vypouštějí, a pak má výsledný filtr DC zesílení =. ZOH tedy můžeme považovat za ypotetický LTI filtr (systém), který mění ZOH výše uvedenou vstupní posloupnost na výše uvedenou výstupní funkci. Jeo impulzní odezva je obdélník t, t [ 0, T] gzoh ( t) = rect( ) = délky,výšky /, s plocou = 2 0, t [ 0, T] Micael Šebek ARI-2-202 4
Automatické řízení - Kybernetika a robotika Frekvenční model ZOH? Použitím Fourierovy transformace vypočteme jeo frekvenční přenos ( ) j2π f jπ f jπ f e jπ f e e jπ f j2sin( π f) jπ f GZOH f = = e = e = e sinc( f) j2π f j2π f j2π f e ω sinc( ω 2 π) jω jω jω 2 GZOH ( j ) = = e Dosazením s = jω = j2π f dostaneme přenos v Laplaceově transformaci G ZOH ( jω ) e = s s ut () uk ( ) ut () ZOH LPF Tento přenos má DC zesílení =. ( ) Někteří požívají jako přenos ZOH G jω = s DC zesílením = ZOH e s s Micael Šebek ARI-2-202 42
Automatické řízení - Kybernetika a robotika Inverzní proces ke vzorkování: interpolační vzorec, Wittaker Sannon ut () uk ( ) ut () t sinc( LPF) Ideální dolní propusť: Její impulsní odezva je a Bodeo graf je sin( π x) sinc( x) = G( jω) π x Ideální rekonstrukce, ω < π = 0, ω π Nekauzální, nelze implementovat - Lze aproximovat, ale lepší aproximace mají větší zpoždění, což je špatné pro CL stabilitu Micael Šebek ARI-2-202 43
Automatické řízení - Kybernetika a robotika Jak dobře rekonstruuje ZOH? ZOH je nejjednodušší a nejlevnější rekonstrukční filtr. Jak je dobrý? s jω jω 2 jω 2 e e jω 2 e e jω 2 2 jsin ( ω 2) GZOH ( s) = GZOH ( jω ) = = e = e s jω jω jω sin ( ω 2) = = ω 2 jω 2 jω 2 e e sinc( ω 2) Je tedy něco jako dolní propusť s dopravním zpožděním /2 Moc se nepodobá ideální dolní propusti a má dost velké fázové zpoždění Zejména poblíž ω N = π π 2π Micael Šebek ARI-2-202 44