Laboration i Automationsteknik FK: Del 1: Polplacering. Del 2: Markovkedjor

Relevanta dokument
REGLERTEKNIK Laboration 5

Lösningar till tentan i Automationsteknik FK

SIMULINK. En kort introduktion till. Polplacerad regulator sid 8 Appendix Symboler/block sid 10. Institutionen för Tillämpad Fysik och elektronik

Föreläsning 11, Dimensionering av tidsdiskreta regulatorer

Formelsamling i Automationsteknik FK

Tentamen i Reglerteknik. 7,5 hp varav tentamen ger 4,5 hp

Reglerteknik. Kurskod: IE1304. Datum: 12/ Tid: Examinator: Leif Lindbäck ( )

Övningar i Automationsteknik FK

Övningar i Automationsteknik FK

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE. Introduktion till verktyget SIMULINK. Grunderna...2

Liten MATLAB introduktion

Datorövning Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Markovprocesser SF1904

Markovprocesser SF1904

Processidentifiering och Polplacerad Reglering

Lösningar till tentamen i Industriell reglerteknik TSRT07 Tentamensdatum: Martin Enqvist

Stabilitetsanalys och reglering av olinjära system

Tentamen i Reglerteknik. 7,5 hp varav tentamen ger 4,5 hp

Föreläsning 10, Egenskaper hos tidsdiskreta system

Markovprocesser SF1904

Introduktion till verktyget SIMULINK. Grunderna...2. Tidskontinuerliga Reglersystem Övningsuppgift...13

Markovprocesser SF1904

Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner

P(X nk 1 = j k 1,..., X n0 = j 0 ) = j 1, X n0 = j 0 ) P(X n0 = j 0 ) = etc... P(X n0 = j 0 ) ... P(X n 1

TAMS79: Föreläsning 10 Markovkedjor

Reglerteknik. Datum: 20/ Tid: Examinator: Leif Lindbäck ( ) Hjälpmedel: Formelsamling, dimensioneringsbilaga, miniräknare.

Markovprocesser SF1904

Flervariabel reglering av tanksystem

Markovkedjor. Patrik Zetterberg. 8 januari 2013

Markovprocesser SF1904

Föreläsning 8, Introduktion till tidsdiskret reglering, Z-transfomer, Överföringsfunktioner

Lösningar till tentamen i styr- och reglerteknik (Med fet stil!)

TSRT21 Dynamiska system och reglering Välkomna till Föreläsning 10

Lunds Tekniska Högskola Avdelningen för industriell elektroteknik och automation

PC-BERÄKNINGAR. REGLERTEKNIK Laboration 5 och inlämningsuppgift. Inlämningsdatum:... Inlämnad av labgrupp:... Gruppdeltagare:

b) Vad är sannolikheten att personen somnar i lägenheten? (4 p) c) Hur många gånger förväntas personen byta rum? (4 p)

Flervariabel reglering av tanksystem

Tentamen i Reglerteknik, 4p för D2/E2/T2

A. Stationära felet blir 0. B. Stationära felet blir 10 %. C. Man kan inte avgöra vad stationära felet blir enbart med hjälp av polerna.

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS

Exempel. Vi observerar vädret och klassificerar det i tre typer under en följd av dagar. vackert (V) mulet (M) regn (R)

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Laboration i tidsdiskreta system

Stokastiska processer

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

Stokastiska processer och simulering I 24 augusti

Grafer och grannmatriser

Lösningsförslag till tentamen i Reglerteknik fk M (TSRT06)

Regulator. G (s) Figur 1: Blockdiagram för ett typiskt reglersystem

TSIU61: Reglerteknik

Lösningsförslag till tentamen i Reglerteknik (TSRT19)

Markovprocesser SF1904

ERE 102 Reglerteknik D Tentamen

TENTAMEN I SF1904 MARKOVPROCESSER TISDAGEN DEN 29 MAJ 2018 KL

Föreläsning 9. Reglerteknik AK. c Bo Wahlberg. 30 september Avdelningen för reglerteknik Skolan för elektro- och systemteknik

INLÄMNINGSUPPGIFT I. REGLERTEKNIK I för STS3 & X4

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

** a) Vilka värden ska vara istället för * och **? (1 p) b) Ange för de tre tillstånden vilket som svarar mot 0,1,2 i figuren.

TENTAMEN I TSRT07 INDUSTRIELL REGLERTEKNIK

