. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Matlab jako všestranný nástroj vizualizace signálů
5. listopadu 2010 - 8:10 | Ing. Bohuslav DOŃAR, CSc. | Matlab jako všestranný nástroj vizualizace signálů | Komentářů: 6  

Matlab jako všestranný nástroj vizualizace signálů

Softwarový balík MATLAB v posledních verzích dospěl do všestranně použitelného nástroje v mnoha oblastech (nejen) techniky. MATLAB je představen v jeho základní verzi bez Toolboxů. Jsou zhodnoceny jeho přednosti, jakož i nedostatky s důrazem na použití ve výuce zvláště fyziky a elektrotechniky. Je uveden konkrétní příklad výuky především diskrétních signálů a systémů.

Úvod
MATLAB (MATrix LABoratory) bývá nezřídka označován za světový standard pro technické výpočty. Představuje mohutné integrované matematicko-grafické prostředí [1], v němž lze provádět zejména:

  • Matematické výpočty
  • Modelování a analýzu fyzikálních dějů
  • Měření, analýzu a vizualizaci dat
  • Vývoj algoritmů
  • Návrhy řídicích a komunikačních systémů, atd.

První odrážka výčtu uvádí, že v MATLABu můžeme provádět matematické výpočty. To lze chápat různě. V užším smyslu musíme říci, že v MATLABu můžeme provádět „jen“ matematické výpočty. V širším smyslu můžeme větu obrátit a říci, že v MATLABu můžeme provádět prakticky všechno, co lze matematicky popsat. A to, co lze matematicky popsat, můžeme pomocí grafických nástrojů MATLABu velmi efektivně (a vyspělejší uživatelé i velmi efektně) zobrazit.

Základní vlastnosti MATLABU
Veškeré objekty MATLAB považuje za prvky pole. Prvky pole jsou především čísla. První, co nás v této souvislosti napadne je „tradiční“ lineární algebra – maticový počet. Takto skutečně byl MATLAB ve svých prvních verzích zamýšlen, a skutečně provádí nejen veškeré operace maticového počtu, a je nedostižný v operacích s jednotlivými prvky. Prvky nějakého pole však mohou být nejen čísla, proměnné, ale i složitější struktury jako například obrázky. Práce v MATLABU už se zcela vzdálila tradičnímu chápání lineární algebry.

MATLAB je Windows-like aplikací. Nabízí intuitivní uživatelské rozhraní - MATLAB Desktop. Používá programovací jazyk 4. generace s více než 1000 funkcí.

Práce v základním prostředí
Hovoříme-li o práci v základním prostředí, máme tím na mysli, že budeme používat pouze základní MATLAB bez tzv. Toolboxů. Toolboxy jsou knihovny specializovaných funkcí, které významně rozšiřují a zjednodušují použitelnost MATLABu i mimo technické obory.

Vytváření signálů
V systému MATLAB lze se signály pracovat několika způsoby [3]:

1. Vytvářet své vlastní posloupnosti (vektory) dat, časové či jiné, v Command Window.
pomocí příkazů.

MATLAB používá tzv. klíčová slova, což jsou ve velké většině případů běžná anglická slova, nebo matematické funkce: sin, cos, … (viz Obr. 3)

2. Načítat externí data - txt, xls, ASCII, …

xlsread, wavread, imread, aviread – k těmto klíčovým slovům jistě není bližšího výkladu třeba.

3. On-line načítat data z měřicích karet.


Obr. 1: Základní prostředí s načtenými daty ve formátu .xls a výběr typu grafu z nabídky


Obr. 2: Výběr části dat a jejich okamžité zobrazení jako spojnicový graf

Zobrazování signálů
1. příkazem v programu, či dialogovým způsobem v příkazovém řádku: plot, stem, stairs, pie, …


Obr. 3: Tvorba a zobrazení signálů pomocí příkazů MATLABu

Jediné klíčové slovo (na Obr. 3 příkaz plot) zde zastupuje celý podprogram. Založí obrázek (příkaz figure(10) znamená pouze název), zobrazí graf, „samočinně“ nastaví rozsah os, barvy, atp., vše okamžitě. Pokud je třeba cokoliv upravit, pak kliknutím pravým tlačítkem myši na příslušném objektu (čára, osy, barevná výplň, význačné body,…) se zobrazí kontextové menu s nabídkou možností [1]. Další možností je vyvolání nástroje Property Editor [2], nebo přímý programový příkaz.

Na Obr. 3 jsou zobrazeny sinus a cosinus (zcela intuitivní příkazy sin a cos) jako spojité grafy. To zdánlivě odporuje povaze MATLABu, který uvažuje všechny hodnoty diskrétně. Vysvětlení je jednoduché. Pokud zvolíme dělení časové osy dostatečně jemné, graf se zobrazí jako spojitý a nemusíme se dále „zatěžovat“. Konkretně na Obr. 3, je časová osa jako proměnná t zadána od 0 do 10 s krokem 0,1 – tedy 100 hodnot, což, jak vidíme, je pro spojité zobrazení dostatečné.

2. Výběrem z nabídky


Obr. 4: Nabídka typů grafů MATLABu včetně nápovědy

