Seznam projektů

Téma je možné si zvolit i vlastní (což je i preferováno), a to tak obtížné, jak uznáte za vhodné. Spíše než složitost tématu bude hodnoceno to, jak student daný problém implementoval v Matlabu (viz kritéria ZDE). Na projekty, prosíme, pohlížejte jako na šanci si procvičit návyky v Matlabu ;-)

Zadání (ZS2019/2020)

Simulation of doors' opening

Náměty na projekty

U většiny projektů je na konci popisu v závorce zkratka jména vyučujícího, který zadání vytvářel a za projekt zodpovídá. S tímto člověkem projekt průběžně konzultujte - za zadání projektu se nepovažuje popis níže, ale až konkrétní podoba domluvená s vyučujícím!

Zkratka Jméno E-mail
doc. Ing. Miloslav Čapek, Ph.D. miloslav.capek@fel.cvut.cz
VA Ing. Viktor Adler, Ph.D. adlervik@fel.cvut.cz
VL Ing. Vít Losenický losenvit@fel.cvut.cz
MM Ing. Michal Mašek michal.masek@fel.cvut.cz
LJ doc. Ing. Lukáš Jelínek, Ph.D. lukas.jelinek@fel.cvut.cz
PK Ing. Petr Kadlec, Ph.D. kadlecp@feec.vutbr.cz
MP Ing. Milan Příhoda, Ph.D. milan.prihoda@cst.com
TK Ing. Tomáš Kořínek, Ph.D. tomas.korinek@fel.cvut.cz

