Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky Semestrální práce KMA / MM Waveletová transformace Plzeň, 005 Lukáš Bellada
Abstrakt In this paper I will describe signal processing by wavelet transformation (WT) in engeneering approach with partial mathematical and historical background. This document contains introduction of new admissions and WT comparing with other transformation methods such as FFT and STFT. Keywords Transformace, zpracování signálů, wavelet, FT, FFT, STFT, WT, CWT, Fourier, Heisenberg.
Úvod Co je to signál a proč ho transformujeme? Signál je matematickým modelem jistého objektu, například fotografie je D stacionární signál reprezentující 3D scénu, záznam EKG je 1D nestacionární signál reprezentující rytmus srdce, a podobně. Tyto signály transformujeme z mnoha důvodů, jako jsou například komprese signálu, zvýraznění / potlačení určitých vlastností signálu, zjištění dalších užitečných informací o signálu (spektrum), na základě kterých můžeme provádět například klasifikaci. Co je to waveletová transformace? Waveletová (vlnková) transformace, dále jen WT, je poměrně nový koncept přibližně z 90. let minulého století. WT byla vyvinuta jako další (propracovanější) alternativa k STFT (Short Time Fourier Transformation), která poskytuje časově frekvenční reprezentaci signálu, WT však v mnoha ohledech převyšuje její rozlišovací schopnosti. Podrobnosti a porovnání jsou uvedeny v odstavcích (WT a STFT). Aplikační oblast WT je velmi široká, užívá se ke zpracování a analýze různorodých signálů a dat (telekomunikace, biomedicína, seismika, komprese dat, aproximace funkcí, numerické řešení diferenciálních rovnic,...). Historický vývoj WT Obr. P1.0: Baron Jean Baptiste Joseph Fourier Na přelomu 18. a 19. století francouzský matematik Joseph Fourier, viz obr. P1.0, položil základy modernímu zpracování a analýze signálů. Fourier představil koncept, podle kterého lze každou funkci, včetně nespojitých, vyjádřit jako samostatný analytický výraz, viz níže. Základní úlohou Fourierovy analýzy je k dané periodické funkci f ( x), x (, ) určit frekvence harmonických složek ω k, amplitudy harmonických složek r k a fáze v k harmonických složek. U úlohy Fourierovy syntézy se jedná o zpětnou transformaci, kdy z koeficientů r,ω, v rekonstruujeme původní funkci (původní signál), která je součtem řady r sin( ω x + ). k k = 0 k k k k v k f ( x) a πkx πkx 0 + ( ak cos + bk sin ) = rk sin( ωk x + vk ) k= 1 T T k= 0 3
Příklad: Funce f(x) = cos(π 10x) + cos(π 5x) + cos(π 50x) + cos(π 100x) na obrázku F1.1 a její spektrální analýza provedena algoritmem Fourierovy rychlé transformace (FFT), viz obr. F1.. Obr. F1.1: f(x) Obr. F1.: Spektrum f(x) Spektrální analýzou tedy zjistíme přítomnost určitých frekvencí vyskytujících se v signálu a míru jejich zastoupení. Otázkou je, jakých výsledků dosahuje Fourierova analýza pro nestacionární 1 signály. Frekvenční obraz nestacionárního signálu má jednu velkou nevýhodou, nikdy se nedozvíme, ve kterém čase nebo časovém intervalu se vyskytla jaká frekvence. Z tohoto také vyplívá nemožnost rekonstrukce nestacionárního signálu z jeho frekvenčního obrazu (spektra), viz následující příklad. Obr. F1.3: chirp(x) Obr. F1.4: Spektrum chirp(x) Z předešlých obrázků je vidět, že Fourierova transformace (analýza) je vhodný nástroj pro studium a popis stacionárních signálů, pro popis nestacionárních signálů se však příliš často nehodí, proto se zavádí tzv. STFT (Short Time Fourier Transformation) krátkodobá (též okénková) Fourierova transformace, která poskytuje časově frekvenční reprezentaci signálu, jejímž dalším vylepšením je kýžená wavaletová transformace. 1 Takový signál y = y(t), pro který neplatí, že všechny frekvence (spektrum) se vyskytují ve všech časech t. Vhodné a jednoduché, pokud nás zajímájí pouze výskyty určitých frekvencí (identifikace řečníka), viz doplňující texty. 4
STFT Rozdíl mezi klasickou Fourierovou transformací a STFT je v tom, že transformovaný signál je rozdělen do menších segmentů (okének), ve kterých se předpokládá stacionarita signálu. Z tohoto důvodu se zavádí tzv. okénková funkce W, jejíž šířka musí být rovna délce segmentu, ve kterém se stacionarita signálu předpokládá. Obr. F1.5: Znázornění okénka Obr. F1.6: Výstup STFT STFT ( t, w X t Kde x(t) je signal sám a w(t) je okénková funkce. f ) = [ x( t) w( t t') ] e jπft Podívejme se nyní na následující příklad a diskutujme dosažené výsledky. Příklad : Tento příklad je ze sbírky ukázkových příkladů Dr.Robiho Polikara [Pol01]. dt Obr. F.1: Uvažovaný signál f(t) Obr. F.: Okénková funkce w(t) Kde okénková funkce w(t) je Gaussova funkce s parametrem a, viz obr.f.. w( t) = e a t 5
Obr. F.3: STFT (a=0.001) Obr. F.4: STFT (a=0.0001) Z výše uvedených obrázků F.3 a 4 je patrná nevýhoda STFT, při použití úzkého okénka má STFT dobré rozlišovací schopnosti v časové oblasti, ve frekvenční oblasti podstatně horší. Při použití širokého okénka má STFT dobré rozlišovací schopnosti ve frekvenční oblasti, v časové oblasti špatné. Toto nás vede k zamyšlení, zdali je možné získat přesný popis signálu, tzn. perfektní rozlišení v časové a frekvenční oblasti. Odpověď na tuto otázku dává Heisenbergův princip neurčitosti. Heisenbergův princip neurčitosti Podle principu neurčitosti dvojice "konjugovaných" proměnných (jako je poloha a hybnost nebo energie a čas) nelze měřit se stejnou přesností ve stejný okamžik, neboť nemají v daný okamžik stejně definované hodnoty. Je tedy možné se alespoň přiblížit? Odpověď zní za jistých okolností ano analýzou s více úrovněmi rozlišitelnosti (tzn. nejenom WT). Shrnutí Předešlý text byl stručný pohled do historie, vývoje a metod zpracování signálů. Zároveň je motivací pro studium nových technik a uvádí nás do problematiky WT, která co možná nejlépe odstraňuje zmíněné nedostatky STFT. V dalším textu se nadále budu věnovat výhradně teorii a aplikacím WT. 6
Waveletová transformace Úvod WT patří do třídy MRA (Multi Resolution Analysis) nástrojů pro zpracování zejména nestacionárních signálů. MRA dává dobré časové a špatné frekvenční rozlišení pro vysoké frekvence a naopak. Takovýto přístup má smysl, pokud zpracovávaný signál obsahuje vysokofrekvenční komponenty po krátkou dobu trvání a nízkofrekvenční komponenty po dlouhou dobu trvání, jako na obrázku W1.0. Kupodivu je v přírodě takovýchto signálů nemalé množství. Obr. W1.0: Příklad signálu [Pol01] Spojitá waveletová transformace (CWT) Značení: R R C - reálná čísla, - reálná čísla bez nuly, - komplexní čísla, A B - zobrazení množiny B do množiny A, Av( ) - operátor střední hodnoty, fˆ - fourierův obraz funkce f, - prostor (měřitelných) funkcí integrovatelných na R ( L ( R ) ) L s kvadrátem (normou L tvoří tzv. Hilbertův prostor, ). To znamená, že - norma Hilbertova prostoru. L I f ( x) dx. Poznámka: L ( R ) 7
Definice: Mateřský wavelet (analyzující wavelet) je nekonstantní (netriviální) funkce L, s následujícími vlastnostmi: > 0, Av ( ) = 0. Tyto dva základní požadavky na mateřský wavelet říkají, že wavelet (vlnka) musí být tlumený kmit, viz níže uvedené příklady mateřských waveletů [wav 10]. Pro mateřský wavelet L a ( a, b) R R definujeme dceřiný wavelet jako: kde parametr 1 x b ( x) = ( ) a a ab, a respektive b je ve smyslu dilatace resp. translace. Výraz 1 / a je zde v normalizačním významu tzn. zajišťuje stejnou energii waveletu pro všechny dilatace. Spojitá waveletová transformace (CWT) funkce f L s ohledem na, je definována přiřazením T f : R R a C a přiřazujícím předpisem: T f ( a, b) : = f ( x) ab ( x) dx Pro konkrétní hodnotu ( a, b) R R se obecně komplexní číslo f ( a, b) nazývá waveletový koeficient funkce f v bodě ( a, b), zkráceně píšeme. Operátor spojité waveletové transformace, s ohledem na mateřský wavelet, je pak dán následujícím integrálním operátorem T. T : L a C Tento výraz říká, že integrální transformace R R každé funkci (prostor) komplexních čísel vymezenou kartézským součinem c a, b T R R. Vlastnosti integrální transformace (operátoru) T T je operátor: T f L přiřazuje množinu prostý (injective), vázaný (bounded), lineární (linear), invariantní vůči posunu a natažení (Trans. and Dilatation invariant). Důkaz injektivnosti, vázanosti a linearity, viz [Köl93]. Důkaz invariance vůči posunutí a natažení je uveden níže. 8
Invariantnost vůči posunu (translaci) DK[Köl93]. [ T = f ( x 0 )]( a, b) = y + x f ( y) ( a 0 f ( x x b ) dy = T 0 ) ab ( x) dx = f ( a, b x Invariantnost vůči translaci říká, že výsledek T na f posunutou o x0 je stejný jako výsledek T f a, b x ). ( 0 0 ). Invariantnost vůči natažení (dilataci) DK[Köl93]. [ T f ( c)]( a, b) = f ( xc) 1 x b ( ) dx = a a = = c f ( y) c 1 a f ( x) y b c 1 dy = a c 1 y bc ( ) dy = ac ac Invariantnost vůči dilataci říká, že výsledek ( c / c) T f ( ca, cb). c c T f ( ca, cb). T na f ( c) je stejný jako výsledek Waveletová báze, waveletová řada Stejně jako každá funkce f (x) je dána součtem své fourierovy řady ve své spočetné ortonormální bázi (odvozena z harmonických kmitů), je každá funkce součtem své wavaletové řady ve své vhodné spočetné bázi tvořené jednou funkcí L (mateřský wavalet). Je zřejmé, že L má konečnou energii na ohraničeném intervalu, nestačí tudíž generovat bázi pouze změnou měřítka ale i tento wavelet posouvat tudíž nabývá významu definice dceřiného waveletu. 9
Waveletovou bázi pak můžeme vyjádřit jako spočetný, celými čísly indexovaný systém : a a x b { a, b} a, b Z : a a ( x) =, b a. Tento bázový systém určitě není jediný, je však výhodný pro zkoumání signálů, protože: perioda (délka cyklu) signálu je nepřímo úměrná frekvenci, proto potřebná velikost okna pro zachycení vysokofrekvenční složky je menší, nežli pro zachycení složky nízkofrekvenční, což nám přesně umožňuje tento bázový systém. V každé úrovni výpočtu exponenciálně zvětšujeme počet okének (zjemňujeme krok), ve kterých signál zkoumáme. Vlastnosti této báze budou velmi hezky vidět na uvedených příkladech. Z vlastností této wavaletové báze budu v další části dokumentu nadále vycházet. Funkce f (x), jako součet své waveletové řady: a, b= f ( x) = c a, b a, b ( x), kde c, je wavaletový koeficent v bodě ( a, b) a { c je tzv. wavaletové spektrum a b funkce f (x). a, b} a, b Z Časově frekvenční spektrální charakteristika CWT Jak bylo zmíněno výše, je požadavek flexibilního časového okna pro zkoumání signálů smysluplný. S rostoucím parametrem a se šířka okna zmenšuje, tím pádem je samozřejmostí zjemňovat krok b (posun) tak, aby nevznikaly časové díry, viz waveletová báze. Navíc se dá ukázat, že s rostoucím a střední frekvence spektra spolu s šířkou pásma ˆ a,b roste. Aby a, b byly využitelné pro časově-frekvenční analýzu, vzniká požadavek dobré časové i frekvenční lokalizace současně, což je podle Heisenbergova principu neurčitosti protichůdný požadavek. Je tedy nutné aby wavelet a,b i ˆ a, b byly silně tlumené, tzn. rychle konvergovaly k 0 pro t, f ±. Navíc pro a,b a ˆ a, b musíme být sto najít jejich střed a šířku, abychom mohli definovat časovou a frekvenční rozlišitelnost. 10
Definice: Nenulová funkce ω( t) L se nazývá okénková funkce, jestliže pro ni platí, že: tω ( t) L. Střed 3 4 okénkové funkce t a poloměr definujeme následovně: ω t t 1 = ω( t) dt ω, 1 ω = ( t t ) ω( t) dt. ω Šířku okna pak můžeme vyjádřit, jako. ω V dalším textu bude ve významu okénkové funkce mateřský, respektive dceřiný wavelet. Zřejmě platí, že t L. Substitucí funkce ω ( t) = a, b ( t) v předešlých integrálech obdržíme střed vyjádřený jako b + at a poloměr okénkové funkce jako a. ω Waveletová transformace tedy lokalizuje signál f (t) v časovém okně TW TW = [ b + at a ; b + at + a ]. ω ω 5 : Obdobným způsobem definujeme stejné vlastnosti ve frekvenční oblasti (Besselova- Parsevalova identita) pro ˆ ω ( t) L a získáváme frekvenční okno FW 6 : FW f = a kde f, vyjadřuje střední hodnotu frekvence, respektive poloměr (směrodatnou ˆ odchylku) frekvenčního spektra. Celkem tedy waveletová transformace lokalizuje signál v časově-frekvenčním okně daném kartézským součinem: ˆ a ; f a [ TW FW ]. + ˆ a, 3 Ve statistice střední hodnota. 4 Ve statistice směrodatná odchylka. 5 TW = Time Window (časové okno). 6 FW = Frequency Window (frekvenční okno). 11
Spojitá waveletová transformace v praxi Algoritmus CWT 1. Zvolíme mateřský wavelet, resp. dceřiný wavelet a nastavíme počáteční podmínky (a, b, meze signálu).. Provedeme výpočet transformace T ( ) pro zvolený faktor dilatace a a všechny posuny b. posun okna c a, b 3. Provedeme změnu faktoru dilatace (postupujeme od jemnějšího k hrubšímu) a a opakujeme od bodu. 4. Pokud jsme dosáhli požadované dilatace a končíme, jinak pokračujeme bodem 3. Ukázka výstupu CWT (funkce z obr. W1.0) Obr. W1.1: Ukázka výstupu CWT 1
Ukázky používaných mateřských waveletů Obr. W1.: Ukázka mateřských waveletů 13
Aplikační oblast WT Aplikační oblasti WT a příklady užití této transformace budou hlavním tématem připravované prezentace, která bude sloužit jako doprovodný materiál k tomuto textu, jehož součástí bude uvedena možnost klasifikace patologických jevů z EEG signálu za pomocí WT apod. Závěr Waveletová transformace je poměrně moderní nástroj pro analýzu a zpracování signálů, který je vhodný zejména pro studium jejich lokálních vlastností. Dobrou myšlenkou se zdá užití waveletové transformace například k filtraci dat (adaptivní filtry), kompresi dat (diskrétní verze CWT - DWT), zkoumání soběpodobnosti (fraktály, fraktální struktury) a v mnoha dalších oblastech, jejichž výčet a popis by jistě zabral mnoho dalších stran. 14
Reference: [SteMal89] [Köl93] [Ves97] [Hrd97] [Šmí01] A Theory for Multiresolution Signal Decomposition - The Wavelet Representation, STEPHANE G. MALLAT, 1989. Wavelets. A tutorial and bibliography, Dietrich Kölzov, Matematische institut Enralgen (Germania). Wavelety a jejich použití při filtraci dat, Vítězslav Veselý, JČMF, 1997. Signály a soustavy, Doc. Ing. Zdeněk Hrdina, CSc, 1997. Úvod do vlnkové transformace, Radislav Šmíd ČVUT FEL KM, 001. [Pol01] THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS, The Wavelet Tutorial, Robi Polikar, 001. [ResWel01] Wavelet Analysis: The Scalable Structure of Information, H. L. Resnikoff, Raymond O. Wells, 001. [MatWav05] Matlab 7.0 wavelet toolbox help, 005. 15