Katholieke Hogeschool Limburg Departement Industri¨ele Wetenschappen en Technologie
Regeltechniek 2 REG2 Deel 1: Digitale Regeltechniek
Johan Baeten
Cursus gedoceerd aan 3e Academische Bachelor Elektromechanica optie Elektrotechniek 3e Academische Bachelor Elektronica Schakeljaar Elektrotechniek
13 december 2006
c °
Katholieke Hogeschool Limburg Departement industri¨ele wetenschappen en technologie Universitaire campus gebouw B, bus 3, B-3590 Diepenbeek, Belgium
Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt worden door middel van druk, fotokopie, microfilm, elektronisch of op welke andere wijze ook zonder voorafgaandelijke schriftelijke toestemming van de uitgever.
13/12/2006
REGELTECHNIEK 2
REG2
Titularis Docenten Vakcode Vakbenaming Jaar/ASR ECTS-punten
Johan Baeten (BaJ) Johan Baeten (BaJ) REG2 Digitale Regeltechniek / Fuzzy Regeltechniek 3 ABA EM/EL / Sch EL 2
Doelstellingen
- Een discreet systeem beschrijven d.m.v. differentievergelijking en discrete TF. (AC1) - Het verband leggen tussen de eigenschappen van een discreet systeem en deze van het continu systeem, deels verder bouwend op de kennis uit basis regeltechniek (REG1). (AC1, AC2, AWC2) - Voor een gegeven continu systeem (regelaar) het discreet equivalent berekenen, bewust van de optredende benaderingen. (AC1, BC2) - Uitgaande van de TF van een systeem de voorstelling van dit systeem in de toestandsruimte geven (ABCD) en omgekeerd. (AC1) - Een discrete regelaar ontwerpen met de techniek van polenplaatsing in de toestandsruimte. (AC1, BC2) -Eenvoudige praktische problemen (oefeningen), bijvoorbeeld i.v.m. stabiliteit, demping, gewenste resonantiefrequentie, bemonsteringsperiode, reactiesnelheid en andere regeltechnische eigenschappen van discrete systemen en regelkringen oplossen in het Z-domein en in de toestandsruimte. (AC1, AC3, BC2, BC4) -Basisprincipes en denkwijze bij ‘fuzzy-logic’, fuzzy regelaars en regelkring weergeven en motiveren alsook de overeenkomsten hetzij verschillen tussen klassieke en fuzzy regelaars aangeven. (AC1)
Inhoudsopgave
Digitale Regeltechniek: . Beschrijving van digitale of discrete systemen. . Differentievergelijkingen: Opstellen oplossen. . Z-transformatie: Eigenschappen, rekenregels. . Verband P-domein en Z-domein. . Discrete regelaars en regelkring. . Discreet equivalent van continue systemen. . Discrete toestandsruimte, toestandsterugkoppeling en polenplaatsing. . Toepassingen en oefeningen. Fuzzy Regeltechniek: Basisprincipes - Fuzzy regelaar - Toepassingen.
Onderwijsvorm
Hoorcollege, met inbegrip van oefeningen
Studiemateriaal
Eigen cursus ‘Automatisering Regeltechniek 2 deel 1 – Digitale Regeltechniek’ ‘Automatisering Regeltechniek 2: deel 2 – Fuzzy Regeltechniek’
Aanvullende leermiddelen
/
Examenvorm 1ste zittijd
2de zittijd
Mondeling examen met schriftelijke voorbereiding: Het examen bestaat uit twee open oefeningen. De eerste oefening omvat hetzij de berekening van een discreet equivalent hetzij het ontwerp van een digitale regelaar. (AC1, BC2, BC4) De twee oefening omvat het ontwerp van een toestandregelaar (AC1, AC3, AWC2) waarbij telkens het formularium en rekenmachine gebruikt mogen worden. De student verdedigt de schriftelijk voorbereidde oplossingen mondeling bij de docent. (AC1) Mondeling examen met schriftelijke voorbereiding: idem.
13/12/2006
Algemene Visie
Regeltechniek is een ingenieursvak met als voornaamste inhoud het ontwerp en de instelling van regelaars en regelkringen (BC2, BC4). Wegens de permanente drang naar digitalisering zal dit in de praktijk vaak een digitale regelaar worden. Bij veeleisende processen, bijvoorbeeld met meerdere in- en uitgangen, is het gebruik van een toestandsregelaar dan weer aangewezen (AWC2).
Relatie Algemene Opleidingsdoelstellingen
- polyvalente algemene en technische basisvorming; - inzicht en vaardigheid om zelfstandig technische problemen op te lossen; - belangrijke technische basiskennis; - beredeneerde kennis; - nauwkeurigheid, attitude; - ontwerp geautomatiseerde installaties.
Relatie met de Domeinspecifieke doelstellingen dus Opleidingsdoelstellingen
- Inzicht in sturen, meten en regelen van (digitale) systemen; - Systeemdenken en leren om via analyse en synthese probleemoplossend te denken; - Realiseren van kwalitatieve elektromechanische projecten.
Situering van het vak in het curriculum
Regeltechniek bestaat uit een aantal opeenvolgende vakken. Regeltechniek 2 bouwt voort op basis regeltechniek (REG1) en beschrijft de werking, het ontwerp en de instelling van een regellus met minstens één digitaal element. (AC1, AC2) De voornaamste inhoud van digitale regeltechniek is de Ztransformatie, transformatietechnieken voor het omzetten van een continu systeem naar een discreet equivalent, het ontwerp en de implementatie van (klassieke) digitale regelaars en het toestandsruimtemodel met ontwerp van een toestandsregelaar. Deze laatste techniek wordt enkel toegepast op enkelvoudige systemen (1 ingang - 1 uitgang), maar vormt desalniettemin een introductie in zeer voorname regeltechnische technieken. Tenslotte geeft fuzzy regeltechniek een beknopte inleiding op fuzzy regelaars. Regeltechniek hoort thuis in het vakdomein automatisering. (BC2) Het vormt één van de twee voornaamste peilers binnen automatisering. De andere peiler is stuurtechniek (PLC). Regeltechniek kent raakpunten met meetsystemen (gebruik van sensoren), ontwerpen en informatica (programmeren van een digitale regelaar). Aan de andere kant is regeltechnische basiskennis vereist in de vakken: robotica, hydraulica, vermogen sturingen (frequentieregelaars, elektrische aandrijvingen) en vermogenversterkers, elektronica en elektrische motoren. Digitale regeltechniek geeft bovendien een belangrijke basis voor digitale signaalverwerking. (AC2, BC4)
Instroom-Relatie met andere vakken
De vereiste voorkennis om regeltechniek 2 aan te vatten is systeemtheorie, complex rekenen, basis regeltechniek, naast een evidente basis bagage wiskunde (algebra, matrixrekenen).
Relatie met het werkveld
Regeltechniek vormt in zijn finaliteit een onmisbare basiskennis bij elk mogelijk automatiseringsproces of ingenieursontwerp in een breed gamma aan technische domeinen (BC2, BC4): bijvoorbeeld in de procesindustrie (regelen van druk, temperatuur, niveau, debiet), bij het ontwerp of afstellen van motoren (snelheid, positie, stroom, kracht), in de robotica (positie en ondermeer ook voor toepassen van externe sensoren zoals visie, afstandsmeting of kracht). Ook bij het onderhoud van zulke systemen is een zekere regeltechnische basiskennis onontbeerlijk. (BC4)
Aanvullende Informatie betreffende competenties en Evaluatie van de Competenties
Naast de evidente basiskennis rond het vak regeltechniek zelf, (AC1, AC2) vertegenwoordigt regeltechniek eveneens een ingenieursvak dat zich uitstekend leent om het ingenieursdenken en probleemoplossend vermogen van de student te ontwikkelen. (AC1, AC3) Een regeltechnisch ontwerp omvat vaak naast een afwegen tussen de verschillende gestelde eisen ook een afwegen in de keuze van de meest geschikte ontwerptechniek. (AC3, AWC2) De evaluatie toetst naar beredeneerd inzicht (AC1) en naar toepassingsgericht (AC2) oplossend vermogen (AC1) om te komen tot het juiste resultaat (BC2, BC4) volgens een adequate werkwijze. (AWC2, AC3)
Inhoudstafel Symbolenlijst
III
1 Discrete systemen 1.1 Inleiding . . . . . . . . . . . . . . . . . 1.2 Het digitaal signaal . . . . . . . . . . . 1.3 Het discreet systeem . . . . . . . . . . 1.4 Discrete tijdfuncties of sequenties . . . 1.5 Oplossing van de differentievergelijking 1.5.1 De homogene oplossing . . . . . 1.5.1.1 Re¨ele wortels . . . . . 1.5.1.2 Meervoudige wortels . 1.5.1.3 Complexe wortels . . . 1.5.2 De particuliere oplossing . . . . 1.5.3 Oefeningen . . . . . . . . . . . 1.5.4 Samenvatting . . . . . . . . . . 1.6 Het simulatieschema . . . . . . . . . .
. . . . . . . . . . . . .
1 1 1 5 6 8 8 9 9 10 12 14 15 15
2 De 2.1 2.2 2.3 2.4
Z-transformatie Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Berekening van de Z-getransformeerde . . . . . . . . . . . . . . . . . . Eigenschappen van de Z-transformatie . . . . . . . . . . . . . . . . . . 2.4.1 Lineariteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Verschuivingstheorema’s . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Sommatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Beginwaardetheorema . . . . . . . . . . . . . . . . . . . . . . . 2.4.5 Eindwaardetheorema . . . . . . . . . . . . . . . . . . . . . . . . 2.4.6 Vermenigvuldiging met k . . . . . . . . . . . . . . . . . . . . . . 2.4.7 Schaalfactortheorema . . . . . . . . . . . . . . . . . . . . . . . . 2.4.8 Convolutie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 De inverse Z-transformatie . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Toepassing van de Z-transformatie bij de analyse van discrete systemen 2.7 Eenzijdige Z-transformatieparen voor causale functies . . . . . . . . . .
19 19 19 20 21 21 21 22 22 23 23 23 23 23 24 26
3 Het discreet systeemgedrag 3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Verband tussen Z-, tijd- en P -domein . . . . . . . . . . . . . . . . . . .
27 27 27
I
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
Inhoudstafel
3.3 3.4 3.5
Verband tussen de ligging van de polen en de impulsrespons . . . . . . Harmonische analyse bij discrete systemen . . . . . . . . . . . . . . . . De W-transformatie of bilineaire transformatie . . . . . . . . . . . . . .
discreet equivalent Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digitale regelschema’s (bij continue systemen) . . . . . . . . . . . . . . Ontwerp van discreet equivalent via numerieke integratie . . . . . . . . Ontwerp van discreet equivalent door transformatie van nulpunten en polen Ontwerp van een ’houd’-equivalent . . . . . . . . . . . . . . . . . . . . Stabiliteit en nauwkeurigheid . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Nauwkeurigheid . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.3 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Vergelijkende oefening . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Implementatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Transformatietabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31 31 36
4 Het 4.1 4.2 4.3 4.4 4.5 4.6
37 37 38 41 43 44 46 46 48 48 49 51 53
5 De 5.1 5.2 5.3
55 55 56 57 57 57 57 58
discrete regelkring Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . Het stabiliteitsonderzoek . . . . . . . . . . . . . . . . . Relatieve stabiliteit . . . . . . . . . . . . . . . . . . . . 5.3.1 Lijnen van constante σ . . . . . . . . . . . . . . 5.3.2 Lijnen van constante gedempte eigen pulsatie ωp 5.3.3 Lijnen van constante ζ en ωn . . . . . . . . . . 5.4 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . .
6 De 6.1 6.2 6.3 6.4 6.5 6.6
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Toestandsregelaar Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De toestandsruimte - Het toestandsruimtemodel . . . . . . . . . . . . . Toestandsterugkoppeling . . . . . . . . . . . . . . . . . . . . . . . . . . Polenplaatsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De toestandsschatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oefening1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.1 Opgave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.3 De reactie van het systeem op een impuls . . . . . . . . . . . . . 6.6.4 De differentievergelijking en het simulatieschema . . . . . . . . . 6.6.5 Toestandsterugkoppeling met polenplaatsing . . . . . . . . . . . 6.6.6 Aanvulling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Oefening2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.1 Opgave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.2 Stabiliteit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.3 Opstellen van de toestandsvergelijkingen . . . . . . . . . . . . . 6.7.4 Berekening van de toestandsterugkoppelmatrix F . . . . . . . . 6.7.5 Simulatie van het systeem zonder en met toestandsterugkoppeling
II
61 61 61 63 64 64 65 65 66 66 67 68 70 72 72 72 73 74 76
Symbolenlijst Variabelen: k p w z ω
: : : : :
discrete onafhankelijke variabele (stap) Laplace-variabele, pool parameter van de W-transformatie discrete Laplace-variabele, discrete pool pulsatie
[]
[r/s]
Signalen en functies: e : foutsignaal of willekeurige functie f, g, h, q : willekeurige functies u : stuursignaal, (uitgang regelaar, ingang systeem) x : ingangssignaal y : uitgangssignaal yp , yh : particuliere en homogene oplossing y0s : nultoestandrespons y0i : nulinputrespons M : absolute waarde van complexe TF (frequentieafhankelijke versterking) ϕ, γ : hoek van complexe TF (frequentieafhankelijke faseverschuiving) E(k), u(k) : discrete eenheidsstap I(k), δ(k) : discrete impuls h(k), H(z) : hulpvariabele - tussenoplossing F (p) : Laplace-getransformeerde van f (t) F (z) : Z-getransformeerde van f (k) G(z), H(z) : Rechtstreekse TF en terugkoppel TF Constanten: a, b, c a b fs i j m n q
: : : : : : : : :
willekeurige constanten re¨eel deel van continue pool complex deel van continue pool bemonsteringsfrequentie intrestvoet, teller complexe eenheid aantal nulpunten aantal polen of natuurlijk getal quantiesatie-eenheid III
[Hz]
Symbolenlijst
r, z0 A, B K Kr T λ θ σ τi , τd ωn ωp ωs ζ
: : : : : : : : : : : : :
absolute waarde van (complexe)discrete pool (modulus) (willekeurige) constanten versterking versterking regelaar bemonsteringsperiode eigenwaarden hoek van complexe discrete pool (argument) re¨eel deel van de continue pool integratie- en differentiatietijdcte natuurlijke eigenpulsatie gedempte eigenpulsatie bemonsteringspulsatie dempingsco¨effi¨ent
Matrices en vectoren: A : systeemmatrix B : ingangsmatrix C : uitgangsmatrix D : doorkoppelmatrix F : terugkoppelmatrix I : eenheidsmatrix L : schatterterugkoppelmatrix X : toestandsvector Operatoren: Re, Im D E LA Ly L{} Z{}
: : : : : : :
re¨eel deel van, imaginair deel van vertragingsoperator vooruitschuifopeartor annihilatoroperator veelterm in E volgens karakteristieke vgl Laplace-transformatieoperator Z-transformatieoperator
Afkortingen: TF LSB P LC DAC ADC M IM O SISO
: : : : : : :
transfertfunctie minst beduidend bit programmeerbare logische controle-eenheid digitaal naar analoog omzetter analoog naar digitaal omzetter meerdere ingangen, meerdere uitgangen ´e´en enkele ingang, ´e´en enkele uitgang
IV
[] [s]
[s, ] [r/s] [r/s] [r/s] []
Hoofdstuk 1 Discrete systemen 1.1
Inleiding
Alvorens in te gaan op discrete regelsystemen, dienen enkele begrippen aangehaald te worden om verwarring hieromtrent te voorkomen. We zullen eerst de betekenis van een ’digitaal signaal’ uitleggen samen met de fouten die hierbij optreden. Vervolgens wordt een voorbeeld gegeven van een discreet systeem en de manier waarop we zulk een systeem kunnen voorstellen en beschrijven. Zo komen we tot de differentievergelijking die eigen is aan elk discreet systeem en waarvoor de standaard oplossingen gegeven worden. Dit doen we m.b.v. twee discrete operatoren. Tenslotte wordt het verband gelegd tussen de differentievergelijking en het simulatieschema dat de basis kan vormen van een simulatieprogramma (bijvoorbeeld onder TUTSIM of MATLAB).
1.2
Het digitaal signaal
Indien we een continu signaal willen digitaliseren dan komen hierbij twee omvormingen kijken. Het continu verlopend signaal zal eerst op welbepaalde tijdstippen bemonsterd worden. Op welbepaalde tijdstippen zal men het signaal opnemen en vasthouden (Eng.: sample and hold). We maken van het continu signaal een discreet signaal. Vervolgens zal men dit (voorlopig nog altijd analoog) signaal quantiseren. Het signaal wordt dan bijvoorbeeld voorgesteld als een (’binair’) getal. Het getal geeft aan hoeveel eenheidspakketjes of ’quantums’ in het totaal signaal gaan. Discreet betekent dus niet continu in de tijd, terwijl de term ’gequantiseerd’ hetzelfde is als niet continu in grootte of amplitude. Enkel indien beide eigenschappen aanwezig zijn: discreet en gequantiseerd, spreekt men van een digitaal signaal. 1
1 Discrete systemen
Voorbeeld: Stel dat we een spanning die kan vari¨eren tussen 0 en 10 V, digitaal willen voorstellen en we willen hiervoor 8 bits gebruiken. Hoe groot is dan de waarde van 1 bit in volt uitgedrukt? Het antwoord is eenvoudig: met 8 bits kunnen we 256 verschillende getallen voorstellen. We nemen hiervoor dan de getallen 0 tot en met 255. Het getal 0 laten we overeenstemmen met 0 V en het getal 255 laten we overeenstemmen met 10 V. Het getal 1 geeft dan een spanning weer van 10/255 of ongeveer 0,04 V. 0,04 is dan het quantum dat overeenstemt met het minst beduidend bit (LSB). Alle spanningen die liggen tussen 0 V en 0,04 V, kunnen we slechts voorstellen door het getal 0 (00000000) of het getal 1 (0000001). We kunnen dus ook niet onderscheiden of het analoog signaal gelijk was aan 0,04 V of 0,035 V vermits beide analoge waarden na digitalisatie door het zelfde getal 1 worden voorgesteld. Het quantum of de analoge waarde die overeenstemt met het minst beduidend bit, geeft de resolutie aan waarmee we het analoog signaal bekijken.
Het voorgaande voorbeeld geeft duidelijk weer waar het bij de quantisatiestap om gaat. Bij het quantiseren treedt steeds een fout op: de quantiesatiefout. Deze fout is maximaal gelijk aan de waarde van het LSB. In vele gevallen kunnen we er zelfs voor zorgen dat de quantiesatiefout kleiner blijft dan de helft van het LSB. Zie figuur 1.1.
uitgang
-8
-6
-4
uitgang
6
6
4
4
2
2
-2
2
4
6
of
8
-8
-6
-4
-2
2
ingang
6
8
ingang
-4
-4
-6
-6
-8
-8
Maximale quantisatiefout = LSB
4
Maximale quantisatiefout = LSB/2
Figuur 1.1: Ingangs/uitgangskarakteristiek van een analoog/digitaal-omzetter Ook bij het discretiseren van het analoog, continu signaal treedt er een fout op: de discretisatiefout. Om deze fout te illustreren en om duidelijk het verschil aan te geven tussen de twee stappen, discreet maken en quantiseren, verwijzen we naar figuur 1.2. Figuur 1.2.a geeft het discreet signaal weer overeenstemmend met het gegeven continu signaal. De tijd tussen twee discrete waarden is de bemonsteringstijd of bemonsteringsperiode en de totale tijd van begin tot einde noemen we de bemonsteringsduur. Indien we blijven bemonsteren dan is de bemonsteringsduur natuurlijk oneindig. In de figuur worden de twee mogelijk voorstellingswijzen bij discrete signalen gebruikt. Hierbij veronderstellen we in het eerste geval dat het signaal aangehouden wordt tot bij de volgende bemonstering. Het tweede geval geeft aan dat het discrete signaal enkel geldig is op het bemonsteringstijdstip zelf en tussen de twee discrete tijdstippen in om het even welke waarde kan hebben. Welke van de twee voorstellingswijzen het best overeenstemt met de realiteit hangt af van de toepassing. Figuur 1.2.b geeft het gequantiseerd signaal weer waarbij we even de discretisatiestap wegdenken. Het gequantiseerd signaal kan enkel nog sprongsgewijs veranderen. En sprong of n stapje komt overeen met de waarde van het LSB. Figuur 1.2.c geeft tenslotte het resulterend signaal na quantisatie en discretisatie weer. 2
Johan Baeten
1.2 Het digitaal signaal
Discreet signaal
Analoog signaal Discretisatie
(a)
Continue tijd
Bemonsteringstijd
of
Discrete tijd
Discrete tijd
Analoog signaal (b)
Quantisatie
Gequantiseerd signaal
Discrete tijd
Continue tijd
Analoog signaal (c)
Digitalisatie
Digitaal signaal
Continue tijd
Discrete tijd
Figuur 1.2: Digitalisatie van een analoog signaal: discretisatie en quantisatie Figuur 1.3 geeft de digitalisatiefout weer die bestaat uit een discretisatiefout en een quantisatiefout. Digitalisatiefout Grootte
Quantisatiefout
Continu analoog signaal (volle lijn)
Discretisatiefout Discreet signaal (stippellijn) Digitaal signaal (volle lijn trapsgewijs)
tijd
Figuur 1.3: Digitalisatiefout bestaande uit quantisatie- en discretisatiefout Figuur 1.4.a geeft een zeer mooi voorbeeld van het gevolg van de discretisatiefout bij sinuso¨ıdale signalen met een periode die gelijk is aan het dubbel van de bemonsteringsperiode. De discrete punten die na bemonstering verkregen worden, liggen allen op n lijn. Van de oorspronkelijke sinus blijft er niets meer over. Johan Baeten
3
1 Discrete systemen
Bemonsteringsperiode Grootte
Grootte
tijd
(a)
tijd
(b)
Figuur 1.4: Voorbeelden van ’aliasing’ of de terugvouwfout: (a) De frequentie van het bemonsterd signaal is gelijk aan de helft van de bemonsteringsfrequentie (fs ). (b) Twee signalen met frequenties gelijk aan 1/8 x fs en 7/8 x fs geven dezelfde discrete meetwaarden.
In het Engels wordt de foutieve interpretatie van het oorspronkelijk signaal, zoals aangegeven in figuur 1.4) ’aliasing’ genoemd. De Nederlandse term hiervoor is de terugvouwfout. Deze naam vloeit voort uit het feit dat signalen met te hoge frequenties bij de discrete voorstelling ’terugvallen’ op lagere frequenties. Uit de discrete meetwaarden kan men dan niet meer opmaken welke de werkelijke frequentie van het oorspronkelijk signaal was. Men neemt dan maar de laagste sinus die past bij de discrete meetwaarden. Figuur 1.4.b geeft een voorbeeld. Oorspronkelijk hadden we een sinus met een frequentie gelijk aan 7/8 x de bemonsterings- frequentie fs (waarbij ’s’ staat voor ’sample’). Na het bemonsteren vormen de meetpunten een sinus met een frequentie gelijk aan 1/8 x de bemonsteringsfrequentie. Figuur 1.5 geeft algemeen aan op welke frequenties de te hoge frequenties ’terugvallen’. We kunnen de figuur als een harmonica opvouwen tot we enkel een rechte krijgen die geldt voor de frequenties kleiner dan fs /2. (Vandaar de naam terugvouwfout!) Uitgang: Laagste frequentie overeenstemmend de meetpunten (discreet signaal) f /2 s
0
f /2 f 2 fs s s Ingang: Frequentie van het oorspronkelijk (analoog) signaal 0
Figuur 1.5: Verband tussen de frequenties van het signaal voor en na bemonstering Om de terugvouwfout te voorkomen moet de frequentie van het ingangssignaal kleiner zijn dan de helft van de bemonsteringsfrequentie. Dit is het bemonsteringscriterium van Shanon of Nyquist: fingangssignaal <
fs 2
(1.1)
We kunnen aan de bovenstaande vergelijking voldoen door het ingangssignaal eerst door een laagdoorlaatfilter te sturen. In de volgende hoofdstukken wordt het verband gelegd tussen de terugvouwfout en de discrete polen (z) van het systeem. 4
Johan Baeten
1.3 Het discreet systeem
1.3
Het discreet systeem
Discrete systemen zijn systemen die niet continu in de tijd veranderen of dus enkel op welbepaalde discrete tijdstippen veranderen. De discrete tijdstippen liggen niet noodzakelijk op voorhand vast. In feite speelt de tijd voor zulke systemen geen rol meer. Enkel de discrete stap heeft belang. De vergelijkingen die een discreet systeem beschrijven zijn dan ook geen functie meer van de tijd t maar van de discrete stap, die we aangeven met de parameter k. k kan waarden aannemen die gaan van 0, 1, 2, 3 tot ∞ . Een en ander zal duidelijk worden in volgend voorbeeld. Neem bijvoorbeeld als systeem een vat van 10 liter waarin zich een mengeling bevindt van twee produkten A en B. Op bepaalde tijdstippen tappen we van dit vat 1 liter af met een bepaalde concentratie aan produkt A. Vervolgens wordt het vat weer gevuld. Er komt terug ´e´en liter bij maar ditmaal met een andere (niet noodzakelijk constante) concentratie aan A. Hoe gaan we voor dit discreet systeem bijhouden welke de concentratie is van het produkt A? En dit na elke discrete stap! Figuur 1.6 geeft een situatieschets. Concentratie A= x(k) 1 liter
Concentratie A = y(k)
10 liter
9 liter
9 liter
10 liter
Concentratie A = y(k+1)
1 liter Oorspronkelijk systeem
Tussenstappen
op tijdstip of stap k
Systeem op tijdstip k+1 (één discrete stap later)
Figuur 1.6: Voorbeeld discreet systeem De concentratie van produkt A stellen we voor door de variabele y. Omdat de concentratie na elke stap verandert, moeten we aangeven om welke stap of om welk discreet tijdstip het gaat. Dit gebeurt met de parameter k. Op tijdstip k is de concentratie gelijk aan y(k). En tijdstip later is de concentratie gelijk aan y(k + 1). De concentratie aan A in de toegevoegde liter stellen we op elk tijdstip voor door x(k). Nu kunnen we de vergelijking opstellen die het gehele systeem beschrijft: 10y(k + 1) = 9y(k) + 1x(k) of
y(k + 1) = 0, 9y(k) + 0, 1x(k)
(1.2)
Indien we de concentratie aan A in het inkomend debiet kennen (dit is x(k)) dan kunnen we uit de huidige toestand (dit is y(k)) de volgende toestand berekenen (dit is y(k + 1)). Bovenstaande vergelijking is een recursieve vergelijking of een differentievergelijking. Differentievergelijkingen beschrijven discrete systemen zoals differentiaalvergelijkingen continue systemen beschrijven. Indien men de differentievergelijking kent, dan kent men ook het volledig systeem en kan men alle toestanden van het systeem berekenen vertrekkende van de ingangswaarden en de begintoestand. Als voorbeeld berekenen we enkele waarden Johan Baeten
5
1 Discrete systemen
van y beginnend met y(0) = 0 en x(k) = 0, 5 voor alle k waarden. y(1) y(2) y(3) y(4) .. .
= 0, 9y(0) + 0, 1x(0) = 0, 9y(1) + 0, 1x(1) = 0, 9y(2) + 0, 1x(2) = 0, 9y(3) + 0, 1x(3)
= 0, 05 = 0, 095 = 0, 1355 = 0, 17195 .. .
(1.3)
Het meest voorkomend discreet systeem is waarschijnlijk de computer. Alle veranderingen en processen (berekeningen) gebeuren op vaste kloktijden. (We spreken dan niet meer van bemonsteringsperiode maar van takttijd.) Elke klokpuls geeft een nieuw discreet tijdstip aan. De verschillende tijdstippen kunnen nog steeds voorgesteld worden door de discrete parameter k. Door k te vermenigvuldigen met de takttijd (het tijdsinterval tussen twee klokpulsen) krijgen we de werkelijke tijd. De meeste systemen daarentegen zijn continu. Door de koppeling met een computer of PLC moeten de continue uitgangssignalen van deze systemen echter gedigitaliseerd worden. Dit gebeurt met een analoog-digitaal omzetter (ADC). De signalen die komen van de ADC zijn digitale en dus ook discrete signalen. De ADC is dus een discreet systeem en kan enkel nauwkeurig beschreven worden door discrete vergelijkingen (Zie later). Het continu systeem samen met de ADC zou eveneens benaderd kunnen worden door een discreet model en bijgevolg beschreven kunnen worden door discrete vergelijkingen, omdat de signalen die eruit voortvloeien discreet zijn. De volgende paragrafen geven standaardoplossingen voor de differentievergelijkingen (naar analogie van het oplossen van differentiaalvergelijkingen). De oplossing is een discrete functie waar we slechts de waarde van k moeten invullen om de waarde van de uitgang op tijdstip k te kennen. We moeten de uitgangswaarde dan niet meer iteratief berekenen.
1.4
Discrete tijdfuncties of sequenties
Een discrete tijdfunctie of sequentie f (k) is een functie waarbij de onafhankelijke veranderlijk k alleen gehele getallen als waarde kan hebben. De optredende discrete tijdfuncties kunnen bemonsterde versies zijn van de continue tijdfuncties. Bemonsteren van een functie f (t) met het bemonsteringsinterval T geeft aanleiding tot de discrete functie f (kT ), beknopt genoteerd als f (k). De discrete tijdfunctie kan gedefinieerd worden door een expliciete opsomming. Bijvoorbeeld: ½ ¾ f (k) = · · · , 0, 0, 1, 2, 8, 4, 5 · · · (1.4) ↑
waarbij de pijl de waarde aanduidt overeenkomstig k = 0. We spreken van een causale sequentie indien f (k) = 0 voor alle negatieve k waarden. (In hetgeen volgt zullen we steeds met causale signalen werken). Een sequentie kan ook gedefinieerd worden door een formule. Bijvoorbeeld: µ ½ ¾¶ k −1 2 3 f (k) = a = · · · , a , 1, a, a , a · · · (1.5) ↑
6
Johan Baeten
1.4 Discrete tijdfuncties of sequenties
Neem bijvoorbeeld de continue functie e−t en bemonster deze om de halve seconde (T = 1/2). Welke discrete functie of sequentie levert dit? Figuur 1.7 geeft de oplossing.
1
k
1 e
exp(-t) 1
= exp (-kT)
T = ½ sec
0
0
1
2
3
4
5
tijd
0
2
0
4
6
10 stap
8
Figuur 1.7: Voorbeeld van een bemonsterd signaal en de discrete functie De som of het produkt van twee discrete functies komt overeen met het optellen of het vermenigvuldigen van de overeenkomstige elementen. Bijvoorbeeld: ½ ¾ ½ ¾ x(k) = · · · , 0, 0, 1, 2, 8, 4, 5 · · · en y(k) = · · · , 0, 0, 3, 1, 2, 4, 0 · · · (1.6) ↑
↑
dan is de som: ½ ¾ z(k) = x(k) + y(k) = · · · , 0, 3, 2, 4, 12, 4, · · ·
(1.7)
↑
en het produkt: ½ ¾ q(k) = x(k) ∗ y(k) = · · · , 0, 0, 1, 4, 32, 0, · · ·
(1.8)
↑
Figuur 1.8 geeft de definitie van een discrete stap (of de eenheidsstapfunctie) en een discrete impuls, twee veel als ingangssignaal gebruikte functies. De discrete impuls wordt ook de delta-sequentie ( δ(k) ) genoemd. Impuls
d(k) = 1 voor k = 0
Stap
E(k) = 0 voor k < 0
d(k) = 0 voor k <> 0
E(k) = 1 voor k > 0
1 -2 -1
1 0
1
2
3
k
-2 -1
0
1 2
3
k
Figuur 1.8: Definitie en voorstelling van de discrete impuls en eenheidsstap Bij discrete functies zijn met betrekking tot de discrete stap maar twee bewerkingen mogelijk: de vooruitschuifbewerking en de vertragingsbewerking. Hiervoor defini¨eren we de vertragingsoperator D en de vooruitschuifoperator E (=1/D) als volgt: D {f (k)} = f (k − 1) en E {f (k)} = f (k + 1) Johan Baeten
(1.9) 7
1 Discrete systemen
Toepassing van de operator E verschuift de sequentie over ´e´en interval dichter naar de oorsprong toe. Toepassing van de operator D geeft het omgekeerde. Neem bijvoorbeeld het discreet signaal uit figuur 1.9. Voor de tijdstippen 1, 2 en 3 is dit signaal respectievelijk gelijk aan 1, -2 en 3. Voor de rest is het nul. We stellen het signaal voor door de functie f (k). Hoe ziet dan het signaal f (k + 1) eruit dat we g(k) noemen? Figuur 1.9 geeft het antwoord. Door k = 0 te stellen, vinden we g(0) = f (1) = 1, voor k = 1 geeft dit g(1) = f (2) = −2. g vertoont dus hetzelfde verloop als f maar alles n stap vlugger. Op een analoge wijze kunnen we het signaal f (k − 1) tekenen. Het signaal wordt nu vertraagd. f(k)
g(k) = f(k+1) = E{f(k)} Vooruitschuiven
3 2 1 -1
E 0
1
2
3
4
3 2 1 -1 -1 0
k
Vertragen D
-2
3
4
k
h(k) = f(k-1) =D{f(k)}
3 2 1 1
2
-2
f(k)
-1 -1 0
1
2
3
4
k
3 2 1 -1 -1 0
1
2
-2
3
4
k
Figuur 1.9: Vooruitschuiven en Vertragen van een discrete functie
1.5
Oplossing van de differentievergelijking
Naar analogie van het oplossen van differentiaalvergelijkingen, kan men ook een aantal standaard oplossingen voorstellen voor differentievergelijkingen. De oplossing is dan een discrete functie met k als onafhankelijke parameter. We zullen de volledige oplossing opbouwen uit de oplossingen van de homogene vergelijking en de particuliere vergelijking. Zodat we kunnen stellen dat: y(k) = yh (k) + yp (k)
(1.10)
waarin yh (k) de homogene en yp (k) de particuliere oplossing is.
1.5.1
De homogene oplossing
De homogene oplossing van de differentievergelijking is de oplossing van de homogene vergelijking. Ze is de natuurlijke respons van het systeem en beschrijft de wijze waarop het systeem vanuit de beginvoorwaarden naar de evenwichtstoestand evolueert. De vorm van de homogene oplossing wordt bepaald door de wortels van de karakteristieke vergelijking, die volgt uit de toepassing van de E-operator op de differentievergelijking. 8
Johan Baeten
1.5 Oplossing van de differentievergelijking
We geven een voorbeeld. Neem terug de differentievergelijking, uit het voorgaande voorbeeld: y(k + 1) = 0, 9y(k) + 0, 1x(k) of y(k + 1) − 0, 9y(k) = 0, 1x(k)
(1.11)
Maak hiervan een homogene vergelijking: yh (k + 1) − 0, 9yh (k) = 0
(1.12)
Pas de E-operator toe en schrijf de veranderlijke yh (k) buiten de haken: E {yh (k)} − 0, 9yh (k) = (E − 0, 9) yh (k) = 0
(1.13)
In de polynoom die nu bij yh (k) staat (Ly (E)), vervangen we de operator E door de veranderlijke r en stellen dit gelijk aan nul. Ly (E) = (E − 0, 9)
→
Ly (r) = r − 0, 9 = 0
(1.14)
Dit geeft de karakteristieke vergelijking. De algemene homogene oplossing is dan: yh (k) = A1 r1k
(1.15)
waarbij r1 de wortel is van de karakteristieke vergelijking (hier = 0,9) en A1 een constante is die bepaald wordt door de beginvoorwaarden. Indien y(0) = 0, 5 dan is de homogene oplossing: yh (k) = 0, 5. (0, 9)k
(1.16)
Verifieer deze oplossing door substitutie in de homogene differentievergelijking. 1.5.1.1
Re¨ ele wortels
Indien de karakteristieke vergelijking n verschillende re¨ele wortels heeft (r1 , r2 · · · rn ) dan is de (meest algemene) homogene oplossing van de vorm: yh−algemeen (k) = A1 r1k + A2 r2k + A3 r3k + ... + An rnk
(1.17)
In dit geval is de orde van het systeem gelijk aan n. De meest algemene homogene oplossing wordt opgebouwd uit n verschillende (homogene) oplossingen. De bijdrage van elke afzonderlijk oplossing hangt af van de constanten A1 tot en met An die volgen uit de beginvoorwaarden. Substitutie van deze vergelijking in de homogene differentievergelijking geeft na hergroepering inderdaad steeds nul. (Probeer het eens uit). 1.5.1.2
Meervoudige wortels
Indien het systeem meervoudige wortels heeft dan is de homogene oplossing van de vorm: yh (k) = ... + A1 .rk + A2 .k.rk + ...
(1.18)
waarbij r een dubbele wortel is en waarbij A1 en A2 constanten zijn. Johan Baeten
9
1 Discrete systemen
Voorbeeld: Neem het systeem y(k + 2) − 6y(k + 1) + 9y(k) = 0. Dit geeft als karakteristieke vergelijking Ly (r) = r2 − 6r + 9 = 0 met twee samenvallende wortels in 3. Bij de beginvoorwaarden y(0) = 1 en y(1) = 1 is de oplossing 2 y(k) = 3k − k3k . 3 Controle: Vul de oplossing in in de oorspronkelijke vergelijking. 3k+2 +
2 12 18 ? (k + 2) 3k+2 − 6.3k+1 − (k + 1) 3k+1 + 9.3k + .k.3k = 0. 3 3 3
Uitwerken en hergroeperen geeft µ ¶ 2 ! (9 + 12 − 18 − 12 + 9) 3 + 9. − 12 + 6 k.3k = 0 3 k
1.5.1.3
Complexe wortels
Indien het systeem complexe wortels heeft dan komen deze steeds voor in complex toegevoegde paren. Elk enkelvoudig paar a ± jb komt overeen met een oplossing van de vorm: yh (k) = A1 (a + jb)k + A2 (a − jb)k
(1.19)
Elk complex getal stelt ook een vector voor bepaald door een lengte en een hoek of: a ± jb = zo e±jθ
(1.20)
Substitutie van vergelijking 1.20 in vergelijking 1.19 geeft: ¡ ¢ yh (k) = zok A1 ejkθ + A2 e−jkθ = zok (B1 cos kθ + B2 sin kθ)
(1.21)
met zo =
√ a 2 + b2
en θ = bgtg
b a
(1.22)
q = 45°
sin(k45°) sin(wt) 0
1
2
3
4
5
6
7
8
stap tijd
Figuur 1.10: Discrete sinus met discrete stap uitgedrukt in graden 10
Johan Baeten
1.5 Oplossing van de differentievergelijking
De functie sin(kθ) is een discrete sinus die bestaat uit een aantal discrete waarden bekomen door bemonstering van de continue sinus om de hoek θ. Zie figuur 1.10. Voorbeeld: Neem het systeem y(k + 2) − 2y(k + 1) + 4y(k) = 0. Herschrijf dit als (E 2 − 2E + 4)y(k) = 0 waaruit de karakteristieke vergelijking volgt: Ly = E 2 − 2E + 4 → Ly (r) = r2 − 2r + 4 = 0 Bepaal de wortels r1 en r2 . √ r1,2 = 1±j 3 → zo = 2
en θ = 60◦ .
De homogene oplossing is dan: yh (k) = zok (B1 cos kθ + B2 sin kθ) = 2k (B1 cos k60◦ + B2 sin k60◦ ) . Controleer de oplossing door ze in te vullen in de oorspronkelijke differentievergelijking: 2k+2 [B1 cos (k + 2) 60◦ + B2 sin (k + 2) 60◦ ] −2.2k+1 [B1 cos (k + 1) 60◦ + B2 sin (k + 1) 60◦ ] ?
+4.2k (B1 cos k60◦ + B2 sin k60◦ ) = 0 of 2k+2 B1 [cos (k + 2) 60◦ − cos (k + 1) 60◦ + cos k60◦ ] ?
+2k+2 B2 [sin(k + 2)60◦ − sin (k + 1) 60◦ + sin k60◦ ] = 0. Deze vergelijking is steeds nul, indien de volgende twee vergelijkingen nul zijn: ( ? cos (k + 2) 60◦ − cos (k + 1) 60◦ + cos k60◦ = 0 . ? sin (k + 2) 60◦ − sin (k + 1) 60◦ + sin k60◦ = 0 Door de verschillende waarden van k in te vullen, stellen we vast dat deze twee vergelijkingen inderdaad gelijk zijn aan nul voor alle mogelijke (gehele) k waarden. In feite moeten we enkel de waarden k = 0, 1, 2, · · · , 5 controleren. k = 6 geeft immers dezelfde vergelijking als k = 0, k = 7 komt overeen met k = 1 enz. Dit wil zeggen dat de discrete (co-)sinus periodisch is met stappen van 6, dit is 360◦ /60◦ . Uit de figuur van de discrete cosinus volgt eveneens dat aan de bovenstaande vergelijking voldaan is voor alle k waarden. Zie figuur 1.11. (Voor de sinus geldt hetzelfde).
Het bijzondere geval waar het systeem twee samenvallende complexe paren als wortels heeft wordt hier niet behandeld. We verwijzen hiervoor naar de samenvatting op het einde van deze paragraaf. Johan Baeten
11
1 Discrete systemen
f(k) = cos(k60°)
q = 60°
1 0,5 0
f(k+2)-f(k+1)+f(k) = 0
0
1
2
3
4
5
6
7
8
-0,5
9
10
11
stap
-1
Figuur 1.11: Een discrete cosinus met θ = 60◦ voldoet aan de vergelijking f (k + 2) − f (k + 1) + f (k) = 0
1.5.2
De particuliere oplossing
De particuliere oplossing hangt af van de excitatiefunctie en dus van het ingangssignaal van het systeem. Voor de particuliere oplossing beperken we ons tot ’brave’ excitatiefuncties. Dit zijn functies die gelijk aan nul worden door toepassing van een annihilator-operator LA : LA {x(k)} = 0.
(1.23)
Neem bijvoorbeeld als ingangssignaal x(k) = 2k ,
(1.24)
dan is de annihilator-operator voor deze functie LA = E − 2
(1.25)
¯ ¯ © ª © ª ! LA ¯2k ¯ = (E − 2) 2k = E 2k − 2.2k = 2k+1 − 2.2k = 0.
(1.26)
want
Enkele andere voorbeelden van brave excitatiefuncties met de bijbehorende annihilatoroperatoren zijn: x(k) = rk → LA = E − r x(k) = cos πk → LA = E 2 + 2E + 1 x(k) = c → LA = E − 1
(1.27)
Om voor een willekeurige functie de annihilator-operator te vinden, tracht men de karakteristieke vergelijking op te stellen met wortels die overeenstemmen met de excitatiefunctie (als oplossing). Neem bijvoorbeeld: x(k) = cos(θk)
(1.28)
Bij een cosinus verwachten we een LA van tweede orde. Herschrijf de discrete cosinus als x(k) = 1k cos(θk).
(1.29)
Dit komt overeen met de oplossing van een homogene vergelijking met als wortels r1,2 = 1.e±jθ . 12
(1.30) Johan Baeten
1.5 Oplossing van de differentievergelijking
De annihilator-operator is dan ¡ ¢¡ ¢ LA = E − e−jθ E − e+jθ = E 2 − 2 cos θ · E + 1.
(1.31)
Indien we de annihilator-operator LA kennen, kunnen we de volgende vergelijking schrijven: !
Ly {y(k)} = x(k) → LA {Ly {y(k)}} = LA {x(k)} = 0
(1.32)
Dit geeft een nieuwe homogene vergelijking LA .Ly {y(k)} = 0
(1.33)
De karakteristieke vergelijking overeenkomstig deze nieuwe homogene vergelijking is van een hogere orde dan de oorspronkelijk karakteristieke vergelijking. Zij heeft dus ook meer nulpunten of wortels dan de oorspronkelijke. De wortels die bijgekomen zijn, moeten afkomstig zijn van de annihilator-operator LA en hangen bijgevolg af van het aangelegd ingangssignaal x(k). Zij bepalen derhalve de particuliere oplossing van het volledig systeem. De constanten in de particuliere oplossing worden bepaald door de excitatiefunctie x(k). We vinden deze waarden door vervanging van de oplossing in de differentievergelijking. Voorbeeld: Herneem de differentievergelijking van het ’bakkensysteem’, vergelijking1.2. Bepaal de discrete oplossing bij een beginconcentratie van 0% (d.w.z. dat y(0) = 0) en een constante inkomende concentratie = 50% (d.w.z. x(k) = 0, 5 voor alle k). De systeemvergelijking wordt dan: y(k + 1) − 0, 9y(k) = 0, 05 → (E − 0, 9) {y(k)} = 0, 05. Met de annihilator-operator LA = E − 1 erbij geeft dit: (E − 1)(E − 0, 9) {y(k)} = 0. De karakteristieke vergelijking is (r − 1) (r − 0, 9) = 0. We vinden twee wortels r1 = 1 en r2 = 0, 9 die overeenstemmen met de algemene oplossing y(k) = A1 1k + A2 0, 9k
met yh (k) = A2 0, 9k
en
yp (k) = A1 1k = A1 .
Uit de beginvoorwaarden y(0) = 0 volgt A2 = −A1 . Substitutie in de differentievergelijking geeft A1 = 0, 5, zodat de volledige oplossing gegeven wordt door ³ ´ y(k) = 0, 5 1 − 0, 9k ¡ ¢ De concentratie van A op tijdstip 5 is dan bijvoorbeeld y(5) = 0, 5 1 − 0, 95 = 0, 204755. Probeer eens deze waarde te berekenen op recursieve wijze volgens vergelijking 1.3! Figuur 1.12 geeft de respons van het systeem op het discreet stapsignaal met grootte 0, 5 weer. De oplossing geldt enkel voor een constant inkomend signaal x(k) = 0, 5. Johan Baeten
13
1 Discrete systemen 0.6
0.5
A m p litu d e
0.4 0.3
0.2 0.1
0
0
10
20
30
40 50 Discrete stap
Figuur 1.12: Verloop van de discrete functie y(k)
1.5.3
Oefeningen
Probeer zelf de oplossing te vinden voor de volgende discrete systemen: 1. y(k + 2) − 5y(k + 1) + 6y(k) = x(k) met y(0) = 0, y(1) = 0 en x(k) = 1 voor k = 0, 1, 2, 3 · · · (Oplossing : y(k) = 0, 5 − 2k + 0, 5.3k )
2. y(k + 2) + y(k + 1) + y(k) = 0, 5k met y(0) = 0 en y(1) = 1. (Oplossing: y(k) =
1 1 6 0, 5k − cos 120◦ k + √ sin 120◦ k ) 1, 75 1, 75 7 3
3. y(k + 1) − 0, 6y(k) = cos 90◦ k met y(0) = 1. (Oplossing:
1, 96 0, 6 1 0, 6k − cos 90◦ k + sin 90◦ k ) 1, 36 1, 36 1, 36
4. y(k + 2) − y(k) = 0 met y(0) = 1, y(1) = 0. (Oplossing:
14
1 1 + (−1)k ) 2 2
Johan Baeten
1.6 Het simulatieschema
1.5.4
Samenvatting
De oplossing van de differentievergelijking bestaat uit (de som van) een homogene oplossing en een particuliere oplossing. De vorm van de homogene oplossing wordt bepaald door de wortels van de karakteristieke vergelijking overeenkomstig de homogene differentievergelijking. Re¨ele, verschillende wortels r1 en r2 geven termen van de vorm: A1 r1k + A2 r2k + · · ·
(1.34)
Re¨ele samenvallende wortels (r) geven termen van de vorm: · · · + A3 .rk + A4 .k.rk + A5 k 2 rk + · · ·
(1.35)
Complexe wortels a ± jb geven termen van de vorm: · · · + zok (B1 cos kθ + B2 sin kθ) + · · · met zo =
√
a 2 + b2
(1.36)
en θ = bgtg(b/a)
Samenvallende complexe wortels geven termen van de vorm: · · · + zok (B3 cos kθ + B4 sin kθ) + kzok (B5 cos kθ + B6 sin kθ) + · · ·
(1.37)
De particuliere oplossing vinden we met behulp van de annihilator-operator. De bijgekomen wortels bepalen op een gelijkaardige wijze als hierboven de termen van de particuliere oplossing. De constante co¨effici¨enten van de homogene oplossing volgen uit de beginvoorwaarden. Deze van de particuliere oplossing worden bepaald door de excitatiefunctie (het aangelegd signaal). Vul hiervoor de particuliere oplossing in, in de volledige differentievergelijking. De homogene oplossing moet je niet meer invullen want die geeft toch steeds nul!
1.6
Het simulatieschema
Met behulp van drie elementaire bouwstenen kan een willekeurige differentievergelijking, die het input-output gedrag van een lineair, tijdsinvariant systeem beschrijft, op ´e´enduidige wijze gesimuleerd worden. Deze drie bouwstenen zijn: het vertragingselement, de sommator en de versterker (verzwakker). Het vertragingselement komt overeen met de D-operator en voldoet aan de volgende vergelijking: g(k) = D {f (k)} = f (k − 1).
(1.38)
Dit wordt grafisch weergegeven in figuur 1.13. f(k)
D
f(k-1)
Figuur 1.13: Het vertragingselement Johan Baeten
15
1 Discrete systemen
Het vertragingselement wordt ook vaak aangeduid met de afkorting ’DEL’ afkomstig van het Engels woord ’delay’. Het vertragingselement is de tegenhanger van de integrator bij continue systemen. Om het simulatieschema op te bouwen vertrekken we van de meest algemene differentievergelijking: bn y(k)+bn−1 y(k −1)+· · ·+b1 y(k −n+1)+b0 y(k −n) = an x(k)+· · ·+a0 x(k −n). (1.39) Dit is volledig equivalent met bn y(k + n) + bn−1 y(k + n − 1) + · · · + b1 y(k + 1) + b0 y(k) = an x(k + n) + · · · + a0 x(k) (1.40) Hierbij wordt de vergelijking meestal genormaliseerd door bn gelijk aan 1 te stellen. Bovendien nemen we aan dat het aantal vorige waarden van de input x(k) hoogstens gelijk is aan n. Toepassing van de D-operator herleidt vergelijking 1.39 tot de TF y(k) an + an−1 D + · · · + a0 Dn = x(k) 1 + bn−1 D + · · · + b1 Dn−1 + b0 Dn
(1.41)
Voer nu de hulpvariabele h(k) als volgt in: y(k) y(k) h(k) = x(k) h(k) x(k)
(1.42)
en splits de TF op in twee stukken h(k) 1 = x(k) 1 + bn−1 D + · · · + b1 Dn−1 + b0 Dn
(1.43)
y(k) = an + an−1 D + · · · + a0 Dn . h(k)
(1.44)
en
x(k) + --
h(k)
D
h(k-1)
D
h(k-2)
D
h(k-n)
b n-1 b n-2 b0
Figuur 1.14: Simulatieschema van het eerste deel van de TF Teken uiteindelijk eerst het schema van x(k) naar h(k) en vul dit aan met het verband tussen h(k) en y(k). Herschrijf daarvoor het eerste deel van de TF ¡ ¢ 1 + bn−1 D + · · · + b1 Dn−1 + b0 Dn h(k) = x(k) (1.45) of h(k) = x(k) − bn−1 h(k − 1) − · · · − b1 h(k − n + 1) − b0 h(k − n). 16
(1.46) Johan Baeten
1.6 Het simulatieschema
an a n-1 a1 x(k) + -
h(k)
-
h(k-1)
D
h(k-2)
D
D
-
h(k-n)
a0
+ + + y(k) +
b n-1 b n-2 b0
Figuur 1.15: Het volledige simulatieschema volgens een willekeurige differentievergelijking Dit komt overeen met figuur 1.14. Vervolledig tenslotte figuur 1.14 volgens het tweede deel van de TF. Dit resulteert in figuur 1.15. De simulatie is slechts volledig indien samen met het simulatieschema een set van n beginvoorwaarden opgegeven wordt. Voorbeeld: Neem volgend discreet systeem y(k) = y(k − 1) + iy(k − 1) + x(k). Dit is de vergelijking van een spaarrekening, waar x(k) de jaarlijkse storting voorstelt, y(k) de stand van de rekening en i de interestvoet. Hierbij moet een passende beginvoorwaarde gekozen worden. Als de rekening geopend wordt bij k = 0 door een eerste storting te doen, dan is y(0) = x(0). Daar de rekening nog niet bestond bij k = −1, kan ook y(−1) = 0 als beginvoorwaarde gekozen worden. De 2 mogelijke beginvoorwaarden zijn dan: y(−1) = 0 of y(0) = x(0). In de eerste vorm is de beginvoorwaarde onafhankelijk van de input, in de tweede vorm wel. Het simulatie schema en de operatorvergelijking zijn weergegeven in figuur 1.16. Merk op dat ook de uitgang q van het vertragingselement bij k = 0 als beginvoorwaarde kan gekozen worden.
x(k) +
D +
q
y(k)
a = 1+i (E-a)y(k) = Ex(k)
a
Figuur 1.16: Voorbeeld: simulatieschema van een spaarrekening
Johan Baeten
17
1 Discrete systemen
18
Johan Baeten
Hoofdstuk 2 De Z-transformatie 2.1
Inleiding
In het voorgaande hoofdstuk werden de signalen beschreven door hun verloop in functie van de onafhankelijk veranderlijke (het discreet tijdstip k). De systeemvergelijkingen die resulteren uit de analyse van de in- en uitgangssignalen van dynamische systemen zijn gesitueerd in het tijdsdomein. Dieper inzicht in het systeemgedrag kan bekomen worden door de signalen te transformeren naar het zogenaamde ’frequentiedomein’. Dit gebeurt bij discrete systemen door de Z-transformatie. De bedoeling blijft eveneens het oplossen van de systeemvergelijkingen. In het frequentiedomein vinden we de oplossing echter door eenvoudige manipulatie van algebrasche vergelijkingen, i.f.v. de complexe veranderlijke z. Toepassing van de Z-transformatie op de differentievergelijking of op discrete signalen levert een gelijkaardig resultaat op als toepassing van de Laplace-transformatie of Fourriertransformatie op differentiaalvergelijkingen of op continue signalen.
2.2
Definitie
Een discrete functie kan bekomen worden door bemonsteren van een continue functie. We schrijven dit als: f (k) = f (t)|t=kT = f (kT ) = f (k)
(2.1)
De onafhankelijke veranderlijke moet niet noodzakelijk de tijd zijn. De Z-transformatie is een ’discrete Laplace-transformatie’. We zullen de definitie van de Z-transformatie dan ook afleiden uit de Laplace transformatie. Zo hebben we: Z ∞ F (p) = f (t) · e−pt dt (2.2) 0
Om de overgang naar de discrete tijd te maken moeten we t vervangen door kT , want enkel op deze tijdstippen heeft de discrete functie een betekenis. De integraal zal zich bovendien herleiden tot een som. De Z-getransformeerde wordt dan: ∞ X F (p) = f (kT )e−pkT
(2.3)
k=0
19
2 De Z-transformatie
We kiezen nu een nieuwe veranderlijke z = epT .
(2.4)
Zo vinden we uiteindelijk: Z {f (kT )} = F (z) =
∞ X
f (kT )z −k
(2.5)
k=0
Dit is de definitie van de eenzijdige Z-transformatie. (Bij de tweezijdige Z-transformatie wordt de som genomen van −∞ tot ∞). De Z-transformatie is een operator die scalaire sequenties transformeert in complexe functies. Voor eindige sequenties kan de Zgetransformeerde gevonden worden door eenvoudige toepassing. Voorbeeld: f (k) = 1, F (z) = 1z 0 + 2z −1 + 3z −2 + 7z −3 of ½ 2, 3, 7 geeft ¾ δ (k) = 1, 0, 0, 0, · · · geeft F (z) = 1z 0 + 0z −1 + 0... = 1 ↑
→ Z {δ (k)} = 1.
De ´e´enduidigheid tussen een Z-transformatiepaar wordt symbolisch voorgesteld als: Z {f (k)} = F (z) en Z −1 {F (z)} = f (k).
f (k) ↔ F (z) d.w.z.
(2.6)
De Z-transformatie wordt dus aangegeven met de hoofdletter Z, de inverse bewerking met Z −1 .
2.3
Berekening van de Z-getransformeerde
Voor oneindige sequenties resulteert de toepassing van de Z-transformatie in een oneindige reeks met negatieve machten van z. Toepassing van de volgende eigenschappen voor oneindige reeksen levert dan een gesloten uitdrukking (zonder oneindige som). ∞ X n=0
an =
1 1−a
met |a| < 1
(2.7)
of ∞ X n=0
nan =
a (1 − a)2
met |a| < 1.
(2.8)
Vergelijking 2.8 volgt uit de afleiding van vergelijking 2.7 na vermenigvuldiging met a. De som van vergelijkingen 2.7 en 2.8 levert ∞ X (1 + n)an = n=0
20
1 (1 − a)2
met |a| < 1.
(2.9) Johan Baeten
2.4 Eigenschappen van de Z-transformatie
Voorbeeld: Neem de discrete functie f (k) = ak . De Z-getransformeerde wordt dan: F (z) =
∞ X
ak z −k =
k=0
∞ X 1 z a = . ( )k = z 1 − a/z z−a k=0
Waarbij de voorwaarde |z| > |a| het convergentiegebied bepaalt van de oneindige reeks. Voor f (k) = 3k is F (z) =
z z−3
met |z| > 3.
Een lijst van eenzijdige Z-transformaties van enkele veel voorkomende sequenties is weergegeven op het einde van dit hoofdstuk. Deze tabel werd opgesteld m.b.v. de gesloten formules voor de bovenstaande oneindige reeksen en door toepassing van de eigenschappen van de Z-transformatie uit het de volgende paragraaf.
2.4
Eigenschappen van de Z-transformatie
2.4.1
Lineariteit
De Z-transformatie is lineair omdat de som en de vermenigvuldiging lineair zijn of Z {a · f (k) + b · g (k)} = a · Z {f (k)} + b · Z {g (k)} = aF (z) + bG(z)
2.4.2
(2.10)
Verschuivingstheorema’s
Vooruitschuiven van een discrete functie (E-operator) komt overeen met een vermenigvuldiging met z, Vertragen (D-operator) komt overeen met een deling door z. Indien f (k) ↔ F (z) dan f (k + 1) ↔ z [F (z) − f (o)]
(2.11)
Bewijs: Z {f (k + 1)} =
∞ P
f (k + 1)z −k = z
k=0 ∞ P
=z
f (l)z
−l
=z
∞ P
f (k + 1)z −(k+1)
k=0 ·∞ P
l=1
f (l)z
−l
− f (0)z
¸ 0
4
l=0
en Indien f (k) ↔ F (z) dan f (k − 1) ↔ z −1 F (z)
(2.12)
Bewijs: Z {f (k − 1)} =
∞ P k=0
=z
−1
f (k − 1)z −k = z −1 ∞ P l=−1
f (l)z
−l
=z
−1
∞ P
f (k − 1)z −(k−1)
k=0 · ∞ P
f (l)z
−l
+ f (−1)z
¸ +1
l=0
met f (−1) = 0 voor causale sequenties. 4 Johan Baeten
21
2 De Z-transformatie
Hogere orde verschuivingen volgen uit het herhaaldelijk toepassen van vergelijking 2.11 of 2.12. Voorbeeld: £ ¤ Z {f (k + 2)} = z 2 F (z) − f (0) − z −1 f (1) £ ¤ Z {f (k + 3)} = z 3 F (z) − f (0) − z −1 f (1) − z −2 f (2) en Z {f (k − 2)} = z −2 F (z) Z {f (k − 3)} = z −3 F (z)
Er wordt vaak verondersteld dat de beginvoorwaarden gelijk zijn aan nul. (Indien dit niet zo is moet men een assenkruistransformatie doorvoeren zodat de oorsprong van het nieuwe assenkruis zich in de begintoestand of evenwichtstoestand van het systeem bevindt). Zo zorgt men ervoor dat f (0), f (1), · · · nul zijn, zodat de Z-getransformeerde van de vooruitgeschoven functie eenvoudiger wordt: Z {f (k + 2)} = z 2 F (z).
2.4.3
Sommatie
Het sommeren van de verschillende elementen van een sequentie komt overeen met het integreren van een functie. Stel n X f (k), (2.13) g(n) = k=0
dan geldt g(n) = g(n − 1) + f (n).
(2.14)
Na Z-transformatie geeft dit G(z) = z −1 G(z) + F (z),
(2.15)
waaruit
z F (z). (2.16) z−1 We kunnen hieruit besluiten dat het integreren van een functie, hetgeen overeenstemt met een vermenigvuldiging met 1/p in het Laplace-domein, in het discrete geval zal overeenkomen met een vermenigvuldiging met z/(z − 1). Dit laat vermoeden dat de Z-getransformeerde van een discrete stap gelijk is aan z/(z − 1), vermits de Laplacegetransformeerde van de (continue) stap gelijk is aan 1/p. (Ga zelf na of het voorgaande juist is door rechtstreeks de definitie van de Z-transformatie toe te passen op een discrete stap). G(z) =
2.4.4
Beginwaardetheorema
Indien f (k) ↔ F (z) dan lim F (z) = f (0) z→∞
(2.17)
Bewijs: F (z) = f (0) + f (1)z −1 + f (2)z −2 + · · · , neem de limiet.4 22
Johan Baeten
2.5 De inverse Z-transformatie
2.4.5
Eindwaardetheorema
Indien f (k) ↔ F (z) dan lim f (n) = lim F (z) n→∞
z→1
z−1 z
(2.18) (zonder bewijs)
2.4.6
Vermenigvuldiging met k
Indien f (k) ↔ F (z) dan kf (k) ↔ −z
d (F (z)) dz
(2.19) (zonder bewijs)
2.4.7
Schaalfactortheorema
Indien f (k) ↔ F (z) dan ak f (k) ↔ F (z/a)
(2.20) (zonder bewijs)
2.4.8
Convolutie
Indien f (k) ↔ F (z)en g(k) ↔ G(z), dan f (k) ∗ g(k) ↔ F (z) · G(z).
(2.21) (zonder bewijs)
De convolutie van twee discrete signalen stemt overeen met de vermenigvuldiging van de Z-getransformeerden van de signalen.
2.5
De inverse Z-transformatie
De bewerking Z − 1F (z) = f (k) wordt de inverse Z-transformatie genoemd. De complexe functie F (z) is voor de hier beschouwde klasse van systemen steeds voor te stellen als een verhouding van veeltermen in z. Voor fysisch realiseerbare systemen is de graad van de tellerveelterm kleiner dan of maximaal gelijk aan de graad van de noemerveelterm. In deze gevallen kan door splitsing in partieelbreuken de echte breuk die F (z) voorstelt, herleid worden tot een som van eenvoudigere breuken waarvan we via de tabel met elementaire Z-transformatieparen (op het einde van het hoofdstuk) tot de corresponderende discrete functie kunnen komen. De techniek van partieelbreuksplitsing wordt als gekend verondersteld. We merken hierbij enkel op dat het vaak interessant is om in de tellerveelterm een factor z af te zonder en niet mee te nemen in de partieelbreuksplitsing. Zo krijgen we eenvoudige breuken met enkel nog n z in de teller (op een constante na). Deze vorm van breuken komen veelvoudig voor in de transformatietabellen en leveren eenvoudige discrete functies. Johan Baeten
23
2 De Z-transformatie
Voorbeeld: Zoek de invers Z-getransformeerde van F (z) =
z 2 + 2z z 2 − 3z + 2
Zonder eerst een factor z af en pas de partieelbreuksplitsing toe op het overblijvend deel: z+2 z+2 a b 3 4 = = + →a= = −3, b = = 4 z 2 − 3z + 2 (z − 1) (z − 2) z−1 z−2 −1 1 Nu passen we de inverse Z-transformatie toe op het geheel: ½ 2 ¾ ½ ¾ ½ ¾ ½ ¾ z + 2z −3z 4z z z −1 −1 −1 −1 z =z + = −3z + 4z z 2 − 3z + 2 z−1 z−2 z−1 z−2 Uit de transformatietabel vinden we dan: f (k) = (−3 + 4.2k )u(k)
2.6
Toepassing van de Z-transformatie bij de analyse van discrete systemen
De oplossing van elke differentievergelijking van de vorm Ly |y(k)| = Lx |x(k)|
(2.22)
met Ly = bn E n + · · · bo
en Lx = an E n + · · · ao
(2.23)
kan teruggebracht worden tot eenvoudige algebra¨ısche bewerkingen via de Z-transformatie. Door toepassing van de Z-transformatie op beide leden krijgen we: bn [z n Y (z) − y(0)z n − y(1)z n−1 − · · · − y(n − 1)z] +bn−1 [z n−1 Y (z) − y(0)z n−1 − y(1)z n−2 − · · · − y(n − 2)z] + · · · + b1 [zY (z) − y(0)z] + b0 Y (z) = an [z n X(z) − x(0)z n − x(1)z n−1 − · · · − x(n − 1)z] +an−1 [z n−1 X(z) − x(0)z n−1 − x(1)z n−2 − · · · − x(n − 2)z] + · · · + a1 [zX(z) − x(0)z] + a0 X(z)
(2.24)
Dit is een algebrasche vergelijking die als volgt herschikt kan worden: Y (z) = H(z)X(z) + E(z)
(2.25)
met H(z) = 24
an z n + an−1 z n−1 + · · · + a0 bn z n + bn−1 z n−1 + · · · + b0
(2.26) Johan Baeten
2.6 Toepassing van de Z-transformatie bij de analyse van discrete systemen
en E(z) een verhouding van rationele veeltermen in z. De co¨effici¨enten van de tellerveelterm zijn functie van de uitgangsbeginvoorwaarden y(0), y(1) · · · y(n − 1)en de waarden x(0), x(1) · · · x(n − 1) van de inputsequentie. De noemerveelterm is dezelfde als van H(z). De functie H(z) wordt de systeemfunctie of de discrete transfertfunctie of de Ztransfertfunctie van het door de differentievergelijking beschreven systeem, genoemd. Hierbij vermelden we (zonder te bewijzen) dat H(z) gelijk is aan de Z-transformatie van de discrete impulsrespons van het systeem. (Een analoge eigenschap geldt bij continue systemen of TF’s). Voorbeeld: Neem het volgend discreet systeem: y(k + 2) + y(k + 1) − 2y(k) = x(k + 1) + 2x(k) met [y(0), y(1)] = [1, 2] als beginvoorwaarden en x(k) = 2k als input. Toepassing van de Z-transformatie geeft: ¡ 2 ¢ z + z − 2 Y (z) = (z + 2)X(z) + z 2 y(0) + z [y(0) + y(1) − x(0)] Rekening houdend met de beginvoorwaarden krijgen we: Y (z) =
z+2 z (z + 2) X(z) + (z + 2) (z − 1) (z + 2) (z − 1)
of na wegdelen van de gemeenschappelijke pool en nulpunt: Y (z) =
1 z X(z) + (z − 1) (z − 1)
We kunnen de oplossing opdelen in twee stukken. De nul-toestand-responsie Y0s (z) Y0s (z) =
1 1 X(z) met H(z) = (z − 1) (z − 1)
de discrete transfertfunctie
en de nul-input-responsie Y0i (z) Y0i (z) =
z . z−1
Beide functies zijn wel nog uitgedrukt in het Z-domein. Om het tijdgedrag te kennen moeten deze functies omgezet worden volgens de (inverse) transformatietabellen. (De betekenis van een gemeenschappelijke pool en nulpunt wordt later verklaard).
Merk tenslotte op dat het simulatieschema zoals we dit gezien hebben op het einde van hoofdstuk 1, volledig kan overgenomen worden als simulatieschema voor de Z-functies door enkel de operator D te vervangen door z −1 . (Dit betekent dan niet meer het toepassen van een operator maar eenvoudig de deling door de veranderlijke z). Figuur 2.1 geeft deze equivalentie weer. f(k)
D
f(k-1)
F(z)
z -1
F(z)z-1
Figuur 2.1: Overeenkomstige voorstellingen
Johan Baeten
25
2 De Z-transformatie
2.7
Z-transformatieparen 1 2
f (k), k ≥ 0 δ(k) u(k)
F(z) 1 z z−1 z (z − 1)2
3
ku(k)
4
k 2 u(k)
z(z + 1) (z − 1)3
5
k 3 u(k)
z(z 2 + 4z + 1 (z − 1)4
6
ak u(k)
7
kak u(k)
8
k 2 ak u(k)
9
[r0k cos(θk)]u(k)
10
[r0k sin(θk)]u(k)
11
ak−1 u(k − 1)
1 (z − a)
12
(k − 1)(k − 2)ak−2 u(k − 2)
2a (z − a)3
13
kak−1 u(k − 1)
z (z − a)2
14
(k − 1)ak−2 u(k − 2)
1 (z − a)2
15
k(k − 1)ak−2 u(k − 2)
2z (z − a)3
16
(k − 1)(k − 2)ak−3 u(k − 3)
2 (z − a)3
z z−a za (z − a)2 za(z + a) (z − a)3 z2
z(z − r0 cos θ) − (2r0 cos θ)z + r02
z2
zr0 sin θ − (2r0 cos θ)z + r02
Tabel 2.1: Eenzijdige Z-transformatieparen voor causale functies
26
Johan Baeten
Hoofdstuk 3 Het discreet systeemgedrag 3.1
Inleiding
Net zoals bij continue systemen kunnen we ook bij discrete systemen het systeemgedrag nagaan in de tijd en in de frequentie. Dit zijn dan respectievelijke de (discrete) tijd- en frequentierespons. Beide geven alle mogelijke informatie over het systeem weer, evenwel op een zeer specifieke wijze. De vorige hoofdstukken bepalen het tijdgedrag, zoals impuls- en staprespons, uitgaande van de differentievergelijking. Dit hoofdstuk legt het verband tussen de polen van het discrete systeem en het tijdgedrag. Verder beschrijft dit hoofdstuk de verbanden tussen continue systemen met bijbehorende polen en hun discrete tegenhangers. De kennis over deze verbanden zal van nut zijn bij het ontwerp van de discrete regelaar. Naast het tijdgedrag van een systeem geeft ook de frequentierespons, die bepaald wordt bij de ’harmonische analyse’, een inzicht in het systeemgedrag. Het resultaat van een harmonische analyse is bijvoorbeeld het Bode-diagram, dat de frequentieafhankelijke versterking en faseverschuiving weergeeft. We komen hier tot enkele opvallende verbanden maar ook verschillen tussen het continu en het discreet geval. Uiteindelijk moet de kennis over het systeemgedrag ons in staat stellen om verschillende systemen te vergelijken, om ontwerpspecificaties in tijd en frequentie (bijvoorbeeld voor de discrete regelaar of regelkring) op te stellen of om de beperkingen en mogelijkheden van de discrete regelaar t.o.v. de continue regelaar in te schatten.
3.2
Verband tussen Z-, tijd- en P -domein
Om het verband tussen Z- en P -domein aan te geven vertrekken we van een continu sinusvormig signaal. Hiervan bepalen we de bemonsterde versie, dit is het discrete sinussignaal. Voor beide signalen (beschouwd als impulsrespons) bepalen we dan de TF. Eenmaal dat de continue en discrete TF’s gegeven zijn, kennen we ook de continue en discrete polen. Uiteindelijk dienen we dan enkel nog het verband te leggen tussen de verschillende continue en discrete voorstellingswijzen. Neem het volgend continu signaal: e(t) = eat cos (bt) 1(t)
(3.1) 27
3 Het discreet systeemgedrag
1(t) is de continue eenheidsstapfunctie. Ze geeft aan dat e(t) een causale functie is, d.w.z. gelijk aan nul voor alle negatieve tijden. Uit de Laplace-tabellen vinden we de TF van het systeem waarvan bovenstaande functie de impulsrespons is, namelijk E(p) =
p−a (p − a)2 + b2
(3.2)
De (continue) polen van deze TF zijn p1,2 = a ± jb. Het nulpunt is p = a. Bemonstering van het continu signaal (vergelijkin 3.1) met een periode T levert het discreet signaal e(k): e(k) = eakT cos (bkT ) 1(k).
(3.3)
Hierbij is 1(k) de discrete eenheidsstapfunctie die weerom aangeeft dat het (zoals steeds) gaat om een causale functie. Vergelijking 3.3 herleidt zich tot e(k) = rk cos (θk) 1(k) waarbij ½
(3.4)
r = eaT . θ = bT
(3.5)
De Z-getransformeerde van e(k) volgt uit tabel 2.1 uit paragraaf 2.7 of uit volgende berekening: e(k) = rk
ejkθ + e−jkθ 1 1 1(k) = rk ejkθ + rk e−jkθ = e1 (k) + e2 (k) 2 2 2
(3.6)
De Z-getransformeerde van e1 (k) en e2 (k) volgens de definitie van de Z-transformatie zijn
E1 (z) = Z {e1 (k)} = =
1 2
1 2
k=∞ P
rk ejkθ z −k =
k=0
1 2
k=∞ P £ k=0
rejθ z −1
¤k
=
1 2
1 1 − rejθ z −1
(3.7)
z z − rejθ
en E2 (z) = Z {e2 (k)} =
1 z 2 z − re−jθ
(3.8)
zodat E(z) = E1 (z) + E2 (z) =
z2
z (z − r cos θ) . − 2r cos θ.z + r2
(3.9)
De nulpunten van de TF uit vergelijking 3.9 zijn z = 0 en z = r cos θ. De polen van de TF zijn z1,2 = r cos θ ± jr sin θ = re±jθ Figuur 3.1 geeft de ligging van de nulpunten (o) en de polen (x) weer samen met het overeenkomstig tijdsverloop e(k) (impulsrespons). 28
Johan Baeten
3.2 Verband tussen Z-, tijd- en P -domein
bijvoorbeeld Im r<1 1 q = 45° r x q o o
e(k) 1 Re 1
k
x
Figuur 3.1: Ligging van polen (x) en nulpunten (o) met bijbehorende impulsrespons Figuur 3.2 vat de resultaten van de bovenstaande afleidingen samen. De stap van continue polen naar discrete polen gebeurt met de basisformule van de Z-transformatie vergelijking 2.4. Invullen van de continue polen in deze vergelijking geeft z1,2 = ep1,2 T = e(a±jb)T = eaT .e±jbT = eaT (cos bT ± j sin bT ) = r cos θ ± jr sin θ (3.10) De laatste stap uit vergelijking 3.10 geeft het verband tussen (r, θ) en (a, b) zoals aangegeven door vergelijking 3.5. Merk op dat het bovenstaand verband niet geldt voor de nulpunten van de discrete en continue TF. Het gedrag van een systeem wordt echter hoofdzakelijk bepaald door de polen en niet door de nulpunten. Voor het vergelijken van het continu en het discreet gedrag is dus het verband tussen de polen belangrijk.
Discreet
Z-domein z1 2, = r cos q ± jr sinq = re
Continu
±jq
p1 , 2= a ± jb z=e
pT
p-a
z(z-r cosq) 2
Laplace
z -2r cosq.z +r
Tijd
P-domein
2
(p-a) + b
2
2
Bemonsteringsperiode T aT
r kcos(qk)1(k)
r=e q=bT
e at cos(bt)1(t)
Discrete tijd
Continue tijd
Figuur 3.2: Verband P - Z- en Tijddomein De relatie tussen de continue tijd en de discrete tijd wordt bepaald door de bemonsteringsperiode T . Dit is echter geen eenduidig verband. Uit de discrete tijdfunctie kunnen we niet altijd de continue functie reconstrueren. Figuur 3.2 geeft dit aan met de twee Johan Baeten
29
3 Het discreet systeemgedrag
afzonderlijke pijlen. Het verband tussen het tijddomein en het P - of Z-domein is wel eenduidig. Het verband tussen de discrete en continue polen tenslotte is weerom niet eenduidig. Verschillende continue polen kunnen overeenkomen met dezelfde discrete polen. Neem bijvoorbeeld een pool p1 die overeenstemt met z1 en een tweede pool p2 gelijk aan p2 = p1 + j2πn/T
(3.11)
met n een willekeurig geheel getal. Dan is de overeenkomstige discrete pool z2 gelijk aan z1 . Van alle mogelijk continue polen mogen enkel deze behouden blijven die liggen in de band (−jπ/T, +jπ/T ). In dat geval is er wel een eenduidige overeenkomst tussen de discrete en continue polen. Zie figuur 3.3. De polen in het verboden gebied zorgen voor de reeds eerder vermelde terugvouwfout (Eng.: ’aliasing’).
P-domein
Z-domein
Im 3p/T
Im
Verboden gebied
2p/T = w
s
p/T
1
z=e pT 1
Re Re -p/T
Figuur 3.3: Overeenkomstige P - en Z-polen Besluit: 1. r > 1 e(k) divergeert of m.a.w. het systeem waarvan e(k) de discrete impulsrespons is, is instabiel. De polen in het Z-domein liggen buiten de eenheidscirkel. Tevens is a > 0. De continue polen in het P -domein liggen in het rechter halfvlak. In figuur 3.3 is dit geval aangegeven met blokjes. 2. r = 1 e(k) oscilleert met een constante amplitude, m.a.w. het systeem waarvan e(k) de discrete impulsrespons is, ligt op de stabiliteitsgrens. De polen in het Z-domein liggen op de eenheidscirkel. Tevens is a = 0 en de polen in het P -domein liggen op de imaginaire as. Dit geval komt overeen met de vette lijn uit 3.3. 3. r < 1 e(k) convergeert naar nul, m.a.w. het systeem waarvan e(k) de discrete impulsrespons is, is stabiel. De polen in het Z-domein liggen binnen de eenheidscirkel. Tevens is a < 0. De continue polen in het P -domein liggen in het linker halfvlak. Dit stemt overeen met de bolletjes of streepjes-lijn uit figuur 3.3 en met figuur 3.1. 4. θ = 0 e(k) vertoont geen oscillaties. E(z) vereenvoudigt zich tot z . E3 (z) = z−r 30
(3.12) Johan Baeten
3.3 Verband tussen de ligging van de polen en de impulsrespons
De pool in het Z-domein ligt op de re¨ele as. Ook in het P -domein ligt er een pool op de re¨ele as, namelijk p = −a. (Bolletjes in figuur 3.3). 5. De modulus r De absolute waarde van de pool of de modulus r bepaalt de duur van het overgangsverschijnsel. • r dicht bij 0 betekent een kortstondig overgangsverschijnsel (sterk negatieve polen in het P -domein). • r dicht bij 1 betekent een langdurig overgangsverschijnsel (weinig negatieve polen in het P -domein). 6. Het argument θ Het argument van de complexe pool of de hoek θ staat in verband met de pulsatie van het overgangsverschijnsel of de oscillatie volgens de vergelijking ω = b = θ/T
(3.13)
θ bepaalt onmiddellijk het aantal bemonsteringen N per periode van de oscillatie: N=
2π 2π = ωT θ
(3.14)
Wanneer zoals in figuur 3.1, θ = 45◦ , betekent dit een oscillatieperiode die gelijk is aan 8 bemonsteringsperiodes. 7. Het verband z1,2 = ep1,2 T (tussen de discrete en continue polen) is algemeen geldig omdat elke willekeurige TF ontbonden kan worden in parti¨eelbreuken van de vorm E1 (z), E2 (z) en E3 (z). Figuur 3.3 geeft dit verband weer door enkele overeenkomstige lijnen in het P -domein en het Z-domein aan te geven.
3.3
Verband tussen de ligging van de polen en de impulsrespons
Om te weten hoe de impulsrespons van een systeem er uit ziet, indien de discrete pool van het systeem z = rejθ gekend is, moeten we enkel de waarden r en θ van de pool invullen in de volgende functie: rk cos (θk) 1(k)
(3.15)
Figuur 3.4 geeft het nulpunten-polen-diagram met de overeenkomstige impulsresponsies.
3.4
Harmonische analyse bij discrete systemen
Op analoge wijze als bij continue systemen kan de regimerespons van een discreet, lineair, tijdinvariant systeem op een harmonische inputsequentie bepaald worden. De ingang x(k) is een discrete sinus x(k) = A sin θk. Johan Baeten
(3.16) 31
3 Het discreet systeemgedrag
Im
q = 45°
q = 135°
Z-domein
1
q =45°
q = 45° q = 180° q = 180°
q = 0°
q = 0°
1 q = 0°
q = 180°
Re
q = 0°
Instabiel
Stabiel q = 90°
Stabiliteitsgrens Figuur 3.4: Verband tussen discrete pool en de impulsrespons Met H(z) de discrete TF, wordt de uitgang in het Z-domein Y (z) = A.H(z).
z2
z sin θ − 2z cos θ + 1
(3.17)
Bovenstaande formule vinden we met behulp van de tabel der Z-transformatieparen (tabel 2.1paragraaf 2.7). Partieelbreuksplitsing geeft Y (z) =
C1 C2 Cn a a∗ + + ··· + + + z − z1 z − z2 z − zn z − zp z − zp∗
(3.18)
met zp = cos θ + j sin θ = ejθ
en zp∗ = cos θ − j sin θ = e−jθ
(3.19)
De eerste n termen uit deze ontbinding worden bepaald door de polen van H(z) en vormen het overgangsverschijnsel of de natuurlijke respons. De regime oplossing bestaat uit de laatste twee termen. In regimetoestand is de gedwongen respons Yr (z) gelijk aan a a∗ Yr (z) = + z − zp z − zp∗
(3.20)
met a= 32
£¡
¢ ¤ jAejθ ejθ sin θ = − H(ejθ ) z − ejθ Y (z) z=ejθ = AH(ejθ ). jθ −jθ e −e 2
(3.21) Johan Baeten
3.4 Harmonische analyse bij discrete systemen
en jAe−jθ a = H(e−jθ ) 2 ∗
(3.22)
Substitutie geeft jA Yr (z) = 2
µ
e−jθ H(e−jθ ) ejθ H(ejθ ) − z − e−jθ z − ejθ
¶ (3.23)
Inverse transformatie naar het k-domein (volgens de tabel der Z-transformatieparen) levert ¢ jA ¡ −jθ e H(e−jθ )e−jθ(k−1) − ejθ H(ejθ )ejθ(k−1) 2 H(ejθ )ejθk − H(e−jθ )e−jθk =A 2j
yr (k) =
(3.24)
Hierin stelt H(e−jθ ) een complex getal voor met absolute waarde |H| en een hoek γ. Vergelijking 3.24 wordt dan ejγ ejθk − e−jγ e−jθk ej(kθ+γ) − e−j(kθ+γ) = A |H| 2j 2j = A |H| sin (kθ + γ)
yr (k) = A |H|
(3.25)
Bij een sinuso¨ıdale ingang is de uitgang ook sinuso¨ıdaal. De uitgang is echter faseverschoven en in amplitude veranderd. Hierdoor bevat ze alle informatie over het beschouwde systeem, beschreven door de TF H(z). De versterking wordt bepaald door de absolute waarde van H(ejθ ). Door θ te laten vari¨eren, hetgeen overeenkomt met een variatie van ω bij een constante bemonsteringsperiode T (θ = ωT ), doorlopen we als het ware het volledige ’frequentiegebied’. Ook de faseverschuiving γ is afhankelijk van ejθ of van θ. Het uiteindelijk besluit is analoog aan dit bij continue systemen: Om de frequentieafhankelijke versterking M van een systeem beschreven door de TF H(z) te kennen, moeten we z = ejθ stellen en de absolute waarde nemen van H(ejθ ). De frequentieafhankelijke faseverschuiving γ wordt gegeven door de hoek van het complexe getal H(ejθ ). Samengevat geeft dit ½
¯ ¯ M = ¯H(ejθ )¯ . γ = ∠H(ejθ )
(3.26)
Het discrete Bode-diagram geeft beide waarden grafisch weer. De onafhankelijke veranderlijke is nu echter niet meer noodzakelijk ω maar eventueel θ. Bovendien is de frequentierespons van het discreet systeem periodisch met een periode van 2π. Inderdaad ¡ ¢ ¡ ¢ ej(θ+2π) = ejθ → H ej(θ+2π) = H ejθ . Johan Baeten
(3.27) 33
3 Het discreet systeemgedrag
Voorbeeld: Neem de volgende TF: H(z) =
0, 5 z − 0, 5
De frequentierespons volgt uit H(ejθ ) =
ejθ
0, 5 0, 5 = cos θ + j sin θ − 0, 5 − 0, 5
waaruit ¯ ¯ 0, 5 ¯ ¯ ¯H(ejθ )¯ = √ 1, 25 − cos θ en γ = −bgtg
sin θ cos θ − 0, 5
Figuren 3.5, 3.6 en 3.7 geven de grafische voorstellingen van de ’frequentie afhankelijke’ eigenschappen van het systeem in een amplitude- en fasediagram. Bode-diagram
Versterking [dB]
0 -2 -4 -6 -8 -10 0
Fase [O]
-45 -90 -135 -180 -2 10
-1 10
0 10
1 10
Frequentie [rad/sec]
Figuur 3.5: Versterking en faseverschuiving i.f.v. de pulsatie met een logaritmische schaal; de bemonsteringsperiode T is gelijk aan 1 s
Uit de vorige paragrafen weten we reeds dat het verband tussen de continue en discrete tijdrespons enkel eenduidig bepaald is voor hoeken tussen 0 en π (in feite tussen −π tot π, maar complexe polen komen steeds voor in toegevoegde paren, zodat de negatieve hoeken geen nieuwe signalen of systemen voorstellen). Het periodisch karakter van de frequentierespons geeft in gronde dezelfde voorwaarde weer. De frequentierespons is enkel zinvol voor hoeken van 0 tot π. Grotere hoeken geven terug dezelfde sinussen (via de terugvouwfout) en leveren dan ook dezelfde versterking en faseverschuiving op. De beperkte band in het frequentiedomein is het gevolg van de bemonstering in de tijd. Indien de bemonsteringsperiode T kleiner wordt, zal de (geldige) frequentieband groter worden (en omgekeerd). In figuur 3.5 (a) is de maximale frequentie π rad/sec omdat de bemonsteringsperiode 34
Johan Baeten
3.4 Harmonische analyse bij discrete systemen Bode-diagram 1
Versterking [dB]
0.8 0.6
0.4 0.2 -2
-1
0
1
-1
0
1
2
3
4
2
3
4
4
Fase [O]
2 0 -2 -4 -2
Hoek [rad]
Figuur 3.6: Frequentierespons i.f.v. de hoek θ [rad] (uitgedrukt in eenheden van π – lineaire schaal
1 sec bedraagt. Figuur 3.6 geeft duidelijk het periodisch karakter weer van de frequentierespons. De onafhankelijke variabel is hier de hoek θ. Figuur 3.7 geeft tenslotte enkel de zinvolle ’frequentieband’ met eveneens een lineaire schaal. Zij komt overeen met figuur 3.5. Bode-diagram
Versterking [ -- ]
1 0.8 0.6 0.4 0.2
0
0.5
1
1.5
2
2.5
3
3.5
0
0.5
1
1.5
2
2.5
3
3.5
0
Fase [O]
-50 -100 -150 -200
Hoek [rad]
Figuur 3.7: Frequentierespons i.f.v. de hoek θ [rad] (op een lineaire schaal) Johan Baeten
35
3 Het discreet systeemgedrag
3.5
De W-transformatie of bilineaire transformatie
De W-transformatie is een bijectie (dit wil zeggen een eenduidige afbeelding) van het Zdomein naar het W -domein (beide gevormd door het complex vlak) die de eenheidscirkel afbeeldt op de imaginaire as en het inwendige van de eenheidscirkel op het linker halfvlak: w=
z−1 z+1
en z = −
w+1 w−1
(3.28)
met w de nieuwe complex veranderlijke (zie figuur 3.8). Door deze transformatie toe te passen op de discrete functie F (z), kunnen de ’oude’ werkwijzen voor het zoeken van de stabiliteitsgrens (in het P -domein) aangewend worden op de functie F (w). Dit valt echter buiten het bestek van deze cursus.
Z-domein
Im
Im
W-domein (~ P-domein)
Stabiel
Stabiel
Re
Re
Figuur 3.8: De W-transformatie
36
Johan Baeten
Hoofdstuk 4 Het discreet equivalent 4.1
Inleiding
Steeds meer worden digitale computers ingezet om fysische systemen te besturen. Deze evolutie wordt in de hand gewerkt door de enorme ontwikkeling van de microprocessortechnologie. De voornaamste voordelen van het gebruik van digitale computers voor controledoeleinden zijn: de grote vrijheid en flexibiliteit in het ontwerpen van controle programma’s en de mogelijkheid om naast de controlefunctie ook beslissingslogica toe te voegen aan het programma. In de volgende hoofdstukken beperken we ons tot de studie van de controlefunctie. Bij de analyse en het ontwerp van digitale regelkringen moet het effect van de bemonsteringsperiode T en van de quantisatie-eenheid q expliciet in rekening gebracht worden. Wanneer zowel T als q zeer klein zijn, kan men de digitale signalen praktisch als continue signalen beschouwen. Bijgevolg kunnen de continue methoden voor analyse en ontwerp worden aangewend. Theoretisch lijkt deze situatie zeer aantrekkelijk. Vanuit economisch standpunt is ze echter verre van optimaal. Ze houdt namelijk in dat wij een snelle (en dure) computer nodeloos belasten met het aan een zeer hoog tempo doorrekenen van het regelalgoritme. Dit hoofdstuk handelt voornamelijk over het in rekening brengen van het effect van een eindige bemonsteringsperiode T , om tot een doelmatige regeling te komen. Op de studie van het effect van de eindige quantisatie-eenheid wordt niet ingegaan1 . We zullen dan ook dikwijls spreken over de ’discrete’ regelaar i.p.v. de digitale regelaar. Het ontwerp van de discrete regelaar kan op verschillende manieren gebeuren: • Een eerste methode bestaat erin het digitaal of discreet equivalent te zoeken van een gekende klassieke (continue) regelaar. Een aantal ontwerpmethodes die op deze manier te werk gaan worden besproken in paragrafen 4.3. en 4.4. • Het ontwerp van een digitale regelaar volgens het klassiek schema kan ook rechtstreeks in het Z-domein gebeuren m.b.v. een aantal technieken die gelijkaardig zijn aan deze voor het ontwerp van continue regelaars zoals bijvoorbeeld de methode van 1 Het gequantiseerd karakter komt in de limiet overeen met een aan-uit regeling, hetgeen aan bod komt bij regelkringen met niet-lineaire elementen.
37
4 Het discreet equivalent
het wortellijnendiagram of ontwerp in het frequentiedomein. Hiervoor moeten alle elementen uit de regelkring discreet zijn of discreet voorgesteld worden. We zullen hierop kort ingaan in hoofdstuk 5. • Als laatste werkwijze beschrijven we het ontwerp van de digitale toestandsregelaar. Bij deze techniek wordt de digitale regelaar bepaald in de toestandsruimte. Hoofdstuk 6 geeft daarom eerst aan wat de (discrete) toestandsruimte omvat en hoe we het verband leggen met het Z-domein en beschrijft daarna het ontwerp met de methode der polenplaatsing. Om te beginnen vermelden we even de verschillende mogelijke regelschema’s met een digitaal element of een digitale regelaar.
4.2
Digitale regelschema’s (bij continue systemen)
Men kan een viertal mogelijke interventies van de computer in de regelketen onderscheiden. In het eerste geval geeft de computer (of PLC) enkel het signaal voor de setwaarde en ontvangt de computer informatie over de geregelde grootheid. Zie figuur 4.1(a). De regeling gebeurt nog volledig analoog. In het tweede geval (figuur 4.1 (b)) bevat de computer het regelalgoritme. De computer grijpt via de ADC (analoog naar digitaal omzetter) en de DAC (digitaal naar analoog omzetter) rechtstreeks op het proces en dus op de geregelde grootheid in. Niets houdt ons dan nog tegen om ook de vergelijking tussen werkelijke en gewenste waarde digitaal uit te voeren. Dit geeft figuur 4.1 (c). In het vierde geval (figuur 4.1 (d)) valt zelfs de ADC weg omdat het meetsysteem reeds een digitaal signaal uitgeeft. De ADC en de DAC staan meestal als aparte kaarten in de computer of PLC. De ADC zorgt voor de bemonstering van het continu, analoog signaal. De DAC zorgt voor de reconstructie van het digitaal stuursignaal afkomstig van de digitale regelaar. De DAC vormt dus het gequantiseerd stuursignaal om in een analoog signaal. Bovendien zal het analoge signaal gedurende n klokperiode aangehouden worden, hetgeen de functie is van de houdketen. In eerste instantie is de uitgang van de DAC dus nog een discreet verlopend signaal. Met behulp van een houdketen wordt hiervan een continu signaal gemaakt dat weliswaar enkel op discrete tijdstippen zal veranderen in het geval van een nulde orde houdketen. De uitgang van de nulde orde houdketen wordt dan ook voorgesteld door een trapvormige curve. Indien toch een meer continu verlopend stuursignaal gewenst is, dan moeten de opeenvolgende discrete waarden in de tijd genterpoleerd worden. Dit geeft dan een 1e of 2e orde houdketen. In figuur 4.1 wordt verondersteld dat de houdketen mee vervat is in de DAC. De houdketen heeft echter een belangrijke invloed op de regelkring (zie later), zodat we deze vaak in een apart blokje zullen voorstellen samen met de TF ervan. Merk op dat we in figuur 4.1 (b), (c) en (d) de computer steeds kunnen vervangen door een kant en klare digitale regelaar, waarbij we dan wel niet meer zelf (in volle vrijheid) het regelalgoritme kunnen bepalen. In de voorgaande gevallen was er steeds sprake van regelkringen waarin digitale en continue elementen gecombineerd worden. Indien echter ook het te regelen systeem discreet is, dan bekomen we een volledig digitale regelkring (die zich als regelschema niet meer onderscheidt van de klassieke continue regelkring). Zie figuur 4.2. Hierop kunnen we een 38
Johan Baeten
4.2 Digitale regelschema’s (bij continue systemen)
(a)
Computer
DAC
+
Regelaar -
Klok
ADC
+
(b)
Systeem
Sensor
ADC
DAC
Regelaar
Systeem
Computer
-
Sensor
+
(c)
Regelaar -
+
(d)
Computer
Regelaar -
Computer
DAC
Systeem
ADC
Sensor
DAC
Systeem Sensor
Digitaal Meetorgaan
Figuur 4.1: Interventie van de computer in de regelketen aantal klassieke rekenmethoden toepassen, bijvoorbeeld voor de bepaling van de gesloten TF of voor de bepaling van de stabiliteitsgrens met het wortellijnendiagram. Meestal dient echter een fysisch en dus continu systeem geregeld te worden waardoor een volledig digitale regelkring zelden voorkomt. Nochtans is de volledige digitale regelkring het eenvoudigst om mee te rekenen. We zullen daarom het fysisch proces samen met de houdketen en de bemonstering beschrijven als ware het een digitaal systeem. Het geheel houdketen-procesbemonstering, zoals voorgesteld in figuur 4.3, bezit immers een discrete ingang en geeft ook een discrete uitgang en kan bijgevolg beschreven worden door een discrete TF.
+
Digitale
Digitaal
Regelaar
Systeem
(of equivalent)
Bv. Computer
Digitale Sensor
Figuur 4.2: De volledig digitale (discrete) regelkring Johan Baeten
39
4 Het discreet equivalent
Wat we door deze manier van werken verwezenlijken is in feite het volgende: De gemengde regelkring, deels discreet en deels continu, herleiden we tot een volledig discrete beschrijving met discrete TF’s. Deze benadering zal echter niets afdoen aan de algemeenheid van het regelschema en zal geen fouten met zich meebrengen. Het discreet element uit de regelkring vraagt immers enkel op de discrete tijdstippen naar de waarde van het proces en juist op deze discrete tijdstippen zal het discreet equivalent van houdketen-proces-bemonstering identiek dezelfde waarde opleveren als het oorspronkelijk geheel. Door het discreet equivalent van houdketen-proces-bemonstering beperken we ons tot de hoogst nodige informatie over het systeem namelijk de waarde van het proces op de bemonsteringstijdstippen. u(k)
Houdketen
û(t)
Systeem
y(t)
Bemonst.
y(k)
H(p)
u(k)
Equivalent H (z )
y(k)
Figuur 4.3: Discreet equivalent van een continu proces of systeem Merk op dat er een verschil is tussen het discreet equivalent van het proces en het discreet equivalent van de regelaar (waarover we later zullen spreken). In het eerste geval bedoelen we met het discreet equivalent het model dat we verder in de berekeningen zullen gebruiken zonder daarom het proces of het systeem te veranderen. Het model zal in de berekeningen geen fouten opleveren (in de veronderstelling dat we gebruik maken van een discrete regelaar).Deze werkwijze wordt gebruikt in hoofdstuk 5. In het tweede geval zullen we de benaderende discrete regelaar ’bouwen’ equivalent aan de continue regelaar. Dit komt in de volgende paragrafen aan bod.
Voor het ontwerp van klassieke, continue regelaars bestaan goed uitgewerkte technieken. Het is nu de bedoeling om, voor een continue regelaar, een discreet equivalent te zoeken, zodat de regeling gerealiseerd kan worden met behulp van een (digitale) computer. Meer algemeen kan men de regelaar beschouwen als een ’filter’, en zoekt men een digitale filter waarvan de karakteristieken (amplitude-versterking en fasenaijling in functie van de frequentie) deze van een gegeven analoog filter zo goed mogelijk benaderen. De volgende paragrafen behandelen een drietal methodes: • Ontwerp van een discreet equivalent door numerieke integratie; • Ontwerp van een discreet equivalent door transformatie van polen en nulpunten; • Ontwerp van een discreet equivalent m.b.v. een houdschakeling.
40
Johan Baeten
4.3 Ontwerp van discreet equivalent via numerieke integratie
4.3
Discreet equivalent via numerieke integratie
Principieel bevat de methode volgende stappen: I) Stel de te benaderen TF H(p) voor door een differentiaalvergelijking II) Voer een numerieke integratie uit op deze differentiaalvergelijking. Dit levert een differentievergelijking die een voorstelling is van de discrete regelaar. III) Zet de differentievergelijking om naar een discrete TF Neem als voorbeeld de integrator H(p) = 1/p. Dan is het stuursignaal U (p) 1 U (p) = H(p)E(p) = E(p), p
(4.1)
met E(p) het foutsignaal. De overeenstemmende differentiaalvergelijking is Zt u(t) = u(0) +
e(ι)dι
(4.2)
0
Numerieke integratie toegepast op deze vergelijking levert ZkT u(kT ) = u(0) +
kT Z −T
e(ι)dι = u(0) + 0
ZkT e(ι)dι +
0
e(ι)dι
(4.3)
kT −T
of ZkT e(ι)dι
u(kT ) = u [(k − 1) T ] +
(4.4)
kT −T
Voor de evaluatie van de integraal in het rechter lid uit vergelijking 4.4 bestaan vele methoden, zoals o.a.: a) de voorwaartse rechthoekregel, b) de achterwaartse rechthoekregel, c) de trapeziumregel (of methode van Tustin of bilineaire transformatieregel). Figuur 4.4 stelt de drie vermelde regels samen met de formule voor de integraal voor. Invullen van de benadering voor de integraal geeft voor elk van de beschouwde regels: a) u(kT ) = u [(k − 1)T ] + e [(k − 1)T ] · T , b) u(kT ) = u [(k − 1)T ] + e(kT ) · T , c) u(kT ) = u [(k − 1)T ] + Johan Baeten
e((k − 1)T ) + e(kT ) T. 2 41
4 Het discreet equivalent
Voorwaartse integraal
e(t) e(k) = e(kT)
Se(k-1).T a) 1T
3T
tijd (t) discrete stap (k)
5T
0 1 2 3 4 5 6
Achterwaartse integraal
e(t) e(k) = e(kT)
Se(k).T b) 1T
3T
tijd (t) discrete stap (k)
5T
0 1 2 3 4 5 6
Trapezium integraal
e(t) e(k) = e(kT)
e(k)].T S [e(k-1)+ 2
c) 1T
3T
5T
0 1 2 3 4 5 6
tijd (t) discrete stap (k)
Figuur 4.4: Numerieke integratie volgens voorwaartse, achterwaartse rechthoek- en trapeziumregel
Toepassing van de Z-transformatie geeft: ¡ ¢ a) 1 − z −1 U (z) = T z −1 E(z) ¡ ¢ b) 1 − z −1 U (z) = T · E(z)
U (z) T = , E(z) z−1
→ →
U (z) Tz = , E(z) z−1
¢ ¡ 1 c) 1 − z −1 U (z) = T (z −1 + 1)E(z) 2
→
U (z) T (z + 1) = . E(z) 2 (z − 1)
Vergelijking van deze transfertfuncties met het continue geval 1 U (p) = E(p) p
(4.5)
leert ons dat het volstaat om in de continue transfertfunctie de frequentievariabele p te vervangen door: a) voorwaartse rechthoekregel: p = 42
z−1 , T Johan Baeten
4.4 Ontwerp van discreet equivalent door transformatie van nulpunten en polen
b) achterwaartse rechthoekregel: p = c) trapeziumregel: p =
2 (z − 1) , T (z + 1)
2 (z − 1) . T (z + 1)
Toepassing: Het discreet equivalent van een PI-regelaar volgens numerieke integratie met de trapeziumregel. De continue TF is µ ¶ 1 U (p) = Kr 1 + E(p) τi p zodat ¶ µ T (z + 1) E(z) U (z) = Kr 1 + 2τi (z − 1) of µ ¶ µµ ¶ ¶ T T T (z − 1) U (z) = Kr (z − 1) + (z + 1) E(z) = Kr 1+ z+ − 1 E(z). 2τi 2τi 2τi Herschrijf dit als: (z − 1) U (z) = (a.z + b) E(z) of ¡ ¢ ¡ ¢ 1 − z −1 U (z) = a + b.z −1 E(z) waaruit u(k) = u(k − 1) + a.e(k) + b.e(k − 1) Dit geeft de te programmeren recursieve betrekking. De waarden a en b worden bepaald door de instellingen van de PI-regelaar. Paragraaf 4.8 werkt de resulterende recursieve betrekking verder uit naar een stroomdiagram als basis voor een computerprogramma.
4.4
Discreet equivalent door transformatie van nulpunten en polen
Bij de bespreking van de verbanden tussen continue tijd, discrete tijd, P - en Z-domein in hoofdstuk 3 (paragraaf 3.2) werd reeds een verband afgeleid tussen de polen van een continue transfertfunctie en de polen van de overeenstemmende discrete transfertfunctie, nl.: z = epT
(4.6)
Het nulpunten-polen-equivalent extrapoleert deze regel door ze eveneens toe te passen voor de nulpunten. Dit geeft volgende (al dan niet heuristische) regels voor het opstellen van het nulpunten-polen-equivalent: Johan Baeten
43
4 Het discreet equivalent
1. Transformeer alle polen van H(p) naar het Z-domein volgens vergelijking 4.6; 2. Transformeer alle eindige nulpunten van H(p) op dezelfde wijze naar nulpunten van H(z); 3. Laat met elk nulpunt op oneindig van H(p), d.i. bijvoorbeeld p = ∞, een nulpunt z = −1 overeenstemmen; 4. Pas de versterkingsfactor van de digitale regelaar aan zodat hij voor een bepaalde frequentie overeenstemt met die van de continue regelaar. Meestal wordt een gelijke statische versterkingsfactor gekozen of H(p)|p=0 = H(z)|z=1 .
(4.7)
De gedachte achter stap 3 is als volgt: H(p) is gelijk aan 0 voor oneindige frequenties of dus voor de waarde p = j∞. De hoogste frequentie waarvoor de discrete ’filter’ bruikbaar is, is echter fs /2. De waarde van p is hier jπfs hetgeen volgens vergelijking 4.6 overeenstemt met z = ejπfs T = −1. Deze regel geeft dus een nulpunt voor de hoogste frequentie waarvoor de discrete ’filter’ nog bruikbaar is. Stap 3 is een echte heuristische regel. Een variatie op het nulpunten-polen-equivalent is mogelijk het weglaten van deze stap. Voorbeeld 1: a H(p) = p+a
¡ ¢ (z + 1) 1 − e−aT levert H(z) = 2(z − e−aT )
Voorbeeld 2: Bepaal de discrete PI-regelaar door transformatie van polen en nulpunten. De TF µ ¶ µ ¶ µ ¶ 1 τi p + 1 p + 1/τi HP I (p) = Kr 1 + = Kr = Kr τi p τi p p levert à HP I (z) = C · Kr
z − e−T /τi z−1
!
waarbij de constante C nog bepaald moet worden. Aan de voorwaarde voor gelijke statische versterking is echter voor elke mogelijke waarde van C voldaan. Deze voorwaarde levert in dit voorbeeld dus geen eenduidige oplossing. De waarde van C moet derhalve volgen uit de gelijkstelling van de absolute waarde van de twee TF’s bij een andere frequentie. Deze oplossing stemt qua algemene vorm overeen met de numerieke-integratie-benadering van de PI (zie toepassing uit paragraaf 4.3), maar verschilt wat de constanten in de TF’s betreft.
4.5
Ontwerp van een ’houd’-equivalent
Leg in gedachte aan de continue regelaar met TF H(p) een continu signaal eˆ(t) aan, als benadering voor het continu foutsignaal e(t), geconstrueerd op basis van de beschikbare monsters e(k) van e(t) door middel van een houdschakeling. Zie figuur 4.5. 44
Johan Baeten
4.5 Ontwerp van een ’houd’-equivalent
e(t)
Bemon-
e(k)
stering
Houd-
ê(t)
schakeling
H(p)
û(t)
Bemon-
u(k)
stering
H (z ) Figuur 4.5: Het houd-equivalent De eenvoudigste houdschakeling houdt gedurende ´e´en periode de waarde e(k) vast: = eˆ(t) = e(k)
voor
kT ≤ t < (k + 1) T.
(4.8)
Vermits e(t) op deze wijze benaderd wordt door stuksgewijze constante gedeelten (of veeltermen van nulde orde), wordt dit een nulde-orde-houdschakeling genoemd. Hogere-ordehoudschakelingen zijn eveneens denkbaar. We berekenen nu de overeenstemmende discrete transfertfunctie H(z). Beschouw een ´e´enheidsimpuls aan de ingang: ½ e(k)
=1 =0
als als
k = 0; k 6= 0.
↔
E(z) = 1.
(4.9)
eˆ(t) bestaat dan uit een ´e´enheidsstap op ogenblik 0, gevolgd door een negatieve ´e´enheidsstap op ogenblik t = T . De continue respons op dit signaal is 1 e−pT Uˆ (p) = H(p) − H(p) p p
(4.10)
Dit is de som van het resulterend signaal t.g.v. de stap 1/p en de negatieve stap −1/p T seconden later. Vergelijking 4.10 omvat deze vertraging als een dode tijd gelijk aan T . In het tijddomein geeft dit ½ −1
uˆ(t) = L
H(p) p
¾
½ −1
−L
H(p) −pT e p
¾ (4.11)
en na Z-transformatie ¾¾ ½ ¾¾ ½ H(p) H(p) −1 −1 − z .Z L U (z) = H(z).E(z) = Z L p p ½ ½ ¾¾ ¢ ¡ H(p) = 1 − z −1 .Z L−1 p ½
½
−1
(4.12)
Vermits E(z) gelijk is aan 1 geeft deze uitdrukking eveneens de discrete TF H(z).
Johan Baeten
45
4 Het discreet equivalent
Voorbeeld: Neem terug de TF H(p) =
a p+a
Dan is H(p) 1 1 = − p p p+a De invers Laplace-getransformeerde hiervan, met toepassing van de bemonstering, is ½ ¾ ¡ ¢ t=kT −1 H(p) L = u(t) 1 − e−at → =u(k)(1 − e−akT ) p met u(k) en u(t) de ´e´enheidstapfuncties. Toepassing van de Z-transformatie en vermenigvuldiging met (1 − z −1 ) levert uiteindelijk µ ¶ z z 1 − e−aT −1 − H(z) = (1 − z ) = z − 1 z − e−aT z − e−aT
Toepassing van de inverse Laplace-transformatie, bemonstering en vervolgens berekening van de Z-getransformeerde is een omslachtig werk dat uiteindelijk steeds hetzelfde is. Op het einde van dit hoofdstuk wordt daarom een tabel gegeven met een aantal overeenkomstige TF’s in P - en Z-domein, bekomen volgens de bovenstaande werkwijze. De berekening van het houd-equivalent vereenvoudigt hierdoor aanzienlijk: Splits de gegeven p-TF op in een aantal stukken gelijkaardig aan deze uit de tabel. Neem voor elk deel de overeenkomstige z-TF en vereenvoudig alles tot ´e´en enkele TF. Vergeet echter niet de gegeven continue TF eerst te delen door p en de uiteindelijk bekomen z-TF nog te vermenigvuldigen met (1 − z −1 ). Dit volgt immers uit de formule ¾¾ ½ ½ ¡ ¢ H(p) −1 −1 (4.13) H(z) = 1 − z .Z L p
4.6
Stabiliteit en nauwkeurigheid
De vorige paragrafen lichten een aantal technieken toe die aan de hand van de continue TF van regelaar (of systeem) een equivalente discrete TF afleiden. De vraag stelt zich echter in welke mate de eigenschappen (en in het bijzonder de stabiliteit) door toepassing van deze technieken behouden blijven. Het discreet equivalent is en blijft immers een benadering. De volgende paragrafen vergelijken de verschillende methodes qua behoud van stabiliteit en qua nauwkeurigheid van de ’benadering’.
4.6.1
Stabiliteit
• De numerieke integratie methode Numerieke integratie van een stabiele continue TF garandeert niet steeds een stabiele discrete TF. Om dit aan te tonen gaan we na hoe stabiele polen in het p-domein (linker halfvlak) door de integratieregels getransformeerd worden naar het z-domein. Eerst lossen we z op uit de integratie regels: 46
Johan Baeten
4.6 Stabiliteit en nauwkeurigheid
a) voorwaartse rechthoekregel : z = 1 + T p; 1 b) achterwaartse rechthoekregel : z = ; 1 − Tp 2 + Tp . c) trapeziumregel : z = 2 − Tp Gelijkstelling van p aan jω geeft aan hoe de stabititeitsgrens (imaginaire as) wordt getransformeerd naar het z-domein: a) z = 1 + jωT , d.w.z. de verticale as door 1; ¶ µ ¶ µ 1 1 1 1 1 1 1 + jT ω b) z = = + − = + , d.w.z. een cirkel 1 − jT ω 2 1 − jT ω 2 2 2 1 − jT ω met middelpunt 1/2 en straal 1/2; 1 + jT ω/2 c) z = , d.w.z. een cirkel met middelpunt 0 en straal 1. 1 − jT ω/2 De gearceerde delen in figuur 4.6 geven het beeld aan voor de verschillende integratieregels met als domein het linker halfvlak in het p-domein. Z-domein
Im
Z-domein Re
Voorwaartse rechthoekregel
Z-domein
Im
Im
Re
Achterwaartse rechthoekregel
Re
Trapeziumregel
Figuur 4.6: Beeld van de stabiele polen volgens de verschillende integratieregels Besluit: Door de voorwaartse rechthoekregel kunnen stabiele p-polen getransformeerd worden naar onstabiele z-polen (polen buiten de eenheidscirkel). De beide andere integratieregels transformeren alle stabiele p-polen naar stabiele z-polen. De trapeziumregel transformeert het stabiele p-gebied zelfs precies naar het stabiele z-gebied. Dit belet echter niet dat er een flinke distortie kan optreden (zie verder). • Transformatie van polen en nulpunten Bij de transformatie van polen en nulpunten volgens vergelijking 4.6 is het behoud van de stabiliteit van de discrete TF per definitie gegarandeerd. Indien de H(p) stabiel is, zal H(z) ook stabiel zijn. Het linker halfvlak wordt door vergelijking 4.6 immers precies op de eenheidscirkel afgebeeld. • Houd-equivalent Ook bij deze methode is de bekomen TF gegarandeerd stabiel, indien H(p) reeds stabiel is. Immers enkel het ingangssignaal wordt gewijzigd en blijft eindig. Men beschouwt eˆ(t) i.p.v. e(t)). Johan Baeten
47
4 Het discreet equivalent
4.6.2
Nauwkeurigheid
De nauwkeurigheid geeft aan hoe goed de karakteristiek van de discrete TF of ’filter’ deze van de continue benadert. Neem, om dit te bepalen, als ingangssignaal een discreet sinus: e(k) = A. sin(ωT k)
(4.14)
Uit het vorig hoofdstuk weten we echter al dat de karakteristiek van elke digitale ’filter’ of discrete TF periodisch is in functie van de pulsatie ω van het ingangssignaal met een periode gelijk aan ωs = 2πfs (de bemonsteringspulsatie). Dit komt overeen met ’aliasing’ of de terugvouwfout. Concreet wil dit zeggen dat alle ingangssignalen e(k) = A sin [(ω0 + N ωs )kT ]
met N = · · · − 2, −1, 0, 1, 2, · · ·
(4.15)
identiek zijn en bijgevolg ook dezelfde uitgang u(k) aan de regelaar opleveren. Bovendien is de karakteristiek symmetrisch t.o.v. ωs /2. Beschouw ½ ½ e1 (k) = A sin (ω1 kT ) ω1 = ωs /2 + ω0 met (4.16) e2 (k) = A sin (ω2 kT ) ω2 = ωs /2 − ω0 Nu is ω2 = − [ω1 − ωs ] en bijgevolg is e1 (k) = −e2 (k). De uitgang van de ’filter’ zal identiek zijn voor beide signalen. De symmetrie komt overeen met het complex toegevoegd karakter van elke pool. De maximale hoek van een pool is dan niet meer 360◦ maar slechts 180◦ . Zo is bijvoorbeeld 200◦ gelijk is aan −160◦ . Een pool met hoek −160◦ is de complex toegevoegde pool van deze met hoek 160◦ . Beide polen komen (samen) overeen met hetzelfde tijdgedrag. Het discreet equivalent is derhalve slechts geldig in het frequentiegebied (0, fs /2). Dit geldt voor elk discreet equivalent, en dus ook voor elke discrete regelaar, en is onafhankelijk van de gebruikte transformatiemethode. Specifiek voor de numerieke integratiemethode geldt dat de benadering van de integraal des te nauwkeuriger is naarmate de integratiestap kleiner is. Dit betekent dat het discreet equivalent des te nauwkeuriger wordt naarmate de bemonsteringsfrequentie hoger wordt. Deze wordt echter liefst zo laag mogelijk gehouden. Als vuistregel kiest men de bemonsteringsfrequentie 10 tot 20 maal hoger dan de verwachte bandbreedte van de gesloten regelkring. Voor een PI-regelaar komt dit bijvoorbeeld neer op een waarde fs ≈ 10/τi . Van de numerieke integratie transformaties geeft de trapeziumregel of bilineaire transformatie de nauwkeurigste resultaten. Transformatie van polen en nulpunten geeft echter over het algemeen een betere nauwkeurigheid dan de integratiemethodes. Ontwerp m.b.v. een houdschakeling van nulde orde geeft ongeveer dezelfde nauwkeurigheid als transformatie van polen en nulpunten.
4.6.3
Besluit
Het samenvattend besluit vergelijkt de verschillende besproken methodes wat de stabiliteit en nauwkeurigheid betreft. Zie tabel 4.1. De integratiemethodes, die als benadering misschien meer voor de hand liggen dan de twee andere methodes, moeten onderdoen qua behoud van stabiliteit en nauwkeurigheid. Bij de implementatie van een resultaat bekomen met de integratie methodes is zeker voorzichtigheid aangeraden. 48
Johan Baeten
4.7 Vergelijkende oefening
Numerieke integratie regels Voorwaartse Achterwaartse Trapezium rechthoek rechthoek Behoud Stab. Neen ja Ja Nauwkeurigheid slecht slecht matig
PolenHoudnulpunten- equivalent transform. Ja Ja Goed Goed
Tabel 4.1: Vergelijking tussen de verschillende transformatiemethodes
4.7
Vergelijkende oefening
Opgave: Bepaal het discreet equivalent van een eerste orde systeem met τ = 1 s. Vergelijk de TF’s, de stapresponsies en de frequentieresponsies. Oplossing: Neem de bemonsteringsperiode T = 0, 1 s. 1. Numerieke integratie, trapeziumregel: p=
2 (z − 1) 1 zodatH(p) = T (z + 1) 1+p
→
H(z) =
z+1 21z − 19
(4.17)
2. Nulpunten polen transformatie: H(z) =
(1 − e−0,1 ) (z + 1) z+1 = 2 (z − e−0,1 ) 21, 017z − 19, 017
(4.18)
3. Houdequivalent: H(z) =
1 1 − e−0,1 = −0,1 z−e 10, 508z − 9, 507
(4.19)
1
0.8 1
Amplitude
H(p) =
0.6
1+p
1 H(z) = 10,5z -9,5
0.4
0.2
0 0
5
10
15
20
25
30
35
40
45
50
Discrete stap k (T = 0,1 sec)
Figuur 4.7: Vergelijking tussen de staprespons van continu systeem en discreet houdequivalent Johan Baeten
49
4 Het discreet equivalent 1
0.8
1
Amplitude
H(p) = 0.6
1+p z+1
H(z) =
0.4
21z - 19
0.2
0 0
5
10
15
20
25
30
35
45
40
50
Discrete stap k (T = 0,1 sec)
Figuur 4.8: Vergelijking tussen de staprespons van het continu systeem en haar discreet equivalent volgens de nulpunten polen transformatie en numerieke integratie
Versterking [dB]
0
1 H(p) =
-10
1+p z+1
-20
H(z) =
-30 0,1
1
21z - 19
10
100
Frequentie [rad/sec] 0
Fase [O ]
-15 -30 -45 -60 -75 -90
0,1
1
10
100
Frequentie [rad/sec]
Figuur 4.9: Vergelijking frequentierespons: Continu versus numerieke integratie Oplossingen 1) en 2) verschillen slechts zeer weinig. Figuur 4.8 geeft de stapresponsies voor deze oplossingen. Deze stemmen goed overeen met de continue staprespons Ook de staprespons van de derde oplossing komt overeen met de continue responsie. Zie figuur 4.7. Merk het effect van de houdschakeling op. De discrete responsie treedt iets later op en begint bij nul. Op de discrete tijdstippen zelf is het discreet signaal gelijk aan 50
Johan Baeten
4.8 Implementatie
Versterking [dB]
0
-10
-20
-30 0,1
10
1
100
Frequentie [rad/sec] 0
Fase [O ]
1 H(p) =
-45 -90
1+p z+1
H(z) = -135 0,1
10,5z - 9,5
10
1
100
Frequentie [rad/sec]
Figuur 4.10: Vergelijking frequentierespons: Continu versus houdequivalent het continu signaal. Ook de frequentierespons van het discreet systeem stemt goed overeen met deze van het continu systeem. Enkel bij de hoogst toegelaten frequenties is er een klein verschil. De maximaal toegelaten frequentie is de helft van de bemonsteringsfrequentie en is gelijk aan 10Hz of 31,4r/s. Figuur 4.10geeft tenslotte de vergelijking met het houdequivalent. Het amplitudegedeelte wordt beter benaderd, het faseverloop is echter duidelijk verschillend bij hogere frequenties.
4.8
Implementatie
Het simulatieschema geeft het blokkendiagram van het discreet systeem zeer gedetailleerd weer. Het schema bepaalt bijvoorbeeld de werking van de regelaar. Hieruit volgt eveneens het programma dat de regelaar simuleert of implementeert, zoals verder beschreven in deze paragraaf. a -b
H(z) E(z)
+
z +
-1
Vertraging
z
-1
z -2 H(z)
+ + c
U(z)
+
z -1 H(z)
Figuur 4.11: Simulatieschema van een discreet systeem (bv. een discrete PID-regelaar) Neem als voorbeeld het tweede orde schema uit figuur 4.11. Bij het opstellen van Johan Baeten
51
4 Het discreet equivalent
het programma volgens dit schema hebben we drie geheugenplaatsen nodig. Dit zijn de geheugenplaatsen H1, H2 en H3. Zij stemmen overeen met de variabelen H(z), z −1 H(z) en z −2 H(z). Een ruwe ’schets’ van het programma overeenkomstig 4.11 ziet er dan als volgt uit: 1. Declareer alle variabelen, dit zijn H1, H2, H3 en U en E , a, b en c; 2. Geef de waarden a, b en c. Zet de overige variabelen op nul; 3. Lees de waarde van E in (E komt van de A/D omzetter); 4. Schuif H1 en H2 door naar H2 en H3; 5. Bereken de (nieuwe) waarde van H1; 6. Bereken de stuurwaarde U ; 7. Lees de waarde U uit (U gaat naar de D/A omzetter); 8. Ga naar stap 3 (oneindige lus). Start Declareer alle var. Initialiseer alle var.
neen
Klok ja Lees E in H3=H2, H2=H1 H1= E + H2 U=aH1-bH2+cH3 Stuur U naar output
Figuur 4.12: Stroomdiagram ter implementatie van een discreet systeem (bv. van een discrete PID-regelaar)
Het werkelijk computerprogramma kan op basis van het stroomdiagram uit figuur 4.12 gemakkelijk neergeschreven worden. In het geval van een discrete PID-regelaar, worden de waarden van a, b en c berekend uit de waarden Kr , τi en τd . Bij het opstarten zal het programma naar deze waarden vragen. Er kan ook een module voorzien worden die toelaat de waarden Kr , τi en τd op ieder ogenblik te veranderen. Het aantal mogelijke variaties op het programma zijn omwille van de flexibiliteit van de computer haast onbeperkt. 52
Johan Baeten
4.9 Transformatietabel
4.9
Transformatietabel f (t), f (kT )
F (p)
F (z)
1
δ(t)
1
1
2
δ (t − nT )
e−nT p
z −n
3
u(t)
1 p
z (z − 1)
4
t
1 p2
Tz (z − 1)2
5
1 2 t 2
1 p3
T z (z + 1) 2 (z − 1)3
6
e−at
1 p+a
z (z − e−aT )
7
te−at
1 (p + a)2
8
1 2 −at te 2
1 (p + a)3
T ze−aT (z − e−aT )2 ¡ ¢ T 2 ze−aT z + e−aT
9
1 − e−at
a p (p + a)
2 (z − e−aT )3 ¡ ¢ 1 − e−aT z (z − 1) (z − e−aT )
Tabel 4.2: Transformatietabel voor berekening van houdequivalent
Johan Baeten
53
4 Het discreet equivalent
54
Johan Baeten
Hoofdstuk 5 De discrete regelkring 5.1
Inleiding
Wanneer de regelkring volledig discreet is, dit wil zeggen wanneer alle elementen uit de regelkring beschreven kunnen worden door discrete transfertfuncties, dan kunnen we het systeemgedrag rechtstreeks in het z-domein bepalen en kunnen we de regelaar rechtstreeks in het z-domein ontwerpen, in tegenstelling tot hoofdstuk 4 waar de discrete regelaar bepaald werd equivalent aan een gekende continue regelaar. Zoals eerder opgemerkt zijn de meeste systemen echter continu. Niettemin kunnen we vaak een discreet model vooropstellen als beschrijving van het continue systeem. Zo is het dan toch mogelijk om onderstaande rekentechnieken toe te passen. Het regelschema dat we zo verkrijgen wordt gegeven in figuur 5.1. +
Digitale
Digitaal
Regelaar
Systeem
(of equivalent)
Digitale Sensor
Figuur 5.1: De volledig digitale (discrete) regelkring Indien de TF’s van de verschillende delen gekend zijn, kunnen we dit schema steeds herleiden tot dat van figuur 5.2. + G(z)
G
-
1+GH
H(z)
Figuur 5.2: De ’standaard’ discrete regelkring De discrete regelkring uit figuur 5.2 is volledig equivalent aan haar continue tegenhanger. We behouden dan ook dezelfde definities en formules met betrekking tot de open en gesloten TF’s. 55
5 De discrete regelkring
5.2
Het stabiliteitsonderzoek
De stabiliteit van de gesloten regelkring volgt uit de ligging van de polen. Dit zijn de nulpunten van de vergelijking (1 + GH). Indien de polen van het gesloten systeem binnen de eenheidscirkel liggen, dan is het systeem stabiel. Indien de absolute waarde van een der polen groter is dan 1 dan is het systeem instabiel. Uit de ligging van de polen kunnen we eenduidig het systeemgedrag bepalen. We verwijzen hiervoor naar de hoofdstuk 3. De keuze van een bepaalde regelaar zal de ligging van de polen bepalen. Hierbij speelt ook de versterkingsfactor Kr van de regelaar een belangrijke rol. De invloed van de versterkingsfactor wordt grafisch weergegeven in het wortellijnendiagram (Evans-diagram), dat de ligging van de polen van het gesloten systeem geeft voor alle mogelijke versterkingswaarden Kr . Vermits de vorm van de gesloten discrete TF (wiskundig gezien) niet verschilt van deze bekomen bij continue systemen, blijven alle constructieregels voor het tekenen van het wortellijnendiagram afgeleid bij continue systemen ook hier bij de discrete systemen geldig. Het wortellijnendiagram geeft immers enkel de oplossing van de vergelijking: 1 + KG(z)H(z) = 0 voor k = 0 · · · ∞.
(5.1)
Volledigheidshalve herhalen we even de constructieregels voor het wortellijnendiagram: 1. De vertrekpunten (k = 0) zijn de polen van het open systeem; 2. De eindpunten (k = ∞) zijn de nulpunten van het open systeem; 3. Indien het open systeem minder nulpunten telt dan polen dan krijgen we een aantal nulpunten of eindpunten op oneindig. Stel het aantal nulpunten gelijk aan m en het aantal polen gelijk aan n. Dan heeft het wortellijnendiagram n − m asymptoten; 4. De asymptotische richting AR voldoet aan de formule AR =
180◦ + k360◦ n−m
met k = · · · − 1, 0, 1, 2 · · · ;
(5.2)
5. Het snijpunt σp van de asymptoten met de re¨ele as P P polen − nulpunten ; σp = n−m
(5.3)
6. De hoek van vertrek uit een complexe open pool vinden we uit de hoekvergelijking: X
∠ (vanuit de nulpunten) −
X
∠ (vanuit de polen) = 180◦ ± k360◦ ;
(5.4)
7. Het ’break-away’ of ’break-in’ punt waar zich re¨ele, samenvallende polen bevinden, dk = 0. volgt uit: dz Later in dit hoofdstuk volgt een voorbeeld. 56
Johan Baeten
5.3 Relatieve stabiliteit
5.3
Relatieve stabiliteit
Naast de absolute stabiliteit, waarvoor de eenheidscirkel de grens aangeeft, volgt uit de ligging van de polen ook de relatieve stabiliteit van het gesloten systeem. De krommen van constante σ (= constante ’settling time’), constante dempingsfactor ζ en constante frequentie (eigenpulsatie) ω zijn hier van belang. Deze paragraaf geeft het verband tussen deze lijnen in het P -domein en in het Z-domein. De omrekening gebeurt met de formule z = epT
5.3.1
met p = σ + jω
(5.5)
Lijnen van constante σ P-domein
Z-domein
1
Im
Im sT e
1 s
Re
Re
Figuur 5.3: Lijnen van constante σ (∼ settle-time) Hoe kleiner de absolute waarde van de discrete (eventueel complexe) pool, hoe sneller het overgangsverschijnsel voorbij gaat. In de limiet voor een discrete pool in nul, volgt de uitgang van het discrete systeem perfect en onmiddellijk de ingang. Indien de absolute waarde van de discrete pool groter wordt dan 1, zal het overgangsverschijnsel niet uitdempen maar divergeren naar oneindig toe.
5.3.2
Lijnen van constante gedempte eigen pulsatie ωp
Een grotere gedempte eigenpulsatie komt bij een discreet systeem met een bepaalde vaste bemonsteringsperiode overeen met een grotere hoek θ. Indien de impulsrespons niet oscilleert, is θ = 0. De maximale waarde voor θ = ±180◦ . Grotere hoeken geven aanleiding tot de terugvouwfout zoals beschreven in hoofdstukken 1 en 3.
5.3.3
Lijnen van constante ζ en ωn
Figuur 5.5 geeft een aantal lijnen van constante demping en constante natuurlijke eigenpulsatie. De demping bepaalt eenduidig de doorschot in de stap- of impulsrespons van het systeem. De natuurlijke eigenpulsatie is een maat voor de reactiesnelheid van het systeem. In het P -domein zijn lijnen van constante demping rechten door de oorsprong (de dempingsco¨effici¨ent is gelijk aan de cosinus van de hoek van de rechte in het derde kwadrant) en lijnen van constante natuurlijke eigenpulsatie zijn cirkels in het P -domein. Volgende paragraaf geeft een voorbeeld. Zie ook paragrafen 6.6 en 6.7. Johan Baeten
57
5 De discrete regelkring P-domein
Z-domein
1 Im
Im w
q = wpT p
q
1
Re
Re
Figuur 5.4: Lijnen van constante gedempte eigenpulsatie ωp z = 0,5
z = 0,4
Im 1
z = 0,3 z = 0,2
z = 0,6 z = 0,7 z = 0,8
z = 0,1
z = 0,9
z=0
-1
1
n
Re wn = p
wn = 0,1p
wn = 0.9p
wn = 0,2p
wn = 0,8p
wn = 0,3p -1
wn = 0,7p wn = 0,6p
wn = 0,4p wn = 0,5p
Figuur 5.5: Lijnen van constante demping ζ en natuurlijke eigenpulsatie ωn
5.4
Voorbeeld
Oefening 1 Bepaal voor de discrete regelkring uit figuur 5.6 de versterking K om het geheel marginaal stabiel te maken. Bepaal eveneens K om een gedempte eigenpulsatie te bekomen gelijk aan 1 r/s bij een bemonsteringsperiode gelijk aan 1 s. Teken het wortellijnendiagram.
+ K -
z (z-1)(z-0,25)
Figuur 5.6: Voorbeeld - opgave 1 58
Johan Baeten
5.4 Voorbeeld
Oplossing: Figuur 5.7 geeft het wortellijnendiagram. 1.5
1
Imaginaire As
K1 0.5
Kin tas b 0
-0.5
K2 -1
-1.5 -2
-1
0
1
2
Reële As
Figuur 5.7: Wortellijnendiagram met lijnen van constante demping en natuurlijke eigenpulsatie Op de rand van de stabiliteit is de discrete pool gelijk aan -1. De versterkingswaarde die hierbij hoort volgt uit de vergelijking: ¯ ¯ −1 ¯ Kinstab = = 2, 5. (5.6) G(z).H(z) ¯z=−1 De waarden van de samenvallende polen zijn de oplossingen van de vergelijking dK z (2z − 1, 25) − z 2 + 1, 25z − 0, 25 = =0 → dz z2
z1 = 0, 5 z2 = −0, 5
(5.7)
De bijbehorende versterkingen zijn K1 = 0, 25 en K2 = 2, 25.
(5.8)
Im a + jb q
Re
Figuur 5.8: Verband tussen gegeven hoek en complexe pool De hoek θ die overeenstemt met een gedempte eigenpulsatie van 1 r/s en een bemonsteringsperiode T gelijk aan 1 s is θ = 1 rad = 57, 3 Johan Baeten
(5.9) 59
5 De discrete regelkring
De complexe toegevoegde polen onder deze hoek kunnen hetzij grafisch uit het wortellijnendiagram, hetzij numerisch m.b.v. de karakteristieke vergelijking van het gesloten systeem bepaald worden. Deze laatste vergelijking is z 2 + (K − 1, 25) z + 0, 25 = 0.
(5.10)
Voor complex toegevoegde polen a ± jb wordt dit z 2 − 2az + a2 + b2 = 0. Samen met cos θ = √
a . a 2 + b2
(5.11)
zoals voorgesteld in figuur 5.8, geeft dit cos θ =
−K + 1, 25 √ → 2 0, 25
K = − cos θ + 1, 25 of K = 0, 71
(5.12)
Figuur 5.9 geeft de stap- en impulsrespons van het gesloten systeem bij deze versterking. 1.2
0.8 0.7
1
0.8
Amplitude
Amplitude
0.6
0.6
0.4
0.5 0.4 0.3 0.2 0.1
0.2 0 0
-0.1 0
1
2
3
4
Discrete stap
5
6
7
0
2
4
6
8
10
Discrete stap
Figuur 5.9: Stap- en impulsrespons van geregeld systeem (K = 0, 71) Oefening 2
K . (z − 0, 1) (z − 0, 7) Tip gebruik de eigenschap (a2 + b2 = de term zonder z in de tweede graadsvergelijking). (Oplossing K = 0, 93)
Bepaal de versterking K voor marginale stabiliteit voor het systeem
60
Johan Baeten
Hoofdstuk 6 De Toestandsregelaar 6.1
Inleiding
De toestandsregelaar is een zeer krachtige en flexibele regelaar. Ze moet gezien worden als de tegenhanger van de klassieke PID-regelaar. In tegenstelling tot deze laatste regelaar waarmee enkel SISO systemen geregeld kunnen worden, is de toestandsregelaar ideaal geschikt om ook systemen met meerdere in- en uitgangen te regelen (MIMO systemen). De toestandsregelaar kan als een discreet werkende regelaar of als een continue regelaar ontworpen worden. Vaak zal dit soort regelaar echter m.b.v. een computersysteem ge¨ımplementeerd worden zodat het noodzakelijkerwijs een digitaal werkende regelaar wordt. In feite is de toestandsregelaar niets anders dan een terugkoppeling van de toestanden van het gegeven (te regelen) systeem met de juiste gewichtsfactoren. Hiervoor moet het systeem eerst beschreven worden in de toestandsruimte. Dit resulteert het toestandsruimtemodel dat zoals de TF een beknopte wiskundige weergave is van het systeem. De volgende paragrafen behandelen eerst het toestandsruimtemodel. Ze geven weer hoe dit model vanuit de TF kan opgesteld worden. We zullen ons hier omwille van de eenvoud beperken tot systemen met ´e´en enkele ingang en ´e´en enkele uitgang (SISO systemen). Vervolgens wordt de invloed van een toestandsterugkoppeling besproken. Door middel van polenplaatsing zullen we de toestandsterugkoppelmatrix ontwerpen en het volledige systeem naar de hand zetten. Tenslotte wordt een model gegeven van een toestandsschatter die de toestanden van het systeem zal berekenen indien deze (in de praktijk) niet gemeten kunnen worden.
6.2
De toestandsruimte - Het toestandsruimtemodel
In de toestandsruimte wordt een systeem beschreven door een set van veranderlijken die eigen zijn aan de ’inwendige’ toestand van het systeem op een gegeven ogenblik en door de vergelijkingen tussen deze veranderlijken in functie van de tijd. Het aantal veranderlijken dat nodig is om de toestand waarin het systeem zich bevindt eenduidig te bepalen, is gelijk aan de orde van het systeem. De vergelijkingen tussen de verschillende toestandsveranderlijken zijn steeds differentiaalvergelijkingen of differentievergelijkingen van eerste orde. Het aantal vergelijkingen is weerom gelijk aan de orde van het systeem. 61
6 De Toestandsregelaar
Het toestandsruimtemodel wordt gegeven door volgende vergelijkingen: ½ zX = AX + Bu y = CX + Du Hierbij A B C D X u de); y de).
(6.1)
is de systeemmatrix; de ingangsmatrix (bij een SISO systeem is dit een kolomvector); de uitgangsmatrix (bij een SISO systeem is dit een rijvector);; de doorkoppelmatrix (bij een SISO systeem is dit een enkelvoudige waarde); de toestandsvector; de kolomvector met ingangen (bij een SISO systeem is dit een enkelvoudige waarde kolomvector met uitgangen (bij een SISO systeem is dit een enkelvoudige waar-
De toestandsvector is een kolomvector met als elementen de toestanden xi van het systeem. Voor een tweede orde systeem zien de toestandsvergelijkingen er als volgt uit zx1 = a11 x1 + a12 x2 + b1 u zx2 = a21 x1 + a22 x2 + b2 u . (6.2) y = c x + c x + du 1 1 2 2 De keuze van de onafhankelijke toestandsvariabelen bepaalt het eigenlijke toestandsmodel van het systeem en hiermee ook de co¨effici¨enten uit de matrices A, B, C en D bepalen. De toestandsvariabelen die een gelijkstroommotor (met permanente magneten) bepalen zijn bijvoorbeeld de stroom en de spanning, of de kracht en het toerental of de stroom en het toerental maar niet de stroom en de kracht omdat deze laatste twee niet onafhankelijk zijn. Elke set van toestandsvariabelen geeft andere matrices A, B, C en D. Voor elk systeem bestaan er in feite oneindig veel toestandsmodellen. Het beste model is dit waarbij de toestanden het eenvoudigst gemeten kunnen worden. u
B
zX
+
X Z
-1
y C
+ A
Figuur 6.1: Simulatieschema van het toestandsruimtemodel zonder rechtstreekse koppeling Figuur 6.1 geeft het simulatieschema van het toestandsruimtemodel. Dit schema verschilt van de tot nu toe geziene schema’s in dit opzicht dat sommige signaallijnen nu meervoudige signalen of samengestelde signalen voorstellen. Het toestandsruimtemodel kan ook in een set van differentievergelijkingen gegoten worden. x1 (k + 1) = a11 x1 (k) + a12 x2 (k) + b1 u(k) x2 (k + 1) = a21 x1 (k) + a22 x2 (k) + b2 u(k) (6.3) y(k) = c1 x1 (k) + c2 x2 (k) + du(k) 62
Johan Baeten
6.3 Toestandsterugkoppeling
Deze vergelijkingen zijn eenvoudig te programmeren. De hulpvariabelen h(k), h(k − 1), · · · , h(k − n) die gebruikt worden bij het tekenen van het simulatieschema (hoofdstuk 1) vormen steeds een mogelijke set van toestandsveranderlijken. Paragrafen 6.6 en 6.7 geven enkele volledig uitgewerkte voorbeelden. Eliminatie van de toestandsvector X uit de toestandsvergelijkingen geeft het verband tussen de ingang u en de uitgang y. Dit verband is natuurlijk de TF van het systeem £ ¤ y = C (zI − A)−1 B + D u (6.4) De noemer van vergelijking 6.4 is gelijk aan de determinant van (zI − A) omwille van de invertering van de matrix (zI − A). De karakteristieke vergelijking van het systeem is dan det (zI − A) = 0.
(6.5)
Dit is eveneens de eigenwaardenvergelijking voor de matrix A. De oplossingen van deze vergelijking zijn bijgevolg de eigenwaarden van A en bovendien ook de discrete polen van het systeem. Dit geeft volgend belangrijk verband: De eigenwaarden van de systeemmatrix zijn de polen van het systeem! · Voorbeeld: De matrix A =
6.3
1 2 3 4
¸ geeft als eigenwaarden -0,37 en 5,37. Controleer!
Toestandsterugkoppeling
Toestandsterugkoppeling geeft aanleiding tot het regelschema uit figuur 6.2. Elke toestand wordt met een bepaalde in te stellen waarde vermenigvuldigd en teruggevoerd naar de ingang. De setwaarde noemen we nu v. Het ingangssignaal u wordt u = v − FX
(6.6)
De terugkoppelmatrix F bestaat uit een aantal re¨ele versterkingsfactoren: F = [k1 , · · · , kn ]0 . Voor een tweede orde systeem zijn dit twee versterkingsfactoren voor de twee toestandsveranderlijken van het systeem. Deze versterkingen worden meestal k1 en k2 genoemd. v +
u
B
x(k+1)
+
x(k) Z
-
-1
y C
+ A [k1 k2]
Toestandsterugkoppelmatrix
F
Figuur 6.2: Toestandsterugkoppeling Johan Baeten
63
6 De Toestandsregelaar
Door de toestandsterugkoppeling wijzigt de systeemmatrix A. We noemen deze nieuwe systeemmatrix An . Er gelden volgende vergelijkingen zX = AX + Bu y = CX + Du . (6.7) u= v − FX Eliminatie van het signaal u uit stelsel 6.7 geeft ½ zX = (A − BF )X + Bv . y = (C − DF )X + Dv
(6.8)
De nieuwe systeemmatrix is bijgevolg An = A − BF . Vermits het gesloten systeem door een andere systeemmatrix beschreven wordt dan het open systeem zullen ook de eigenschappen van het gesloten systeem veranderd zijn t.o.v. deze van het open systeem. Het nieuwe systeemgedrag wordt bepaald door de nieuwe polen. Deze nieuwe polen zijn de eigenwaarden van An .
6.4
Polenplaatsing
De polen van het gesloten systeem zijn de eigenwaarden van An . De eigenwaarden zijn de oplossing van de eigenwaardenvergelijking. Deze vergelijking bevat een aantal onbekenden, namelijk de waarden k1 , · · · , kn uit de terugkoppelmatrix. Deze waarden mogen vrij gekozen worden. Door de juiste keuze van deze k waarden kan elke mogelijke set van n polen verwezenlijkt worden. De werkwijze is dan de volgende: • Kies de polen voor het gesloten systeem (bepaal zo het systeemgedrag); • Stel een vergelijking op met deze polen als oplossing; • Stel deze vergelijking gelijk aan de eigenwaardenvergelijking met de nog onbekende k waarden. Dit stelsel van vergelijkingen bepaalt eenduidig de gezochte k waarden. Paragrafen 6.6 en 6.7 geven enkele uitgewerkte voorbeelden.
6.5
De toestandsschatter
Indien de toestanden van het systeem niet gemeten kunnen worden kan er ook geen toestandsterugkoppeling gebeuren. In dit geval moeten de toestanden geschat worden. Dit gebeurt met een schatter die het werkelijke systeem simuleert. De schatter moet zo goed als mogelijk overeenstemmen met het werkelijk systeem. De matrices A0 , B 0 , C 0 en D0 van de schatter moeten dus overeenstemmen met deze van het systeem. De ingang van de schatter is gelijk aan de ingang van het systeem. Indien de schatter goed werkt moet ook de uitgang van de schatter gelijk zijn aan deze van het systeem. Vaak zullen deze uitgangen echter nog verschillen. Het foutsignaal op de uitgang kan dan gebruikt worden 64
Johan Baeten
6.6 Oefening1
v +
u
x(k+1)
+
B
x(k) -1
-
+
A
B'
+
y
C
Z Systeem
Schatterterugkoppeling +
L
+ -1
Z + Schatter
-
C'
A' F Toestandsterugkoppelmatrix
Figuur 6.3: Simulatieschema van systeem en toestandsschatter om de schatter te verbeteren en aan te passen. Dit gebeurt via de terugkoppelmatrix L. Het volledige simulatieschema van systeem en schatter is gegeven in figuur 6.3. (D = 0) De terugkoppeling via L moet de fout op de uitgang van de schatter nul maken. Dan kunnen we ervan uitgaan dat ook de toestanden van de schatter de werkelijke toestanden van het systeem weergeven. Deze geschatte toestanden worden teruggekoppeld naar het systeem via F . De gesloten-systeemmatrix blijft dan (A − BF ). De evolutie van de fout op de uitgangen wordt beschreven door de matrix A − LC. Zowel F als L kunnen bepaald worden door polenplaatsing. Vaak wordt de toestandsschatter als een “Dead-beat-regelaar ontworpen. De eigenwaarden van de matrix A − LC liggen dan allemaal in nul. Voor een tweede orde systeem zal de uitgang van de schatter dan na twee stappen gelijk zijn aan de uitgang van het systeem. Nadelig aan deze zeer snelle regeling zijn wel de zeer grote stuurkrachten die hiervoor nodig zijn.
6.6 6.6.1
Oefening 1: Stabiliteit - simulatieschema - toestandsterugkoppeling Opgave
Neem het volgend discreet systeem: G(z) =
Y (z) z+2 = U (z) (z − 1) (z + 0, 5)
1. Is dit systeem stabiel? Kunnen we het stabiel maken m.b.v. een proportionele regelaar? 2. Hoe reageert dit systeem op een impuls? 3. Teken het simulatieschema en geef de differentievergelijking. 4. Pas een toestandsterugkoppeling toe zodanig dat beide polen in 1/4 ± j1/4 liggen. Johan Baeten
65
6 De Toestandsregelaar
6.6.2
Stabiliteit
Het discrete systeem heeft een nulpunt in -2 en twee polen in 1 en in -1/2. De pool in 1 ligt op de eenheidscirkel, die de rand van de stabiliteit weergeeft. Het systeem bevindt zich dus op de rand van de stabiliteit. 3 2
Imaginaire As
Im
Re
o
x
-2
-1/2
x
1
K1 1 k=¥
0
k=0
k=0
-1
Kin tas b -2 -3 -5
-3
-4
-2
-1
0
1
2
Reële As
Figuur 6.4: Nulpunten-polen diagram en wortellijnendiagram Het wortellijnendiagram, weergegeven in figuur 6.4, geeft aan dat er een maximale toegelaten versterking Kinstab is en dat er samenvallende polen zijn bij K1 . Voor deze laatste versterking vertoont de staprespons zelfs geen doorschot of slingering. De twee vermelde versterkingswaarden zijn: K1 = 0, 26 bij z1 = z2 = 0, 121 en Kinstab = 0, 75 bij z1,2 = −0, 125 ± j0, 99. (6.9)
6.6.3
De reactie van het systeem op een impuls Im 0
1
X -1/2
2
3
Ts
180°
Re
X
Tijd k
1 2 0
1
4 3
180° Ts
Tijd k
Figuur 6.5: Impulsrespons De reactie van het systeem bestaat uit twee delen t.g.v. de twee polen. De impulsrespons van de pool in 1 komt overeen met een ’blijvende stap’ (zie figuur 6.5), de impulsrespons overeenkomstig de pool in -1/2, is een discrete gedempte sinus waarvan de periode gelijk is aan het dubbel van de bemonsteringsperiode (de discrete staptijd). Immers, 1 z = epT s → − = e(a+jω)T s = eaT s ejωT s . 2 66
(6.10) Johan Baeten
6.6 Oefening1
Verder moeten linker- en rechterlid grootte en in hoek gelijk zijn. Uit deze hoekvoorwaarde volgt 180◦ 180◦ 180◦ 1 = = T = T. ω 2πf 2π 2
ωT s = 180◦ → T s =
(6.11)
Hierbij is Ts de bemonsteringsperiode en T is de periode van de gedempte sinus. De periode van de sinus is het dubbel van de bemonsteringsperiode wat betekent dat er twee discrete punten zijn per periode. De omhullende van de gedempte sinus wordt bepaald door de waarde a waarvan na vermenigvuldiging met Ts de exponenti¨ele 0,5 geeft.
6.6.4
De differentievergelijking en het simulatieschema µ
1 1 Y (z) z − z − 2 2 2
¶ = U (z) (z + 2)
(6.12)
of 1 1 z 2 Y (z) − zY (z) − Y (z) = zU (z) + 2U (z) , 2 2
(6.13)
waaruit 1 1 y(k + 2) − y(k + 1) − y(k) = u (k + 1) + 2u (k) . 2 2
(6.14)
Voer, om het simulatieschema op te stellen, een hulpvariabele h(k) of H(z) in en schrijf de TF als volgt: Y (z) H(z) z+2 = H(z) U (z) (z − 1) (z + 0, 5)
(6.15)
Splits vergelijking 6.15 op in twee stukken Y (z) = z + 2 en H(z)
H(z) 1 = U (z) (z − 1) (z + 0, 5)
(6.16)
en herschrijf deze vergelijking als 1 1 U (z) = (z − 1)(z + 0, 5)H(z) → h(k + 2) − h(k + 1) − h(k) = u (k) 2 2 Y (z) = (z + 2)H(z) → y(k) = h(k + 1) + 2h(k)
(6.17) (6.18)
Teken eerst het simulatieschema van U (z) naar H(z) volgens vergelijking 6.17. Dit geeft figuur 6.6. Vul deze figuur aan door het verband tussen H(z) en Y (z), dit is vergelijking 6.18, in rekening te brengen. Johan Baeten
67
6 De Toestandsregelaar u(k) +
h(k+2)
h(k+1)
Z -1
+ +
h(k)
Z -1
1/2
+
1/2
Figuur 6.6: Simulatieschema van U (z) naar H(z) h(k+1) u(k) +
h(k+2) Z
+ +
+ y(k)
h(k) -1
Z
-1
2 +
1/2
+
1/2
Figuur 6.7: Volledig simulatieschema U (z) naar Y (z)
6.6.5
Toestandsterugkoppeling met polenplaatsing
Stel hiervoor eerst de toestandsvergelijkingen op. De algemene vorm hiervan is: · ¸ · ¸· ¸ · ¸ x (k + 1) . . x (k) . 1 1 = + u(k) . . x2 (k) . x2 (k + 1)
y(k)
=
£
. .
¤
·
x1 (k) x2 (k)
(6.19)
¸
Hoe moet het niet! Indien je stelt dat x1 (k) = y(k) en x2 (k) = y(k + 1) = x1 (k + 1), krijg je x1 (k + 1) = 0x1 (k) + 1x2 (k)en y(k) = 1x1 (k) + 0x2 (k) en 1 1 x2 (k + 1) = x1 (k) + x2 (k) + u(k + 1) + 2u(k). 2 2 De vergelijking voor x2 (k + 2) voldoet echter niet aan de vooropgestelde vorm van vergelijking 6.19. De term u(k + 1) staat hier te veel. Dit kunnen we vermijden door een betere keuze van x1 en x2 . Gebruik terug de hulpvariabele h(k) of H(z). Stel x1 (k) = h(k) en x2 (k) = h(k + 1) : De vergelijkingen voor x2 (k + 1) en y(k) worden nu x2 (k + 1) = h(k + 2) y(k) = 2h(k) + h(k + 1) = 21 h(k + 1) + 12 h(k) + u(k) en = 2x1 (k) + 1x2 (k) = 21 x1 (k) + 12 x2 (k) + u(k)
(6.20)
of in matrixvorm · ¸ · ¸· ¸ · ¸ x (k + 1) 0 1 x (k) 0 1 1 = + u(k) 1/2 1/2 x2 (k) 1 x2 (k + 1) 68
y(k)
=
£
2 1
¤
·
x1 (k) x2 (k)
¸
.
(6.21)
Johan Baeten
6.6 Oefening1
Controleer deze oplossing door de eigenwaarden te zoeken van de systeemmatrix A. ¯ ¯ · ¸ ¯ 0−z ¯ 0 1 1 ¯=0 A= → det(A − zI) = 0 → ¯¯ (6.22) 1/2 1/2 1/2 1/2 − z ¯ of 1 1 z 2 − z − = 0. 2 2
(6.23)
Vergelijking 6.23 is inderdaad de karakteristieke vergelijking van het systeem zodat de eigenwaarden gelijk zijn aan de polen. De techniek van polenplaatsing stelt een aantal polen voorop. Door de juiste keuze van de toestandsterugkoppelmatrix F , volgens figuur 6.2, zullen de polen van het gesloten systeem overeenkomen met deze vooropgestelde polen. Figuur 6.2 stemt overeen met de vergelijkingen 6.7 en 6.8. De nieuwe systeemmatrix is dus A − BF . De nieuwe polen (de polen van het gesloten systeem) zijn de eigenwaarden van deze nieuwe systeemmatrix. Gelijkstelling van de eigenwaardenvergelijking met de vooropgestelde karakteristieke vergelijking die volgt uit twee polen in 1/4 ± j1/4, levert de waarden voor k1 en k2 of · ¸ 0 1 A − BF = 1 (6.24) − k1 12 − k2 2 ¯ ¯ ¯ ¯ −z 1 ¯=0 det(A − BF − zI) = 0 → ¯¯ 1 (6.25) 1 − k1 2 − k2 − z ¯ 2 ¶ µ ¶2 µ 1 1 1 1 1 1 2 z + k1 − = 0 ↔ z − + = z2 − z + = 0 (6.26) z + k2 − 2 2 4 16 2 8 Hieruit volgt k1 = 5/8 en k2 = 0.
(6.27)
Figuur 6.8 geeft het algemene simulatieschema met toestandsterugkoppeling. Figuur 6.9 toont het vereenvoudigd schema. In beide figuren stelt elke lijn een enkelvoudig signaal voor. x(k+1) u(k) +
v(k) +
x(k+2) +
-
+ +
+
x(k) Z -1
Z -1
2
y(k)
+
1/2 1/2
5/8 (k1)
Figuur 6.8: Uitgewerkt simulatieschema
Johan Baeten
69
6 De Toestandsregelaar
x(k+1) v(k) +
x(k+2) + +
+
x(k) Z -1
Z -1
2
y(k)
+
1/2
+
-1/8
Figuur 6.9: Vereenvoudigd simulatieschema
6.6.6
Aanvulling
Figuur 6.10 geeft de stap- en impulsrespons van het systeem weer. Het trapvormig verloop van deze responsies geeft weer dat het hier gaat om discrete systemen. In feite geldt de functie enkel op de discrete tijdstippen (k = 0, 1, 2, 3, · · · ). Enkel het geval waar de uitgang aanligt aan een houdketen (Eng.: ‘sample and hold’), geeft inderdaad het weergegeven trapvormig verloop. De waarden van de uitgang op de discrete tijdstippen volgen uit een iteratieve berekening. De TF van het gesloten systeem is: TF =
y(z) z+2 = 2 1 U (z) z − 2z +
(6.28)
1 8
Amplitude i.f.v. de discrete stap
5
Amplitude i.f.v. de discrete stap
2.5
4.5 2
4 3.5
1.5
3 1
2.5 2
0.5
1.5 1
0
0.5 0
0
1
2
3
4
5
-0.5 0
1
2
3
4
5
6
7
Figuur 6.10: Staprespons en impulsrespons Dit stemt overeen met de differentievergelijking 1 1 y(k + 2) = y(k + 1) − y(k) + u(k + 1) + 2u(k). 2 8
(6.29)
Door nu achtereenvolgens k gelijk te stellen aan −2, −1, 0, 1, 2, · · · vinden we de waarden voor y op de verschillende discrete tijdstippen. De waarde van y op ’negatieve’ tijdstippen is steeds gelijk aan nul. Bijvoorbeeld y(-2) = y(-1) = 0. 70
Johan Baeten
6.6 Oefening1
• De staprespons Met de ingang u(k) = 1 voor k ≥ 0 en u(k) = 0 voor k < 0, wordt de uitgang y(k) k −2 −1 0 1 2 3
y(k + 2) = 21 y(k + 1) − 18 y(k) + u(k + 1) + 2u(k) y(0) y(1) y(2) y(3) y(4) y(5)
=0−0+0+0 =0−0+1+0 = 21 1 − 0 + 1 + 2 = 12 3, 5 − 18 1 + 1 + 2 = 21 4, 625 − 18 3, 5 + 1 + 2 = 12 4, 875 − 18 4, 625 + 1 + 2
=0 =1 (6.30) = 3, 5 = 4, 625 = 4, 875 = 4, 859375
De uiteindelijke waarde van y volgt uit het eindwaardetheorema (vergelijking 2.18). Vermits de discrete stapfunctie weergegeven wordt door z/(z − 1), resulteert vergelijking 2.18 in z−1 z−2 z−1 = lim 2 1 U (z) 1 z→1 z→1 z − z + z z 2 8 z−2 = lim 2 1 = 4, 8 z→1 z − z + 1 2 8
lim y(k) = lim Y (z)
k→∞
(6.31) (6.32)
• De impulsrespons Met de ingang u(k) = 1 voor k = 0 en u(k) = 0 voor k 6= 0, wordt de uitgang y(k) k= −2 −1 0 1 2 3
y(k + 2) = 21 y(k + 1) − 81 y(k) + u(k + 1) + 2u(k) y(0) y(1) y(2) y(3) y(4) y(5)
=0−0+0+0 =0−0+1+0 = 21 1 − 0 + 0 + 2 = 12 2, 5 − 18 1 + 0 + 0 = 12 1, 125 − 18 1 + 0 + 0 = 12 0, 25 − 18 1, 125 + 0 + 0
=0 =1 (6.33) = 2, 5 = 1, 125 = 0, 25 = −0, 015625
De berekende waarden van de stap- en impulsrespons illustreren het feit dat de staprespons het cumulatieve is van de impulsrespons. Dit wil zeggen dat de staprespons gelijk is aan de som van een oneindig aantal impulsresponsies op de tijdstippen k = 0, 1, 2, · · · . Dit is logisch vermits de aangelegde stap niets anders is dan een puls op elk discreet tijdstip beginnende bij k = 0.
Johan Baeten
71
6 De Toestandsregelaar
6.7
Oefening 2: Stabiliteit - toestandsregelaar
6.7.1
Opgave
1. Wat weet je over de stabiliteit van het volgende systeem? 2. Is het gesloten systeem stabiliseerbaar met een P-regelaar (figuur 6.11 (b))? 3. Ontwerp en teken een toestandsregelaar. Leg beide polen in 0,5. 4. Hoe is de reactie zonder en met de toestandsregelaar? Systeem:
Regelkring:
(z + 0,5) (z² - z + 1)
Proportionele Regelaar
+
Systeem
(b) -
(a)
Figuur 6.11: Opgave oefening 2
6.7.2
Stabiliteit
√ 3 1 De polen van het open systeem liggen in ± j . De absolute waarde van deze wortels 2 2 is gelijk aan 1. Dit wil zeggen dat het systeem marginaal stabiel is.
Im x -1/2
o
1/2 60°
1
Re
x
Figuur 6.12: Nulpunten-polen-diagram De hoek van de pool is 60◦ . Dit wil zeggen dat elke oscillatie van de uitgang (bijvoorbeeld t.g.v. een impuls) bestaat uit 6 discrete punten, namelijk 360◦ /60◦ = 6. Vergelijk dit met de simulaties op de laatste pagina’s. Een P-regelaar volstaat niet om het gesloten systeem te stabiliseren. Dit volgt uit het (discrete) wortellijnendiagram weergegeven in figuur 6.13 of uit de berekening van de TF van het gesloten systeem. T Fgesloten =
K(z + 0, 5) K(z + 0, 5) + z 2 − z + 1
(6.34)
De polen van het gesloten systeem volgen uit de karakteristieke vergelijking: q 1 − K ± (K − 1)2 − 4 − 2K 2 . (6.35) z + (K − 1)z + 1 + 0, 5K = 0 → z1,2 = 2 72
Johan Baeten
6.7 Oefening2
Dit zijn hetzij 2 complex toegevoegde polen hetzij 2 √ re¨ele polen. Het randgeval met twee samenvallende polen treedt op bij K = 4, 646 = 2 + 7. In het geval van re¨ele polen ligt de pool overeenkomstig het min-teken steeds ver buiten de eenheidscirkel. Bij complexe polen wordt de absolute waarde van de polen gegeven door: √ 4 + 2K |pool| = = 1 + 0, 5K > 1. (6.36) 2 Deze waarde is steeds groter dan 1. De dubbele pool uit het wortellijnendiagram is gelijk aan −1, 82. 1.5 1
Imaginaire As
0.5 0 -0.5 -1 -1.5 -2
-1.5
-1
-0.5 0 Reële As
0.5
1
1.5
2
Figuur 6.13: Wortellijnendiagram
6.7.3
Opstellen van de toestandsvergelijkingen
De toestandsvergelijkingen maken gebruik van twee toestandsveranderlijken X1 (z) en X2 (z). Voer alvorens deze te defini¨eren de hulpvariabele H(z) in: Y (z) z + 0, 5 Y (z) H(z) = 2 = . U (z) z −z+1 H(z) U (z)
(6.37)
Splits deze vergelijking op in twee delen 1 H(z) = 2 → H(z)(z 2 − z + 1) = U (z) U (z) z −z+1 Y (z) = z + 0, 5 → Y (z) = (z + 0, 5) H(z) H(z)
(6.38) (6.39)
Stel nu variabele X1 (z) = H(z) en X2 (z) = zH(z) = zX1(z). Vergelijkingen 6.38 en 6.39 resulteren dan in de vergelijkingen voor zX2 (z) en Y( z) i.f.v. X1 en X2 : zX2 (z) = z 2 H(z) = zH(z) − H(z) + U (z) = X2 (z) − X1 (z) + U (z) Y (z) = 0, 5X1 (z) + 1X2 (z) Johan Baeten
(6.40) (6.41) 73
6 De Toestandsregelaar
Het toestandsmodel is (de ‘functie-van-z’ aanduiding is weggelaten): · ¸ · ¸· ¸ · ¸ X1 0 1 X1 0 z U = + X −1 1 X 1 2 2
Y
=
£
¤ 1
0, 5
·
X1 X2
(6.42)
¸
De toestandsmatrices A, B, C en D zijn dan · ¸ · ¸ 0 1 0 A= , B= , C = [0, 51] −1 1 1
,
D=0
(6.43)
Uit de toestandsvergelijkingen zX = AX + BU en Y = CX volgt dat de TF eveneens gegeven wordt door: Y (z) = C (zI − A)−1 B U (z)
(6.44)
Controleer deze oplossing door de bovenstaande matrix uit te rekenen. Dit geeft de oorspronkelijk opgegeven TF.
6.7.4
Berekening van de toestandsterugkoppelmatrix F
Toepassing van de toestandsterugkoppelmatrix F volgens het schema uit figuur 6.2 en overeenstemmend met vergelijkingen 6.7 en 6.8, levert de nieuwe systeemmatrix An , die de polen van het nieuwe systeem bepaalt. Dit is · ¸ · ¸ · ¸ 0 1 0 0 1 An = A − BF = − [k1 k2 ] = (6.45) −1 1 1 −1 − k1 1 − k2 waarbij F nog bestaat uit twee constante waarden k1 en k2 , die we zodanig zullen bepalen dat de polen van het nieuwe systeem beide in 0,5 liggen. De polen van het nieuwe systeem zijn gelijk aan de eigenwaarden van An . De eigenwaarden vergelijking is · ¸ −z 1 det (An − zI) = 0 → det =0 (6.46) −1 − k1 1 − k2 − z of z 2 + (k2 − 1) z + k1 + 1 = 0.
(6.47)
De karakteristieke vergelijking met beide wortels in 0,5 is (z − 0, 5)2 = 0
→
z 2 − z + 0, 25 = 0.
(6.48)
Gelijkstelling van de eigenwaardenvergelijking 6.47 met de karakteristieke vergelijking 6.48 van het systeem geeft k2 = 0 en k1 = −0, 75 74
(6.49) Johan Baeten
6.7 Oefening2
# 0 1 1 De nieuwe toestandsmatrix An wordt dan: An = − 1 4 Bereken ter controle de nieuwe TF m.b.v. vergelijking 6.4. Dit geeft "
Y (z) = C (zI − An )−1 B V (z) · ¸ " z −1 #−1 · ¸ 1 0 1 = 1 1 z−1 2 4 · ¸" z − 1 1 #· ¸ 1 0 1 1 1 − z 2 4 = z(z − 1) + 1/4 · ¸· ¸ 1 1 1 z 2 = z(z − 1) + 1/4 z + 0, 5 = 2 z − z + 0, 25 We zien dat de teller van de TF niet veranderd is (t.o.v. het oorspronkelijk systeem). Dit zal steeds zo zijn: toestandsterugkoppeling laat de nulpunten van het systeem onveranderd. De nieuwe noemer van de TF geeft zoals vooropgesteld een dubbele pool in 0,5. Figuur 6.14 geeft een gedetailleerd simulatieschema van het systeem met terugkoppelling. Oorspronkelijk systeem
V +
U -
+
z²H
+ + + +
del
zH X2
del
H X1
1/2
+
+ Y
1 -1
k2 0
+
-3/4
Toestandsterugkoppeling
k1
del= z -1
Figuur 6.14: Gedetailleerd simulatieschema
Johan Baeten
75
6 De Toestandsregelaar
6.7.5
Simulatie van het systeem zonder en met toestandsterugkoppeling
De TF van het oorspronkelijk systeem is: ¡ ¢ Y (z) z + 0, 5 = 2 → Y (z) z 2 − z + 1 = U (z) (z + 0, 5) . U (z) z −z+1
(6.50)
Dit stem overeen met de differentievergelijking 1 y(k + 2) − y(k + 1) + y(k) = u(k + 1) + u(k) 2
(6.51)
1 y(k + 2) = y(k + 1) − y(k) + u(k + 1) + u(k) 2
(6.52)
of
Bereken aan de hand van vergelijking 6.52 de staprespons en de impulsrespons. Veronderstel dat alle y-waarden met negatieve index nul zijn. Neem voor de ingang u een impuls of een stap: Impuls
Stap u(k) = E(k) = 0 voor k < 0 = 1 voor k > 0
u(k) = d(k) = 1 voor k = 0 = 0 voor k <> 0 1 -2 -1
1 0
1 2
3
k
-2 -1
0
1
2
3
k
Figuur 6.15: Ingang = impuls of stap Volgende Tabel berekent de impulsrespons van het oorspronkelijk systeem. k −2 −1 0 1 2 3 4 5
y(k + 2) = y(k + 1) − y(k) + u(k + 1) + 0, 5u(k) y(0) y(1) y(2) y(3) y(4) y(5) y(6) y(7)
=0−0+0+0 =0−0+1+0 = 1 − 0 + 0 + 0, 5 = 1, 5 − 1 + 0 + 0 = 0, 5 − 1, 5 + 0 + 0 = −1 − 0, 5 + 0 + 0 = −1, 5 + 1 + 0 + 0 = −0, 5 + 1, 5 + 0 + 0
=0 =1 = 1, 5 = 0, 5 = −1 = −1, 5 = −0, 5 =1
(6.53)
y(7) heeft terug dezelfde waarde als y(1). Bij verdere simulatie zou ook y(8) = y(2), y(9) = y(3) enz. De uitgang zal zich dus cyclisch herhalen. Binnen elke cyclus (of oscillatie) komen zes verschillende uitgangswaarden voor. Het feit dat de absolute waarde van de pool van het systeem gelijk is aan 1 ligt aan de grond van de oscillatie. De hoek van de pool, die 60◦ bedraagt, bepaalt het aantal punten binnen n cyclus of oscillatie: nl. n volledige toer (360◦ ) gedeeld door de hoek (60◦ ). Dit geeft dus 6 punten per oscillatie! De volgende figuur geeft de impulsrespons van het systeem weer. 76
Johan Baeten
6.7 Oefening2
Impulsrespons y(k)
"periode"
1 -2 -1
k 1
0
2
3
4
5
6
7
8
9
10
-1 één cyclus
Figuur 6.16: Impulsrespons van het open systeem "periode"
Staprespons y(k) 3 2
oscillatie rond 1,5
1 -2 -1
k 0
1
2
3
4
5
6
7
8
9
10
-1 één cyclus
Figuur 6.17: Staprespons van het open systeem Bereken op een volledig gelijkaardige manier de staprespons van het oorspronkelijk systeem. Figuur 6.17 geeft het resultaat. Merk tenslotte op dat een (discrete) impuls hetzelfde is als een positieve stap op tijdstip 0 gevolgd door een negatieve stap op tijdstip 1. De staprespons t.g.v. een stap op tijdstip nul minus de staprespons t.g.v. een stap op tijdstip 1 of dus minus de staprespons met ´e´en tijdstip vertraging, moet terug de impulsrespons geven of yimpuls (k) = ystap (k) − ystap (k − 1)
(6.54)
In het voorgaand voorbeeld geeft dit k ystap (k) −ystap (k − 1) yimpuls (k)
0 0 0 0
1 1 0 1
2 3 4 5 2,5 3 2 0,5 -1 -2,5 -3 -2 1,5 0,5 -1 -1,5
6 7 8 0 1 2,5 -0,5 0 -1 -0,5 1 1,5
9 3 -2,5 0,5
en levert dit de juiste discrete waarden op voor de impulsrespons. De TF van het geregeld systeem was: y(k) z + 0, 5 = 2 u(k) z − z + 0, 25
(6.55)
Op een volledig analoge manier als voor het open systeem volgt nu de berekening (of simulatie) van de impuls- en staprespons voor het geregeld systeem. De waarden van de polen (dubbele pool in 0, 5) leert ons dat de uitgang van het systeem op een stabiele wijze Johan Baeten
77
6 De Toestandsregelaar
(zonder oscillatie) naar de eindwaarde zal evolueren. De differentievergelijking overeenkomstig bovenstaande TF is 1 1 y(k + 2) = y(k + 1) − y(k) + u(k + 1) + u(k) 4 2
(6.56)
Hieruit volgt de stap- en impulsrespons, weergegeven in figuren 6.18 en 6.19, k
yimpuls (k)
ystap (k)
0 1 2 3 4 5 .. . ∞
0 1 1, 5 1, 25 0, 875 0, 5625 .. . 0
0 1 2, 5 3, 75 4, 625 5, 1875 .. . 6 y(k)
(6.57)
Staprespons
6 5 4 3 2 1 0
5
10
k
Figuur 6.18: Staprespons van het geregeld systeem Impulsrespons
y(k) 2 1,5 1 0,5
0
5
10
k
Figuur 6.19: Impulsrespons van het geregeld systeem Vergelijking 6.54 berekent de impulsrespons uit de staprespons. Staprespons volgt echter ook uit de impulsrespons met volgende (iteratieve) formule: ystap (k) = ystap (k − 1) + yimpuls (k)
(6.58)
Verifieer deze formule a.d.h. van bovenstaande oplossingen (vergelijking 6.57).
78
Johan Baeten
6.7 Oefening2
De limietwaarde bij een aangelegde stap met grootte 1 volgt eenvoudig uit de gelijkstelling van z aan 1 in de TF: lim ystap (k) = lim
k→∞
Johan Baeten
z→1 z 2
z + 0, 5 =6 − z + 0, 25
(6.59)
79