Aplikace

  1. Jakékoli vlastní téma. Je ale potřeba téma nejdříve konzultovat a dohodnout se na obsahu projektu.
  2. Statistika úmrtnosti obyvatel ČR (VA)
    • Vytvořte interaktivní prohlížeč úmrtnostních tabulek z let 1920 - 2018 ze Statistického úřadu. Nástroj může mít mnoho podob, ale zobrazte např. počty zemřelých v konkrétním věku v závislosti na roce, umožněte porovnávání mezi muži a ženami, zobrazte počet obyvatel s daným věkem, relativní pravděpodobnost úmrtí v určitém věku, četnost úmrtí v závislosti na ročním období apod.
  3. Tvorba jednoduché aplikace, která bude cokoli dělat (editor textu, úprava obrázků, kalkulačka, úprava zvuku, …), ale bude podporovat historii a její úpravy. (VA)
    • V aplikaci by mělo být tlačítko “Zpět” a “Vpřed” a editor historie příkazů, který umožní položky v historii mazat a přesouvat a následně celou historii provést.
  4. Interaktivní editor RLC obvodů, včetně tvorby propojek a generace maticové formy výsledného zapojení (VA)
  5. Tvorba a zobrazení Smithova diagramu (VA)
    • Úkolem je vytvořit funkci, která v polárních osách (funkce polaraxes) zobrazí parametrické kružnice tak, jak je to běžné u Smithova diagramu (wiki). Kružnic stačí jenom pár pro nejdůležitější relativní hodnoty reaktancí (např. 0.1, 0.3, 0.5, 1, 3, 5, 10, …). Funkce musí dále umět do takto vytvořeného Smithova diagramu vykreslit koeficient obrazu, který bude ve formě sloupcového vektoru jeden ze vstupů funkce. Další ze vstupů budou frekvenční body. V okně s grafem musí být nějaké ovládací prvky (nastavení čar, markerů, přepínání impedanční/admitanční diagram apod.).
  6. Náhodná procházka několika agentů v ohraničené oblasti (MČ)
    • Na počátku zvažujte agenty náhodně rozmístěné v dané oblasti (“opilci”), ti se po ohraničené oblasti (“parku”) pohybují náhodně. Vygenerujte jejich pohyb, zobrazte ho, analyzujte průměrné hodnoty (rychlost, polohu) a vypracujte techniky na udržení agentů uvnitř oblastí (odrazná zeď, absorbční zeď, …).
  7. Napiště reader/writer pro 1D a 2D geometrii pro formát *.dxf, *.svg a *.eps (PK)
  8. Zpracování *.gpx souborů s daty z GPS přijímačů (VA)
    • Vyhodnocení délky trasy, převýšení, rychlosti, spálené kalorie, zobrazení trasy v mapách, …
    • Pro přečtení dat z *.gpx souborů použijte funkci loadgpx.m
    • Trasu na mapovém podkladu zobrazte s využitím funkce geoplot, resp. třídy GeographicAxes (funkce geoaxes).
  9. Vyhodnocení parametrů signálu (VA)
    • Amlituda šš/rms, max./min. hodnota, perioda/frekvence, +/- překmit apod. včetně grafického zobrazení
  10. Řízení jakéhokoli přístroje/hračky/stavebnice z Matlabu (VA)
    • Cokoli Vás napadne. Ale řízené zařízení musíte mít vlastní. Např. lze napsat GUI pro ovládání nějakého zařízení na oblíbené platformě Arduino, protože Matlab nativně umožňuje posílat a přijímat zprávy po sériové lince (funkce serialport).
    • Jedná se především semestrální projekt z Matlabu, tedy projekt bude hodnocen z hlediska Matlabu a ne např. z jazyka Arduino. Z tohoto pohledu by mělo tedy Arduino pracovat jenom jako vykonavatel příkazů a co největší část projektu by měla být řešena v Matlabu.
    • Pro přijímaní a posílání zpráv přes sériovou linku na Arduinu využijte třídu Serial.
  11. Simulace pohybu těles ve sluneční soustavě (VA)
    • Výpočet a vizualizace trajektorie těles sluneční soustavy z elementů dráhy těles. Není bezpodmínečně nutné, aby poloha planet přesně odpovídala zvolenému datu. Snažte se ale dodržet parametry eliptických drah a oběžné doby planet. Planety nějak hezky graficky znázorněte a umožněte měnit rychlost simulace pohybů. Potřebná data: http://ssd.jpl.nasa.gov/?planet_pos
    • Nebo můžete implementovat mapu oblohy tak, že si rovnou vyberete konkrétní souřadnice RA a DE, jaké má být zorné pole a část oblohy zobrazit. Je vhodné mít možnost interaktivně nastavit jak slabé hvězdy ještě zobrazovat a umět se posouvat s výřezem po obloze.
  12. Osciloskop v Matlabu (VA)
    • Implementujte jednoduchý osciloskop, který bude zobrazovat signály ze vstupu zvukové karty. Použijte třídu audiorecorder ( example).
    • Osciloskop by měl být rozumně použitelný, tedy pro zobrazení periodických signálů je potřeba zajistit nastavení vertikálního a horizontálního měřítka a spouštění časové základny na hranu signálu. Spouštěcí úroveň by měla být také nastavitelná.
    • Pokuste se o efektivní implementaci, kdy je obraz překreslován např. maximálně desetkrát za sekundu, i když by to šlo pro nějaká nastavení časové základny častěji.
  13. Vektorový měřič impedance a přenosu obvodů pomocí zvukové karty (VA)
    • Neznámý obvod bude buzen výstupem ze zvukové karty a výstupní signál bude nahráván vstupem zvukové karty. Analýzou signálů vyhodnotíte jaká byla připojena impedance nebo přenos obvodu. Je potřeba vyřešit vč. kalibrace. Program může být určen např. speciálně k měření audio zesilovačů vč. vyhodnocení zkreslení THD apod. Použijte třídu audiorecorder ( example).
  14. Konzole v Matlabu (tokenizer) (MČ)
    • Zpracujte jednoduchý GUI umožňující vstup (načtení) textového řetězce. Ten poté zpracujte uvnitř programu, který následně provede zadané příkazy.
  15. Vykreslení a animace Lorenzova atraktoru (MČ)
  16. Vytvořte aplikaci, která umožní načtení základního objektu a následně na něj aplikuje zadané symetrické operace a vytvoří celkovou strukturu. (MM)
  17. Statistická analýza (VA)
    • Z jakéhokoli dostatečně reprezentativního vzorku nějakých dat (směr větru, teplota, průtok splašek, intenzita osvětlení, počet návštěvníků obchodu, populace živočichů, …) vypočítejte a zobrazte statistické parametry (distribuční funkce, směrodatná odchylka, střední hodnota, medián, kvartily, …). V aplikaci umožněte načítání dat a interaktivní změnu zobrazovaných parametrů.
  18. Splitwise v MATLABu (VL)
    • Vytvořte aplikaci, která umožní vytvořit vyúčtování za sdílené platby pro skupinu lidí (např. za společný výlet). Navrhněte algoritmus k optimalizaci počtu plateb, které musí být provedeny k vyrovnání vyúčtování (insirovat se můžete zde).
  19. Editor *.gpx souborů (VL)
    • Vytvořte aplikaci umožňující modifikovat *.gpx soubory (modifikovat zaznamenanou trasu: ořezávat záznam, měnit pozici zaznamenaných bodů, …)
  20. Analyzátor orientačního běhu (VL)
    • Implementuje aplikaci umožňující analyzovat porovnat běh několika běžců (inspirovat se můžete zde).
    • Umožněte načíst a zkalibrovat naskenovanou/vyfocenou mapu, nastavit rychlost přehrávání, velikost ocásku zůstávajícího za běžcem, synchronizaci času, …

