Mérnöki problémamegoldás MATLAB-ban

A tantárgy angol neve: MATLAB-Programming for Engineers

Adatlap utolsó módosítása: 2017. április 4.

Tantárgy lejárati dátuma: 2020. július 15.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki Szak

Mérnökinformatikus Szak

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIHVAV01   2/0/2/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Kollár Zsolt,
4. A tantárgy előadója

Dr. Kollár Zsolt, Szélessávú Hírközlés és Villamosságtan Tanszék

Varga Lajos, Szélessávú Hírközlés és Villamosságtan Tanszék

5. A tantárgy az alábbi témakörök ismeretére épít

Programozási alapismeretek, Matlab programfejlesztési ismeretek

6. Előtanulmányi rend
Ajánlott:

Ajánlott tárgy: Alkalmazásorientál eszközök mérnököknek tárgy (BMEVIVEAV56)

7. A tantárgy célkitűzése

A tárgy célja a haladó szintű MATLAB oktatás. Cél továbbá, hogy továbbképezze a hallgatókat a mérnöki problémák számítógéppel segített, hatékony megoldásával illetve, hogy bemutassa a gyors prototípusfejlesztésben használható módszereket, legmodernebb eszközökkel és eljárásokkal. Az elsajátított ismeretanyag birtokában a hallgatók későbbi fejlesztési munkájuk során képesek lesznek az adott igényeket kielégítő, gyorsan adaptálható szoftvermegoldások hatékony elkészítésére.

A tárgy keretében – egy elterjedt mérnöki programozási platform példáit (elsősorban Matlab) végigkövetve – a hallgatók a tématerület elmélyített elméleti ismertetése mellett olyan gyakorlati tapasztalatokat szerezhetnek, amelyeket mérnöki munkájukban a későbbiekben közvetlenül is felhasználhatnak. Az iparban jelenleg is számos helyen alkalmaznak mérnöki programozási platformot, ezek szerepe a jövőben várhatóan tovább nő.

A tantárgy előadásai ismertetik a mérnöki programozási platform eszközkészletét, a laboratóriumi foglalkozás bemutatja az elméletben megismerteket gyakorlati példákra átültetve is. A házi feladatként kiadott projektfeladat célja az előadáson és laboratóriumban elsajátított ismeretanyag elmélyítése és rögzítése. A tárgy célja a programozási alapismeretekre építve segíti a számítás és a algoritmus intenzív programok fejlesztésének elsajátítását villamormérnöki és infromatikai területeken előforduló tipikus problémák megoldásával.

A tárgy a téma átfogó bemutatása mellett nagy hangsúlyt fektet az aktuális félévben elérhető legkorszerűbb eszközök és módszerek bemutatására.

8. A tantárgy részletes tematikája

Előadások tematikája:

1. hét: MATLAB alapismeretek felfrissítése: alapvető adatműveletek, adatjellemzők meghatározása (statisztika), adatmegjelenítés, adatkinyerés, adatfeldolgozás, 2D és 3D adatmegjelenítés, adatelemző eszközök használata

2. hét: Adat be- és kivitel. Adatlekérés fájlból, adatbázisból, webről, szoftverből, hardvereszközről. Perifériák, mérőműszerek vezérlése.

3. hét: Csoportmunka és projektmunka folyamata és módszerei mérnöki számítási platform használatával, projektfeladatok előkészítése 

4. hét: Matlab rendszerobjektumok használata dinamikus rendszerek viselkedésének szimulációjánál és verifikálásnál. Valós idejű feldolgozás, stream alapú feldolgozás, nagy méretű adatfájlok szegmentált feldolgozása.

5. hét: Szoftveresen támogatott haladó algoritmusfejlesztés (Polyspace, Stateflow): futási idő optimalizálás, eseményvezérelt tervezés, modellapú tervezés. Kódverifikáció, statikus kódanalízis, futási idejű hibakeresés. Megfelelés programozási szabványoknak Állapotgráf alapú tervezés. Véges automaták modellezése. Folyamatok ütemezése és vezérlése, végrehajtási és felügyeleti logika, hibakezelés.

6. hét: Nagy számításigényű problémák kezelése: párhuzamos feldolgozás, elosztott számítások, több-szálas program kezelés. Elosztott számítások elvégzésére alkalmazott Matlab szerver.

7. hét: Haladó diszkrét jelfeldolgozás: időtartománybeli megoldások, spektrumbecslési eljárások. Speciális transzformációk alkalmazhatósága a gyakorlatban.

8. hét: Alkalmazásfejlesztés: PC-n futtatható program, grafikus felhasználói felület, szoftverkönyvtár, célhardveren futtatható forráskód, FPGA leíró, beágyazott alkalmazás (C/C++, MEX, VHDL, VERILOG) fejlesztése. Hardverre letölthető kódok generálása.