Temperaturreglering. En jämförelse mellan en P- och en PI-regulator. θ (t) Innehåll Målsättning sid 2

Reglerteknik AK, FRT010

TENTAMEN I TSRT07 INDUSTRIELL REGLERTEKNIK

Instruktion för laboration 1

REGLERTEKNIK Laboration 4

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Tillämpad digital signalbehandling Laboration 1 Signalbehandling i Matlab och LabVIEW

Introduktion till Control System Toolbox 5.0. This version: January 13, 2015

TSRT91 Reglerteknik: Föreläsning 2

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

REGLERTEKNIK KTH. REGLERTEKNIK AK EL1000/EL1110/EL1120 Kortfattade lösningsförslag till tentamen , kl

TENTAMEN I SF1906 (f d 5B1506) MATEMATISK STATISTIK GRUNDKURS,

Tentamen i FMS180/MASC03 Markovprocesser

Reglerteknik M3. Inlämningsuppgift 3. Lp II, Namn:... Personnr:... Namn:... Personnr:...

Övningar i Reglerteknik

Styr- och Reglerteknik för U3/EI2

RÄKNEEXEMPEL FÖRELÄSNINGAR Signaler&System del 2

f(x) = x 2 g(x) = x3 100

Uppgift 1. Minimeringsproblemet löses med en Monte Carlo algoritm:

att genomföra laborationen) kan du sedan spara filen med ev. ändringar på ditt eget konto med Save As, såsom anges i introduktionslaborationen.

ERE103 Reglerteknik D Tentamen

Reglerteknik AK. Tentamen kl

Tillämpningar av fysik och dynamik i biologiska system , kl. 09:00-15:00

TENTAMEN I SF1904 MARKOVPROCESSER FREDAGEN DEN 18 AUGUSTI 2017 KL

Försättsblad till skriftlig tentamen vid Linköpings universitet

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100

System. Z-transformen. Staffan Grundberg. 8 februari 2016

TENTAMEN I SF1904 MARKOVPROCESSER FREDAGEN DEN 17 AUGUSTI 2018 KL

Stokastiska processer och simulering I 24 maj

TSIU61: Reglerteknik. Sammanfattning från föreläsning 3 (2/4) ˆ PID-reglering. ˆ Specifikationer. ˆ Sammanfattning av föreläsning 3.

Tentamen i Systemteknik/Processreglering

Instruktion för laboration 1

Bilaga 4, Skapa grafiskt användargränssnitt med guide

Datorövningar i systemidentifiering Del 2

Transkript:

Laboration i Automationsteknik FK: Del 1: Polplacering. Del 2: Markovkedjor Inledning I del 1 av denna laboration utnyttjas Matlab och Simulink för att simulera polplaceringsbaserad regulatordesign för tidsdiskreta system. Del 2 handlar om undersökning av egenskaper hos markovkedjor och simulering (realisering) av dessa. Polplacering 1. Starta först Matlab och därefter Simulink. Plocka fram en Library Browser via menyn (ser lite olika ut beroende på Matlab-version, testa view -delen). Skapa en ny simuleringsmodell ( New model eller Blank model ). Lägg in ett Step, en summator, en Zero-Order Hold, en tidskontinuerlig överföringsfunktion och två tidsdiskreta överföringsfunktioner enligt följande simulink-schema där polynomen A c (s), B c (s), C(z), D(z) och F(z) lagts in i blockens överföringsfunktioner (dessa polynom kommer att definieras om en stund): Som figuren visar utgörs regulatorn av den inte helt obekanta strukturen: U(z) = F(z) D(z) R(z) Y(z) (1) C(z) C(z) Observera två saker: Dels används framåtskiftspolynom (dvs polynom i z istället för polynom i z 1 ) och dels representeras polynom i matlab med vektorer bestående av polynomkoefficienterna ordnade efter avtagande gradtal med högstagradskoefficienten först (t.ex. 2z 3 +3z +8 blir [2 0 3 8]). 1

