680 likes | 1.1k Vues
MATLAB. 10 . 9 .2008 Univerzita Pardubice. MATLAB Matematické výpočty, řízení, zpracování signálu a obrazu, modelování a simulace. Karel Bittner bittner@humusoft.cz www.humusoft.cz info@humusoft.cz www.mathworks.com. HUMUSOFT s.r.o. Profil společnosti Název firmy: Humusoft s.r.o.
E N D
MATLAB 10.9.2008 Univerzita Pardubice
MATLABMatematické výpočty, řízení, zpracování signálu a obrazu, modelování a simulace Karel Bittnerbittner@humusoft.czwww.humusoft.czinfo@humusoft.czwww.mathworks.com
HUMUSOFT s.r.o. Profil společnosti Název firmy: Humusoft s.r.o. Založena: 1991 Počet zaměstnanců: 15 Sídlo: Praha 8, Pobřežní 20 • MATLAB, Simulink, Stateflow(The MathWorks, Inc.) • technické výpočty, modelování a simulace… • WITNESS (Lanner Group, Ltd.) • interaktivní simulace a optimalizace podnikových procesů • dSPACE - vývojové systémy(dSPACE GmbH.) • systémy pro řízení a simulace v reálném čase • Comsol Multiphysics (Comsol AB) • otevřený systém pro MKP analýzu • Vývoj vlastního software & hardware(Humusoft s.r.o.) • Virtual Reality Toolbox, Real Time Toolbox, RTWT • měřicí karty • modely pro výuku teorie řízení • HeavyHorse (multiprocesorové stanice)!NOVINKA! • Haptická zařízení a aplikace • nástroje a zařízení pro tvorbu aplikací využívajících hmatovou interakci
Obsah • Úvod • Grafika v MATLABu • Samostatně spustitelná aplikace • Matematika • Zpracování signálu • Zpracování obrazu • Návrh řízení • Seznámení s COMSOL Multiphysics
Co je MATLAB • Integrované prostředí pro vědeckotechnické výpočty • Mocné grafické a výpočetní nástroje • technické výpočty • analýza a vizualizace dat • vývoj a testování algoritmů • sběr a zpracování dat • zpracování signálů a obrazů • programování a tvorba uživatelských aplikací • 2D, 3D grafika a GUI designér
Co MATLAB nabízí? • Intuitivní uživatelské rozhraní MATLAB Desktop • Rychlé výpočetní jádro • Programovací jazyk 4. Generace • Více než 1 000 funkcí • Grafická uživatelská rozhraní (GUI) • RozsáhláHTML nápověda • Systém MATLAB je: • Modulární - toolboxy • Otevřený – uživatel může zobrazit i upravovat funkce • Od 2008a: • Objektově orientované programování
Co je Simulink • Základní nadstavba MATLABu • Prostředí blokových schémat • Prvky pro tvorbu diferenciálních rovnic • Modelování, simulace a analýza dynamických systémů • Platforma pro Model Based Design • následně může být automaticky generován kód pro cílovou platformu
Co Simulink nabízí? • Přehledné grafické uživatelské prostředí • systém práce "drag and drop„ • Hierarchické modelování využívající knihovny objektů a komponent • předdefinované knihovny bloků • tvorba vlastních funkčních bloků • Otevřené rozhraní pro tvorbu aplikací • začlenění kódu z programů MATLAB, C, Fortran • Hybridní simulace, simulace systémů s různými vzorkovacími frekvencemi, simulace víceúlohových (multi-task) systémů
Aplikace v reálném čase Blocksety (knihovny bloků) Simulink Simulace a modelování dynamických systémů Tvorba samostatných aplikací Toolboxy (knihovny funkcí) MATLAB Výpočty, programování, vizualizace... Struktura systému MATLAB
Oblasti využití systému MATLAB • Tradiční • Letectví, kosmonautika a obrana • Automobilový průmysl • Automatizace a strojírenství • Komunikace, elektronika, polovodiče a výpočetní technika • Školství • Nově vznikající • Biotechnologie, zdravotnictví a farmacie • Finance a ekonomika • Chemie a petrochemie • Přírodní vědy • Energetika a veřejné služby
vstupy výstupy řešení Tok informací a dat v MATLABu
Grafika v MATLABu • 2D • čárové spojnicové grafy • schodové grafy • bodové grafy • sloupcové grafy • 3D • čárové grafy v prostoru • plošné grafy • Objemová • vizualizace hodnot veličin v objemu • vizualizace vektorů veličin v objemu
Graphical User Interface (GUI) • Tvorba grafického rozhraní pro snadné ovládání algoritmů uživateli • Veškeré standardní ovládací prvky • tlačítko, slider, textové pole, editovatelné pole, seznam, menu … • Vhodné pro tvorbu stand-alone aplikací • GUIDE – editor pro tvorbu GUI • layout editor • m-file editor • property inspector • object browser • menu editor, toolbar editor
Matlab Compiler • Vytváří stand-alone aplikace z programů v MATLABU • Lze použít většinu výpočetních a grafických funkcí MATLABu včetně vlastního GUI • Aplikaci je pak možné distribuovat • k využívání aplikace není potřeba licence MATLABu – pokrývá licence MATLAB Compileru • v rámci komerční licence lze aplikaci zcela libovolně šířit • v rámci školní licence lze aplikaci šířit pouze bezplatně a musí být zajištěno její pouze nekomerční (školní) využití • ke spuštění aplikace není nutná instalace MATLABu (uživatel bez MATLABu musí mít nainstalován MCR)
Rozšíření MATLAB Compileru • MATLAB Builder EX • vytvoření samostatného doplňku pro Excel • Umožní začlenit do Excelu pokročilé algoritmy z MATLABu • MATLAB Builder JA • začlenění aplikace z MATLABu do programů v jazyce JAVA • MATLAB Builder NE • začlenění aplikace z MATLABu do programu vytvořením .NET nebo COM komponent • Šíření pokrývá licence na MATLAB Compiler • Uživatel bez MATLABu musí mít nainstalován MCR
Matematika • Řešení diferenciálních rovnic • MATLAB • COMSOL Multiphysics • Statistika a optimalizace • Statistics Toolbox • Optimization Toolbox • Symbolické výpočty • Symbolic Math Toolbox
Řešení ODE a PDE • ODE • základní nástroj pro řešení ODE je Simulink • výběr z několika řešičů různých řádů (typu Runge-Kutta, prediktor-korektor) • umožňuje řešit komplexní systémy s ODE včetně nelinearit, nespojitostí, ... • PDE • COMSOL Multiphysics • rozsáhlý modulární systém • řešení PDE ve 3D
Optimization Toolbox • Rozsáhlý soubor algoritmů pro optimalizaci • podmíněné, nepodmíněné, spojité i diskrétní úlohy • Umožňuje řešit: • lineární programování • kvadratické programování • nelineární optimalizace • nelineární metoda nejmenších čtverců • řešení soustav nelineárních rovnic • vícekriteriální optimalizace • Funkce do příkazové řádky • GUI
Symbolic Math Toolbox • Symbolické výpočetníjádro • Vnáší symbolické výpočty do numerického prostředí MATLABu • aritmetika s proměnnou přesností • kalkulus (derivace, integrály, limity, …) • lineární algebra (inverze, determinant, …) • řešení rovnic (algebraické, diferenciální) • transformace (Fourier, Laplace, Z)
Návrh řízení • Modelování regulačních schémat, optimalizace nastavení regulátorů, linearize modelů • Simulink • Simulink Response Optimization • Simulink Control Design • Analýza regulátorů a návrh pokročilých regulačních struktur • Control System Toolbox • Modelování událostně řízených systémů • Stateflow
Simulink • Základní nástroj pro návrh systémů řízení • Modelování dynamických soustav • lineárních • nelineárních • Návrh a modelování regulátorů • spojité • diskrétní • Propojením soustav s regulátory lze modelovat libovolné regulační smyčky
Simulink • Ke zjištění odezvy regulace lze využít bohaté knihovny vstupních signálů • přechodové charakteristiky • frekvenční odezvy • ... • Snadné modelování a porovnání různých variant řízení : • klasické regulace • dvoupolohová, PID, ... • obecné polynomiální regulátory • stavové regulátory • pozorovatelé, Kalmanovy filtry • ...
Simulink Response Optimization • Nástroj pro optimalizaci chování modelu systému • grafické rozhraní pro nastavení omezení signálu • volba měnitelných parametrů pro optimalizaci • převádí omezení v časové oblasti na optimalizační úlohu (numerické optimalizace) • využívá funkce Optimization Toolboxu • Nastavení parametrů regulátoru • optimalizace chování v uzavřené smyčce
Simulink Control Design • Návrh řídících systémů pro nelineární soustavy • Linearizace soustavy • Simulink linearization engine • výpočet pracovního bodu • specifikací • simulací • extrakce lineárního modelu ze Simulinkového schématu • Návrh regulátoru v Simuliku • volba bloku regulátoru pro ladění parametrů • spolupracuje s Control System Toolboxem
Control System Toolbox • Analýza regulačních obvodů • Modelování a analýza lineárních systémů v MATLABu • reprezentace v ss, tf, zpk • spojité i diskrétní • extrakce vlastností (póly, nuly, …) • časové a frekvenční odezvy • Návrh regulátoru • SISO Design Tool • volba zapojení • grafický a číselný návrh • automatické ladění • další funkce (LQG, Kalman) • V Simulinku blok LTI system
Stateflow • Modelování událostmi řízených systémů • Teorie konečných automatů • Stavový popis a vývojové diagramy • Začlenění událostmi řízené logiky • Intuitivní grafické uživatelské rozhraní • Plná integrace do modelů Simulinku • Stateflow Coder • Automatické generování kódu v jazyce C
Virtual Reality Toolbox • Zahrnutí virtuální reality do prostředí MATLABu a Simulinku • zobrazení „živé“ virtuální scény během simulace • Modely jsou ve VRML • určení parametrů které se zadávají z MATLABu či Simulinku • Součástí VR Toolboxu je VRML editor • Model ve VRML lze exportovat z CAD systémů
SimHydraulics SimMechanics SimDriveline SimElectronics SimPowerSystems Simscape MATLAB, Simulink Fyzikální modelování • Modelování skládáním bloků, které reprezentují prvky reálného světa • Propojení bloků signály s obousměrnou interakcí reprezentujícími tok energie • Propojení se Simulinkem přes bloky senzorů a akčních prvků • Blocksety: • Simscape • SimHydraulics • SimMechanics • SimDriveline • SimElectronics • SimPowerSystems
Simscape • Simscape obsahuje základní fyzikální prvky ze čtyř oblastí • mechanické prvky • hmota, pružina, tlumič • translace nebo rotace • hydraulické prvky • odporové potrubí, otvor, nádoba, hydromechanický převodník • elektronické prvky • odpor, kondenzátor, cívka, zdroj • tepelné děje • přenos tepla kondukcí, konvekcí, radiací
SimHydraulics • Modelování komplexních hydraulických soustav • Obsahuje prvky pro • hydromotory • ventily • potrubí • lokální odpory
SimMechanics • Modelování složitých kinematických soustav • Obsahuje bloky pro reprezentaci • těles a kloubů ve 3D • vazeb • silového působení • senzorů pohybu • 3D vizualizace ve spojení s Virtual Reality Toolboxem • Import CAD modelu do SimMechanics • MathWorks vyvíjí CAD pluginy které jsou integrované do CAD systémů
SimDriveline • Modelování rotačních mechanických soustav • Obsahuje bloky pro reprezentaci • momentu setrvačnosti • rozličných převodovek • prvků reálných automobilů • Nástroj je speciálně určený pro využití automobilovém průmyslu
SimElectronics • Modelování elektronických obvodů • Obsahuje bloky pro reprezentaci • napěťových a proudových zdrojů • pasivních prvků • polovodičů (diody, tranzistory) • senzorů • elektromotorů • Rozšíření o knihovnu SPICE kompatibilní prvků
SimPowerSystems • Zaměřeno na simulaci výkonové elektroniky a energetických systémů • Bloky pro reprezentaci • elektrických zdrojů a prvky • výkonová elektronika • elektrické stroje • měření • elektrické pohony, distribuované zdroje, transformátory, ... • spojité a diskrétní řízení, fázory, ...
Zpracování signálu a obrazu • Zpracování signálu v MATLABu • Data Acquisition Toolbox • Signal Processing Toolbox • Filter Design Toolbox • Zpracování signálu v Simulinku • Signal Processing Blockset • Zpracování obrazu v MATLABu • Image Acquisition Toolbox • Image Processing Toolbox • Zpracování videa v Simulinku • Video and Image Processing Blockset
Data Acquisition Toolbox • Připojení HW pro vstup a výstup dat • I/O karty do PC - Analogové i digitální porty • zvukové karty • Rozsáhlá podpora zařízení • http://www.mathworks.com/ products/daq/supportedio.html • Možnosti ovládání • příkazy z příkazové řádky MATLABu • GUI interface v MATLABu • bloky v Simulinku
Signal Processing Toolbox • Široký rozsah operací pro signal processing • návrh filtrů a filtrace signálů • diskrétní i analogové • filtry typu FIR a IIR • lineární transformace systémů • reprezentace systému jako přenos, stavový model, … • okna • spektrální analýza • transformace • Fourierova, Hilbertova, … • statistické zpracování signálu • korelace, kovariance, …
Signal Processing Toolbox • parametrické modelování • autoregresivní modelování • frekvenční odezva filtrů • lineární predikce • výpočet koeficientů • multirate zpracování signálů • tvorba signálů • periodické i aperiodické • Funkce jsou převážně m-file • lze měnit, přidávat vlastní kód, … • Příkazy příkazové řádky nebo GUI
Filter Design Toolbox • Rozšiřuje Signal Processing Toolbox • Pokročilý návrh, simulace a analýza filtrů • rozšíření návrhu FIR a IIR filtrů • adaptivní filtry • 30 různých algoritmů • multirate filtry • + Fixed Point Toolbox • rozšíření o návrh fixed-point filtrů • + Filter Design HDL Coder • genetování VHDL a Verilog kódu pro fixed-point filtry
Signal Processing Blockset • Simulace algoritmů pro zpracování signálů • filtrace • návrh digitálních a analogových filtrů • adaptivní filtry • transformace • Fourierova, cosinová, … • statistika • střední hodnota, rozptyl, korelace, histogram • spektrální odhad • Přináší Frame-based zpracování do Simulinku • + Real-Time Workshop • automatické generování C kódu
Image Acquizition Toolbox • Připojení HW pro získávání obrazu • web kamery • framegrabbery • Rozsáhlá podpora zařízení • http://www.mathworks.com/products/ imaq/supportedio.html • Možnosti ovládání • příkazy z příkazové řádky MATLABu • GUI interface v MATLABu • blok v Simulinku
Image Processing Toolbox • Soubor funkcí pro zpracování obrazu • prostorové transformace • změna velikosti, rotace • obecné transformace zdané maticí • lineární filtrace a návrh filtrů • 2D filtry • frekvenční transformace • Fourierova, cosinová, … • morfologické operace • dilatace, eroze • analýza a zlepšení obrázků • informace o pixelech, histogram • detekce okraje objektů, hran • zlepšení intenzity, odstranění šumu
Image Processing Toolbox • deblurring • barvy • redukce barev • konverze mezi barevnými prostory • RGB, indexová, šedá škála, černo-bílá • HSV, YIQ, YCbCr • čtení a zápis DICOM souborů • Funkce jsou většinou m-file • lze je zobrazit i editovat • Funkce příkazové řádky • GUI • sada modulárních nástrojů pro základní operace • Sekvence obrázků - video
Video and Image Processing Blockset • Zpracování obrazu v Simulinku • Vnáší čas do práce s obrázky video • Knihovny bloků • vstup a zobrazení videa • filtrace • geometrické a frekvenční transformace • morfologické operace • statistické funkce • analýza a vylepšení obrazu • + Image Acquisition Toolbox • zpracování živého videa • + Real-Time Workshop • automatické generování embedded C kódu
Aplikace v reálném čase • Testování algoritmů ve spojení s reálnými systémy (HIL simulace) • Tři úrovně Real-Time Aplikací • Přímo v Simulinku (bez RTW) • Real-Time Toolbox • Pod Windows na PC • Real-Time Windows Target • Na jiné platformě • xPC Target • systémy dSPACE • Automatické generování kódu pro aplikace v reálném čase • Real-Time Workshop
Real-Time Toolbox • Propojení Simulinku s okolním světem v reálném čase • založen na výkonném jádře reálného času • knihovna bloků umožňuje práci v reálném čase bez nutnosti použití dalších nástrojů • práce s externími analogovými a digitálními signály • podpora více než 300 typů I/O karet • vzorkovací frekvence až 1 kHz • Není potřeba Real-Time Workshop
Real-Time Workshop • Překlad modelů navržených v Simulinku a kódu z Embedded MATLABu do jazyka C • napojení výpočetního prostředí MATLAB & Simulink na veličiny reálného světa • univerzální zdrojový text • bohaté komentáře • optimalizace z hlediska rychlosti • možnost překladu do spustitelného kódu pro různé platformy • RTW Embedded Coder • pro využití v embedded zařízeních • optimalizace z hlediska velikosti • širší možnosti nastavení kódu
Real-Time Windows Target • Pro návrh a testování řídicích systémů • spouštění modelů vytvořených v Simulinku samostatně na platformě MS-Windows XP, Vista v reálném čase • začlenění digitálních i analogových I/O jednotek • podpora více než 300 typů I/O karet • DSP operace se vzorkovacím kmitočtem až 40 kHz • spustitelný kód generován Real-Time Workshopem • propojení se Simulinkem pro ladění parametrů bloků a zobrazení veličin v reálném čase • vhodné pro HIL simulace
Www zdroje informací • Internetové stránky • www.humusoft.cz • domovská stránka firmy Humusoft s.r.o. • www.mathworks.com • domovská stránka firmy The MathWorks, Inc. • MATLAB central • prostor pro vzájemnou komunikaci mezi uživateli a příznivci systému MATLAB/Simulink (otevřená platforma pro prezentaci vlastních aplikací, výměnu souborů, názorů i zkušeností) • www.mathworks.com/matlabcentral/
Www zdroje informací • Webové semináře (webinars) • on-line semináře zdarmaprobíhající na internetu v reálném čase v daný den a hodinu • videa webových seminářů, které již proběhli, jsou ke stažení • v angličtině (The MathWorks),češtině, slovenštině • přehled připravovaných a archiv uskutečněných webových seminářů • www.humusoft.cz/matlab/seminar.htm • Školení • Firma HUMUSOFT provádí školení na MATLAB, Simulink, Stateflow, Real Time Workshop, fyzikální modelování • zhruba 1x za dva měsíce, termíny jsou vyhlašovány 3 týdny předem • http://www.humusoft.cz/matlab/skoleni.htm