Rok / Year: 2013
Svazek / Volume: 15
Číslo / Issue: 3
Softwarový doplněk pro zpracování náhodných signálů s využitím Skládaného R histogramu v prostředí MATLAB○ Software Tool for Stochastic Signals Processing Using a R Stacked Histogram in MATLAB○Environment Karel Zaplatílek , Miroslav Talpa
[email protected],
[email protected] 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. Klasický histogram 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 2013
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:
[email protected],
[email protected]
Abstrakt – Článek je zaměřen na zpracování náhodných signálů pomocí původního, tzv. skládaného (stacked) histogramu. Klasický histogram 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.
Hodnoty
Originální data 0.5
Frekvence
2
1 Úvod
6 k [-] Klasický histogram
-1
0 1 Kategorie
8
2
3
Obrázek 1: Ilustrace k pojmu histogram posloupnosti
Hodnoty
Originální obarvená data 0.5
2
Frekvence
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 0,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 2 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 4 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.
8 6 4 2 0 -2
4
8 6 4 2 0 -2
4
6 k [-] Skládaný histogram
-1
0 1 Kategorie
8
2
3
Obrázek 2: 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 [2]. 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 2D 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 2013 Originální obarvená data Hodnoty
Hodnoty
Originální data 0.5
4
6 k [-] Klasický histogram
8
200
Frekvence
Frekvence
2
4 2 0 0.46
0.48
0.5 Kategorie
0.52
600 k [-] Skládaný histogram
800
1000
50 0.48
0.5 Kategorie
0.52
0.54
Obrázek 6: Skládaný histogram dlouhé posloupnosti
2 Tvorba a vlastnosti skládaného histogramu
Originální obarvená data Hodnoty
400
100
0
0.54
Obrázek 3: Klasický histogram náhodně proměnných dat
V této kapitole zopakujeme princip tvorby skládaného histogramu, publikovaný v [2], 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í.
0.5
2
Frekvence
0.5
4
6 k [-] Skládaný histogram
8
Čtení dat
4
Tvorba barevné škály
2 0 0.46
0.48
0.5 Kategorie
0.52
Příkaz colormap command
Tvorba speciální matice (numerický portrét Skládaného histogramu)
0.54
Původní postup
Obrázek 4: Skládaný histogram náhodně proměnných dat Kreslení skládaného histogramu
Hodnoty
Originální data
Obrázek 7: Blokové schéma tvorby skládaného histogramu 0.5
200
Frekvence
Původní postup
400
600 k [-] Klasický histogram
800
1000
100 50 0
0.46
0.48
0.5 0.52 Kategorie
0.54
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 256 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).
Obrázek 5: Klasický histogram dlouhé posloupnosti
172
VOL.15, NO.3, JUNE 2013
Některé tyto techniky byly podrobněji ukázány v [2]. 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], [4]. 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 10: 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 10. 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:
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.
● délka analyzované posloupnosti, ● délka barevné škály, ● způsob kreslení barevné informace.
Obrázek 11: Záznam reálného EKG signálu (jeden kanál)
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® CompilerTM.
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 2013
Na obrázku 14 uvádíme pro doplnění příklad výrazných změn v originální posloupnosti. Originální obarvená data Zpoždění
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]. Originální obarvená data
0.5
0.5
Frekvence
200
400
600 k [-] Skládaný histogram
800
Frekvence
Zpoždění
200
1000
60 40 20 0.52
0.54 0.56 Kategorie
Na obrázku 12 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 20 zde 35). Originální obarvená data Zpoždění
0.7 Kategorie
800
0.8
1000
0.9
4 Závěr
0.58
Obrázek 12: Skládaný histogram EKG dat
200
400
600 k [-] Skládaný histogram
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í
0.5
800
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-K217 na Univerzitě obrany v Brně. MATLAB® je registrovanou ochrannou známkou společnosti The MatkWorks. Inc.
1000
40 20 0
0.6
600 k [-] Skládaný histogram
Obrázek 14: Výrazná změna v originální posloupnosti
0
Frekvence
80 60 40 20 0 0.5
400
Literatura 0.5
0.52
0.54 0.56 Kategorie
0.58
0.6
Obrázek 13: Skládaný histogram 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, 2010. [2] TALPA, M., ZAPLATILEK, K. Histogram with Higher Informative Ability. Elektrorevue, 2010/62. [3] PARRAMÓN, J.M. Teorie barev. 2. vyd. Nakladatelství Vašut, 2002. [4] MOLLICA, P. Color Theory. Walter Foster Publishing, 2013. [5] DRKOŠOVÁ, A., KOZUMPLÍK, J. Znázornenie variability srdcového rytmu. Elektrorevue, 2013/18.
174