Sampling av en tidskontinuerlig överföringsfunktion görs med hjälp av tf, c2d och tfdata. För att sampla systemet G(s) = B c(s) A c (s) = 4 s(s+2) med samplingsintervallet h = 0.5 s kan följande kommandosekvens användas: Bc=4; Ac=[1 2 0]; h=0.5; sys2 = tf(bc,ac); sys2d = c2d(sys2, h); [B,A] = tfdata(sys2d, v ); Eftersom variabeln h är samplingsintervallet är det viktigt att samplingsintervallet sätts till h i alla tidsdiskreta block (3 st). 2. Även om det bara handlar om 3 kommandon för själva diskretiseringen kan det i längden bli lite tjatigt. Därför är det läge för att skriva en matlabfunktion samp som utför diskretiseringen. Skapa en fil samp.m antigen genom att använda en vanlig texteditor eller genom att utnyttja matlabs inbyggda editor. Det senare görs genom att gå in i matlabkommandofönstrets meny och göra File->New->Blank M-file. Skriv in följande kod i filen function [Bd,Ad] = samp(bc,ac,h); % sysc = tf(bc,ac); sysd = c2d(sysc, h); [Bd,Ad] = tfdata(sysd, v ); och spara sen denna somsamp.m. Testa också den nya funktionen med [B,A] = samp(bc,ac,h). Polerna för det slutna systemet bestämmer till stor del hur det reglerade systemet skall bete sig. Det polynom P(z) vars rötter är dessa poler bestämmer alltså dynamiken hos det slutna systemet. När P(z) valts löses polynomekvationen A(z)C(z)+B(z)D(z) = P(z) (2) vilket ger två av polynomen i regulatorn, nämligen C(z) och D(z). Snabb dynamik betyder poler nära 0 medan långsam dynamik erhålls för poler nära 1. Givetvis bestämmer samplingsintervallet h också hur snabbt man kan reglera systemet. För ett givet h är den snabbast uppnåeliga insvängningen hos stegsvaret den man får då alla poler lägges i z = 0. Detta kallas för deadbeatreglering. Polynomet P blir då P(z) = z 2n 1+n I där n är ordningen hos den process som skall regleras och n I = 1 om integralverkan skall ingå i regulatorn och n I = 0 om det inte skall ingå. 2

3. Vad ska P(z) väljas till vid deadbeat-reglering av systemet i (1)? 4. För att lösa polynomekvationen (2) används matlab-funktionen dab enligt [C,D]=dab(A,B,P). Använd denna för att beräkna regulatorpolynomen C(z) och D(z). 5. BeräknaförstärkningenK r (Ledning: Utnyttjafunktionenpolyval). Sätt sen F = Kr. Nu kan systemet äntligen simuleras. Gör detta. Hur många steg (sampel) tar det innan stegsvaret svängt in sig? 6. Valet av F(z) (= K r i förra uppgiften) påverkar givetvis börvärdessvaret. Detta polynom kan väljas upp till samma gradtal som C(z) (i vårt fall 1). Denna frihetsgrad kan utnyttjas för att påverka börvärdessvaret oberoende av C(z) och D(z) (vilka bestämmer stabilitetsegenskaperna hos det slutna systemet). Speciellt kan F(z) väljas till K r z. Vad som händer då är att en pol i z = 0 förkortas bort. Ändra alltså F(z) från K r till K r z (med samma K r som tidigare). Simulera därefter systemet och observera hur insvängningsförloppetändras. Ökadeellerminskadeinsvängningstidenjämfört med förra simuleringen? 7. Testa deadbeat med lite längre samplingsintervall, t.ex. h=2;[b,a]=samp(bc,ac,h); [C,D]=dab(A,B,P);Kr=sum(P)/sum(B);F=[Kr 0]; % polyval(p,1) samma som sum(p) 8. Inför en stegstörning i styrsignalen och simulera igen. Vad händer? 9. För att eliminera det kvarstående reglerfelet vid stegstörningen införs integration i regulatorn. Detta är enkelt. Lös ekvationen A(z)(z 1)C 1 (z)+b(z)d(z) = P(z) och sätt sen C(z) = C 1 (z)(z 1). Gradtalet i P(z) måste ökas med ett dvs med deadbeat används P(z) = z 4. Räkna ut den nya regulatorn och testkör (gärna med några olika val av samplingsintervall h). Observera att F(z) nu också kan höjas med ett i gradtalet (F(z) = K r z 2 ) för att på så sätt tjäna ett steg i insvängningen vid börvärdesändringen. Lathund: h=0.5;[b,a]=samp(bc,ac,h); P = [1 0 0 0 0]; Kr = sum(p)/sum(b); [C1,D]=dab(conv(A,[1-1]),B,P);C=conv(C1,[1-1]);F=[Kr 0 0]; 3