Audio / Video

  1. Tvorba panoramatické fotografie (VA)
  2. Ladička hudebních nástrojů (VA)
    • Využití vstupu zvukové karty. Použijte třídu audiorecorder ( example). Při obhajobě projektu bude vyžadováno předvést funkčnost ladičky s reálným hudebním nástrojem. Frekvence tónů mějte v projektu analyticky vypočtenou (wiki).
  3. Vektorizace bitmapových (scan) grafů (VA)

Hry

  1. hra Arkanoid (VL)
  2. Hra Quoridor (MČ)
    • Implementujte hrací desku, zadávání destiček a ovládání figurky, pokuste se najít primitivní herní algoritmus.
  3. Implementace hry MiniMetro (MM)
  4. Hnefatafl nebo jiná verze staroseverské deskové hry wiki (MM)
  5. Jakákoliv hra využívající transportation network system, např. Pocket Trains (MM)
    • vhodné pracovat s OOP, timery
  6. Sokoban (VL)
    • Implementujte hru Sokoban.
    • Vhodné pracovat s OOP.
  7. Zobrazení a automatické řešení rubikovy kostky (VA)
  8. Hra kulečník (VL)
    • Implementujte jednoduchý kulečník.
  9. Hra Worms (MM)
  10. Hill Climb Racer (VL)
    • libovolná implementace této hry.
  11. Space Invaders (VL)
  12. Vytvořte uživatelské rozhraní pro jednoho hráče ke stolní hře Kartografové EN info, CZ info. Podkladové materiály by byly poskytnuty. (MM)

