Jelek és rendszerek Gyakorlat_02
Pletl
A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A Szimulink programcsomag rendszerek analóg számítógépes modelljének szimulálására alkalmas grafikus programcsomag. Egy SIMULINK szimuláció két lépésbıl áll. Elıször létrehozzuk a modellt, majd kívánt paraméter beállítások mellett futtatásokat végzünk. A SIMULINKben egy dinamikus rendszert blokk diagrammal lehet megadni. A rendszer definiálása a diagram megrajzolását jelenti. A blokkokat nem mindig szükséges külön elıállítani, egy könyvtárból ki lehet ıket másolni. A könyvtár bıvíthetı tetszés szerinti elemekkel. A keresés könnyítése céljából a könyvtár blokkjai mőködésük szerint külön alkönyvtárban helyezkednek el. 1.@. Feladat egy jelgenerátor (Signal generator) jelének vizsgálata szkóppal (Scope). A SIMULINK indítása Mathlab‐ban a simulink parancs kiadásával történik. Új modellt a File\New\Model menüvel lehet létrehozni. A Sumilink\Sources könyvtárból kiválasztjuk a Signal Generator‐t, majd behúzzuk a model területre. A Sinks könyvtárból a Scope‐ot hasonló módszerrel illesztjük be. A jelgenerátor kimenetét összekötjük a szkóp bemenetével az egér jobb gombjával. Kettıt klikkelve a jelgenerátorra beállíthatjuk annak paramétereit: • a jel milyenségét: - sinus (sine), - négyszög (square), -főrész (sawtooth), - random • amplitudó értékét • frekvencia értékét ill. annak egységét (Hertz vagy Rad/s) A szimulációt elindíthatjuk a Simulation\Start menüvel vagy a Start Simulation ikonnal. A szimuláció eredményét a Scope‐ra duplán kattintva tekinthetjük meg.
Gyakorlat_02
1
Jelek és rendszerek Gyakorlat_02
Pletl
1. ábra Alapértelmezett beállításokkal Látható, hogy a sinus jelünk nem sikerült tökéletesre. A probléma a szimuláció paramétereivel van. Korrigálhatjuk: Simulating / Configuring parameters Átállítjuk Fixed step-re a Type-ot ill Fixed step size-ot 0.01 re vesszük! Elindítva a szimulációt látjuk, hogy egy sokkal precízebb sinus-t kaptunk.
Ugyanezeket végigjátszhatjuk mind négyszög, mind főrészjellel. Egyszerően csak a fent említett jelgenerátor square vagy sawtooth jelét kell kiválasztanunk. Állítható a Scope megjelenítési sávja: jobb klikk axe properties Y koordináta minimum és maximum értékei adhatók meg. 2.@. A következı feladat annyiban több az elızı forrás-nyelı rendszernél, hogy tartalmaz egy integrátort illetve egy multiplexert. Ez utóbbi skalárból készít vektort, és bemeneteinek száma állítható. Most a jelgenerátor és az integrátor 1-1 kimenetét kell belekötnünk a multiplexer-be, majd megjeleníteni ıket az elızı feladatból ismert scope-on. Gyakorlat_02
2
Jelek és rendszerek Gyakorlat_02
Pletl
Sine Wave Scope
1 s Integrator
Gyakorlat_02
3
Jelek és rendszerek Gyakorlat_02
Pletl
Rövid eszmefuttatás a numerikus integrálásról A feladat meghatározni integrálját. Tudjuk, hogy Tudjuk az kezdıértéket kezdıidıpontot.
Gyakorlat_02
függvény . ill.
a
4
Jelek és rendszerek Gyakorlat_02 1. Meghatározzuk az vizsgált
értéket, ami a
függvény
iránytényezője. 2. Felvesszük az egyenest. ( 3. A
Pletl
pontban vett pontba az
) pontból húzunk
egy függőleges szaggatott vonalat, ami kimetsz egy pontot az egyenesből, ez a pont lesz 4. Ebben a -et.
metszéspont.
pontban
5. Felvesszük az
meghatározzuk
általa meghatározott
egyenest.
6. A 3. ponttól ismételjük a lépéseket a megfelelő indexek növelésével.
Az elıálló pontokat összekötve elıáll a keresett függvény egy közelítése. A lépésköz megfelelı meghatározása nagyon fontos kérdés. Ha túl nagy a lépésköz, kimaradhatnak bizonyos részletek a keresett függvénybıl. Amennyiben túlságosan nagy az érték, sokat kell számolni. Hibák forrásai:
• Számábrázolási hibák Számítógépes számítások esetén felléphet az ún. számábrázolási hiba a kerekítések miatt. Példaként a következı intervallumokat tudjuk ábrázolni számítógépen: • •
között között.
Azonban ezeken az intervallumokon sem folytonos, hanem csak diszkrét értékeket lehet ábrázolni. •
Sorok megszakításából származó hiba: a sin, cos,… függvények meghatározását sorba fejtéssel (esetleg look up table használatával) végzi a számítógép. Ekkor mindig van hiba ( ).
•
A hiba tovaterjedése: ha van valamilyen hiba, akkor az a számítások során tovaterjed:
Összeadáskor és kivonáskor az abszolút hiba összeadódik, szorzásnál és osztásnál a relatív hiba
Gyakorlat_02
adódik össze.
5
Jelek és rendszerek Gyakorlat_02
Pletl
A t értékének meghatározása A 3. ábrán látható, hogy túl nagy vagy túl kicsi érték esetén az hiba mértéke érték az optimális növekszik. A lépésköz, azonban ekkor sincs nulla hiba. Az optimális a minimum periódushoz tartozó periódusidı: Ezt azonban általában nem ismerjük elıre, csak a deriváltat. A helyen meghatározzuk értéket, ami a vizsgált függvény pontban vett iránytényezıje. Ábrázoljuk a hozzá tartó egyenest, amely a helyen meghatározza az pontot. Ez a pont egy referencia pont lesz, amelyhez viszonyítani fogunk. Ezek után a pontban végezzük el az egyenes egyenes a helyen megrajzolását. Az meghatározza az pontot. Az és 4. ábra pontok távolsága lesz az aktuális hiba (e). Ha ez a hiba egy bizonyos mértéket meghalad, helyen valót vesszük akkor a helyen való számítás helyett a figyelembe. Ezután tovább folytatjuk az eljárást, míg a hiba a kívánt érték alá csökken. Ha néhány lépésen keresztül kicsi a hiba, akkor növelhetjük a értékét, ezzel gyorsítva a számításon. Matlab-os szimulációnál ezt a fajta közelítést a Simulation Parameters\Solver\Type menüben a Variable-step beállításával érhetjük el. 3.@.
Gyakorlat_02
6
Jelek és rendszerek Gyakorlat_02
Pletl
4.@.
Gyakorlat_02
7
Jelek és rendszerek Gyakorlat_02
Pletl
5.@.
Gyakorlat_02
8
Jelek és rendszerek Gyakorlat_02
Gyakorlat_02
Pletl
9
Jelek és rendszerek Gyakorlat_02
Pletl
6.@. Végül kedvcsinálóként megnézzünk egy összetettebb rendszermodelt. Nyergesvontató parkoltatása állandó sebességgel úgy, hogy csak a kormánykerék szögét tudjuk állítani. Sltbu utasítással hozható elı a rendszer, irányítható Fuzzy logikával, ill. emberi irányítással.
Gyakorlat_02
10