Markovkedjor I denna andra del av laborationen studeras egenskaper hos en del olika typer av markovkedjor. Det finns några användbara matlabfunktioner(markov sim, markov plot och markov rand) som kan vara till hjälp för detta. 10. Mata in övergångsmatrisen 0.5 0.25 0.25 P = 0 0.6 0.4 1 0 0 a. BeräknaP n förn = 2,10och100(baragekommandotP^100osv). Äralla raderna i P 100 lika? Kan man dra slutsatser om markovkedjans ergodicitet? b. Använd kommandoraden p0 = [1 0 0]; % Initiala sannolikheter markov plot(markov sim(p,p0,20)); Därvid uppenbarar sig två diagram. Det övre visar en realisering av markovkedjan medan det undre diagrammet åskådliggör hur tillståndssannolikheterna ändras under samma tid. Fallet svarar mot att markovkedjan startar i första tillståndet. Hemläxa: Räkna ut de stationära tillståndssannolikheterna. c. Upprepa kommandona. Vilka kurvor ändrade sig jämfört med vid första körningen? d. Undersök vad som händer vid start i något av de två andra tillstånden. Blir de slutliga sannolikheterna samma oberoende av starttillstånd? Hur hade man kunnat se detta genom att betrakta P 100 i (a)? 11. Mata nu in övergångsmatrisen P = a. Beräkna P 100 och P 101. Slutsatser? b. Testkör med 1 0 0 0 0 0 1 0 0 1 0 0 0.1 0.3 0.3 0.3 p0 = [1 0 0 0]; markov plot(markov sim(p,p0,20)); Förklara det något underliga resultatet. Finns det något absorberande tillsånd? Finns det någon periodicitet? c. Upprepa föregående körning men byt ut startvärdet till 4

p0 = [0 1 0 0]; vilket kan tolkas som att vi startar i det andra tillståndet (istället för i det första som förra gången). Förklara resultatet. Fundera också på om markovkedjan är irreducibel eller inte. d. Kör om samma markovkedja men ändra startfördelningen ytterligare en gång: p0 = [0 0 0 1]; Denna gång blev det lite mer omväxlande. Finns det något transient tillstånd? 12. En sjätte ordningens markovkedja har övergångsmatrisen 0.75 0.25 0. 0. 0. 0. 0.25 0.75 0. 0. 0. 0. P = 0.25 0.25 0.1 0.4 0. 0. 0.25 0. 0.2 0.3 0. 0.25 0. 0. 0. 0. 0.5 0.5 0. 0. 0. 0. 0.5 0.5 a. Pröva att beräkna P n,n = 2,10 och 100. Vilka slutsatser kan dras när det gäller transienta tillstånd? Är markovkedjan irreducibel? Är den ergodisk? b. Testkör med p0 = [1 0 0 0 0 0]; markov plot(markov sim(p,p0,100)); Varför syns bara två av tillstånden i fördelningen? c. Pröva istället p0 = [0 0 0 0 1 0]; markov plot(markov sim(p,p0,100)); Nu syns det också bara två av tillstånden, fast inte samma som förra gången. Förklaring? d. Testa denna gång startfördelningen p0 = [0 0 1 0 0 0]. Nu syns alla 6 tillstånden! Hur kan detta förklaras? e. Pröva nu att köra med några andra startfördelningar, t.ex. p0 = [0.2 0 0.5 0 0.3 0]respektivep0 = [0.1 0.2 0.2 0.1 0.3 0.1]. Ettbehändigt alternativ är att slumpa fram startfördelningar: p0 = rand(1,6); p0 = 5

p0/sum(p0);. Blir stationärfördelningen oberoende av startfördelning? Syns det vilka tillstånd som är transienta? 13. Detfinnsentredjefunktionsomännuinteutnyttjats. Detärmarkov rand som slumpmässigt genererar en övergångsmatris för en markovkedja av given ordning. Testa denna genom följande: P = markov rand(5); p0 = P(1,:); markov plot(markov sim(p,p0,50)); Sannolikheten att markovkedjan inte blir ergodisk är 0. Den som inte gillade laborationen får som extra hemuppgift att räkna ut den stationära tillståndssannolikhetsfördelningen för denna markovkedja. Till sist en bild från en körning med en markovkedja av ordning 9: 6