Numerické výpočty

  1. Vnější balistika (VA)
    • Zobrazte trajektorii střely a spočítejte potřebnou korekci puškohledu pro zasažení cíle pro konkrétní vzdálenost, elevaci, střelivo, rychlost větru, polohu na Zemi, …
  2. Výpočet a zobrazení Foucaultova kyvadla v různých bodech na planetě (VA)
    • Rozložení N stejných nábojů na povrchu koule tak, aby měly celkově minimální potenciální elektrostatickou energii.
  3. Hledání průsečíků obecných křivek zadaných analytickým předpisem (PK - VUT)
    • Numericky, bez použití symbolického toolboxu.
  4. Pro obecné těleso (zadané hraničními body) najděte takový střed opisující koule, aby tato koule byla nejmenší možná. Těleso poté posuňte tak, aby bylo uvnitř této koule, která má střed ve středu kartézského souřadného systému. Těleso před i po posunutí zobrazte spolu s obalující koulí (MČ)
  5. Nástroj na zobrazení a výpočet EM úloh pomocí metody zrcadlení + vizualizace (MČ)
  6. Zobecněné řešení smyčkových proudů / uzlových napětí (MČ)
  7. Výpočet geometrického i fyzikálního těžiště objektu / soustavy objektů (MČ)
  8. Vícekriteriální optimalizace (PSO / GA), včetně zobrazení výsledné Paretovy fronty (MČ)
  9. Nelderova-Meadova optimalizace (MČ)
    • Vytvořte zjednodušený algoritmus simplexní optimalizace (prostor je prohledáván pomocí simplexu s pomocí jeho postupných transformací.
  10. Spline interpolace zadaného názvu pomocí extrémů křivky (MČ)
    • Program vypíše zadaný textový řetězec do okna (figure), poté pomocí funkce ginput budou zadány vrcholy spline křivek. Úkolem bude správná parametrizace těchto křivek, aby byl původní text co nejlépe rekonstruován.
  11. Buzení vln na 2D ploše (řešení vlnové rovnice pomocí FDTD) + vizualizace (LJ, MČ)
  12. Rojová optimalizace (MČ)
    • Nastudujte algoritmus rojové (PSO) optimalizace a pokuste se ho pro případ jednokriteriální, multidimenzionální optimalizace implementovat.
  13. 1D iterpolace 3. stupně (kubická) (MČ)
  14. Hledání minima funkce pomocí gradientního algoritmu a jeho modifikace pro nalezení globálního minima za přítomnosti řady lokálních minim (kupř. funkce příp. f(x) = 1 - cos(x) + x^2/a^2 na intervalu x = [-a,a]) - Monte Carlo, stochastické algoritmy.
  15. Zjednodušená metoda Ray Tracing pro studium šíření paprsků (MČ)
  16. Vytvořte jednoduchý nástoj na výpočet rozložení náboje na ploše (MČ)
    • Plochu bude možné vytvořit pomocí jednoduchého GUI, výpočet rozložení náboje může být založen např. na znalosti Coulombova zákona a superpozice (výpočet bude prováděn iterativně). Výsledkem bude vizualizace aktuální polohy všech nábojů (počet a počáteční poloha bude zadána uživatelem), a také směru jejich pohybu.
    • K dispozici je jednoduchá ukázka (vzor) v 1D.
  17. Fluid Dynamics (VL)
    • Implementujte algoritmus pro vizualizaci chovaní kapalin. link1, link2, link3
  18. Tvorba a řešení bludiště (VL)

Další

  1. Virtuální obvodový analyzátor (GUI). (MP)
    • Program bude sloužit k odhadu chyb měření pomocí obvodového analyzátoru. Program bude obsahovat realistický model přístroje s nastavitelnými parametry; kalibrační techniky a vizualizaci výsledků a odchylek [Michael Hiebel, Fundamentals of Vector Network Analysis, 3rd ed.(Rohde & Schwartz, Munich, 2008). 420 pp. [ISBN: 978-3-939837-06-0]
  2. Extrakce materiálových vlastností (TK)
    • Na základě znalostí S-parametrů získaných pomocí simulací známých materiálů vložených do vlnovodného dílu v CST MWS navrhněte a realizujte metodu extrakce materiálových parametrů. Zpracovaná metoda musí obsahovat korekce s ohledem na rozměry materiálů a referenční roviny měření. Metodu extrakce materiálových parametrů ověřte na reálných měřeních pomocí VNA.
  3. Aproximace výškového profilu refraktivity v troposféře (PP)
    • K dispozici je hodnota refraktivity měřená v 19ti různých výškách nad zemí. Aproximujte tato data polynomem 1.-4. řádu dle volby uživatele a graficky znázorněte včetně měřených bodů. Graficky zobrazte i první derivaci funkce a zvýrazněte oblasti s možností výskytu vlnovodného kanálu, tj. kdy je gradient výškového profilu refraktivity menší než -157 N/km. (Pozn.: Refraktivita je přepočtený index lomu atmosféry. Je funkcí teploty, tlaku a vlhkosti vzduchu. Rozložení refraktivity v troposféře zásadním způsobem ovlivňuje šíření rádiových signálů díky refrakci.)
  4. Klouzavý průměr (PP)
    • K dispozici je neekvidistantní časová řada přijatých úrovní signálu měřených mobilním terminálem. Při známé rychlosti terminálu a frekvenci signálu proveďte přepočet na závislost přijaté úrovně na vzdálenosti v měřítku vlnové délky. Aplikujte filtraci signálu klouzavým průměrem a do stejného grafu zobrazte původní i několik filtrovaných průběhů z různými velkostmi klouzavého okna (intervalu, ve kterém průměrujeme) dle zadání uživatele. (Pozn.: Jedná se o klasickou metodu oddělení rychlých úniků způsobených vícecestným šířením vln/signálu.)

Projekty, které si vybrat NELZE!

  1. Tvorba a zobrazení platónských těles (VL)
  2. Planetárium v Matlabu (VA)
    • Zobrazení hvězdné oblohy v libovolný čas a z libovolné polohy na Zemi. Není to ovšem příliš jednoduché. Poloha objektů na obloze dána aktuálním natočením Země oproti hvězdné sféře a řídí se tzv. hvězdným časem. Z toho se dá vypočítat poloha azimut jarního bodu. Dále je potřeba spočítat elevaci hvězd kvůli naklonění osy Země, viz. též astronomy.cz.
  3. Editor zvukových souborů (VA)
    • Možnost načíst zvukový soubor, zobrazit jeho průběh, editace zvuku (ořez, hlasitost, ekvalizace, pár efektů, …), uložení.
  4. Editor video souborů (VA)
    • Možnost načíst video soubor, zobrazení časové osy, editace videa (střih, jas, kontrast, …), uložení do jednotlivých obrázků a do videa. Možnost volby výstupního formátu, velikosti obrazu (interpolace) a kvality.
  5. 2048 (VL)
    • Implementujte hru 2048.
  6. Flappy bird (VL)
  7. Fourierova transformace (MČ)
  8. Integrace dvojného integrálu s look-up-table algoritmem (MČ)
    • Pro zadaný dvojný integrál (nemá jednoduchou primitivní funkci, je nutná numerická integrace) a data získaná z multifyzikálního solveru ve formě tabulky navrhněte integrační proceduru s interpolací v tabulce (look-up-table).
  9. Minimalizace pomocí nelineární metody nejmenších čtverců (MČ)
    • Nastudujte metodu nejmenších čtverců a její nelineární variantu a pokuste se na vybraných příkladech porovnat jednotlivé přístupy v Matlabu.
  10. Výpočet a zobrazení sférických funkcí, jejich superpozice, korelace s obecnými kulovými funkcemi (MČ)
  11. Naprogramování jednoduché hry “had” v Matlabu (MM)
    • Pokuste se formalizovat a implementovat hru had v Matlabu na základě znalostí z kurzu Matlabu. Problém maximálně zjednodušte.
  12. Zjednodušené piano v Matlabu
    • Vygenerujte potřebné tóny piana v Matlabu, dále zpracujte vstup z klávesnice (“klaviatura”). Pokuste se najít vhodnou obálku signálu tak, aby byl eliminován syntetický zvuk kláves.
  13. Šachy (bez umělé inteligence, pouze rozhraní) (MM)
    • Vykreslete šachovnici, vč. správného popisu os. Dále na tuto šachovnici umístěte figurky (např. obrázky). S těmito figurkami bude možné pohybovat podle pravidel šachu.
  14. Editor fotografií (VA)
    • Načtení, uložení, základní úpravy (jas, kontrast, sytost, ořez, převzorkování, …), filtry (zostření, rozmazání, …).
  15. Hra Pong (VA)
    • Pokuste se implementovat hru Pong.
  16. Hra SUDOKU, načtení rébusu ze souboru, hra uživatele, hlídání pravidel (VL)
  17. Hra Quarto (MČ)
    • Nalezněte algoritmy které detekují nejkratší cestu k vítězství, kdy hra nemá řešení (konec hry), případně tah který soupeři nejvíce prodlouží cestu.
  18. Space Impact Game (VA)
    • Jednoduchá implementace hry Space Impact známé ze starších mobilních telefonů Nokia
  19. Tetris (VA)
    • Implementace legendární hry Tetris.
  20. Game of life (VL)
  21. Piškvorky (s umělou inteligencí)(VL)
  22. Dáma (s umělou inteligencí)(VL)
  23. Hra lodě
    • Pokuste se formalizovat a implementovat hru lodě v Matlabu. Soupeřem Vám bude počítač, který volí pozice pseudo-náhodně (případně pseudo-náhodně s ohledem na poslední úspěšný zásah).
  24. Vizualizace 2D / 3D funkcí s uživatelským vstupem
    • Vypracujte program, který bude schopen vizualizovat 2D/3D vektorové funkce. Využijte vektorizace a funkce quiver pro vykreslení.
  25. Nástroj na extrakci nápovědy a H1 řádky z user-defined funkcí Matlabu
    • Jde o projekt zaměřený na čtení textových řetězců ze zadaných souborů a jejich zpracování. Vhodné pro studenty se znalostí programu LaTeX.
  26. Vytváření knihovny mex
  27. Výpočet celkového šumového čísla, zisku, bodu zahrazení a maximálního výkonu soustavy dvoubranů včetně grafického zobrazení
  28. ADC (konvertor z analogového na digitální signál) - vzorkování, kvantizace, vizualizace obecného signálu
  29. Gaussova eliminace, Gaussova eliminace s pivoty + porovnání s Matlab build-in funkcí
  30. Korelační analýza (najít známý signal, v zašuměném přijatém signálu)
  31. Využití kumulační metody ke zvýraznění repetičního signálu v šumu
  32. Hypoteční kalkulačka (FK)
  33. Řešení rovnice typu f(x)=0 pomocí metody dělení intervalu a pomocí Newtonovy metody (MČ)
  34. Jacobi metoda (kupř. generace plochy ze znalosti obvodové křivky, případně výpočet elektrostatického potenciálu - jádro metody je napsáno) (MČ)
  35. Implementace FIR číslicového filtru v omezené přesnosti (PČ)
  36. Implementace IIR číslicového filtru v omezené přesnosti (PČ)
    • Každá soustava lineárně nezávislých rovnic lze ortogonalizovat tak, abychom nalezli ortonormální bázi podprostoru, který tyto rovnice generují.
  37. Gaussova eliminace, Gaussova eliminace s pivoty + porovnání s Matlab build-in funkcí (MČ)
  38. Optimalizace RLC struktury nebo filtru s možností volit hodnoty součástek z typizované řady E6 / E12 / E24 (VA)
  39. Vektorizovaná 2D interpolace (VA)
  40. MSDN knihovna v Matlabu (VA)
    • Prozkoumejte a pokuste se využít MSDN knihovnu pro účely pokročilé grafiky v Matlabu
  41. Návrh kalibrační sady pro měření s obvodovým analyzátorem (GUI). (MP)
    • Program bude sloužit k optimalizaci parametrů kalibračních standardů dle zadaných kritérií. Program bude navrhovat kalibrační standardy pro měřící techniku Multiline TRL http://dx.doi.org/10.1109/22.85388
  42. Zpracovaní naměřených dat z obvodového analyzátoru (GUI). (MP)
    • Jde o projekt zaměřený primárně na tvorbu grafického rozhraní. Ze změřených parametrů tří vzorků určete konstantu šíření homogenního přenosového vedení dané délky. Navrhněte grafické rozhraní pro vizualizaci výsledků kalibračního algoritmu, viz [V. Sokol, Jan Eichler, Marc Rütschlin: “Calibration of EM Simulator on Substrate Complex Permittivity”, ARFTG 83rd Microwave Measurement Conference, Tampa, 2014]. Jde o spolupráci s výsledky použitelnými potenciálně i v praxi, funkční algoritmus je k dispozici (MP).
  43. Editor ikonek v Matlabu (VA)
    • Malování ikonek s rozměry 16×16 px a jejich export pro použití v Uipushtool pro vytváření vlastního menu.
  44. Connect four (VL)
    • Implementujte hru Connect Four pro dva hráče a pro hru hráče proti počítači.
courses/b0b17mtb/projects/seznam_projektu.txt · Last modified: 2020/09/16 09:33 by capekmi2