Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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.

    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, Szélessávú Hírközlés és Villamosságtan Tanszék
    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