Rok / Year: Svazek / Volume: Číslo / Issue: 13 15 3 Softwarový doplněk pro zpracování náhodných signálů s využitím Skládaného histogramu v prostředí MATLAB R Software Tool for Stochastic Signals Processing Using a Stacked Histogram in MATLAB R Environment Karel Zaplatílek, Miroslav Talpa karel.zaplatilek@unob.cz, miroslav.talpa@unob.cz Univerzita obrany v Brně, Fakulta vojenských technologií, Katedra elektrotechniky Abstrakt: Článek je zaměřen na zpracování náhodných signálů pomocí původního, tzv. skládaného (stacked) histogramu. posloupnosti vzorků, jejichž hodnoty vykazují určité rozložení hustoty pravděpodobnosti, je obohacen o barevnou škálu, zachovávající informaci o pořadí vzorků ve zpracovávané posloupnosti. Obarvený histogram umožňuje detailní průzkum vývoje hustoty pravděpodobnosti v čase. Je vysvětlen princip tvorby skládaného histogramu a popsány jeho základní vlastnosti, přednosti a omezení. Pro testování je využit záznam reálného EKG kanálu. Abstract: This contribution is focused on stochastic signal processing using the Stacked histogram. A classical histogram of samples sequence is extended about a color scheme which defined sample position in original sequence. The colored histogram enables detailed research of the probability density in time evolution. The Stacked histogram creation is explained and its basic properties are described. The real EKG signal was used for testing
VOL.15, NO.3, JUNE 13 Softwarový doplněk pro zpracování náhodných signálů s využitím Skládaného histogramu v prostředí MATLAB Karel Zaplatílek, Miroslav Talpa Univerzita obrany v Brně, Fakulta vojenských technologií, Katedra elektrotechniky Email: karel.zaplatilek@unob.cz, miroslav.talpa@unob.cz Abstrakt Článek je zaměřen na zpracování náhodných signálů pomocí původního, tzv. skládaného (stacked) histogramu. posloupnosti vzorků, jejichž hodnoty vykazují určité rozložení hustoty pravděpodobnosti, je obohacen o barevnou škálu, zachovávající informaci o pořadí vzorků ve zpracovávané posloupnosti. Obarvený histogram umožňuje detailní průzkum vývoje hustoty pravděpodobnosti v čase. Je vysvětlen princip tvorby skládaného histogramu a popsány jeho základní vlastnosti, přednosti a omezení. Pro testování je využit záznam reálného EKG kanálu. 1 Úvod Jednou z klasických metod zpracování náhodných, resp. pseudonáhodných posloupností je tvorba histogramu. Histogram je grafickou reprezentací rozložení (distribuce) náhodných dat pomocí sloupcového (bar) grafu se sloupci stejné šíře, která vyjadřuje šířku zvolených intervalů (tříd). Výška sloupců vyjadřuje četnost (frekvenci) hodnot vzorků v daném intervalu [1]. Obrázek 1 ilustruje uvedené základy. Jde o posloupnost 9 vzorků s konstantní hodnou,5. Histogram je tvořen jedním sloupcovým grafem, jehož výška odpovídá počtu vzorků. Jak je zřejmé z obrázku 1, sloupcový graf není schopen zobrazit časový vývoj (trend) histogramu a dané testovací rozložení hustoty pravděpodobnosti ukazuje globální (výsledný, souhrnný) stav. Na obrázku je vidět základní koncepce tvorby skládaného (obarveného) histogramu. Každý, anebo jen vybraný, vzorek analyzované posloupnosti je obarven barvou ze zvolené barevné škály. Tato barva je potom zachována také při tvorbě histogramu. Vzniklé rozložení hustoty pravděpodobnosti (přesněji jeho odhad) tak umožňuje zhodnotit časový vývoj (trend) náhodného rozložení (rozdělení). Z obrázku je zřejmé, že všechna data měla stejnou hodnotu (informační přínos klasického histogramu) a že vzorky přicházely postupně od modrého (nejstaršího) po oranžový (nejmladší). Byla použita přirozená RGB barevná škála jet v prostředí MATLAB. Zajímavější informace poskytuje skládaný histogram při náhodně proměnných datech. Na obrázcích 3 a je vidět větší přínos barevné informace. Poloha prostředního vysokého sloupce na obrázku 3 dovoluje odhadnout při zvolené šířce intervalu (kategorie) střední hodnotu posloupnosti. Je samozřejmě možné výraznou střední hodnotu z analyzované posloupnosti jednoduše odstranit, avšak zde je využita pro vysvětlení principu. Barva jednotlivých ploch skládaného histogramu ukazuje stáří, tedy polohu vzorku v původní posloupnosti..5 8 6 - -1 1 3 Obrázek 1: Ilustrace k pojmu histogram posloupnosti.5 8 6 - -1 1 3 Obrázek : Skládaný (obarvený) histogram posloupnosti Je-li analyzovaná posloupnost dlouhá ve smyslu reálných záznamů, vynikne barevná informace ve skládaném histogramu výrazně více, jak dokládají obrázky 5 a 6. Je třeba poznamenat, že princip tvorby skládaného histogramu jsme publikovali v []. Důkladnou rešerší literatury a dalších informačních zdrojů se zdá, že jde o původní koncepci zvýšení informačního obsahu D grafu ve formě histogramu. V praxi používané obarvené histogramy mají odlišnou konstrukci, např. ve fotografii, kdy je histogram jednobarevný. 171
VOL.15, NO.3, JUNE 13.5.5 1.6.8.5.5.5 1 5.8.5.5.5 Obrázek 3: náhodně proměnných dat Obrázek 6: dlouhé posloupnosti Tvorba a vlastnosti skládaného histogramu.5 V této kapitole zopakujeme princip tvorby skládaného histogramu, publikovaný v [], avšak v jiné formě, vhodnější pro účely tohoto článku. Nastíníme také základní vlastnosti, resp. přednosti a omezení při praktickém nasazení. Čtení dat Tvorba barevné škály Příkaz colormap command.6.8.5.5.5 Obrázek : náhodně proměnných dat.5 1 5 1.6.8.5.5.5 Obrázek 5: dlouhé posloupnosti Tvorba speciální matice (numerický portrét Skládaného histogramu) Kreslení skládaného histogramu Původní postup Původní postup Obrázek 7: Blokové schéma tvorby skládaného histogramu Na obrázku 7 je uveden zjednodušený postup tvorby skládaného histogramu (příkaz colormap je vestavnou funkcí systému MATLAB). Klíčovou je tvorba barevné škály. Její délka a barevný obsah patří k velmi důležitým parametrům, které ovlivňují dobu zpracování a zohledňují lidský faktor (barevné rozlišení, vnímání barvy obecně). V prostředí systému MATLAB lze barevnou škálu délky N, tedy matici rozměru Nx3, tvořit také ručně s využitím příkaz colormapeditor. Jeli délka analyzované posloupnosti rozumná, tedy přibližně do 56 vzorků, lze s úspěchem obarvit každý její vzorek. Při delších posloupnostech je možné využít tyto postupy: obarvení pouze vybraných vzorků, obarvení určitého intervalu vzorků stejnou barvou, využití techniky okénkování (obarvení okna dané délky). 17
VOL.15, NO.3, JUNE 13 Některé tyto techniky byly podrobněji ukázány v []. Vždy je nutné respektovat konkrétní podmínky. Obecně je věda o barvách rozsáhlým oborem, který přesahuje záměry tohoto článku [3], []. Při tvorbě skládaného histogramu může uživatel ovlivňovat zejména tyto parametry: počet kategorií (počet intervalů hodnot) histogramu, délku a parametry barevné škály, způsob kreslení skládaného histogramu. Aby byla zachována dobrá čitelnost barevné informace, je vhodné, kromě vlastní barevné škály, volit vhodný způsob kreslení histogramu. Po mnoha experimentech se přikláníme ke kreslení klasickými obdélníky. V prostředí MATLAB se k tomuto účelu nabízí funkce rectangle. Na obrázcích 8 a 9 jsou uvedeny výpisy zdrojových textů pro definici klíčových proměnných a kreslení barevných obdélníků histogramu (poslední parametr příkazu rectangle na obrázku 8 je číslo jedna). Obrázek 1: Speciální matice jako předobraz histogramu Souhrnně lze přednosti a nedostatky skládaného histogramu shrnout takto: výrazně vyšší informační hodnota histogramu, možnost výzkumu časového vývoje (trendu), snadná detekce poruch rozložení pravděpodobnosti a její přesná lokalizace v původní posloupnosti, odhalení skrytých modulací a šumu, možnost vizuálního sledování analyzovaného děje. vyšší časové nároky aplikace, potřeba respektovat barevné rozlišení a čitelnost barev, vhodné zejména pro náhodná data. Obrázek 8: Definice základních proměnných v MATLAB Aby mohl skládaný histogram pomoci při analýze konkrétních dat a doplnit tak informaci z časového (originálního) průběhu, je vhodné jej aplikovat zejména na náhodná a dlouhá data a také tam, kde je určitá informace skrytá v šumu. Ukazuje se, že zejména možnost vizuálního sledování časových trendů je výrazným přínosem, stejně jako odhalení, resp. časová lokalizace příčiny poruch, např. v průmyslu. 3 Aplikace s využitím reálných EKG dat Obrázek 9: Část kódu pro kreslení barevných obdélníků Aby bylo možné doplnit barevnou informaci do histogramu, používáme k tomu původní tvorbu tzv. speciální matice, viz obrázek 7. Tato matice má při výpisu shodný tvar s budoucím histogramem. Její jednotlivé hodnoty označují pořadové číslo vzorku ve své původní posloupnosti a tedy současně číslo řádku v barevné škále, viz příklad na obrázku 1. Konstrukce takové matice výrazně urychluje následné kreslení, které jediné výrazněji omezuje rychlost kódu. Na tuto rychlost má výrazný vliv zejména: délka analyzované posloupnosti, délka barevné škály, způsob kreslení barevné informace. Rychlost výsledného kódu může být výrazně zvýšena tím, že se namísto běžné interpretované aplikace použije její zkompilovaná varianta. V systému MATLAB to znamená mít licenci na knihovnu MATLAB Compiler TM. V této kapitole demonstrujeme význam barevné informace v histogramu na příkladu jednoho reálného EKG záznamu, poskytnutého Ústavem biomedicínského inženýrství FEKT VUT v Brně, viz obrázek 11. Obrázek 11: Záznam reálného EKG signálu (jeden kanál) Záznam na obrázku 11 je nevhodný pro zpracování histogramem, neboť obsahuje výraznou střední hodnotu (mezery mezi piky). Je tedy třeba záznam nejprve předzpracovat, tedy 173
VOL.15, NO.3, JUNE 13 odstranit střední hodnotu a vyfiltrovat výrazné piky (zázněje). Mimoto je však třeba rozhodnout, jakou informaci je třeba zobrazit. V našem případě jsme volili nikoliv maximální hodnoty piků, ale jejich vzdálenost, tedy variabilitu srdečního rytmu. Na svislé ose originální posloupnosti je tedy okamžitá vzdálenost mezi sousedními vzorky, která se samozřejmě náhodně mění. Podrobněji o této problematice v [5]. Na obrázku 1 uvádíme pro doplnění příklad výrazných změn v originální posloupnosti..5.5 6 1.5.5.56.58 1 8 6.5.6.7.8.9 Obrázek 1: Výrazná změna v originální posloupnosti Závěr Obrázek 1: EKG dat Na obrázku 1 je skládaný histogram reálné předzpracované posloupnosti EKG dat s větším počtem vzorků. Histogram ukazuje, že se hustota pravděpodobnosti blíží rovnoměrného rozložená a ukazuje navíc časový vývoj rozložení. V rozložení se však v praxi mohou vyskytnout různé poruchy, jak ukazuje obrázek 13, kdy má histogram pro ilustraci zvolen větší počet kategorií (namísto zde 35). V článku jsou ukázány tvorba a aplikace tzv. skládaného histogramu, tedy histogramu, který je obohacen o barevnou informaci, určující pořadí vzorů v analyzované náhodné posloupnosti. Je vysvětlen princip tvorby histogramu a jeho barevné škály s využitím prostředí MATLAB. Vlastnosti skládaného histogramu jsou vysvětleny pomocí jak testovacích, tak i reálných dat s využitím jednokanálového záznamu EKG signálu. Účelem článku není hodnocení obsahu EKG dat, nýbrž poukázat na výrazné obohacení, kterým barevná složka v histogramu může být. Všechny algoritmy a aplikace jsou původní a originální. Poděkování.5 1 Naše poděkování náleží panu doc. Ing. Jiřímu Kozumplíkovi, CSc, z UBMI FEKT VUT v Brně za poskytnutí reálných záznamů EKG. Článek vznikl za podpory projektu PRO-K17 na Univerzitě obrany v Brně. MATLAB je registrovanou ochrannou známkou společnosti The MatkWorks. Inc. Literatura.5.5.5.56.58.6 Obrázek 13: EKG dat Je zřejmé, že v rámci urychlení není vždy třeba obarvovat originální posloupnosti, zde uvedeno pouze pro pochopení principů. Hlavní význam při zpracování podobných záznamů tkví v detekci skrytých signálů a jejich rozložení, které není patrné z průběhu originálních posloupností. [1] BUDÍKOVÁ, M., KRÁLOVÁ, M., MAROŠ, B. Průvodce základními statistickými metodami. 1. vyd. Grada, 1. [] TALPA, M., ZAPLATILEK, K. Histogram with Higher Informative Ability. Elektrorevue, 1/6. [3] PARRAMÓN, J.M. Teorie barev.. vyd. Nakladatelství Vašut,. [] MOLLICA, P. Color Theory. Walter Foster Publishing, 13. [5] DRKOŠOVÁ, A., KOZUMPLÍK, J. Znázornenie variability srdcového rytmu. Elektrorevue, 13/18. 17