9. hét: Végeselem-alapú feladatok. Fizikai modellezés alapjai: geometriai formák definiálása, hálógenerálás, fizikai feltételek megadása, probléma megoldás és eredmények megjelenítése.

10. hét: Témaspecifikus alkalmazások áttekintő ismertetése: rádiófrekvenciás adatátviteli, vezeték nélküli, antennatervezési, elektromágneses térszimulációs, radar alkalmazások.

11. hét: Kitekintés a mérnöki számítási platformok legmodernebb képességeire. További mérnöki programozási platformok bemutatása (Octave, Scilab, hasonlóságok és különbségek).

12. hét: Ipari alkalmazások bemutatása.

13. hét: Applikációkészítés, konzultáció.

14. hét: Pótalkalom.

 

Számítógépes laboratórium tematikája:

 

1. hét: MATLAB alapismeretek felfrissítése: Editor, Debugger, Profiler, Fájl típusok, függvények, m és mat fájlok.

2. hét: Adatfájlok beolvasása és kezelése: .dat, xls, wav, képfájlok. Külső perifériáról érkező adatok (TCPIP / Serial) kezelése

3. hét: Dokumentáció készítés: playshow, publish, live script. GUI tervezése - guide, appdesigner. Verziókövetés.

4. hét: Valós idejű hangmanipuláció stream objektumokon keresztül, spektrumanalizátor, saját osztály/objektum írása.

5. hét: Polyspace BugFinder és Codeprover, Stateflow programok megismerése gyakorlati példákon keresztül. Kódelemzés, szabvány-megfelelés, jellegzetes hibák javítása. Állapotgráf-alapú tervezés specifikáció alapján.

6. hét: MATLAB párhuzamos programozás, CUDA programozás szintaxisa. Elosztott számítások MATLAB szerveren és felhőalapú számítási környezetben. Futtatási idő összevetése helyi, többszálú és szerveroldali számítás esetén.

7. hét: FFT különféle implementációja. Szűrőtervezés és alkalmazás fdatool és sptool segítségével, adott speficikáció alapján. Szűrőegyütthatók meghatározása, szűrő exportálása.

8. hét: Alkalmazásfejlesztés: PC-n futtatható program. Rasberry Pi illetve Arduino board programozása MATLAB-ból. Futtatható kód generálása SIMULINK modellből.

9. hét: Végeselem-alapú feladatok definálása, fizikai paraméterek figyelembe vétele, szimulációs eredmények értelmezése és feldolgozása. Elektromágneses végeselem-feladat megoldása.

10. hét: Antenna toolbox, RF toolbox, LTE toolbox, WIFI toolbox bemutatása, tervezési feladat megoldása: WiFi rendszer szimulációja.

11. hét: Octave, Scilab áttekintés, MATLAB kódok átírása. Elkészített programok átvitele más környezetbe.

12. hét: MATLAB-ban elkészített, ipari környezetben használt alkalmazások – alkalmazásfejlesztési feladat ipari követelmények alapján; esettanulmány megismerése, a projektfeladathoz kapcsolódó kérdések megválaszolása.

13. hét: Projektfeladatok bemutatása és értékelése.

14. hét: Pótalkalom

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

A tárgy tananyagát heti 2 óra előadás keretében ismerjük meg, a megismertek elmélyítését és gyakorlati alkalmazását heti 2 óra számítógépes laborgyakorlat segíti.

10. Követelmények

a. A szorgalmi időszakban:

Házi feladat leadása és bemutatása.

A házi feladat leadásának és bemutatásának határideje a szorgalmi időszak utolsó hete.

A félév elején megkapott házi feladatot (projektfeladatot) csoportmunka keretében kell elkészíteni úgy, hogy elkülöníthető legyen az egyes hallgatók hozzájárulása. Az elkészített megoldást írásbeli dokumentációjának leadása mellett szóban is be kell mutatni.

b. A vizsgaidőszakban:

Szóbeli vizsga a félév során megismert témakörökből.

Elővizsga:

Van.

11. Pótlási lehetőségek

A projektfeladat a TVSZ rendelkezéseivel összhangban a kétciklusú képzésben a pótlási héten is leadható.

12. Konzultációs lehetőségek

Konzultációs lehetőségek a félév során folyamatosan, a hallgatóval egyeztetett időpontban.

13. Jegyzet, tankönyv, felhasználható irodalom

A tantárgyhoz elkészített aktuális segédanyagok letölthetők a tárgy honlapjáról.

Stoyan Gisbert: Matlab (ISBN 978-963-2794-40-2)

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra7
Felkészülés zárthelyire0
Házi feladat elkészítése33
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés24
Összesen120
15. A tantárgy tematikáját kidolgozta

Dr. Kollár Zsolt, Szélessávú Hírközlés és Villamosságtan Tanszék