Övningar i Automationsteknik FK Tidsdiskret reglering: Diskretisering av analoga regulatorer Det mest grundläggande när det gäller tidsdiskret reglering är att på ett enkelt och rättframt sätt översätta en analog regulator till en digital (tidsdiskret) regulator. Den vanligast förekommande approximationsmetoden är Euler-bakåt-approximationen som approximerar derivering med denna differenskvot: df dt (t 0) f(t 0) f(t 0 h) h där h förusätts vara litet. En annan möjlighet är Euler-framåt-approximationen (eller bara Euler-approximationen): df dt (t 0) f(t 0 +h) f(t 0 ) h vilken dock inte är realistisk vid ren derivering eftersom man måste titta framåt i tiden för att kunna räkna ut den. Det finns andra varianter också som berörs senare i kursen. För att approximera integration med en summa kan man utgå från det deriverade sambandet: i(t 0 ) = t0 0 e(t)dt skrivs först om som di dt (t 0) = e(t 0 ) vilket efter användning av Euler-bakåt blir vilket blir rekursionen i(t 0 ) i(t 0 h) h eller ekvivalent uttryckt som summa = e(t 0 ) i(t 0 ) = i(t 0 h)+he(t 0 ) i(t 0 ) = i(0)+h n e(kh) där t 0 = nh för enkelhets skull satts till en heltalsmultipel av samplingsintervallet h. 1 k=1
3.1. Skriv om en PI-regulator t u(t) = K (e(t)+ 1Ti 0 ) e(τ)dτ till tidsdiskret form med Euler-bakåt då samplingsperioden är h. 3.2. Följande tidsdiskreta regulator är en PI-regulator. Bestäm K och T i i denna. Samplingsperioden är 0.2 s. i(k) = i(k 1)+0.2e(k) u(k) = 3e(k)+6i(k) 3.3. Bestäm en tidsdiskret PID-regulator med K = 2, T i = 200 ms och T d = 50 ms om samplingsperioden är 20 ms. Z-transformen och tidsdiskreta överföringsfunktioner För en tidsdiskret signal f(k),k = 0,1,2,... definieras Z-transformen enligt Z[f(k)] = f(k)z k k=0 Exempelvis har ett enhetssteg Z-transformen s e (k) = { 1, k 0 0, k < 0 S e (z) = Z[s e (k)] = 1 z k = 1+z 1 +z 2 + = k=0 1 1 z 1 Enhetspulsen p e (k) definieras av att p e (k) = 1 för k = 0 men 0 för k 0 De två viktigaste räknereglerna är linjäriteten (superposition) Z[af 1 (k)+bf 2 (k)] = az[f 1 (k)]+bz[f 2 (k)] och förskjutningssatsen (i diskret tid): Z[f(k d)] = z d Z[f(k)] 2
3.4. Beräkna Z-transformen för enhetspulsen p e (k). 3.5. Beräkna Z-transformen av ett fördröjt enhetssteg s e (k d) (dvs som är 1 för k d men 0 annars). 3.6. Beräkna Z-transformen för sekvensen f(k) = ( 1) k då k 0 men 0 då k < 0. 3.7. Beräkna Z-transformen för f(k) = 5 för 3 k 7 men 0 för alla andra k-värden. 3.8. Beräkna Z-transformen för f(k) = 1 för jämna k 0 men 0 för alla andra värden på k. 3.9. Beräkna Z-transformerna av a. f(k) = 2 k 1, k 0 b. f(k) = 0.5 k 0.2 k 4, k 0 c. f(k) = 5p e (k 2)+3s e (k 4), k 0 3.10. Beräkna Z-transformen för Euler-bakåtapproximationen f(k) f(k 1) h uttryckt med hjälp av Z[f(k)] = F(z). 3.11. Beräkna Z-transformenavy(k) omy(k) 3y(k 1)+2y(k 2)= p e (k). 3.12. Beräkna den tidsdiskreta överföringsfunktionen H(z) = Z[y(k)]/Z[u(k)] = Y(z)/U(z) då Bestäm polerna till H(z). y(k) 1.2y(k 1)+0.35y(k 2) = 2u(k 1) 3.13. Skriv upp en differensekvation för y(k) och u(k) om Y(z) = z 1 z 2 U(z) 1 1.4z 1 +0.45z 2 3
Diskretisering av tidskontinuerliga system I detta avsnitt behandlas en form av diskretisering som, till skillnad från Euler-metoderna, är exakt i en viss mening, nämligen att det tidsdiskreta systemets utsignal vid samplingsögonblicket exakt stämmer överens med det tidskontinuerliga systemets vid samma tidpunkt. Istället för att ta en analog regulator och byta ut s i dess överföringsfunktion mot 1 z 1 (Eulerbakåt) och sen använda den resulterande tidsdiskreta överföringsfunktionen h till en tidsdiskret regulator så försöker man istället översätta processmodellen till ett tidsdiskret system med överföringsfunktion H(z). Då måste man bestämma vilken typ av insignal som processen ska matas med. Den vanligaste typen av insignal som används är en styckvis konstant funktion( trappfunktion ) där insignalen är konstant mellan samplingsögonblicken (Zero Order Hold (ZOH) = nollte ordningens hållkrets). För att t.ex. översätta ett tidskontinuerligt system med överföringsfunktionen G(s) = b s+a till ett tidsdiskret system översätts överföringsfunktionen till en differentialekvation: Y(s) = G(s)U(s) = b dy U(s) (t)+ay(t) = bu(t) s+a dt Denna differentialekvation kan integreras efter multiplikation med den integrerande faktorn i båda leden med därpå följande integration från t 0 till t 1 av de båda leden: e at ( dy dt (t)+ay(t) ) = e at bu(t) d dt (eat y(t)) = e at bu(t) [ e at y(t) ] t1 t 1 t 0 = e at bu(t)dt t 0 Välj nu t 0 = kh och t 1 = kh+h och utnyttja att u(t) är konstant = u(kh) för kh t < kh+h. Då kan följande förenkling göras: kh+h ( ) b e a(kh+h) y(kh+h) e akh y(kh) = u(kh)b e at dt = u(kh) (e a(kh+h) e akh ) a multiplikation med e a(kh+h) i båda leden ger: y(kh+h) e ah y(kh) = b a (1 e ah )u(kh) 4 kh
motsvarande tidsdiskreta system blir (som om h = 1!): y(k +1) e ah y(k) = b a (1 e ah )u(k) En Z-transformation på detta ger att Alltså har följande visats: 1 e ah Y(z) = b az e ahu(z) = H(z)U(z) G(s) = b s+a H(z) = b 1 e ah az e ah vilket är en användbar formel. På liknande sätt kan visas att G(s) = 1/s ger H(z) = h och att G(s) = G z 1 0(s)e Ls svarar mot H(z) = z d H 0 (z) om G 0 (s) svarar mot H 0 (z) och om tidsfördröjningen är en heltalsmultipel av samplingsintervallet L = d h Ett fiffigare och mer generellt sätt att ta fram en formel för diskretisering av system med ZOH-insignaler är att utgå från följande observation: En styckvis konstant insignal ( trappfunktion ) kan betraktas som en summa (överlagring) av många små steg. Linjäriteten gör då att denna typ av diskretisering är stegsvarsinvariant dvs stegsvaret för det tidskontinuerliga system som har överföringsfunktionen G(s) har ett stegsvar som vid samplingstidpunkterna exakt stämmer överens med stegsvaret för det tidsdiskreta system som har överföringsfunktionen H(z). Detta kan skrivas så här: ( L 1 G(s) 1 ) = Z (H(z) s) t=kh 1 1 1 z 1 Sen är det bara att lösa ut H(z) ur detta samband: ( ( ) G(s) H(z) = (1 z 1 )Z L 1 s 3.14. Bestäm de tidsdiskreta överföringsfunktionerna för de system som har följande tidskontinuerliga överföringsfunktioner: a. G(s) = 3+ 2 s b. G(s) = 3 s+2 c. G(s) = 4 s(s+2) t=kh ) d. G(s) = 1 s s 2 +4s+3 3.15. Beräkna H(z) för det system som har den tidskontinuerliga överföringsfunktionen G(s) = 8 s 2 +4 5
givet att samplingsintervallet är h. 3.16. Beräkna H(z) för det system som har den tidskontinuerliga överföringsfunktionen då samplingsintervallet är h = 2 s. G(s) = 8 s+2 e 4s 3.17. Bestäm H(z) då G(s) = 3 1+5s då a. h = 1 s, b. h = 10 s, c. h 0, d. h 3.18. Bestäm det G(s) för det system som samplat med h = 1 s får den tidsdiskreta överföringsfunktionen H(z) = 1.264 z 0.368 3.19. Bestäm för vilket samplingsintervall h som systemet G(s) = får den tidsdiskreta överföringsfunktionen 3.20. Visa att 3 1+0.5s H(z) = 0.544 z 0.819 G(s) = a2 s 2 +a 2 får den tidsdiskreta överföringsfunktionen Ledning: Använd formeln H(z) = (1 cosah)(z +1) z 2 (2cosah)z +1 med komplext c. G(s) = c s+c H(z) = 1 e ch z e ch 6
Egenskaper hos tidsdiskreta system Frekvensfunktionen för ett tidsdiskret system med öff H(z) definieras som H(e iωh ) Amplitudfunktionen är A(ω) = H(e iωh ) och fasfunktionen ges av φ(ω) = argh(e iωh ). Statiska förstärkningen ges av H(e i 0 h ) = H(1) (dvs frekvensfunktionen då ω = 0). 3.21. Beräkna amplitud- och fasfunktionerna för systemet y(k) = 0.5y(k 1)+2u(k 1) 3.22. Beräkna amplitud- och fasfunktionerna för systemet H(z) = 1 z 2 z +0.25 3.23. Bestäm statiska förstärkningen för systemet y(k) = 1.2y(k 1) 0.4y(k 2)+0.6u(k 1) 3.24. Bestäm statiska förstärkningen för systemen a. 0.7 H(z) = z 2 +0.6z 0.2 b. H(z) = 0.8z +0.4 z 3 z 2 +0.8z 0.2 3.25. Avgör vilka av följande system som är stabila a. H(z) = 1.2 z +0.3 c. H(z) = 1 z 2 2z +2 b. H(z) = 0.4z z 2 1.5z +0.6 d. H(z) = z2 +z +2 z 3 +z 2 +z +2 3.26. Bestäm för vilka värden på K som systemet y(k) = 0.8y(k 1)+0.3u(k 1) 7
är stabilt då det återkopplas med u(k) = K(r(k) y(k)). 3.27. Bestäm för vilka värden på K som systemet dy dt = y +2u(t) ärstabiltdådetsamplasmedh = 0.2sochåterkopplasmedu(k) = K(r(k) y(k)). 3.28. Bestäm för vilka värden på h som systemet dy dt = y +2u(t) är stabilt då det samplas med h och återkopplas enligt u(k) = 2(r(k) y(k)). 3.29. Bestäm för vilka värden på K som systemet y(k) = 0.3y(k 1)+0.6u(k 1) är stabilt då det återkopplas med en PI-regulator enligt: U(z) = K 0.4z +0.2 (R(z) Y(z)) z 1 3.30. Det tidskontinuerliga system som har överföringsfunktionen G(s) = 3 s+2 regleras med en tidsdiskret P-regulator. a. Hur snabbt måste man minst sampla för att systemet ska vara stabilt om förstärkningen är K = 2? b. Hur hög förstärkning K kan man högst ha om systemet ska vara stabilt för samplingsintervallet h = 0.693 s? c. Hur hög kan förstärkningen K maximalt vara om systemet ska vara stabilt för vilket samplingsintervall h som helst? 8
Vikningseffekten (aliaseffekten) En signal som samplas kan innehålla så höga frekvenser att dessa efter sampling kan uppfattas som signaler av betydligt lägre frekvens. Detta beror på vikningseffekten. Om t.ex. en sinussignal samplas med en samplingsfrekvens som exakt sammanfaller med sinussignalens frekvens blir det samma värde i varje sampel så att den tidsdiskreta signalen blir punkter på en vågrät linje. Detta uppfattas naturligtvis som en konstant signal dvs en signal med frekvensen 0. Lite mer generellt kan detta fenomen åskådliggöras genom att se hur tillräckligt högfrekventa sinussignaler kan missuppfattas som sinussignaler med lägre frekvens. Låt u m (t) = sin(ω 0 +mω s )t där m är ett heltal som även kan vara negativt och där ω s = 2πf s = 2π är samplingsvinkelfrekvensen. Om en sådan signal h samplas med samplingsperioden h erhålles en samplad signal u samp (k) = u m (kh) = sin(ω 0 +mω s )kh = sin(ω 0 kh+2mkπ) = sin(ω 0 kh) vilket visar varfördet kallas vikningseffekten eftersomalla signalerna u m (t) viks ner till u 0 (t) för alla heltal m = ±1,±2,±3,... Frekvensmässigt innebär detta att alla vinkelfrekvenser ω m = ω 0 + mω s vid sampling med samplingvinkelfrekvensen ω s = 2π/h är omöjliga att kunna skilja åt. Detta medför i sin tur att för att ingen frekvens f ska vikas ner så måste den högsta frekvensen i en signal som samplas vara under f s /2 eftersom då blir f s f > f s /2 > f vilket gör att f garanterat inte kan vikas ner till någon frekvens mindre än f. Genom att filtrera bort frekvenser ovanför f s /2 (vilken kallas Nyquistfrekvensen) kan man alltså undvika dessa spökfrekvenser. 3.31. Vid en ljudinspelning av fågelläten ute i naturen användes en samplingsfrekvens på 48 khz. Konstiga ljud visade sig ha kommit med på inspelningen när man efteråt lyssnade igenom den. Det visade sig kunna förklaras med att en fladdermus råkat flyga förbi. Typiskt är att fladdermöss med olika pulsfrekvens avger ljudpulser av en längd på ca 50 ms vilka i sig består av ett svep från ca 70 khz ner till ca 30 khz. Vilken frekvens uppfattades på inspelningen dels i början av ljudpulsen och dels i slutet? 3.32. Vidsamplingavenelektrisksignalmedh = 0.025supptäcksstörningar pga nervikt nätbrum. Vilka frekvenser har detta nervikta brum i den samplade signalen? 9
Diskretiseringsmetoder Förutom Euler-metoderna och Tustin-metoden har vi hittills använt stegsvarsinvariant diskretisering (ZOH) enligt H(z) = z 1 Z[L 1 (G(s)/s) z t=kh ] Det finns även impulssvarsinvariant diskretisering och rampsvarsinvariant diskretisering H(z) = Z[L 1 (G(s)) t=kh ] H(z) = (z 1)2 Z[L 1 (G(s)/s 2 ) hz t=kh ] 3.33. Diskretisera den tidskontinuerliga modell som har överföringsfunktionen G(s) = 1 s+1 med var och en av dessa 6 metoder. 3.34. För diskretiseringen med Euler-framåt-approximation kan den tidsdiskreta överföringsfunktionen bli instabil för tillräckligt långsam sampling. För vilket samplingsintervall h inträffar detta? Polplacering Ett tidsdiskret system Y(z) = B(z) A(z) U(z) kan regleras av en tidsdiskret regulator av följande struktur U(z) = F(z) D(z) R(z) C(z) C(z) Y(z) där A(z), B(z), C(z), D(z) och F(z) är polynom i z 1. Vad som menas med detta är att A(z) = 1+a 1 z 1 + +a na z n A B(z) = b 1 z 1 + +b nb z n B C(z) = 1+c 1 z 1 + +c nc z n C D(z) = d 0 +d 1 z 1 + +d nd z n D F(z) = f 0 +f 1 z 1 + +f nf z n F 10
Slutna systemet (r y) kan då skrivas som Y(z) = B(z)F(z) A(z)C(z)+B(z)D(z) R(z) 3.35. Visa detta (utan att använda polynomen utskrivna med sina koefficienter). 3.36. Ofta väljs F(z) = K r (konstant) för att förenkla något. Denna förstärkning väljs då så att slutna systemet får statisk förstärkning 1. Vad blir formeln för K r pga detta krav? Genom att välja ett karakteristiskt polynom P(z) baserat på vilka poler som det slutna systemet ska ha så kan C(z) och D(z) bestämmas ur polynomekvationen A(z)C(z)+B(z)D(z) = P(z) där P(z) = 1+p 1 z 1 + +p np z n P. Regeln för val av n C och n D (då ingen integration används i regulatorn) är n C = n B 1 n D = n A 1 Därmed blir n P = n A + n B 1. Om integration önskas i regulatorn (som i PI och PID) måste C(z) = C 1 (z)(1 z 1 ) dvs en faktor 1 z 1 måste tvingas in i regulatorn. Då blir villkoren istället n C = n B, n D = n A och n P = n A +n B. 3.37. Beräkna en regulator utan integration för systemet y(k) = 0.7y(k 1)+0.6u(k 1) som gör att det slutna (återkopplade) systemets pol blir z = 0.5. 3.38. Beräkna en regulator utan integration för systemet y(k) = 0.7y(k 1)+0.65u(k 1)+0.35u(k 2) som gör att det slutna (återkopplade) systemets poler hamnar i z = 0.5 (dubbelpol). 3.39. Beräkna en regulator med integration för systemet y(k) = 0.7y(k 1)+0.6u(k 1) 11
där samtliga poler placeras i z = 0.5. Vilken typ av regulator blir detta? 3.40. Beräkna en regulator utan integration för systemet y(k) = 1.3y(k 1) 0.4y(k 2)+0.4u(k 1)+0.4u(k 2) där alla slutna systemets poler skall vara z = 0.2 3.41. Beräkna en regulator med integration för systemet y(k) = 1.3y(k 1) 0.4y(k 2)+0.4u(k 1)+0.4u(k 2) där alla slutna systemets poler skall vara z = 0.2 3.42. För en koncentrationsregleringsprocess på ett kemitekniskt företag skattades överföringsfunktionen (genom enkla stegsvarstester) till G(s) = 3e 2s 1+5s Beräkna en tidsdiskret regulator utan integration som placerar slutna systemets alla poler i z = 0 (dead-beat) då a. h = 2 s. b. h = 1 s. 3.43. En enkel modell av en liten likströmsmotor finns i form av överföringsfunktionen G(s) = 20 s(s+4) Motorn skall regleras med en tidsdiskret regulator utan integralverkan med en samplingsfrekvens på 20 Hz. Beräkna regulatorn på formen u(k) = c 1 u(k 1)+K r r(k)+d 0 y(k)+d 1 y(k 1) dels då a. alla poler placeras i z = 0 och dels då b. alla poler placeras i z = 0.5. Vilken av polplaceringarna verkar ge störst förstärkningar i återkopplingen? 12
Minsta-kvadrat-metoden För ett tidsdiskret system på formen y(k)+a 1 y(k 1)+a 2 y(k 2)+ +a n 1 y(k n+1)+a n y(k n) = b 1 u(k 1)+b 2 u(k 2)+ +b n 1 u(k n+1)+b n u(k n) där parametrarna (koefficienterna) inte är kända kan dessa skattas genom att göraetttillräckligtantalmätningar(förk = 0,1,2...,N medn n+1 2n) för att sen utifrån dessa ställa upp ett linjärt ekvationssystem där koefficienterna är de obekanta. Om N n + 1 > 2n blir detta ekvationssystem överbestämt dvs antalet ekvationer är fler än antalet obekanta. Om mätningarna är störda av brus kommer ekvationerna inte att kunna lösas exakt (inte ens då N n+1 = 2n). En kompromiss är då att hitta en bästa lösning. En variant är att minimera följande funktion: N V(θ) = (y(k) ϕ T (k)θ) 2 där a 1. a θ = n = b 1. b n θ 1. θ n θ n+1. θ 2n k=n y(k 1) ϕ 1 (k).. y(k n) ϕ och ϕ(k) = = n (k) u(k 1) ϕ n+1 (k).. u(k n) ϕ 2n (k) Funktionen V är kvadratisk i parametrarna. För att söka minimum hos V sättsdepartiella derivatornamed avseende påθ j, j = 1,2,...,2ntill0vilket ger 0 = V N = 2(y(k) ϕ T (k)θ)( ϕ j (k)) = θ j k=n y(n) ϕ T (n)θ = 2 ( ϕ j (n) ϕ j (n+1) ϕ j (N) ) y(n) ϕ T (n)θ., j = 1,2,...,2n y(n) ϕ T (N)θ Med beteckningarna ϕ T (n) y(n) ϕ T (n+1) Φ =. och Y = y(n+1). ϕ T (N) y(n) 13
kan detta uttryckas som 2Φ T (Y Φθ) = 0 Φ T Φθ = Φ T Y Om Φ T Φ råkar vara inverterbar så kan θ lösas ut ur denna ekvation som θ = (Φ T Φ) 1 Φ T Y vilket utgör den parametervektor ˆθ som är lösningen till MK-problemet. 3.44. Följande tabell visar en mätserie med in- och utsignaler för ett visst system: k u(k) y(k) 0 1.00 0.00 1 0.00 0.50 2 2.00 0.20 3 0.00 1.10 4 0.00 0.42 5 0.00 0.16 a. Bestäm minstakvadratskattningen av parametrarna a och b i modellen y(k) = ay(k 1)+bu(k 1) då ovanstående tabells mätdata utnyttjas. Tips: Använd ϕ(k) = (y(k 1) u(k 1)) T. b. Bestäm minstakvadratskattningen av parametern b i modellen y(k) = a 0 y(k 1)+bu(k 1) med a 0 = 0.4 känd då samma mätdata utnyttjas som i (a). Tips: Använd ϕ(k) = u(k 1). c. Bestäm värdet på den kvadratiska felfunktionen V(â,ˆb) = 5 (y(k) ây(k 1) ˆbu(k 1)) 2 k=1 där â och ˆb är de skattade värdena som erhölls i (a). 14
Ofta kan det vara intressant att fortlöpande skatta parametrar efter hand som data erhålles. Minstakvadratmetoden kan omformuleras till följande rekursiva ekvationer: P(k) = P(k 1) P(k 1)ϕ(k)ϕT (k)p(k 1) 1+ϕ T (k)p(k 1)ϕ(k) ε(k) = y(k) ϕ T (k)ˆθ(k 1) ˆθ(k) = ˆθ(k 1)+P(k)ϕ(k)ε(k) Här är ˆθ(k) parameterskattningen vid tiden k, där k = n,n+1,...,n. 3.45. Använd rekursionen (1) för att beräkna parameterskattningen ˆθ(k) för k = 1 och k = 2 med data från föregående uppgift för följande fall: (1) a. b. ( ) 0 ˆθ(0) = 0 ( ) 0 ˆθ(0) = 0 och P(0) = och P(0) = ( ) 1 0 0 1 ( ) 10 0 0 10 15