Grafické uživatelské rozhraní
MATLAB má implementovánu „velmi silnou“ grafiku nejen pokud se týká zobrazování jakýchkoliv funkčních průběhů, ale navíc umožňuje tvorbu Grafického uživatelského rozhraní (GUI). Tedy jistého panelu, kterým je aplikace překryta, takže uživatel nemusí o MATLABu vědět vůbec nic. Toto GUI lze v MATLABu vytvořit dvěma způsoby:

  • Přímým naprogramováním
  • Pomocí vestavěného nástroje

První způsob je obtížnější. Programátor už musí mít zvládnutu filosofii grafiky MATLABu na poměrně vysoké úrovni. O to jednodušší je způsob druhý. Spuštěním vestavěného nástroje, zvaného GUIDE, se otevře plocha budoucího rozhraní se čtvercovou sítí a předpřipravenými všemi ovládacími a zobrazovacími objekty (tlačítka, posuvníky, rozbalovací nabídky, zaškrtávací políčka, radiobuttony, zobrazovací plochy s osami,…). Potřebné objekty v potřebném množství uživatel myší „natahá“ na plochu budoucího rozhraní, pomocí dalších funkcí prvky upraví (velikost, barva, …) a zarovná. Až je spokojen se vzhledem, nechá MATLAB automaticky vygenerovat patřičný program. Do něj pak už jen dopíše několik programových řádků nezbytných zpětných vazeb mezi jednotlivými prvky a rozhraní může fungovat. Takto vygenerovaný program sice není optimální, neboť je automaticky složen z robustních programových modulů, které musí fungovat za všech podmínek. Z hlediska požadované funkce je zcela spolehlivý [2].

Ukázka hotového funkčního GUI je na Obr. 5. Jedná se o jednu z laboratorních úloh autorů Doc. Karla Zaplatílka a Doc. Antonína Krtičky z katedry elektrotechniky Univerzity obrany v Brně. Slouží k výuce lineárních diskrétních systémů. Uživatel (student) ji ovládá pomocí rozbalovacího menu a tlačítek v pravé části. V dolní části má k dispozici i zdrojový text úpravy signálu (ve formátu wav), který může (dle pokynů učitele) modifikovat a po stisku tlačítka „Modify“ sledovat okamžitě účinky jak graficky, tak akusticky.


Obr. 5: Ukázka výukové aplikace digitálního zpracování signálů

MATLAB pro a proti
+ jazyk 4. generace používající klíčová slova;
+ intuitivní nabídky, rychlý výběr, okamžitá odezva,
+ každou akci lze uskutečnit více způsoby – příkaz, pravé tlačítko myši, výběr z menu;
+ všechny vlastnosti ovlivnitelné a nastavitelné nejen v aplikaci, ale i v prostředí;
+ bohatá nápověda v HTML a pdf;
+ import a export dat v mnoha běžných formátech,
+ interaktivní nástroj na tvorbu uživatelských rozhraní,
+ spolupráce s externími aplikacemi a jazyky jako C, C++, Java, COM, .NET, Fortran, …;
+ tvorba a šíření na MATLABu nezávislých aplikací.

- velké množství klíčových slov;
- angličtina,;
- všechny vlastnosti ovlivnitelné a nastavitelné nejen v aplikaci, ale i v prostředí.

Závěr
Tento příspěvek, na rozdíl od případné „živé“ prezentace, je jen malou ukázkou možností využití MATLABu v základní konfiguraci, bez specializovaných Toolboxů. Primárním hlediskem tohoto přístupu byla otázka finanční, přestože školám je poskytována výrazná sleva. Toolboxy v mnohém usnadňují a rozšiřují možnosti MATLABu, ale zakupují se zvlášť. Avšak jen trochu zkušený uživatel (záměrně neříkám programátor) dokáže sestavit v MATLABu velmi zajímavé aplikace. Navíc poslední verze MATLABU jsou schopny produkovat samospustitelné soubory fungující na PC bez nainstalovaného programového prostředí. Tvrzení, že MATLAB se stává světovým standardem pro vědeckotechnické výpočty, opravdu není jen pouhou reklamou, ale skutečností. Protože MATLAB si už před lety našel cestu i na české vysoké školy, je žádoucí, aby ani na středních školách nebyl opomíjen.

Literatura:
[1] Zaplatílek, K. a Doňar, B.: MATLAB pro začátečníky. BEN Praha, 2. vydání 2005. ISBN 80-7300-175-6.
[2] Zaplatílek, K. a Doňar, B.: MATLAB – tvorba uživatelských aplikací. BEN Praha 2004. ISBN 80-7300-133-0.
[3] Zaplatílek, K. a Doňar, B.: MATLAB – Začínáme se signály. BEN Praha 2006. ISBN 80-7300-200-0.

Autor:
Ing. Bohuslav DOŃAR, CSc. - Univerzita obrany v Brně, Fakulta vojenských technologií

Odkazy & Download:
Domovská stránka Univerzity obrany
Domovská stránka Fakulty vojenských technologií

MATLAB JAKO VŠESTRANNÝ NÁSTROJ VIZUALIZACE SIGNÁLŮ
Výzkum, experimentální vývoj a inovace
Aktuálně řešené projekty obranného výzkumu







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (6):

Zobrazit starší 30 dnů (6)...

host
6. Dne 05. 11. 2010 v 17:46 zaslal host
Bez titulku
Pane Doňare, proč stojí Matlab tolik peněz ?


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
WIZ108SR - RS422/RS485
Převodník TCP/IP <-> RS422 / RS485 s RJ45 konektorem.
Skladem od 649 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007