K-INFO
HU
EN
Login

MATLAB-Programming for Engineers

Mérnöki problémamegoldás MATLAB-ban
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Subject name (Hungarian, English)
Mérnöki problémamegoldás MATLAB-ban
MATLAB-Programming for Engineers
Subject code BMEVIHVAV01
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 0 2
type (linked/independent) derived course
Assessment type vizsga
Credits 4
Subject coordinator
Kollár Zsolt
position: egyetemi docens
Responsible department
Faculty
Subject website
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme

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

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.

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

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.

Tanulástámogató anyagok

Not provided.

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programozási alapismeretek, Matlab programfejlesztési ismeretek
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programozási alapismeretek, Matlab programfejlesztési ismeretek
General rules
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. 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ó.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses
Ajánlott tárgy: Alkalmazásorientál eszközök mérnököknek tárgy (BMEVIVEAV56)
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.