Měření zpoždění mezi signály EEG
Transkript
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA ELEKTROTECHNICKÁ Měřenı́ zpožděnı́ mezi signály EEG Ondřej Drbal Vedoucı́ diplomové práce: Doc. Ing. Roman Čmejla, CSc. katedra Teorie obvodů rok obhajoby 2004 Zadánı́ diplomové práce školnı́ rok 2003/2004 Diplomant: Ondřej Drbal Obor: Elektronika, 5. ročnı́k Název tématu: Měřenı́ zpožděnı́ mezi signály EEG Measurement of delay between EEG Zásady pro zpracovánı́: 1. Seznamte se s problematikou analýzy EEG 2. Použijte korelačnı́ funkce, DFT spektra a parametrické metody pro měřenı́ zpožděnı́ na simulovaných i přirozených signálech 3. Proved’te vyhodnocenı́ dosažených výsledků včetně přesnosti metod a jejich omezenı́ Vedoucı́ diplomové práce: Doc. Ing. Roman Čmejla, CSc. Oponent: Prof. Ing. Pavel Sovka, CSc. i Čestné prohlášenı́ Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užitı́ tohoto školnı́ho dı́la ve smyslu §60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejı́cı́ch s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 15. ledna 2004 .................................. podpis ii Abstrakt Cı́lem této práce je vytvořit přehled a popis možných metod pro měřenı́ zpožděnı́ mezi signály EEG a otestovat jejich funkčnost a parametry. EEG dává určitou představu o tom, co se děje v lidském mozku, který je nejsložitějšı́m orgánem lidského těla. Měřenı́ zpožděnı́ mezi signály EEG může být použito pro určenı́ toho, jak se vyvı́jı́ epileptický záchvat, popř. lokalizaci mı́sta v mozku, které epileptický záchvat vyvolalo. Pro tyto účely je třeba poměrně vysoká přesnost určenı́ zpožděnı́ mezi jednotlivými signály. Proto jsem se v této práci snažil o zdokonalovánı́ jednotlivých metod a o návrh lepšı́ch a kvalitativně přesnějšı́ch algoritmů. V práci jsou popsány tři základnı́ algoritmy. Jsou to korelačnı́ funkce, metoda vzájemné fáze a metoda autoregresnı́ch modelů. Abstract The aim of this project is to make a report and a description of various methods for measurement of delay between EEG and to test their reliability performance and parameters. EEG is making a conception about proceses in a human brain, that is the most complex organ of human body. The measurement of delay between EEG could be used for purpose how is developing the epileptic attack, or for localization of position in brain, which evokes an epileptic attack. For this purposes is needed relatively high precision identification of delay between individual signals. I tried therefore in this project to improve of individual methods and to design better and qualitative more precise algorithms. There are described three methods of basic algorithms in this project. These are correlation function, method of cross phase and method of autoregresive models. Obsah Zadánı́ diplomové práce i Čestné prohlášenı́ ii Abstrakt iii 1 Úvod 1 1.1 Cı́l práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Úvod do problematiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Teorie a seznámenı́ s EEG 2.1 2.2 3 Měřenı́ EEG signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 Elektrická aktivita neuronových polı́ . . . . . . . . . . . . . . . . . . . 3 2.1.2 Použitı́ elektrod k měřenı́ . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.3 Model elektrody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.4 Zapojenı́ elektrod na skalpu . . . . . . . . . . . . . . . . . . . . . . . . 5 Zpracovánı́ EEG signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Rozdělenı́ na frekvenčnı́ pásma . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Základnı́ aktivita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.3 Signál EEG při epileptickém záchvatu . . . . . . . . . . . . . . . . . . 8 3 Zpracovánı́ signálů 3.1 10 Rozdělenı́ signálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.1 Signály spojité a diskrétnı́ . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.2 Signály deterministické a náhodné . . . . . . . . . . . . . . . . . . . . 10 3.1.3 Signály stacionárnı́ a nestacionárnı́ . . . . . . . . . . . . . . . . . . . . 11 3.1.4 Signály ergodické a neergodické . . . . . . . . . . . . . . . . . . . . . . 11 3.1.5 Signály periodické a neperiodické . . . . . . . . . . . . . . . . . . . . . 11 3.1.6 Signály harmonické a komplexnı́ periodické . . . . . . . . . . . . . . . 11 iv Obsah Obsah 3.1.7 Signály téměř periodické a tranzientnı́ . . . . . . . . . . . . . . . . . . 12 3.1.8 Signály energetické a výkonové . . . . . . . . . . . . . . . . . . . . . . 12 Korelačnı́ funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.1 Autokorelačnı́ funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.2 Vlastnosti korelačnı́ a autokorelačnı́ funkce . . . . . . . . . . . . . . . 13 3.3 Fourierova řada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4 Fourierova transformace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5 Diskrétnı́ Fourierova řada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.6 Diskrétnı́ Fourierova transformace . . . . . . . . . . . . . . . . . . . . . . . . 15 3.7 Rychlá Fourierova transformace . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.7.1 Vlastnosti Fourierovy transformace . . . . . . . . . . . . . . . . . . . . 15 3.7.2 Filtrace v kmitočtové oblasti pomocı́ FFT . . . . . . . . . . . . . . . . 16 3.2 4 Měřenı́ zpožděnı́ 4.1 4.2 4.3 4.4 4.5 17 Signály pro měřenı́ zpožděnı́ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.1 Modelované signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Korelačnı́ funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.1 Popis metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.2 Výpočet korelačnı́ funkce . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.3 Implementace v Matlabu . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.4 Dosažené výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 DFT spektrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.1 Popis metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.2 Výpočet vzájemné spektrálnı́ hustoty . . . . . . . . . . . . . . . . . . . 28 4.3.3 Koherence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3.4 Implementace v Matlabu . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.5 Dosažené výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Parametrická metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.1 Typy modelů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.2 Wienerova filtrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.3 Estimace signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.4 Popis metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.5 Implementace v Matlabu . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.6 Dosažené výsledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.7 Průběžné metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Porovnánı́ metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 v Obsah 4.6 Obsah Měřenı́ na reálných signálech . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6.1 Korelačnı́ metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6.2 DFT spektrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6.3 Parametrická metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6.4 Porovnánı́ výsledků s reálnými signály . . . . . . . . . . . . . . . . . . 50 5 Závěr 52 5.1 Implementace algoritmů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.2 Přesnost algoritmů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3 Rychlost algoritmů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4 Vhodnost algoritmů vzhledem k vlastnostem signálů . . . . . . . . . . . . . . 53 5.5 Celkové zhodnocenı́ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.6 Opakovánı́ pokusů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A Poznámky ke zpracovánı́ signálů 55 A.1 Prosakovánı́ ve spektru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.2 Kritéria pro určenı́ řádu AR modelu . . . . . . . . . . . . . . . . . . . . . . . 58 A.3 Odstup signálu od šumu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.3.1 Směs signálu a šumu s požadovaným SNR . . . . . . . . . . . . . . . . 60 A.4 Zpožděnı́ mezi signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 B Poznámky k Matlabu 62 B.1 Výpočet energie signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 B.2 Vytvářenı́ vektorů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 C CD-ROM C.1 Text diplomové práce 64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C.2 Prezentace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C.2.1 Prezentace na blány . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C.2.2 Prezentace na PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 C.3 Obrázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 C.4 Testovaná data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 C.5 Programy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 C.5.1 Programy pro opakovánı́ pokusů . . . . . . . . . . . . . . . . . . . . . 65 C.6 Licence a autorská práva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Literatura 67 vi Seznam obrázků 2.1 Elektrický obvod modelujı́cı́ vlastnosti elektrody . . . . . . . . . . . . . . . . 5 2.2 Orientačnı́ schéma umı́stěnı́ elektrod na hlavě . . . . . . . . . . . . . . . . . . 5 2.3 Rozdělenı́ EEG signálu na základnı́ pásma . . . . . . . . . . . . . . . . . . . . 7 2.4 EEG signál při epileptickém záchvatu . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Rozdělenı́ signálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1 Skutečný EEG signál . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 Model EEG signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3 Model signálu EEG s šumem . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.4 Průběh korelačnı́ funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.5 Chyba určenı́ zpožděnı́ korelačnı́ metody v závislosti na SNR . . . . . . . . . 25 4.6 Chyba určenı́ zpožděnı́ korelačnı́ metody v závislosti na délce signálu . . . . . 26 4.7 Chyba určenı́ zpožděnı́ korelačnı́ metody . . . . . . . . . . . . . . . . . . . . . 26 4.8 Váhovacı́ okna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.9 Segmentace signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.10 Znázorněnı́ Welchovy metody výpočtu spektrálnı́ hustoty . . . . . . . . . . . 29 4.11 Vzájemná spektrálnı́ hustota a fáze . . . . . . . . . . . . . . . . . . . . . . . . 30 4.12 Vzájemná fáze a koherence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.13 Chyba určenı́ zpožděnı́ DFT metody v závislosti na délce signálu . . . . . . . 33 4.14 Chyba určenı́ zpožděnı́ DFT metody v závislosti na SNR . . . . . . . . . . . 34 4.15 Chyba určenı́ zpožděnı́ DFT metody . . . . . . . . . . . . . . . . . . . . . . . 34 4.16 Obecný estimátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.17 Frekvenčnı́ odezva a fáze FIR filtru AR modelu . . . . . . . . . . . . . . . . . 39 4.18 Nalezenı́ lineárnı́ oblasti fáze u AR modelu . . . . . . . . . . . . . . . . . . . 40 4.19 Chyba určenı́ zpožděnı́ AR modelu v závislosti na délce signálu . . . . . . . . 44 4.20 Chyba určenı́ zpožděnı́ AR modelu v závislosti na SNR . . . . . . . . . . . . 45 4.21 Chyba určenı́ zpožděnı́ AR modelu . . . . . . . . . . . . . . . . . . . . . . . . 46 vii Seznam obrázků Seznam obrázků 4.22 Porovnánı́ chyb zpožděnı́ v závislosti na délce signálu . . . . . . . . . . . . . . 47 4.23 Porovnánı́ chyb zpožděnı́ v závislosti na délce signálu (log měřı́tko) . . . . . . 47 4.24 Porovnánı́ chyb zpožděnı́ v závislosti na SNR . . . . . . . . . . . . . . . . . . 48 4.25 Průběh korelačnı́ funkce pro reálné signály . . . . . . . . . . . . . . . . . . . . 49 4.26 Průběh vzájemné fáze pro reálné signály (DFT spektrum) . . . . . . . . . . . 49 4.27 Impulzová odezva a fáze pro reálné signály (AR modelovánı́) . . . . . . . . . 50 4.28 Porovnánı́ naměřených zpožděnı́ mezi reálnými signály (proměnná délka) . . 50 4.29 Porovnánı́ naměřených zpožděnı́ mezi reálnými signály (proměnný SNR) . . . 51 5.1 Oblast použitı́ metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.1 Demonstrace prosakovánı́ spektra . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.2 Demonstrace odstraněnı́ prosakovánı́ spektra . . . . . . . . . . . . . . . . . . 57 A.3 Závislost kritéria na stupni modelu . . . . . . . . . . . . . . . . . . . . . . . . 59 A.4 Demonstrace velikosti zpožděnı́ mezi signály . . . . . . . . . . . . . . . . . . . 61 viii Seznam tabulek 2.1 Rozdělenı́ pásem EEG signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 Výsledky korelačnı́ metody pro proměnnou délku signálů . . . . . . . . . . . . 24 4.2 Výsledky korelačnı́ metody pro různé hodnoty SNR . . . . . . . . . . . . . . . 25 4.3 Výsledky metody DFT spektra pro proměnnou délku signálů . . . . . . . . . 32 4.4 Výsledky metody DFT spektra pro různé hodnoty SNR . . . . . . . . . . . . 33 4.5 Výsledky parametrické metody pro proměnnou délku signálů . . . . . . . . . 43 4.6 Výsledky parametrické metody pro různé hodnoty SNR . . . . . . . . . . . . 44 ix Kapitola 1 Úvod 1.1 Cı́l práce Cı́lem této práce je navrhnout algoritmy pro měřenı́ časového zpožděnı́ mezi signály EEG. Metod, jak zpracovávat EEG signály existuje mnoho, ale v této práci se budu zabývat v souladu se zadánı́m korelačnı́ funkcı́, DFT spektrem a předevšı́m parametrickými metodami. Snahou je vyhodnocenı́ dosažených výsledků, přesnosti jednotlivých algoritmů a vyhodnocenı́ jejich použitelnosti a omezenı́. Vzhledem k tomu, že při analýze zpožděnı́ mezi signály EEG nenı́ možné zjistit, do jaké mı́ry je algoritmus přesný, protože přesné zpožděnı́ neznám, je nutné pro otestovánı́ algoritmu použı́t simulované signály s přesně definovaným vzájemným zpožděnı́m. Teprve po navrženı́ správně fungujı́cı́ch algoritmů je možné přistoupit k testovánı́ na přirozených signálech. V následujı́cı́ch kapitolách se budu zabývat seznámenı́m s EEG, které je nutné pro pochopenı́ této práce, teoretickým rozborem jednotlivých algoritmů a poté jejich realizacı́ a otestovánı́ v Matlabu. Pro tento účel mám k dispozici 45-minutový záznam EEG pacienta trpı́cı́ho epilepsiı́. 1.2 Úvod do problematiky V dnešnı́ době výpočetnı́ technika stále vı́ce zasahuje do jiných oborů, jako je např. neurologie a stává se jejich nezbytnou součástı́. Počı́tačem prováděná analýza EEG záznamu velmi přispı́vá ke zpřesněnı́ diagnózy pacienta a tedy i možnému zlepšenı́ jeho zdravotnı́ho stavu. Ještě před nedávnem byly záznamy z EEG přı́strojů pořizovány na papı́r, ze kterého lékař prováděl diagnózu. Z toho vyplývajı́ problémy se zaznamenávánı́m delšı́ch úseků EEG záznamu a trvalá nemožnost jejich dalšı́ho zpracovánı́. Dnes ale lékaři majı́ mnohem většı́ možnosti, mohou zpracovávat tento záznam v elektronické podobě, uchovávat ho, rychle 1 Kapitola 1. Úvod 1.2. Úvod do problematiky ho vyhledat, posı́lat po sı́ti a mohou použı́vat dnešnı́ obrovský výpočetnı́ výkon počı́tačů k přesnějšı́mu stanovenı́ diagnózy. Odtud pramenı́ velká potřeba spolupráce odbornı́ků různých oblastı́ jako je medicı́na a informatika, kteřı́ se společně podı́lejı́ na vývoji programů, usnadňujı́cı́ zpracovánı́ a zı́skávánı́ důležitých informacı́ z naměřených dat EEG přı́strojů. K nadstavbovým analýzám prováděným nad EEG záznamy, které poskytujı́ počı́tače, se však stále pohlı́žı́ jako na doplňujı́cı́ nástroj či informaci. Počı́tače totiž stále nejsou schopny kompletně posoudit přesný stav pacienta, protože lidský mozek je velmi složitý orgán, který dosud nenı́ plně prozkoumán. S vývojem výpočetnı́ techniky a medicı́ny budou ovšem přibývat nové analýzy, které nám budou sloužit k lepšı́mu pochopenı́ stavu pacienta. Oblasti v medicı́ně, které se zabývajı́ zpracovánı́m EEG záznamu jsou předevšı́m neurologie, psychologie a psychiatrie. Měřenı́ zpožděnı́ jako takové lze jednoduše měřit pouze mezi dvěma signály, které jsou totožné, pouze časově posunuté. To ovšem nenı́ přı́pad signálů EEG, nebot’ signály EEG, i když jsou z párových sond, mohou být časově posunuté, ale nejsou zcela totožné. To je způsobeno tı́m, že každý ze signálů procházı́ jinou částı́ mozku, proto jsou různě tvarově zdeformovány. Proto je nutné přistoupit k složitějšı́m metodám měřenı́ zpožděnı́. V této práci se těmito metodami budu zabývat. 2 Kapitola 2 Teorie a seznámenı́ s EEG V této kapitole se seznámı́me teoreticky se základy elektroencefalografie, která se označuje zkratkou EEG. 2.1 Měřenı́ EEG signálu Orgánem sledovaným při měřenı́ je mozek. Mozek je nejdůležitějšı́ a nejkomplikovanějšı́ orgán lidského těla, který obsahuje 100 miliard neuronů a vı́ce, spojených navzájem stovkami až desetitisı́ci spoji. Pro svoji činnost využı́vá bioelektřinu, jejı́ž potenciál a distribuci v celém organismu ovládá. Je tedy generátorem i regenerátorem bioelektrického proudu, který je stejnosměrný a jehož homeostatickým režimem povolený rozkmit hodnot je v mozku a mı́še zdravého dospělého člověka přibližně 5 až 210mV a 0,5 až 40Hz. Homeostáza je autonomnı́ samoregulačnı́ režim, který hlı́dá a koriguje povolený rozkmit hodnot činnosti životně důležitých funkcı́. 2.1.1 Elektrická aktivita neuronových polı́ Nejpřehlednějšı́m a z vyhodnocovacı́ho hlediska nejvýznamnějšı́m parametrem práce mozku je rychlost generovánı́ elektrických výbojů v cyklech za sekundu, vyjádřený v Hertzı́ch. Poněvadž k elektrickému výboji docházı́ odděleně v každé jednotlivé nervové buňce– neuronu, je z praktického hlediska nutné, chceme-li měřenı́m zı́skat údaj o aktuálnı́m výkonu mozku v konkrétnı́m okamžiku, abychom měřili celá většı́ či menšı́ neuronálnı́ pole. To nám umožňuje zı́skat částečně zprůměrované hodnoty, protože jmenovité výkony jednotlivých seskupenı́ neuronů s ohledem na jejich konkrétnı́ funkce i lokalizaci se vždy poněkud lišı́. Pomocı́ EEG tedy měřı́me proměnlivé elektrické signály, jejichž zdrojem jsou synchronizované výboje nervových buněk, šı́řı́cı́ se neuronovými okruhy. 3 Kapitola 2. Teorie a seznámenÍ s EEG 2.1.2 2.1. MěřenÍ EEG signálu Použitı́ elektrod k měřenı́ Při elektroencefalografii jsou na povrchu skalpu1 umı́stěny elektrody. Snı́majı́ jemné rozdı́ly elektrických potenciálů (okolo 10mV) a vedou je ke zpracovánı́ do přı́stroje. Potenciály vznikajı́ na základě synchronizovaných výbojů ohromných skupin nervových buněk. Naměřené hodnoty proudů jsou přı́liš nı́zké, proto se zesilujı́, aby je bylo možno lépe hodnotit. Naměřené a zesı́lené hodnoty elektrických potenciálů (vzestup a pokles hodnot) vytvářı́ v záznamu vlny. Potenciály ve skutečnosti představujı́ záznam velikostı́ rozdı́lů potenciálů mezi dvěma mı́sty skalpu (mezi dvěma elektrodami). Při odečı́tánı́ záznamu EEG můžeme např. posoudit, v jaké fázi spánkového cyklu se daná osoba nacházı́, zda-li je mozek zdravý, nebo zjistit a rozlišit různé druhy epilepsie. Typický vzorec vln EEG vzniká činnostı́ skupin neuronů, kdy se skupiny navzájem střı́davě excitujı́ a inhibujı́. Když dorazı́ k určité skupině neuronů impulz, který je excituje (podráždı́), skupina odpovı́ synchronizovaným elektrickým výbojem. Při tom podráždı́ mimo jiné sousednı́ skupinu nervových buněk. Výboj vede k potlačenı́ aktivity předešlé skupiny. Jakmile podnět odeznı́, skupina tlumivých neuronů se vypne. Skupina excitatornı́ch neuronů může reagovat na nový impulz výbojem. Celý proces se opakuje. Velikost vln EEG závisı́ na tom, jaké množstvı́ neuronů je zapojeno do vysı́lánı́ synchronizovaných výbojů. Čı́m vyššı́ vlny, tı́m vı́ce neuronů odpovı́dá synchronizovaným výbojem. Aktivované skupiny neuronů produkujı́ elektrické výboje, které potom zaznamenáváme pomocı́ EEG. 2.1.3 Model elektrody Elektroda sloužı́ k propojenı́ mezi vodivou tekutinou ve tkánı́ch, v nichž je generován elektrický proud a vstupnı́m zesilovačem EEG přı́stroje. Elektrody mohou mı́t různá technická uspořádánı́, nicméně vždy je přı́tomno rozhranı́ tekutina–kov. Ideálnı́ elektroda by neměla zkreslovat snı́maný signál. Úplné potlačenı́ zkreslenı́ však nenı́ z technických důvodů možné. Kov v prostředı́ elektrolytu uvolňuje kladně nabité ionty do roztoku a sám se tak nabı́jı́ záporně. Vzniká elektrická dvojvrstva, která bránı́ přechodu záporného náboje do elektrody a podobá se svými vlastnostmi kondenzátoru a ovlivňuje tak impedanci elektrody. Vlastnosti elektrody lze modelovat obvodem uvedeným na obrázku 2.1 na straně 5. Elektrod existuje vı́ce druhů, mezi něž patřı́ např. skalpové, sfenoidálnı́, elektrokortikografické a intracerebrálnı́ elektrody. Materiály, použı́vané pro výrobu elektrod, jsou např. směs Ag/AgCl, ocel, Ag, Pt a Wf. 1 kůže a ostatnı́ měkké tkáně přiléhajı́cı́ k lebečnı́m kostem 4 Kapitola 2. Teorie a seznámenÍ s EEG 2.1. MěřenÍ EEG signálu C R1 Zesilovač R2 C0 Obrázek 2.1: Elektrický obvod modelujı́cı́ vlastnosti elektrody 2.1.4 Zapojenı́ elektrod na skalpu Systém 10/20 Bioelektrický signál se zı́skává z elektrod (umı́stěných ve většině přı́padů na kožnı́m povrchu vlasaté části hlavy). Jejich umı́stěnı́ a označenı́ je dáno mezinárodnı́ normou (tzv. systém 10/20, či Montrealskou konvencı́) a je znázorněno na obrázku 2.2 na straně 5. Elektroencefalografické záznamy jsou obvykle snı́mány většı́m počtem elektrod, většinou 19 až 64. Záznam je pak tvořen souborem o 19 až 64 kanálech snı́maných současně. FP2 FP1 F7 Ppz F8 F3 Fz F4 Cz C3 T3 C4 T4 Pz T5 P4 T6 P3 Oz O1 O2 Obrázek 2.2: Orientačnı́ schéma umı́stěnı́ elektrod na hlavě 5 Kapitola 2. Teorie a seznámenÍ s EEG 2.2. ZpracovánÍ EEG signálu Elektrody mimo střed jsou vždy párové, např. F7 a F8. Označenı́ elektrod má svůj význam dle umı́stěnı́. Elektrody začı́najı́cı́ pı́smenem: P se nacházejı́ na parientálnı́m laloku, F se nacházejı́ na frontálnı́m laloku, T se nacházejı́ na temporálnı́m laloku, O se nacházejı́ na okcipitálnı́m laloku. 2.2 Zpracovánı́ EEG signálu Signály zı́skané měřenı́m se dále zpracovávajı́ pomocı́ různých nadstavbových programů nebo lze přı́mo stanovit diagnózu, což ale vyžaduje určitou dávku praxe, kdy je lékař schopen určit, zda signál obsahuje určité frekvence a zda vlny odpovı́dajı́ určitým vzorcům. Použı́vané programy majı́ za úkol usnadnit lékařům práci právě při stanovovánı́ diagnózy. 2.2.1 Rozdělenı́ na frekvenčnı́ pásma Elektrické charakteristiky mozkových vln rozdělujı́ stavy vědomı́ do čtyř základnı́ch hladin. Pro pojem hladiny se použı́vá také pojmu frekvenčnı́ pásma a rytmy. Jednotlivá pásma jsou charakteristická určitým frekvenčnı́m rozsahem a rozsahem amplitud [5]. Tato základnı́ pásma jsou uvedena v tabulce 2.1. Pásmo Rozsah frekvencı́ [Hz] Amplituda [µV] poznámka delta 0–4 do 100 patologický jev theta 4–8 75–150 hluboké uvolněnı́, spánek, . . . alfa 8–13 20–50 klid, relaxace beta 13–30 do 30 soustředěnı́, hněv, . . . sigma okolo 14 okolo 13 3. stádium spánku gama 22–30 — uvádı́ se jen zřı́dka Tabulka 2.1: Rozdělenı́ pásem EEG signálu Na obrázku 2.3 na straně 7 je znázorněno, jak vypadá signál EEG při normálnı́m stavu člověka a jak vypadajı́ jednotlivé základnı́ rytmy EEG. Tato jednotlivá pásma byla filtrována v Matlabu filtry FIR2 . 2 finite impulse response (filtr s konečnou impulzovou odezvou) 6 Kapitola 2. Teorie a seznámenÍ s EEG 2.2. ZpracovánÍ EEG signálu EEG a jeho základní rytmy 1000 500 0 −500 −1000 0 0.5 1 delta 1.5 2 2.5 1000 3 3.5 4 theta 4.5 5 3 4 5 3 4 5 200 100 500 0 0 −500 −100 0 1 2 3 4 −200 5 0 1 2 alfa beta 200 100 100 50 0 0 −100 −50 −200 0 1 2 3 4 −100 5 t [s] 0 1 2 t [s] Obrázek 2.3: Rozdělenı́ EEG signálu na základnı́ pásma Pásmo delta Při tomto stavu jsou výrazně utlumeny všechny životnı́ funkce. V tomto rytmu se nalézáme během bezesného spánku (nemusı́ jı́t tedy vždy o patologický jev), ale i během bezvědomı́, způsobeného nemocı́ nebo úrazem. Pásmo theta Zde jde opět o výrazný útlum funkcı́. Nalézáme se v něm při ospalosti, usı́nánı́, uvolněnı́, ale i při poruchách pozornosti a lehké mozkové dysfunkci. Pásmo alfa V tomto rytmu tělo a mysl nereaguje na vnějšı́ podněty, ale člověk je při plném vědomı́, jde tedy o klid a relaxaci. 7 Kapitola 2. Teorie a seznámenÍ s EEG 2.2. ZpracovánÍ EEG signálu Pásmo beta V tomto rytmu je člověk zcela při vědomı́ a je připraven reagovat na vnějšı́ podněty, přičemž čı́m vyššı́ je frekvence beta vlněnı́, tı́m vı́ce je člověk pozorný. Při frekvencı́ch okolo 30Hz je člověk např. podrážděný, ve stavu úzkosti, nebo ve vysoce náročné životnı́ situaci a je zcela připraven co nejrychleji reagovat. 2.2.2 Základnı́ aktivita Je nutné poznamenat, že dominantnı́ frekvence pro základnı́ aktivitu mozku závisı́ na každém pacientovi, ale i na věku pacienta. Člověk těsně po narozenı́ má tuto aktivitu na frekvenci přibližně 4Hz, která se postupně zvedá s věkem do 4 let na frekvenci asi 8Hz. Po tomto věku již základnı́ frekvence roste pomalu a v dospělosti se ustálı́ na frekvenci okolo 10Hz. 2.2.3 Signál EEG při epileptickém záchvatu Signál EEG za přı́tomnosti epileptického záchvatu je charakteristický tzv. komplexem hrotvlna. Takový signál je pro funkci mozku velice špatný, protože část mozku, která je takto rozkmitána, nenı́ schopna přenášet a generovat životně důležité pulzy. V přı́padě, že se takto rozkmitá jen určitá část mozku, dojde k nefunkčnosti pouze té části a člověk má např. tiky nebo podobné reakce. Veliký problém nastane tehdy, pokud se od tohoto centra epileptického záchvatu rozkmitá celý mozek. V tom přı́padě je již postižený člověk naprosto mimo svoji kontrolu a docházı́ k nejtěžšı́mu záchvatu. Právě v přı́padě přı́tomného komplexu hrot-vlna má smysl měřit zpožděnı́ mezi jednotlivými signály z párových3 elektrod. Ze znalosti zpožděnı́ mezi signály EEG z jednotlivých elektrod jsou schopni lékaři pozorovat průchod signálů mozkem, popř. lokalizovat centrum epileptického záchvatu, které celkový záchvat vyvolává a operativně zakročit tak, aby k celkovému záchvatu nedocházelo (odizolovánı́m centra od ostatnı́ch částı́ mozku). Jednotlivými metodami, kterými lze měřit zpožděnı́ mezi signály EEG se budu zabývat v kapitole 4 na straně 17. Přı́klad signálu za přı́tomnosti epileptického záchvatu je na obrázku 2.4 na straně 9. Na tomto signálu je zřetelný výše zmiňovaný komplex hrot-vlna. Na obrázku je patrný nárůst delta aktivity, což je v tomto přı́padě, jak uvádı́ tabulka 2.1, patologický jev. Pásmo theta zůstalo oproti normálnı́mu EEG prakticky stejné. V pásmu alfa a beta ovšem nastal problém. Jak je vidět, v těchto pásmech jsou patrny periodické složky, které odpovı́dajı́ opakovacı́ frekvenci komplexů hrot-vlna. Tato dvě pásma jsou 3 signály z párových elektrod jsou podobné, pouze časově posunuté 8 Kapitola 2. Teorie a seznámenÍ s EEG 2.2. ZpracovánÍ EEG signálu důležitá pro stavy klidu, relaxace a soustředěnı́ a protože tato pásma jsou vlivem epileptického záchvatu potlačena, nenı́ mozek (část mozku) schopen zmı́něné aktivity provádět. EEG a jeho základní rytmy 10000 5000 0 −5000 0 1 2 delta 3 4 5 6 2000 2000 1000 1000 0 0 −1000 −1000 −2000 0 2 4 6 8 −2000 10 0 7 2 8 theta 4 alfa 9 10 6 8 10 6 8 10 beta 4000 2000 1000 2000 0 0 −2000 −1000 0 2 4 6 8 −2000 10 t [s] 0 2 4 t [s] Obrázek 2.4: EEG signál při epileptickém záchvatu Potlačenı́ epileptického záchvatu je velice důležité, protože člověk, který např. řı́dı́ automobil, je při záchvatu přı́mo ohrožen na životě. Jedna z možnostı́, jak potlačovat záchvat je tedy operativně s přesným určenı́m centra záchvatu. Vzhledem k velkým rychlostem mozkových signálů je třeba určit zpožděnı́ s velikou přesnostı́, proto se budu přesnostı́ navržených algoritmů obzvláště pečlivě zabývat. 9 Kapitola 3 Zpracovánı́ signálů Signál je veličina, zpravidla fyzikálnı́, která nese informaci. Informace je v signálu reprezentována časovými změnami okamžité hodnoty fyzikálnı́ veličiny. 3.1 3.1.1 Rozdělenı́ signálů Signály spojité a diskrétnı́ Signály rozdělujeme na dva hlavnı́ typy: spojité (analogové) signály, které jsou definované pro všechny hodnoty nezávisle proměnné a diskrétnı́ (digitálnı́), které jsou definované jen pro některé diskrétnı́ hodnoty nezávislé proměnné. Základnı́ rozdělenı́ signálů je na obrázku 3.1. Signály deterministické periodické harmonické náhodné neperiodické téměř periodické nestacionárnı́ stacionárnı́ tranzientnı́ komplexnı́ periodické ergodické neergodické Obrázek 3.1: Rozdělenı́ signálů 3.1.2 Signály deterministické a náhodné Pokud můžeme předpokládat, že signál je popsán funkcemi a posloupnostmi, jejichž hodnotu lze pro daný časový okamžik přesně vypočı́tat, je to signál deterministický. 10 Kapitola 3. ZpracovánÍ signálů 3.1. RozdělenÍ signálů Samozřejmě existujı́ i signály, u kterých nemůžeme přesně určit, jakou hodnotu nabudou a jejich časový průběh nelze popsat matematickým výrazem. Takové signály tedy nejsou deterministické, ale jsou náhodné - stochastické. 3.1.3 Signály stacionárnı́ a nestacionárnı́ Stacionárnı́ signály jsou zvláštnı́m přı́padem náhodných signálů, se kterými se lze často setkat. Jsou to signály, jejichž pravděpodobnostnı́ popis nezávisı́ na volbě počátku osy času. Pokud tomu tak nenı́, jedná se o signál nestacionárnı́. Pro stacionárnı́ signály platı́ xss = x, (3.1) R(τ ) = Bx (τ ), P = E |x(t)|2 = σx2 + |x̄|2 , C x (ω) = Sx (ω). 3.1.4 (3.2) (3.3) (3.4) Signály ergodické a neergodické Časové charakteristiky signálu jsou náhodnou veličinou. Proto jsou v přı́padě stacionárnı́ch signálů určovány střednı́ časové charakteristiky. Dalšı́ speciálnı́ třı́da náhodných signálů jsou signály ergodické, jejichž určité časové charakteristiky majı́ nulový rozptyl. Takové charakteristiky se neměnı́ na množině realizacı́. Pro signál, který je ergodický vůči stejnosměrné složce, platı́ xss = xss , (3.5) pro signál, který je ergodický vůči časové autokorelačnı́ funkci, platı́ R(τ ) = R(τ ). 3.1.5 (3.6) Signály periodické a neperiodické Signál s(t) je periodický, jestliže existuje takové kladné čı́slo T0 tak, že platı́ s(t) = s(t + kT0 ) ∀t ∈ R, ∀k ∈ Z. (3.7) Pokud takové čı́slo T0 (perioda) neexistuje, jedná se o signál neperiodický. 3.1.6 Signály harmonické a komplexnı́ periodické Harmonický signál je důležitý signál, který spadá do signálů periodických. Reálný harmonický signál má časovou závislost s(t) = A cos(ωt + ϕ) 11 (3.8) Kapitola 3. ZpracovánÍ signálů 3.1. RozdělenÍ signálů a komplexnı́ periodický signál má časovou závislost s(t) = Aej(ωt+ϕ) = A cos(ωt + ϕ) + jA sin(ωt + ϕ). 3.1.7 (3.9) Signály téměř periodické a tranzientnı́ Pokud sečteme několik sinusovek, jejichž frekvence jsou v racionálnı́m poměru, zı́skáme signál periodický. Pokud tomu ale tak nenı́, zı́skáme signál, který periodický nenı́, ale vypadá jako periodický. Takovému signálu řı́káme téměř periodický signál [6]. Signál tranzientnı́ je signál, který nenı́ ani nevypadá jako signál periodický. Přı́kladem takového signálu může být např. odezva stabilnı́ho filtru na budicı́ impulz. 3.1.8 Signály energetické a výkonové Při řešenı́ mnoha úloh teorie signálu nenı́ nutné znát časový průběh signálu, ale stačı́ znát jen některé jeho charakteristiky, jako je např. energie, výkon a korelačnı́ funkce. Energie signálu ve spojitém čase je definována Z∞ E= |s(t)|2 dt (3.10) −∞ a signálu v diskrétnı́m čase E= ∞ X |s(k)|2 . (3.11) k=−∞ Signály, které majı́ konečnou energii, nazýváme energetické. U signálů s nekonečnou dobou trvánı́ může nastat přı́pad, kdy energie roste nade všechny meze. V takovém přı́padě nemá energie žádnou vypovı́dajı́cı́ schopnost a definujeme výkon ZT 1 P = lim T →∞ 2T |s(t)|2 dt (3.12) −T a pro signály v diskrétnı́m čase N X 1 |s(k)|2 . P = lim N →∞ 2N + 1 (3.13) k=−N Potom signály, které majı́ nenulový, konečný výkon, nazýváme výkonové signály. Jednotkou výkonu samozřejmě nenı́ watt, ale kvadrát jednotky signálu. 12 Kapitola 3. ZpracovánÍ signálů 3.2 3.2. KorelačnÍ funkce Korelačnı́ funkce Korelace obecně vyjadřuje mı́ru podobnosti dvou signálů [3]. Tato funkce posouvá navzájem signály a pro každé posunutı́ vypočı́tává integrál násobku prvnı́ho posunutého signálu se signálem druhým. Zı́skané korelačnı́ koeficienty nám dávajı́ určitý odhad toho, jak si jsou signály při vzájemném posouvánı́ podobné. Korelačnı́ funkce pro spojité signály je definovaná jako Z∞ R12 (τ ) = s1 (t + τ )s∗2 (t) dt (3.14) −∞ a pro signály v diskrétnı́m čase R12 (τ ) = ∞ X s1 (k + τ )s∗2 (k), τ ∈ Z. (3.15) k=−∞ 3.2.1 Autokorelačnı́ funkce Závislost hodnot jednoho a téhož signálu vyjadřuje autokorelačnı́ funkce, která je pro spojité signály definovaná jako Z∞ R(τ ) = s(t + τ )s∗ (t) dt (3.16) −∞ a pro signály v diskrétnı́m čase R(τ ) = ∞ X s(k + τ )s∗ (k), τ ∈ Z. (3.17) k=−∞ 3.2.2 Vlastnosti korelačnı́ a autokorelačnı́ funkce Velikost vzájemné korelačnı́ funkce je omezena energiı́ resp. výkonem jednotlivých signálů, z čehož vyplývá |R12 (τ )|2 ≤ R1 (0)R2 (0), |R(τ )| ≤ R(0). (3.18) (3.19) Pořadı́ signálů při výpočtu vzájemné korelačnı́ funkce nenı́ libovolné. Substitucı́ t0 = t + τ v definici vzájemné korelačnı́ funkce dostáváme ∗ R12 (τ ) = R21 (−τ ) (3.20) a podobně pro autokorelačnı́ funkci platı́ R(τ ) = R∗ (−τ ). 13 (3.21) Kapitola 3. ZpracovánÍ signálů 3.3 3.3. Fourierova řada Fourierova řada Fourierova řada se použı́vá pro spojité periodické signály a je to matematický zápis tvrzenı́, že periodický signál x(t) s opakovacı́ frekvencı́ f lze složit z konstantnı́ho signálu (stejnosměrné složky) a harmonických signálů o frekvencı́ch k · f , kde k ∈ Z. Matematicky lze tvrzenı́ zapsat takto s(t) = ∞ X ∞ An cos(nω0 t + ϕn ) = a0 2 3.4 (3.22) n=1 n=0 kde a0 X + [an cos(nω0 t) + bn sin(nω0 t)] , 2 je stejnosměrná složka signálu, ak a bk jsou Fourierovy koeficienty, pro které platı́ Z 2 ak = s(t) cos(kωt) dt, (3.23) T0 Iper Z 2 bk = s(t) sin(kωt) dt. (3.24) T0 Iper Fourierova transformace Fourierova transformace se použı́vá pro spojité neperiodické signály s obecně nekonečně dlouhou dobou trvánı́ a určuje jeho spektrum. Toto frekvenčnı́ spektrum lze vyjádřit Z∞ S(ω) = s(t)e−jωt dt. (3.25) −∞ Zpětnou Fourierovou transformacı́ lze z frekvenčnı́ho spektra zı́skat zpět původnı́ signál dle vzorce 1 s(t) = 2π Z∞ S(ω)ejωt dω. (3.26) −∞ 3.5 Diskrétnı́ Fourierova řada Diskrétnı́ Fourierova řada sloužı́ ke spektrálnı́ reprezentaci periodických diskrétnı́ch signálů posloupnosti s(k). Fourierovy koeficienty lze vypočı́tat cn = 1 X s(k)e−jnΩ0 k , N0 k∈Iper Ω0 = 2π N0 (3.27) Signál lze potom vyjádřit jako s(k) = n0 +N X0 −1 cn ejnΩ0 k , n=n0 14 ∀k ∈ Z. (3.28) Kapitola 3. ZpracovánÍ signálů 3.6. DiskrétnÍ Fourierova transformace Protože je ale spektrum diskrétnı́ho periodického signálu periodické s periodou signálu ∀m ∈ Z, cn = cn + mN0 , (3.29) určujeme spektrum jen jako jednu periodu a Fourierova řada potom přejde na tvar s(k) = NX 0 −1 cn ejnΩ0 k , k ∈ Iper . (3.30) n=0 3.6 Diskrétnı́ Fourierova transformace Diskrétnı́ Fourierova transformace sloužı́ ke spektrálnı́ reprezentaci neperiodických diskrétnı́ch signálů s obecně nekonečně dlouhou dobou trvánı́ posloupnosti s(k). Pro spektrum diskrétnı́ho neperiodického signálu platı́ S(Ω) = ∞ X s(k)e−jΩk (3.31) S(Ω)ejΩk dΩ. (3.32) k=−∞ Signál lze potom vyjádřit jako 1 s(k) = 2π 3.7 Z 2π Rychlá Fourierova transformace Výpočet DFT podle definičnı́ho vztahu vyžaduje N 2 komplexnı́ch součinů a N (N − 1) komplexnı́ch součtů, což představuje 4N 2 reálných součinů a 4N (N − 1) reálných součtů [2]. Toto je velice časově náročné, proto se použı́vá efektivnějšı́ algoritmus pro výpočet spektra, který se nazývá Rychlá Fourierova transformace (FFT). Tento algoritmus se použı́vá pro posloupnosti délky N = 2q , kde q je celé čı́slo. V praxi se nejčastěji použı́vá délek N = 256, 512, 1024, . . . Algoritmus FFT je nejvýkonnějšı́ a je prakticky dvakrát rychlejšı́, než výpočet DFT. 3.7.1 Vlastnosti Fourierovy transformace Zde jen shrnu vlastnosti transformace, protože některé z následujı́cı́ch vzorců jsou velice užitečné. Fourierovu transformaci a inverznı́ Fourierovu transformaci budu značit zjednodušeně s(k) = F−1 [S(Ω)]. S(Ω) = F[s(k)], (3.33) Věta o linearitě " F # X ci si (k) = i X i 15 ci F[si (k)] (3.34) Kapitola 3. ZpracovánÍ signálů 3.7. Rychlá Fourierova transformace Modulačnı́ věta h i F s(k)ejak = S(Ω − a) (3.35) F[s(k − kd )] = e−jΩkd S(Ω) (3.36) F[s1 (k) ∗ s2 (k)] = S1 (Ω)S2 (Ω) (3.37) Věta o posunu signálu v čase Věta o konvoluci signálů Obraz komplexně sdruženého signálu F [s∗ (k)] = S ∗ (−Ω) (3.38) Parsevalova rovnost Zvláště zajı́mavá je potom Parsevalova věta. Pomocı́ této věty lze vypočı́tat energii signálu ze známosti jeho spektra. E= ∞ X k=−∞ 1 |s(k)| = 2π 2 Z |S(Ω)|2 dΩ (3.39) 2π V přı́padě, že máme vzorky spektra, přejde věta na tvar E= ∞ X |s(k)|2 = X |S(Ω)|2 i k=−∞ N , (3.40) kde N je současně délka signálu a zároveň N -bodové spektrum. 3.7.2 Filtrace v kmitočtové oblasti pomocı́ FFT Filtrace v časové oblasti je realizovaná výpočtem spektra, následným potlačenı́m spektrálnı́ch čar a převedenı́m inverznı́ Fourierovou transformacı́ zpět do časové oblasti. Přı́klad pro pásmovou propust může vypadat následovně: 0 , 1 , H[k] = 0 , 1 , 0 , k ∈ h0, kd − 1i, k ∈ hkd , kh i, k ∈ hkh + 1, N − kh − 1i, k ∈ hN − kh , N − kd i, k ∈ hN − kd + 1, N − 1i, kde kd je index dolnı́ frekvence a kh je index hornı́ frekvence. 16 (3.41) Kapitola 4 Měřenı́ zpožděnı́ Zpožděnı́ EEG signálů lze realizovat několika možnými způsoby, přičemž každý způsob má své klady i zápory. Pro měřenı́ zpožděnı́ mezi signály EEG připadajı́ v úvahu tyto metody: • Hledánı́ navzájem si odpovı́dajı́cı́ch špiček v EEG signálech + Tato metoda může být rychlá – Omezenı́ přesnosti pouze na jeden vzorek – Metoda nemusı́ nalézt odpovı́dajı́cı́ si hroty • Korelačnı́ funkce + Metoda je rychlá + Pro výpočet stačı́ poměrně krátký signál – Málo odolná proti aditivnı́mu šumu – Omezenı́ přesnosti pouze na jeden vzorek • Fázová DFT spektrum + Metoda je velice imunnı́ proti aditivnı́mu šumu + Metoda je schopna zaznamenat zpožděnı́ menšı́ než jeden vzorek – Pro výpočet je třeba delšı́ch záznamů • Parametrická metoda + Metoda je velice imunnı́ proti aditivnı́mu šumu + Metoda je schopna zaznamenat zpožděnı́ menšı́ než jeden vzorek + Pro výpočet stačı́ poměrně krátký signál 17 Kapitola 4. MěřenÍ zpožděnÍ 4.1 4.1. Signály pro měřenÍ zpožděnÍ Signály pro měřenı́ zpožděnı́ Pro měřenı́ zpožděnı́ mezi jednotlivými kanály mám k dispozici 45 minutový záznam ze všech sond dle Systému 10/20. V tomto záznamu je zachyceno několik epileptických záchvatů. 4.1.1 Modelované signály Při odlad’ovánı́ jednotlivých metod je třeba mı́t signály, u kterých je dopředu známé zpožděnı́ mezi nimi. Reálné signály nám tento požadavek neposkytujı́, proto je třeba testovat algoritmy na umělých signálech. Takový signál by se měl co nejvı́ce podobat reálným signálům, které se budou metodami měřit, tedy EEG signálům za přı́tomnosti epileptického záchvatu. Proto jsem definoval signál s= n A5 − A n = 0 . . . 10 n A 10 A− n = 11 . . . 20 an2 + bn + c n = 21 . . . 95 (4.1) kde A je pro každý komplex hrot–vlna náhodně generovaná konstanta. Konstanty a, b a c jsou vždy voleny tak, aby vlna (parabola) navazovala na předcházejı́cı́ i následujı́cı́ hrot. Přı́klad signálu EEG za přı́tomnosti epileptického záchvatu a jeho frekvenčnı́ho spektra je na obrázku 4.1 na straně 19. Hrot na frekvenci 50Hz ukazuje na rušenı́ sı́t’ovým kmitočtem při snı́mánı́ signálu. Na obrázku 4.2 na straně 19 je vymodelovaný signál a jeho spektrum tak, jak udává rovnice (4.1). Spektra si jsou do jisté mı́ry podobná a signál, pokud je sečten s bı́lým šumem je reálnému signálu velice podobný. Pro otestovánı́ jednotlivých algoritmů totiž nestačı́ použı́t jakkoliv jednoduchý signál, např. sinusoidu, protože pro sinusoidu může fungovat, ale pro jiný signál už ne. Proto jsem se snažil model co nejvı́ce přiblı́žit reálným signálům, což se mi pro výše zmiňované potřeby povedlo. Rozdı́ly ve spektru mezi modelovaným a reálným signálem jsou patrny na několika mı́stech. Na prvnı́ pohled je vidět, že v modelu chybı́ frekvence 50Hz, která je ale pouze rušenı́, je tedy nepodstatná, naopak je lepšı́, že tato frekvence v signálu nenı́ obsažena. Proto je výhodné před zpracovánı́m tuto frekvenci odfiltrovat. Filtrace je pro některé metody dokonce nutná, jak je uvedeno u parametrické metody. Dalšı́ rozdı́l je, že reálný signál obsahuje výraznou stejnosměrnou složku a model obsahuje stejnosměrnou složku jen nepatrně, což v přı́padě časových posunů opět nehraje žádnou roli. Spektrum je vyplněno na přibližně stejném rozsahu frekvencı́, pouze v přı́padě modelu je méně vyplněno. To je dáno hlavně tı́m, že modelovaný signál obsahuje jen dvě přı́mky a parabolu. Ani tento rozdı́l nezapřı́činı́ rozdı́lnou funkčnost algoritmů pro reálné a modelované signály. 18 Kapitola 4. MěřenÍ zpožděnÍ 4.1. Signály pro měřenÍ zpožděnÍ signal 6000 A [−] 4000 2000 0 −2000 −4000 4 0 x 10 0.5 1 1.5 2 t [s] 5 2.5 3 3.5 4 spektrum S(ω) 3 2 1 0 0 20 40 60 80 100 120 140 f [Hz] Obrázek 4.1: Skutečný EEG signál signal 6000 4000 0 −2000 −4000 −6000 −8000 10 0 x 10 0.5 1 1.5 2 t [s] 5 2.5 3 3.5 4 spektrum 8 S(ω) A [−] 2000 6 4 2 0 0 20 40 60 80 100 f [Hz] Obrázek 4.2: Model EEG signálu 19 120 140 Kapitola 4. MěřenÍ zpožděnÍ 4.1. Signály pro měřenÍ zpožděnÍ Abych mohl otestovat šumovou imunitu jednotlivých algoritmů, potřeboval jsem opět signály s přesně definovaným (známým) zpožděnı́m a k těmto signálům přičı́tat šum. Přı́klad modelovaného signálu EEG s přičteným šumem, přičemž odstup signálu od šumu je 10dB, je na obrázku 4.3 na straně 20. EEG signal 5000 A 0 −5000 −10000 0 1 2 3 4 noise 5 6 7 8 0 4 x 10 1 2 3 4 5 EEG + noise (SNR=10dB) 6 7 8 0 1 2 3 6 7 8 4 A 2 0 −2 −4 1 A 0.5 0 −0.5 −1 4 t[s] 5 Obrázek 4.3: Model signálu EEG s šumem S takto vytvořenými modely EEG signálu a EEG signálu s šumem již lze algoritmy testovat a určit tak jejich použitelnost. Po otestovánı́ na modelech signálů je vhodné otestovat algoritmy na skutečných signálech. Potom ale jediná možnost jak zjistit, že algoritmus určil zpožděnı́ správně, je porovnat hodnoty všech algoritmů a pokud se všechny přibližně shodujı́, je velká pravděpodobnost, že je zpožděnı́ určeno správně. 20 Kapitola 4. MěřenÍ zpožděnÍ 4.2 4.2. KorelačnÍ funkce Korelačnı́ funkce 4.2.1 Popis metody Za touto metodou stojı́ jednoduchá myšlenka vzájemného porovnávánı́ signálů EEG naměřených různými sondami. Pokud totiž měřı́me signály z párových sond, zachytı́me dva velmi podobné signály, které jsou navzájem časově posunuté. Vzájemná korelačnı́ funkce, pro kterou platı́ vzorec 4.2, tedy vystihuje vzájemnou podobnost dvou signálů pro různé vzájemné posuvy. Pokud spočı́táme korelačnı́ koeficienty R(τ ) pro všechny možné posuny signálů, zı́skáme kompletnı́ vektor korelačnı́ch koeficientů. Jednomu určitému τ odpovı́dá největšı́ hodnota korelačnı́ho koeficientu a právě pro tento posun o τ vzorků si jsou signály nejvı́ce podobné. Přı́klad vektoru korelačnı́ch koeficientů vynesených do grafu je na obrázku 4.4. Nulovému posunu odpovı́dá nulové časové zpožděnı́ (na grafu horizontálnı́ čára vedoucı́ z nuly). Protože korelačnı́ funkce je oboustranná, nacházı́ se nulové zpožděnı́ přesně uprostřed. 120 120 100 100 80 80 60 40 60 20 40 0 20 −20 −40 −10 0 −8 −6 −4 −2 0 delay [s] 2 4 6 8 10 −0.15 −0.1 −0.05 (a) Celý vektor 0 delay [s] 0.05 0.1 0.15 (b) Detail Obrázek 4.4: Průběh korelačnı́ funkce Druhá horizontálnı́ čára odpovı́dá maximu korelačnı́ funkce. Časový rozdı́l mezi těmito čárami odpovı́dá časovému zpožděnı́ mezi signály. 4.2.2 Výpočet korelačnı́ funkce Pro výpočet korelačnı́ch koeficientů je vhodné nejprve signály normovat. Jako nejvhodnějšı́ jsem vybral způsob normovánı́ signal = signal max{|signal|} , popř. -1. 21 takže signál má maximálnı́ hodnotu 1, Kapitola 4. MěřenÍ zpožděnÍ 4.2. KorelačnÍ funkce Korelačnı́ funkci lze vypočı́tat dle vzorce ∞ X R12 (τ ) = Q · s1 (k + τ )s∗2 (k), τ ∈ Z, (4.2) k=−∞ kde Q = 1 pro standardnı́ odhad korelačnı́ funkce, Q = 1 N pro vychýlený odhad a Q = 1 N −τ pro nestranný odhad. V mém přı́padě jsem použil standardnı́ odhad korelačnı́ funkce, tedy Q = 1. V Matlabu lze vypočı́tat korelačnı́ funkci funkcı́ xcorr. Po nalezenı́ vektoru korelačnı́ch koeficientů je třeba nalézt maximálnı́ koeficient a jeho index. Potom již rozdı́l počtu vzorků mezi tı́mto indexem a středem vektoru korelačnı́ch koeficientů, přepočı́taný přes vzorkovacı́ frekvenci na čas, udává vzájemné časové zpožděnı́ obou signálů. Nutno dodat, že v průběhu korelačnı́ funkce se může nacházet (a také tomu tak je) několik lokálnı́ch maxim, Proto je nutné prohledat celý vektor, až po nalezenı́ maxima globálnı́ho, které určuje hledané zpožděnı́. 4.2.3 Implementace v Matlabu Pokud je použita funkce xcorr, vypadá postup pro výpočet zpožděnı́ následovně: hledánı́ zpožděnı́ pomocı́ korelace sig1= sig1/max(abs(sig1)); sig2= sig2/max(abs(sig2)); N= length(sig1); kor= xcorr(sig1, sig2); [y, i]= max(abs(kor)); delay= (i-N)/fs; Funkce xcorr vypočı́tává celý vektor korelačnı́ch koeficientů, tj. výsledný vektor má délku 2N − 1, kde N je délka prvnı́ho i druhého signálu. V přı́padě 10 sekundového signálu při vzorkovacı́ frekvenci 250Hz je signál dlouhý 2500 vzorků, tzn. že vektor korelačnı́ch koeficientů by měl délku 4999. To je nevýhodné z hlediska náročnosti na pamět’ i délku výpočtu. Vzhledem k časovým posunům EEG signálů jen několik milisekund (jednotky, max. desı́tky vzorků) také stačı́ vypočı́tat jen několik korelačnı́ch koeficientů1 . Proto zde uvádı́m efektivnějšı́ výpočet M korelačnı́ch koeficientů. Tato funkce xcorr moje vypočte koeficient R(0) a M koeficientů vlevo i vpravo, tzn. že délka vektoru bude 2M + 1. Takto upravený výpočet korelačnı́ funkce je tedy na prvnı́ pohled značně úspornějšı́, co se týče nároků na pamět’ a v konečném důsledku i s ohledem na rychlost výpočtu, nebot’ je třeba vypočı́tat několikrát méně součtů součinů. 1 Minimálně tolik, kolik vzorků je zpožděnı́ 22 Kapitola 4. MěřenÍ zpožděnÍ 4.2. KorelačnÍ funkce upravená funkce xcorr (xcorr moje) function [R]= xcorr_moje(s1, s2, M) s1= s1(:); s2= s2(:); N= length(s1); R= zeros(1, 2*M+1); for i= 1:M+1, R(M+2-i)= s1(1:N-i+1)’*s2(i:N); R(i+M)= s2(1:N-i+1)’*s1(i:N); end; Důvod, proč je v programu řádek R= zeros(1, 2*M+1) je vysvětlen v přı́loze B.2 na straně 63. Program pro výpočet zpožděnı́ s funkcı́ xcorr moje je třeba modifikovat: hledánı́ zpožděnı́ pomocı́ upravené xcorr sig1= sig1/max(abs(sig1)); sig2= sig2/max(abs(sig2)); kor= xcorr_moje(sig1, sig2, M); N= length(kor); [y, i]= max(abs(kor)); delay= (i-M-1)/fs; 4.2.4 Dosažené výsledky Algoritmus jsem testoval na modelovaných signálech. Nejprve jsem měřil zpožděnı́ mezi signály bez šumu, přičemž jsem měnil jejich délku. V druhém přı́padě jsem testoval šumovou imunitu, kdy jsem použil signály o konstantnı́ délce, ale přičı́tal jsem k nim bı́lý šum. Pro prvnı́ testovánı́ jsem použil modelované signály s proměnnou délkou záznamu N od 2 do 2420 vzorků, přičemž jejich zpožděnı́ bylo 20ms a vzorkovacı́ frekvence fs = 250Hz. Výsledky tohoto testu jsou v tabulce 4.1 na straně 24. Hodnoty jsou zaznamenány v grafu na obrázku 4.6 na straně 26. Protože vzorkovacı́ frekvence je fs = 250Hz, je rozlišovacı́ schopnost korelačnı́ funkce q = 1 fs = 4ms, tzn. že korelačnı́ funkce je schopna určit zpožděnı́ pouze 0 a celistvé násobky 4ms. Zmenšenı́ tohoto kroku by se dalo dosáhnout převzorkovánı́m vstupnı́ch signálů, konkrétně interpolacı́. Z tabulky je vidět, že pro proměnnou délku signálů je korelačnı́ funkce velice dobrá a pro délky signálů nad 14 vzorků určuje zpožděnı́ (až na dvě výjimky) naprosto správně. Pro délky signálů 14 vzorků a méně již korelačnı́ funkce neurčuje zpožděnı́ správně, ale minimálnı́ hranice 15 vzorků je velice obstojná. Pro otestovánı́ šumové imunity algoritmu jsem použil opět modelovaný signál, tentokrát s konstantnı́ délkou a konstantnı́m zpožděnı́m 20ms. Rozsah poměrů užitečného signálu a 23 Kapitola 4. MěřenÍ zpožděnÍ 4.2. KorelačnÍ funkce Délka signálů [vzorky] ∆t [ms] ε [ms] ε [%] 2420 20 0 0 1210 20 0 0 605 20 0 0 302 16 −4 −20 151 16 −4 −20 75 20 0 0 37 20 0 0 18 20 0 0 17 20 0 0 16 20 0 0 15 20 0 0 14 16 −4 −20 13 16 −4 −20 12 16 −4 −20 11 −20 −40 −200 10 −16 −36 −180 9 −16 −36 −180 8 −16 −36 −180 7 −12 −32 −160 6 −12 −32 −160 5 −8 −28 −140 4 −4 −24 −120 3 −4 −24 −120 2 −4 −24 −120 Tabulka 4.1: Výsledky korelačnı́ metody pro proměnnou délku signálů šumu jsem vybral od 0 do 10 dB, protože při SNR = 10dB funguje algoritmus naprosto správně a při SNR = 0dB je energie signálu a šumu stejná, což je přı́pad, který ani nemůže v reálném přı́padě nastat. Výsledky tohoto testu jsou v tabulce 4.2 na straně 25 a graf je na obrázku 4.5 na straně 25. Z tabulky je jasně vidět, že pro odstup signálu od šumu většı́ než 5dB je algoritmus vyhovujı́cı́. Pro vyššı́ hodnoty šumu již chyba určenı́ zpožděnı́ začı́ná růst a při SNR = 0dB je již chyba téměř ε = 300%. Závislost chyby určenı́ zpožděnı́ na SNR a současně na délce záznamu je vynesena v trojrozměrném grafu na obrázku 4.2.4 na straně 26. Tento graf je pouze demonstračnı́ a ukazuje, 24 Kapitola 4. MěřenÍ zpožděnÍ 4.2. KorelačnÍ funkce SNR [dB] ∆t [ms] ε [ms] ε [%] 0 79 59 295 1 40 20 100 2 36 16 80 3 25 5 25 4 21 1 5 5 21 1 5 6 20 0 0 7 20 0 0 8 20 0 0 9 20 0 0 10 20 0 0 Tabulka 4.2: Výsledky korelačnı́ metody pro různé hodnoty SNR Chyba korelačnı́ metody v závislosti na délce signálu 0 -5 -10 ε [ms] -15 -20 -25 -30 -35 -40 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 4.5: Chyba určenı́ zpožděnı́ korelačnı́ metody v závislosti na SNR jak závisı́ chyba určenı́ zpožděnı́ na délce záznamu a současně na SNR. Je vidět, že pro velké hodnoty šumu funguje algoritmus špatně a při zkracovánı́ záznamu se paradoxně chyba zmenšuje. To je ale způsobeno pouze tı́m, že při rostoucı́m šumu chybuje algoritmus v záporném směru a při zkracovánı́ záznamu chybuje v kladném směru. V určitém mı́stě grafu lze tedy nalézt bezchybné určenı́ zpožděnı́, na které se ale nelze spoléhat. 25 Kapitola 4. MěřenÍ zpožděnÍ 4.2. KorelačnÍ funkce Chyba korelačnı́ metody v závislosti na SNR 60 50 ε [ms] 40 30 20 10 0 0 2 4 6 8 10 SNR [dB] Obrázek 4.6: Chyba určenı́ zpožděnı́ korelačnı́ metody v závislosti na délce signálu Zavislost chyby na SNR a delce zaznamu 40 30 20 10 ε [ms] 0 −10 −20 −30 −40 −50 −60 10 5 0 2500 2000 1500 1000 delka [vz.] SNR [dB] Obrázek 4.7: Chyba určenı́ zpožděnı́ korelačnı́ metody 26 500 0 Kapitola 4. MěřenÍ zpožděnÍ 4.3 4.3. DFT spektrum DFT spektrum 4.3.1 Popis metody Základem této metody je výpočet frekvenčnı́ho spektra. Již toto nám napovı́dá, že tato metoda nebude přı́liš vhodná pro výpočet zpožděnı́ mezi signály, které majı́ malou délku. Pro výpočet rychlé Fourierovy transformace je v Matlabu připravena funkce fft. Lépe je ale pro výpočet spektra použı́t např. Welchovu metodu. Welchova metoda vycházı́ z principiálnı́ definice spektrálnı́ výkonové hustoty, ovšem spektra jsou průměrována. Signál je tedy segmentován v čase na segmenty nejčastěji o délce 256 vzorků. Jednotlivé segmenty se překrývajı́, jako nejvýhodnějšı́ jsem volil překryv 50% a jsou váhovány určitým oknem. Typy a průběhy jednotlivých, v praxi nejpoužı́vanějšı́ch oken jsou na obrázku 4.8. Každé okno má samozřejmě různé vlastnosti a spektrum použitı́. Nástin chovánı́ jednotlivých oken bude ukázán později. Rectangle Triangle 2 1.5 Hamming 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 1 0.5 0 0 0.5 1 0 0 Hanning 0.5 1 0 Blackman 1 1 0.8 0.8 0.8 0.6 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0.5 1 0 0 0.5 1 Obrázek 4.8: Váhovacı́ okna 27 0.5 1 Kaiser 1 0 0 0 β=1 β=2 β=10 0 0.5 1 Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum Váhovacı́ okno je třeba použı́t pro omezenı́ jevu, který se nazývá prosakovánı́ spektra. Tento jev a jeho potlačenı́ je vysvětleno v přı́loze A.1 na straně 55. Každé okno má ale různé vlastnosti, což je nutné vzı́t v úvahu při jejich aplikaci. Druhy oken jsou také popsány ve výše zmiňované přı́loze A.1. Dále je třeba spočı́tat počet oken L v signálu N −M L = f loor +1 , m (4.3) kde N je délka signálu, M je řád DFT a m je krok segmentace, který určuje překryv. Floor je funkce, která vracı́ celou část čı́sla. Jak vypadá segmentace je schematicky naznačeno na obrázku 4.9. překrytı́ 50% 2. okno 1. okno N. okno n délka okna Obrázek 4.9: Segmentace signálu Následuje výpočet krátkodobých DFT spekter z jednotlivých oken Si [k] a jejich průměrovánı́. Výsledné průměrované spektrum má tedy tvar L−1 1 X |Si [k]|2 b Ss [k] = . L M (4.4) i=0 Takto tedy lze vypočı́tat spektrálnı́ výkonovou hustotu jednoho signálu. Pro měřenı́ zpožděnı́ mezi dvěma signály je třeba vypočı́tat vzájemnou spektrálnı́ hustotu a z této spektrálnı́ hustoty vypočı́tat vzájemnou fázi. Fáze a časový posun jsou již jednoduše svázány lineárnı́ rovnicı́. 4.3.2 Výpočet vzájemné spektrálnı́ hustoty Vzájemnou spektrálnı́ výkonovou hustotu lze vypočı́tat Fourierovou transformacı́ vzájemné korelačnı́ funkce, tzn. že vzájemná spektrálnı́ hustota je komplexnı́ funkce, která nese informaci o vzájemném časovém posunutı́ dvou signálů a platı́ pro ni vztah Sxy (f ) = |Sxy (f )|ejΦxy (f ) = Cxy (f ) + jQxy (f ), 28 (4.5) Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum kde Cxy je soufázová složka spektra a Qxy je kvadraturnı́ složka spektra. Pro modul a fázi platı́ q 2 (f ) + Q2 (f ), Cxy xy Qxy (f ) Φxy (f ) = arctg . Cxy (f ) |Sxy (f )| = (4.6) (4.7) Vzájemnou spektrálnı́ výkonovou hustotu lze stanovit i pomocı́ jednotlivých spektrálnı́ch hustot Sxy (ejΦ ) = Sx∗ (ejΦ )Sy (ejΦ ) = Sx (e−jΦ )Sy (ejΦ ). (4.8) Vzorce (4.8) využı́vá pro výpočet vzájemné spektrálnı́ hustoty v Matlabu funkce csd 2 , přičemž použı́vá Welchovy metody. Blokové schéma Welchovy metody je znázorněno na obrázku 4.10. x[n] xl [m] w[m] 1 | . . . |2 N DFT průměr Ŝx [k] Obrázek 4.10: Znázorněnı́ Welchovy metody výpočtu spektrálnı́ hustoty Nynı́ již stačı́ vypočı́tat vzájemnou fázi podle rovnice (4.7). V Matlabu lze fázi vypočı́tat pomocı́ funkce angle nebo phase. V některých přı́padech je nutné fázi tzv. rozbalit, což zařı́dı́ funkce unwrap. Přı́klad vzájemné spektrálnı́ hustoty a vzájemné fáze je na obrázku 4.11. Z průběhu fáze je nynı́ třeba zjistit zpožděnı́ mezi oběma signály. Vzhledem k tomu, že EEG signál je relevantnı́ na kmitočtech do 30Hz, je třeba hledat přibližně lineárnı́ část právě na kmitočtech do 30Hz. Pokud tuto přibližně lineárnı́ část proložı́me přı́mkou (v Matlabu funkcı́ polyfit), zı́skáme lineárnı́ závislost fáze na frekvenci. Zpožděnı́ mezi dvěma signály lze vypočı́tat pomocı́ rovnice ∆ϕ (4.9) ∆f · 2π Přı́klad nalezené lineárnı́ části v průběhu vzájemné fáze je na obrázku 4.12. Lineárnı́ část ∆t = je ohraničena dvěmi vertikálnı́mi čarami a proložena přı́mkou. 4.3.3 Koherence Pro automatické nalezenı́ lineárnı́ části může posloužit koherence. Průběh koherence je na obrázku 4.12 na straně 31, v mı́stech, kde je koherence vysoká, je mı́ra přesnosti odhadu také vysoká. Koherenčnı́ funkce je tzv. mı́ra přesnosti odhadu spektrálnı́ hustoty, je to komplexnı́ funkce reálné proměnné a je definována jako Sxy (f ) . Sx (f )Sy (f ) γxy (f ) = |γxy (f )|ejΦxy (f ) = p 2 cross spectrum density 29 (4.10) Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum 20 0 −40 S xy [dB] −20 −60 −80 −100 0 20 40 60 80 100 120 140 80 100 120 140 f [Hz] 4 Φ [rad] 2 0 −2 −4 0 20 40 60 f [Hz] Obrázek 4.11: Vzájemná spektrálnı́ hustota a fáze Koherence, která je důležitá pro určenı́ mı́ry přesnosti vzájemné spektrálnı́ hustoty je určená jako kvadrát modulu koherenčnı́ funkce 2 γxy (f ) = |Sxy (f )|2 , Sx (f )Sy (f ) 2 0 ≤ γxy (f ) ≤ 1. (4.11) Automatické určovánı́ vysoké koherence pro určenı́ rozmezı́ pro proloženı́ téměř lineárnı́ části fáze je problematické. Pro tyto účely sice použı́vám určité metody, ale tato metoda nenı́ schopná určit rozmezı́ se stoprocentnı́ přesnostı́. Někdy se může stát, že při vizuálnı́m porovnánı́ by bylo vhodné prokládat přı́mkou průběh fáze v jiném rozsahu, proto si myslı́m, že pro preciznı́ stanovenı́ zpožděnı́ pomocı́ metody DFT spektra je třeba stanovovat lineárnı́ část průběhu fáze ručně. 30 Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum 4 φ [rad] 2 0 −2 −4 0 20 40 60 80 100 120 140 80 100 120 140 f [Hz] 1 koherence 0.8 0.6 0.4 0.2 0 0 20 40 60 f [Hz] Obrázek 4.12: Vzájemná fáze a koherence 4.3.4 Implementace v Matlabu Prvnı́m krokem je stejně jako v přı́padě korelačnı́ funkce normovánı́ obou signálů na maximálnı́ hodnotu 1, popř. -1. Po tomto kroku je na řadě již výpočet vzájemné spektrálnı́ hustoty a z této hustoty vzájemnou fázi. zjištěnı́ vzájemné fáze sig1= sig1/max(abs(sig1)); sig2= sig2/max(abs(sig2)); cross_s= csd(sig1, sig2, [], fs); cross_phase= angle(cross_s); koherence= cohere(sig1, sig2); faze= cross_phase; 31 Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum Proměnná faze tedy určuje průběh vzájemné fáze obou signálů. V tomto průběhu je nutné pohledem nalézt výše zmiňovanou téměř lineárnı́ část na relevantnı́ch kmitočtech a označit si indexy, které odpovı́dajı́ krajům této části. Při znalosti průběhu fáze a nalezenı́ indexů frekvencı́ (v programech v1, v2 a faze) je možné stanovenou část průběhu fáze proložit přı́mkou. Ze směrnice této přı́mky již lze pomocı́ vzorce (4.9) vypočı́tat zpožděnı́ mezi jednotlivými signály. 4.3.5 Dosažené výsledky Algoritmus jsem opět testoval na modelovaných signálech, jejichž zpožděnı́ bylo 20ms. Nejprve jsem opět měnil délku záznamu a potom jsem zvětšoval aditivnı́ šum. Nejprve jsem tedy testoval závislost chyby měřenı́ na délce signálů, kterou jsem měnil od 512 do 2500 vzorků. Zpožděnı́ mezi těmito signály tedy bylo 20ms při vzorkovacı́ frekvenci fs = 250Hz. Výsledky jsou v tabulce 4.3. Délka signálů [vzorky] ∆t [ms] ε [ms] ε [%] 2420 18,711641 −1,288359 −6,441795 2230 18,235253 −1,764747 −8,823735 2040 18,345447 −1,654553 −8,272765 1850 18,345447 −1,654553 −8,272765 1660 18,779544 −1,220456 −6,102280 1470 18,674221 −1,325779 −6,628895 1280 18,674221 −1,325779 −6,628895 1090 16,139673 −3,860327 −19,301635 900 14,490681 −5,509319 −27,546595 710 18,921346 −1,078654 −5,393270 520 18,921346 −1,078654 −5,393270 256 2,019642 −17,980358 −89,901788 Tabulka 4.3: Výsledky metody DFT spektra pro proměnnou délku signálů Jeden vzorek při vzorkovacı́ frekvenci fs = 250Hz odpovı́dá času 4ms. Z tabulky 4.3 je vidět, že algoritmus rozpoznává zpožděnı́ mezi signály na necelé vzorky. To je dáno jednak aproximacı́ průběhu přı́mkou, která může mı́t jakýkoliv sklon, ale i tı́m, že zpožděnı́ mezi signály nemusı́ být opravdu o celý vzorek3 , z čehož vyplývá jakákoliv hodnota zpožděnı́. Druhý test opět spočı́vá v otestovánı́ šumové odolnosti. Měřil jsem zpožděnı́ mezi modelovanými signály, jejichž vzájemný posuv byl 20ms a SNR jsem měnil od 0 do 10dB. Výsledky 3 Toto je vysvětleno v kapitole A.4 na straně 61 32 Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum jsou v tabulce 4.4. Z tabulky je vidět, že tato metoda pro různé hodnoty SNR nedává přı́liš stabilnı́ výsledky, ale pro nižšı́ hodnoty SNR se chová lépe, než korelačnı́ funkce. SNR [dB] ∆t [ms] ε [ms] ε [%] 0 22,0 2,0 10,0 1 18,8 −1,2 −6,0 2 21,0 1,0 5,0 3 20,6 0,6 3,0 4 19,5 −0,5 −2,5 5 17,5 −2,5 −12,5 6 16,0 −4,0 −20,0 7 16,7 −3,3 −16,5 8 17,0 −3,0 −15,0 9 18,7 −1,3 −6,5 10 20,0 0,0 0,0 Tabulka 4.4: Výsledky metody DFT spektra pro různé hodnoty SNR Chyba fázové DFT metody v závislosti na délce signálu 0 -2 -4 ε [ms] -6 -8 -10 -12 -14 -16 -18 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 4.13: Chyba určenı́ zpožděnı́ DFT metody v závislosti na délce signálu Závislost chyby určenı́ zpožděnı́ na SNR a současně na délce záznamu je vynesena v trojrozměrném grafu na obrázku 4.15 na straně 34. Z tohoto grafu je vidět, že metoda DFT spektra opravdu nenı́ vhodná pro krátké signály. Tento graf byl vykreslen automatizovaně pomocı́ koherence. Zde ale nastává problém se signály kratšı́mi než 512 vzorků, protože potom je použit jen jeden segment a koherence nabývá na všech frekvencı́ch hodnoty 1. 33 Kapitola 4. MěřenÍ zpožděnÍ 4.3. DFT spektrum Chyba fázové DFT metody v závislosti na SNR 2 1 ε [ms] 0 -1 -2 -3 -4 0 2 4 6 8 10 SNR [dB] Obrázek 4.14: Chyba určenı́ zpožděnı́ DFT metody v závislosti na SNR Zavislost chyby na SNR a delce zaznamu 25 20 15 10 ε [ms] 5 0 −5 −10 −15 −20 10 5 0 2500 2000 1500 delka [vz.] SNR [dB] Obrázek 4.15: Chyba určenı́ zpožděnı́ DFT metody 34 1000 500 Kapitola 4. MěřenÍ zpožděnÍ 4.4 4.4. Parametrická metoda Parametrická metoda Parametrických metod a způsobů, jak s nimi pracovat je mnoho. Zjednodušeně se jedná o hledánı́ racionálnı́ lomené funkce přenosové funkce čı́slicového filtru, která popisuje parametrický model. Parametrické modely majı́ řád M , což znamená, že parametrický model ve spektru modeluje M špiček. Pokud chceme nalézt dobře funkčnı́ model, je třeba správně odhadnout řád modelu, nebot’ podhodnocený model špatně vystihuje signál a nadhodnocený modeluje ve spektru falešné špičky. Problematikou odhadů řádů modelů se zabývám v přı́loze A.2 na straně 58. Nalezenı́ parametrického modelu řádu M je vlastně aproximace spektrálnı́ hustoty racionálnı́ lomenou funkcı́ stupně M metodou nejmenšı́ch čtverců. Je tedy zřejmé, že docházı́ ke kompresi (redukci) dat, protože signál o délce N je nahrazen M < N parametry. 4.4.1 Typy modelů Rozlišujeme tři základnı́ typy modelů. Stejně se nazývajı́ i typy přenosových funkcı́ syntetizujı́cı́ho filtru: ARMA je autoregresnı́ model klouzavých součtů (autoregressive moving average model). Přenosová funkce syntetizujı́cı́ho filtru ARMA má tvar H(z) = B(z) A(z) . Tento model je nejpřesnějšı́, ale nalezenı́ jeho parametrů je nejsložitějšı́. Tento model použı́vá IIR filtr s póly i nulovými body, je to tzv. pole-zero model. Dı́ky tomu model dobře modeluje spektrálnı́ špičky i prohlubně. MA je model klouzavých průměrů (moving average model). Přenosová funkce syntetizujı́cı́ho filtru MA má tvar H(z) = B(z). Tento model použı́vá FIR filtr s nulovými body, je to tzv. all-zero model. AR je model autoregresnı́ model (autoregressive model). Přenosová funkce syntetizujı́cı́ho filtru AR má tvar H(z) = 1 A(z) . Nalezenı́ jeho parametrů je nejjednoduššı́, protože se jedná o lineárnı́ úlohu. Tento model použı́vá FIR filtr s póly, je to tzv. all-pole model. Pro odhad parametrů u všech třı́ modelů se použı́vá minimalizace výkonu chybového výkonu. Pro MA a ARMA modely vede minimalizace na soustavu nelineárnı́ch rovnic, zatı́mco pro AR modely vede minimalizace na soustavu rovnic lineárnı́ch. Proto je AR model použı́ván v praxi nejčastěji. Já budu hledat zpožděnı́ mezi signály také pomocı́ AR modelů. 4.4.2 Wienerova filtrace Podstatou této metody je Wienerova filtrace. Wienerovu filtraci lze obecně definovat jako filtraci nějakého signálu lineárnı́m filtrem tak, abychom zı́skali signál požadovaný. Na 35 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda obrázku 4.16 je znázorněn obecný estimátor. Na tomto obrázku je lineárnı́ filtr s impulzovou ˆ odezvou g[n], který ze signálu u[n] produkuje signál d[n], přičemž požadujeme nalézt takovou ˆ aproximoval signál d[n] co nejlépe. Tato úloha se impulzovou odezvu filtru, aby signál d[n] nazývá Wienerova filtrace4 . d[n] u[n] g[n] ˆ d[n] e[n] Obrázek 4.16: Obecný estimátor Tato konfigurace je popsána následovně - u[n] je vstupnı́ signál, který filtrujeme - d[n] je analyzovaný signál ˆ je chybový signál - e[n] = d[n] − d[n] ˆ aproximuje signál d[n] co nejlépe, blı́žı́ se signál e[n] bı́lému - v přı́padě, že signál d[n] šumu Pokud tedy jako vstupnı́ signál použijeme nekorelovaný šum a nalezneme vyhovujı́cı́ impulzovou odezvu filtru, lze tedy pomocı́ šumu a M parametrů modelu modelovat analyzovaný signál. V přı́padě měřenı́ zpožděnı́ mezi dvěma signály ale nepotřebuji přı́mo modelovat signál. Jako signály u[n] a d[n] použiji oba signály EEG, mezi kterými chci měřit zpožděnı́. Řád modelu by měl být přibližně stejný, kolik vzorků je zpožděnı́, ale zpožděnı́ nenı́ dopředu známo, proto je třeba řád určit pomocı́ některého z kritériı́. Na prvnı́ pohled je zřejmé, že signál d[n] musı́ být zpožděn oproti signálu u[n], protože FIR filtr signál u[n] zpozdı́ o tolik vzorků, kolik je jeho řád. Problém je ale v tom, že zpožděnı́ nenı́ známo před měřenı́m. Přišel jsem ale na to, že pokud použiji kterékoliv kritérium pro určenı́ řádu AR modelu a vstupnı́ signály jsou v chybném pořadı́, vyjde optimálnı́ řád 1, což je samozřejmě pro signály EEG nesmysl. 4.4.3 Estimace signálu Řešenı́ estimace signálu odvodil pan Norbert Wiener v podobě Wienerovy-Hopfovy rovnice. Tato rovnice použı́vá jako kritéria minimalizaci střednı́ kvadratické chyby E e2 [n] . Tento přı́stup je statistický, proto je třeba, aby signály byly stacionárnı́. 4 označována také estimacı́ signálu 36 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda Chyba estimace je tedy dána vztahem ˆ e[n] = d[n] − d[n]. (4.12) Střednı́ kvadratická odchylka je potom definována jako 2 ˆ J = E e2 [n] = E d[n] − d[n] . (4.13) ˆ je výstup FIR filtru s impulzovou odezvou g[n] a na jehož Vzhledem k tomu, že signál d[n] vstupu je signál u[n], lze rovnici (4.12) přepsat na e[n] = d[n] + M X g[i]u[n − i], (4.14) i=0 kde M je řád FIR filtru. Pro gradienty kvadratických odchylek platı́ ∂E e2 [n] ∂e[n] ∇k J = = 2E e[n] = 2E[e[n]u[n − k]], k = 0, 1, . . . , M. ∂g[k] ∂g[k] Vynulovánı́m gradientu zı́skáme normálnı́ rovnici " ! # M X E d[n] + g[i]u[n − i] u[n − k] = 0 (4.15) (4.16) i=0 a s využitı́m linearity operátoru střednı́ hodnoty zı́skáme rovnici M X g[i]E [u[n − i]u[n − k]] = −E [d[n]u[n − k]] , k = 0, 1, . . . , M. (4.17) i=0 Levá strana rovnice (4.17) je součin čtvercové matice s sloupcového vektoru. Sloupcový vektor je vektor hledaných koeficientů filtru. Čtvercová matice je matice autokorelačnı́ch koeficientů signálu u[n]. Pravá strana rovnice je sloupcový vektor vzájemných korelačnı́ch koeficientů vstupnı́ch signálů. Wienerova-Hopfova rovnice má pro dávkové zpracovánı́ a autokorelačnı́ metodu tvar Ru [0] Ru [1] ... Ru [M ] g[0] Rud [0] Ru [1] Rud [1] Ru [0] . . . Ru [M − 1] g[1] (4.18) · . = − . .. .. .. .. .. . . . . . . . Ru [M ] Ru [M − 1] . . . Ru [0] g[M ] Rud [M ] Jak je vidět, je matice symetrická a ekvidiagonálnı́ (Toeplitzova). Blokově lze tuto rovnici řešit následovně Ru G = −Rud → G = −R−1 u Rud . (4.19) Řešenı́ lze provést různými metodami (Gaussova eliminace, atd.). V Matlabu lze tuto rovnici řešit velice jednoduše. Inverznı́ rovnici lze zı́skat přı́kazem inv. 37 Kapitola 4. MěřenÍ zpožděnÍ 4.4.4 4.4. Parametrická metoda Popis metody Jak již bylo výše napsáno, podstatou metody je estimace signálu (Wienerova filtrace). Jako prvnı́ krok je vhodné opět normovat signály tak, aby maximálnı́ hodnota signálů byla v absolutnı́ hodnotě rovna 1. Protože optimálnı́ řád AR modelu vycházı́ u EEG signálů okolo 6, je vhodné filtrovat vstupnı́ signály dolnı́ propustı́ na frekvence, které jsou pro signál EEG relevantnı́. Pro tuto úlohu jsem použil filtraci ve frekvenčnı́ oblasti s meznı́ frekvencı́ 35Hz. Filtrace ve frekvenčnı́ oblasti spočı́vá ve vypočı́tánı́ frekvenčnı́ho spektra, vynulovánı́ spektrálnı́ch čar na frekvencı́ch, které chceme filtrovat a zpětném převedenı́ spektra do časové oblasti. Pokud by totiž nedošlo k filtrovánı́ dolnı́ propustı́, snažil by se AR model tak nı́zkého řádu modelovat i na frekvencı́ch do celých 125 Hz, což by bylo nežádoucı́. Dalšı́m krokem je sestavenı́ Toeplitzovy matice autokorelačnı́ch koeficientů a vektoru vzájemných korelačnı́ch koeficientů. Pro výpočet jednotlivých korelačnı́ch, resp. autokorelačnı́ch koeficientů jsem použil svůj program v Matlabu pro výpočet jednoho určitého korelačnı́ho koeficientu. Poslednı́m krokem je řešenı́ již sestavené Wienerovy-Hopfovy rovnice (4.19). Jejı́m řešenı́m jsou zı́skány koeficienty FIR filtru. Nynı́ stačı́ zı́skat frekvenčnı́ odezvu tohoto filtru a z jejı́ho průběhu zı́skat fázovou charakteristiku filtru. Z průběhu fáze je již možné zjistit zpožděnı́ mezi oběma signály stejně jako v přı́padě DFT spektra. Stejně tak platı́ rovnice (4.9), která má tvar ∆t = ∆ϕ . ∆f · 2π (4.20) Samozřejmě je opět vhodné hledat lineárnı́ část průběhu fáze a to na frekvencı́ch do cca 35Hz. Pro otestovánı́ jsem opět použil modelované signály se vzájemným zpožděnı́m 20 ms. Nejprve je tedy provedena filtrace ve frekvenčnı́ oblasti. U modelovaných signálů nenı́ vidět téměř žádný rozdı́l mezi původnı́m a filtrovaným signálem. Dále následuje odhad řádu AR modelu, v tomto přı́padě vyšlo P = 6. Po určenı́ řádu dojde k sestavenı́ Wienerovy-Hopfovy rovnice a k jejı́mu řešenı́. Jak odhadnout řád AR modelu je vysvětleno v dodatku A.2. Z experimentů vyplynulo, že nejvhodnějšı́ je Schwartz-Bayesovo kritérium. Výsledkem je vektor koeficientů FIR filtru G = (-0,4264 0,5461 0,0374 -0,0534 0,0758 0,2757 0,4827). Pomocı́ funkce freqz lze z tohoto vektoru zı́skat frekvenčnı́ odezvu filtru a následně pomocı́ funkce angle průběh fáze. Oba tyto průběhy jsou nakresleny v jednom grafu na obrázku 4.17 na straně 39. Z průběhu fáze je nynı́ třeba odečı́st zpožděnı́. To se provede nalezenı́m lineárnı́ části v průběhu na frekvencı́ch do 35 Hz. Jak je z obrázku 4.17 vidět, průběh fáze je hladký a proto je automatizované nalezenı́ poměrně snadné. To jsem provedl postupným aproximovánı́m průběhu přı́mkou tak dlouho, dokud neklesla chyba aproximace pod určitou mez. 38 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda 4 3.5 H [f] 3 2.5 2 1.5 1 0.5 0 20 40 60 80 100 120 140 80 100 120 140 f [Hz] 4 Φ [rad] 2 0 −2 −4 0 20 40 60 f [Hz] Obrázek 4.17: Frekvenčnı́ odezva a fáze FIR filtru AR modelu Jak se nalezenı́ požadované části průběhu povedla je možné se přesvědčit na obrázku 4.18 na straně 40. Ze sklonu přı́mky již je velice snadné spočı́tat zpožděnı́. Přı́mka má hraničnı́ frekvence 0,2441 Hz a 8,7891 Hz. Těmto frekvencı́m odpovı́dajı́ fáze 0,0059 rad a 1,1317 rad. Podle rovnice (4.20) již vycházı́ zpožděnı́ ∆t = 1, 1317 − 0, 0059 = 20, 9ms 2π · (8, 7891 − 0, 2441) (4.21) Tyto výsledky lze snadno ověřit pomocı́ programů na CD, které jsou určeny pro zopakovánı́ pokusů. Jejich umı́stěnı́ je popsáno v přı́slušném dodatku. 39 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda 4 3 2 φ [rad] 1 0 −1 −2 −3 −4 0 20 40 60 80 100 f [Hz] Obrázek 4.18: Nalezenı́ lineárnı́ oblasti fáze u AR modelu 4.4.5 Implementace v Matlabu Filtr pro filtraci vstupnı́ch signálů filtrace ve frekvenčnı́ oblasti function output= filtr(signal, fs, f) spektrum= fft(signal); N= length(signal); nmin= round(N/fs*f+1); nmax= round(N/fs*(fs-f)+1); for n= nmin:nmax, spektrum(n)= 0; end; output= real(ifft(spektrum)); 40 120 140 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda Řešenı́ Wienerovy-Hopfovy rovnice Následujı́cı́ funkce vypočı́tá koeficienty FIR filtru koefs. Tato funkce ale potřebuje znát řád AR modelu, který odhadne dalšı́ funkce. řešenı́ Wienerovy-Hopfovy rovnice d= filtr(d, 250, 35); u= filtr(u, 250, 35); Rud= zeros(1, order+1); Ru= zeros(1, order+1); for i= 1:order+1, Rud(i)= korelace(d, u, i-1); Ru(i)= korelace(u, u, i-1); end; matrix= toeplitz(Ru); vector= Rud(:); koefs= inv(matrix) * vector; Následujı́cı́ funkce odhadne řád modelu (ukázková funkce, použı́vajı́cı́ Akaikovo kriterium). odhad řádu AR modelu endofprocess= 0; order= 0; N= length(s1); while endofprocess == 0, order= order + 1; [k, p]= wiener(s1, s2, order); if order == 1 ARc= N*log(p) + 2*order; else if N*log(p) + 2*order <= ARc ARc= N*log(p) + 2*order; else endofprocess= 1; order= order - 1; end; end; end; 41 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda Nalezenı́ lineárnı́ částı́ lze poměrně jednoduše automatizovat, protože průběhy fáze jsou hladké. Jako nejschůdnějšı́ řešenı́ jsem si vybral postupné aproximovánı́ průběhu vzájemné fáze přı́mkou. Pokud je odchylka mezi proloženou přı́mkou a průběhem menšı́ než libovolné zvolené ε, lze považovat úsek za správně nalezený. Pokud nelze lineárnı́ část nalézt, je třeba prokládajı́cı́ přı́mku zkrátit a postupovat opět od začátku průběhu. Samozřejmě je třeba hledat průběh do frekvence cca 35 Hz. Výsledný program, který určı́ zpožděnı́ vypadá následovně. určenı́ zpožděnı́ parametrickou metodou maxerr= 0.2; P= selectorder(s1, s2, 1); faze= angle(freqz(1, wiener(s1, s2, P))); maxfreqindex= floor(2*length(faze)/fs*35); factor= floor(maxfreqindex); for h= 1:4, factor= floor(factor/2); for x= 1:maxfreqindex-factor, xx= x:x+factor; yy= faze(x:x+factor); yy= yy(:)’; [P, S]= polyfit(xx, yy, 1); yyy= P(1)*xx+P(2); err= getfield(S, ’normr’); if err < maxerr break; end; end; if err < maxerr delay_ms= (yyy(length(yyy))-yyy(1))/ ... ... (pi*fs*(xx(length(xx))-xx(1))/(length(faze)-1)) break; end; end; Toto je pouze funkčnı́ část programu. Na CD-ROMu je kompletnı́ program, který současně vykresluje i grafy. Proměnný parametr maxerr určuje maximálnı́ odchylku prokládané přı́mky od skutečného průběhu fáze. 42 Kapitola 4. MěřenÍ zpožděnÍ 4.4.6 4.4. Parametrická metoda Dosažené výsledky Algoritmus jsem testoval opět namodelovaných signálech, přičemž jsem nejprve testoval přesnost algoritmu v závislosti na délce záznamu a potom šumovou imunitu (modelovaný signál rušený aditivnı́m bı́lým šumem). Pro prvnı́ testovánı́ jsem použil modelované signály s proměnnou délkou N od 13 do 2420 vzorků, jejichž vzájemné zpožděnı́ bylo 20ms a vzorkovacı́ frekvence fs = 250Hz. Výsledky testu jsou v tabulce 4.5. Délka signálů [vzorky] ∆t [ms] ε [ms] ε [%] 2420 18,0815220 −1,9184780 −9,592390 1210 18,4353360 −1,5646640 −7,823320 605 17,7208680 −2,2791320 −11,395660 302 17,0523150 −2,9476850 −14,738425 151 15,2075710 −4,7924290 −23,962145 75 21,4738100 1,4738100 7,369050 37 21,3842110 1,3842110 6,921055 18 3,1868526 −16,8131474 −84,065737 17 4,5309774 −15,4690226 −77,345113 16 7,2029778 −12,7970222 −63,985111 15 7,7308384 −12,2691616 −61,345808 14 6,9661760 −13,0338240 −65,169120 13 3,1976600 −16,8023400 −84,011700 Tabulka 4.5: Výsledky parametrické metody pro proměnnou délku signálů Jeden vzorek při vzorkovacı́ frekvenci fs = 250Hz odpovı́dá času 4ms. Z tabulky (4.5) je vidět, že algoritmus rozpoznává zpožděnı́ mezi signály na necelé vzorky. To je dáno aproximacı́ průběhu přı́mkou, která může mı́t jakýkoliv sklon, z čehož vyplývá jakákoliv hodnota zpožděnı́. Z tabulky je vidět, že aplikovaný algoritmus na vyhledávánı́ lineárnı́ části průběhu fáze nenı́ nejpřesnějšı́ a lepšı́m hledánı́m této části by se dalo dosáhnout většı́ přesnosti. Nicméně, i takto je algoritmus schopen detekovat zpožděnı́ pro kratšı́ záznamy signálů, než metoda DFT spektra. Z dalšı́ho testu je vidět, že tato metoda je, stejně jako DFT spektrum, velice šumově odolná. Pro otestovánı́ šumové imunity jsem opět použil modelovaný signál s konstantnı́m zpožděnı́m 20ms a měnil jsem hodnotu SNR v rozsahu 0 až 10dB. Výsledky testu odolnosti proti aditivnı́mu šumu jsou v tabulce 4.6 na straně 44. Metoda se tedy ukazuje podobně šumově odolná jako metoda DFT spektra, nebot’ chyba určenı́ zpožděnı́ se pohybuje 43 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda maximálně do 5%. Tato chyba by se dala zmenšit již výše zmiňovaným lepšı́m odečı́tánı́m lineárnı́ části průběhu fáze, přı́padně efektivnı́m stanovenı́m ar modelu (lepšı́ odhad řádu). SNR [dB] ∆t [ms] ε [ms] ε [%] 0 20,562395 0,562395 2,811975 1 20,885319 0,885319 4,426595 2 21,002143 1,002143 5,010715 3 20,579694 0,579694 2,898470 4 20,545122 0,545122 2,725610 5 20,683670 0,683670 3,418350 6 20,838259 0,838259 4,191295 7 19,698025 −0,301975 −1,509875 8 20,001153 0,001153 0,005765 9 18,812261 −1,187739 −5,938695 10 18,337776 −1,662224 −8,311120 Tabulka 4.6: Výsledky parametrické metody pro různé hodnoty SNR Chyba autoregresnı́ metody v závislosti na délce signálu 2 0 -2 -4 ε [ms] -6 -8 -10 -12 -14 -16 -18 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 4.19: Chyba určenı́ zpožděnı́ AR modelu v závislosti na délce signálu Závislost chyby určenı́ zpožděnı́ na SNR a současně na délce záznamu je vynesena v trojrozměrném grafu na obrázku 4.21 na straně 46. Z grafu je vidět, že algoritmus má dobré vlastnosti pro krátké signály jako vzájemná korelace a dobré šumové vlastnosti jako metoda DFT spektra. Nemá sice tak přesné výsledky pro nezašuměný dlouhý signál jako korelace, ale to je dáno hlavně zidealizovanými podmı́nkami, takže vzájemná korelace nemá s určenı́m 44 Kapitola 4. MěřenÍ zpožděnÍ 4.4. Parametrická metoda Chyba autoregresnı́ metody v závislosti na SNR 1.5 1 ε [ms] 0.5 0 -0.5 -1 -1.5 -2 0 2 4 6 8 10 SNR [dB] Obrázek 4.20: Chyba určenı́ zpožděnı́ AR modelu v závislosti na SNR problémy. Jinak dopadnou výsledky, pokud budou měřeny reálné signály, kdy ani nemusı́ být signály vzájemně posunuty o celistvý počet vzorků. 4.4.7 Průběžné metody Kromě blokové metody AR modelovánı́ jsem se pokoušel i o metody průběžné. Zkoušenými metodami byly gradientnı́ stochastický algoritmus LMS (least mean squares) a RLS algoritmus s předváhovánı́m. Průběžné algoritmy ale nevykazujı́ pro signály EEG dobré výsledky a to kvůli komplexu hrot-vlna. Alespoň krátce popı́ši, jak se algoritmy chovaly. LMS algoritmus pro malou konvergenčnı́ konstantu sice přı́liš na komplex nereagoval, ale ne dostatečně na to, aby se váhy filtru udržely na správných hodnotách. Při ještě většı́m snı́ženı́ konstanty již algoritmus nedokonvergoval. Naopak při většı́ konstantě konvergoval rychleji, ale při přı́chodu hrotu se váhy rozhodily. Bylo by sice možné nedovolit úpravu vah právě při komplexu hrot-vlna, ale zde by hrozilo nebezpečı́, že by tı́m byla ztracena informace o zpožděnı́, kterou hledám. RLS algoritmus pro velkou konvergenčnı́ konstantu zkonvergoval prakticky okamžitě a na komplex hrot-vlna reagoval taktéž velice rychle, ale fázová charakteristika filtru z takto vzniklých vah nebyla moc přesná. Při nı́zké konstantě sice váhy narůstaly pěkně, ovšem algoritmus neměl snahu dobře dokonvergovat ani při velmi dlouhých záznamech. Z uvedených skutečnostı́ usuzuji, že průběžné metody nejsou přı́liš vhodné pro tuto aplikaci a dále se jimi již nebudu zabývat. 45 Kapitola 4. MěřenÍ zpožděnÍ 4.5. PorovnánÍ metod Zavislost chyby na SNR a delce zaznamu 25 20 15 ε [ms] 10 5 0 −5 −10 −15 10 5 0 2500 2000 1500 1000 500 0 delka [vz.] SNR [dB] Obrázek 4.21: Chyba určenı́ zpožděnı́ AR modelu 4.5 Porovnánı́ metod Pro porovnánı́ algoritmů z různých hledisek nejlépe posloužı́ vzájemné grafy odchylek od správné hodnoty zpožděnı́, závislé právě na tom kterém kritériu. Na obrázku 4.22 na straně 47 je porovnánı́ chyb naměřených zpožděnı́ v závislosti na délce vstupnı́ch signálů. Z grafu nenı́ vidět, jak se jednotlivé algoritmy chovajı́ pro krátké signály, proto jsem vykreslil ještě jeden graf, který má logaritmickou osu x. Tento graf je na obrázku 4.23 na straně 47. Z grafu je jasně vidět, která metoda začne kdy výrazně chybovat. Jako prvnı́ (při zkracovánı́ signálů) začne chybovat metoda fázového DFT spektra, potom metoda AR modelovánı́ a jako poslednı́ metoda korelačnı́. Z hlediska délky signálů je tedy nejlepšı́ metoda korelačnı́. Na obrázku 4.24 na straně 48 je porovnánı́ chyb naměřených zpožděnı́ v závislosti na SNR. Z grafu je opět vidět, že korelačnı́ funkce začne při jisté hranici výrazně chybovat, naopak metoda parametrická a metoda fázového DFT spektra si udržujı́ dostatečnou přesnost i při SNR 0, kdy je tedy výkon šumu stejný jako výkon samotných signálů. Z hlediska šumové 46 Kapitola 4. MěřenÍ zpožděnÍ 4.5. PorovnánÍ metod odolnosti jsou tedy tyto dvě zmiňované metody srovnatelné. Pokud tedy vezmeme v úvahu obě kritéria, lze si vybrat mezi korelačnı́ nebo parametrickou metodou. Závislost chyby určenı́ zpožděnı́ na délce signálu 5 0 -5 ε [ms] -10 -15 -20 -25 -30 korelace fázová FFT AR modelovánı́ -35 -40 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 4.22: Porovnánı́ chyb zpožděnı́ v závislosti na délce signálu Závislost chyby určenı́ zpožděnı́ na délce signálu 5 0 -5 ε [ms] -10 -15 -20 -25 -30 korelace fázová FFT AR modelovánı́ -35 -40 1 10 100 L [vzorky] 1000 10000 Obrázek 4.23: Porovnánı́ chyb zpožděnı́ v závislosti na délce signálu (log měřı́tko) 47 Kapitola 4. MěřenÍ zpožděnÍ 4.6. MěřenÍ na reálných signálech Závislost chyby určenı́ zpožděnı́ na SNR 60 korelace fázová FFT AR modelovánı́ 50 ε [ms] 40 30 20 10 0 -10 0 2 4 6 8 10 SNR [dB] Obrázek 4.24: Porovnánı́ chyb zpožděnı́ v závislosti na SNR 4.6 Měřenı́ na reálných signálech Pro měřenı́ na reálných signálech jsem si vybral z dodaných signálů dva signály o délce 2500 vzorků z párových sond F7 a F8. Samozřejmě jsem hledal část, kde se vyskytoval epileptický záchvat. Při vykreslenı́ těchto dvou signálů v Matlabu jsem signály vizuálně porovnal a odhadl, že zpožděnı́ mezi nimi může být několik vzorků. Pro jednotlivé metody jsem zjistil zpožděnı́ mezi nimi. 4.6.1 Korelačnı́ metoda Pomocı́ korelačnı́ metody jsem určil, že zpožděnı́ mezi signály je 0ms, tedy že signály nejsou navzájem zpožděny. Vektor korelačnı́ch koeficientů je na obrázku 4.25 na straně 49. 4.6.2 DFT spektrum Metodou fázového DFT spektra jsem určil, že zpožděnı́ mezi signály je 1, 5ms, tedy jen něco málo nad 0s. Průběh fáze včetně přı́mky, která prokládá lineárnı́ oblast, je zakreslen na obrázku 4.26 na straně 49. 4.6.3 Parametrická metoda Jako poslednı́ jsem použil parametrickou metodu. Pomocı́ této metody jsem naměřil zpožděnı́ mezi signály 1, 7ms, tedy opět velice podobně, jako metoda fázového DFT spektra. Průběh 48 Kapitola 4. MěřenÍ zpožděnÍ 4.6. MěřenÍ na reálných signálech frekvenčnı́ charakteristiky a fázové charakteristiky výsledného filtru, ze které se odečı́tá hledané zpožděnı́, je nakreslen na obrázku 4.27 na straně 50. 80 60 40 20 0 −20 −40 −10 −8 −6 −4 −2 0 delay [s] 2 4 6 8 10 Obrázek 4.25: Průběh korelačnı́ funkce pro reálné signály 4 3 2 φ [rad] 1 0 −1 −2 −3 −4 0 20 40 60 80 100 120 140 f [Hz] Obrázek 4.26: Průběh vzájemné fáze pro reálné signály (DFT spektrum) 49 Kapitola 4. MěřenÍ zpožděnÍ 4.6. MěřenÍ na reálných signálech 12 10 H [f] 8 6 4 2 0 0 20 40 60 80 100 120 140 80 100 120 140 f [Hz] 1 Φ [rad] 0.8 0.6 0.4 0.2 0 0 20 40 60 f [Hz] Obrázek 4.27: Impulzová odezva a fáze pro reálné signály (AR modelovánı́) 4.6.4 Porovnánı́ výsledků s reálnými signály Pro porovnánı́ jednotlivých metod, aplikovaných na reálné signály, jsem opět použil zkracovánı́ signálů a přičı́tánı́ aditivnı́ho šumu. Jak závisı́ vypočı́tané zpožděnı́ jednotlivými metodami na délce vstupnı́ch signálů je znázorněno na obrázku 4.28. Závislost zpožděnı́ na délce signálu 10 ∆t [ms] 5 0 -5 -10 -15 korelace fázová FFT AR modelovánı́ 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 4.28: Porovnánı́ naměřených zpožděnı́ mezi reálnými signály (proměnná délka) 50 Kapitola 4. MěřenÍ zpožděnÍ 4.6. MěřenÍ na reálných signálech Stejně tak porovnánı́ naměřených zpožděnı́ pro aditivnı́ přı́davný šum je zakresleno na obrázku 4.29. Z grafu je vidět, že jednotlivé metody se lišı́ pouze stejnosměrným posunem, který v podstatě pro všechny hodnoty SNR udržujı́. Je vidět, že jednotlivé metody se ve svých výsledcı́ch lišı́, ovšem odhadnout, který algoritmus se vı́ce či méně blı́žı́ pravdě je velmi složité. S určitostı́ můžeme prohlásit, že i pro reálné signály fungujı́ všechny metody správně, protože výsledky se lišı́ jen nepatrně. Závislost zpožděnı́ na SNR 5 korelace fázová FFT AR modelovánı́ 4 3 ∆t [ms] 2 1 0 -1 -2 -3 0 2 4 6 8 10 SNR [dB] Obrázek 4.29: Porovnánı́ naměřených zpožděnı́ mezi reálnými signály (proměnný SNR) 51 Kapitola 5 Závěr Za obdobı́ vytvářenı́ této diplomové práce se mi podařilo naprogramovat tři očekávané metody tak, že všechny tři pracujı́ správně. Samozřejmě každá má jiné vlastnosti, jako je přesnost, vhodnost použitı́ pro různé signály, at’ už se jedná o jejich délku nebo zašuměnı́, atd. 5.1 Implementace algoritmů Nejprve bych zhodnotil snadnost implementace v programovacı́m jazyce, v mém přı́padě v Matlabu, ovšem pro jiné jazyky, jako je C, C++, atd. je samozřejmě snadnost implementace analogická. Nejjednoduššı́ na naprogramovánı́ je korelačnı́ metoda, protože se sčı́tajı́ pouze násobky jednotlivých vzorků. Pokud je vypočı́táván celý vektor korelačnı́ch koeficientů, nenı́ tato metoda přı́liš úsporná, co se týče paměti. Tento problém ale řešı́ moje modifikovaná metoda, která počı́tá jen několik korelačnı́ch koeficientů. Metoda fázového DFT spektra a metoda AR modelovánı́ jsou přibližně stejně náročné na naprogramovánı́ i na velikost paměti pro ukládánı́ vzorků a proměnných. 5.2 Přesnost algoritmů Pokud budeme brát v úvahu pouze modelované signály standardnı́ délky (cca 10s) a bez přı́davného šumu, je nejpřesnějšı́ metoda korelačnı́. Metoda fázového DFT spektra a metoda AR modelovánı́ jsou v určitých mezı́ch také dostatečně přesné. 52 Kapitola 5. Závěr 5.3 5.3. Rychlost algoritmů Rychlost algoritmů Korelačnı́ metoda pouze načte vzorky a potom je mezi sebou násobı́. Pokud se vypočı́tává celý vektor korelačnı́ch koeficientů, je potřeba N součtů a N součinů pro každý korelačnı́ koeficient, tedy (2N − 1)× N součtů a N součinů. Pro modifikovanou korelačnı́ metodu je třeba (2ξ −1)× N součtů a N součinů, kde ξ je počet korelačnı́ch koeficientů, kolik jich chceme vypočı́tat. Pro výpočet fázového DFT spektra je třeba N 2 komplexnı́ch součinů a N 2 komplexnı́ch součtů, což je mnoho, proto použı́vám FFT, která je prakticky dvakrát rychlejšı́ než DFT. U AR modelovánı́ je třeba sestavit jednu matici autokorelačnı́ch koeficientů o rozměru K × K a jeden vektor korelačnı́ch koeficientů o velikosti K, kde K je řád AR modelu. Po sestavenı́ matice a vektoru je třeba vynásobit inverznı́ matici s vektorem, čı́mž je zı́skán vektor koeficientů FIR filtru. Dále je třeba vypočı́tat impulzovou odezvu filtru a následně průběh fáze. Sestavenı́ matice a vektoru je třeba provést několikrát, dokud nenı́ nalezen optimálnı́ řád AR modelu, což tento algoritmus značně zpomaluje. I přesto je algoritmus rychlejšı́ než metoda DFT spektra, ale zároveň pomalejšı́ než korelačnı́ metoda. 5.4 Vhodnost algoritmů vzhledem k vlastnostem signálů Korelačnı́ metoda se dokáže velmi dobře vypořádat s velmi krátkými záznamy signálů. I pro několik desı́tek vzorků je schopná poměrně přesně vypočı́tat zpožděnı́. Horšı́ situace nastává pro aditivnı́ šum. Při nižšı́ch hodnotách SNR již tento algoritmus selhává. Metoda DFT spektra je oproti korelačnı́ metodě velmi spolehlivá i při velmi malých hodnotách SNR. Tato metoda ale zase selhává při krátkých záznamech signálů a to i již při několika stovkách vzorků. To je způsobeno principem výpočtu FFT. Metoda AR modelovánı́ je na tom o poznánı́ lépe. Stejně tak jako metoda DFT spektra je velice dobrá i při velmi malých hodnotách SNR a současně je schopná vypočı́tat zpožděnı́ i pro krátké záznamy signálů, ne sice pro tak krátké jako metoda korelačnı́, ale o poznánı́ kratšı́ než metoda DFT spektra. Oblast použitı́ jednotlivých metod se tedy lišı́ podle vlastnostı́ signálů. V jaké oblasti lze tedy metody využı́t, demonstruje přibližně obrázek 5.1 na straně 54. Jednotlivé křivky vymezujı́ oblasti, kde je možné použı́t danou metodu. Oblast vyšrafovaná křı́ženými čarami je taková, že na ni lze s dobrou přesnostı́ aplikovat všechny tři metody. 53 Kapitola 5. Závěr 5.5. Celkové zhodnocenÍ Oblast použitı́ jednotlivých metod 10 9 8 SNR [dB] 7 6 5 4 3 2 1 0 korelace fázové spektrum AR model 0 500 1000 1500 L [vzorky] 2000 2500 Obrázek 5.1: Oblast použitı́ metod 5.5 Celkové zhodnocenı́ Jako nejlepšı́ se mi jevı́ metoda AR modelovánı́. Rozpoznávánı́ oblasti pro odečtenı́ zpožděnı́ a určenı́ optimálnı́ho řádu sice nenı́ úplně precizně dopracované, ale pokud by se tyto dvě věci dodělaly, byla by tato metoda pravděpodobně optimálnı́. Vzhledem k tomu, že tedy zatı́m nejsem schopný nastavit metodu tak, aby při modelovaných signálech dosahovala naprosto přesných výsledků, je v současném okamžiku lépe použı́t korelačnı́ metody. I když nenı́ korelačnı́ metoda tolik odolná proti aditivnı́mu šumu, myslı́m, že to nenı́ až tak velký problém, protože tak nı́zké SNR se u EEG signálů pravděpodobně nevyskytuje. Zatı́m je tedy použitı́ korelačnı́ metody suboptimálnı́ řešenı́, ale myslı́m si, že s dalšı́m vývojem AR metody, na kterém bych chtěl pracovat jako doktorand, se výsledky zlepšı́. 5.6 Opakovánı́ pokusů Všechny naměřené hodnoty lze experimentálně znovu ověřit. Samozřejmě, že pro testovánı́ šumové odolnosti již nelze zı́skat naprosto stejné hodnoty, protože šum je náhodná posloupnost a tedy při každém měřenı́ je průběh s přičteným šumem různý. Ovšem při zprůměrovánı́ několika měřenı́ při stejném SNR by se měl opakovaný pokus značně přiblı́žit mým naměřeným hodnotám. Kde na přiloženém CD jsou umı́stěny soubory pro jednoduché zopakovánı́ pokusů je napsáno v kapitole C.5.1 na straně 65. 54 Dodatek A Poznámky ke zpracovánı́ signálů A.1 Prosakovánı́ ve spektru K prosakovánı́ spektra[4] docházı́ v přı́padě, že vypočı́táváme DFT ze signálu délky N s periodou T , přičemž N 6= kT , kde k je celé čı́slo. V přı́padě obecného poměru délky segmentu a periody signálu docházı́ ke zkreslenı́ spektra v důsledku konvoluce se spektrem obdélnı́kového okna. Demonstrace tohoto jevu je na obrázku A.1 na straně 56. Jako vstupnı́ signál byla použita sinusoida o délce 64 vzorků s rovnicı́ x = sin 2πn · 4 k , n = 0 . . . 63. (A.1) V prvnı́m přı́padě je k rovno 64, tedy délka segmentu je rovna celistvému násobku periody signálu. Jeho spektrum potom obsahuje pouze jednu spektrálnı́ čáru. Pro dalšı́ tři signály je k rovno 65, 66 a 68 a průběh jejich spektra se postupně zhoršuje. Právě z tohoto důvodu se použı́vá váhovánı́ okny. Průběhy frekvenčnı́ho spektra po váhovánı́ různými okny je znázorněno na obrázku A.2 o délce 64 vzorků. Je na straně 57. Vstupnı́ signál je opět sinusoida s rovnicı́ x = sin 2πn·4 64 vidět, že všechna okna zlepšujı́ průběh spektra oproti spektru bez použitı́ váhovánı́, každé ale různě kvalitně. Jako prvnı́ je použito Hanningovo (v některých literaturách je označováno jako Hannovo), pro pro jehož průběh platı́ w[n] = w[n] = 1 2πn 1 − cos , 2 N 1 2πn 1 + cos , 2 N n = 0...N − 1 (A.2) N 2 (A.3) |n| ≤ a ve spektru po váhovánı́ tı́mto oknem jsou dominantnı́ pouze 3 spektrálnı́ čáry. 55 Dodatek A. Poznámky ke zpracovánÍ signálů A.1. ProsakovánÍ ve spektru Dalšı́m oknem je okno Hammingovo. Toto okno je definováno rovnicemi 2πn , N 2πn w[n] = 0, 54 + 0, 46 cos , N w[n] = 0, 54 − 0, 46 cos n = 0...N − 1 (A.4) N 2 (A.5) |n| ≤ a ve spektru po váhovánı́ tı́mto oknem jsou dominantnı́ opět pouze 3 spektrálnı́ čáry, okolnı́ jsou potlačeny v tomto přı́padě ještě lépe, než v přı́padě okna Hanningova. signal spektrum 1 40 0 20 −1 0 20 40 60 0 80 1 40 0 20 −1 0 20 40 60 0 80 1 40 0 20 −1 0 20 40 60 0 80 1 0 10 20 30 40 0 10 20 30 40 0 10 20 30 40 0 10 20 k 30 40 30 20 0 10 −1 0 20 40 n 60 0 80 Obrázek A.1: Demonstrace prosakovánı́ spektra Dalšı́ okno je Blackmanovo, jehož rovnice jsou 2πn 2πn − 0, 08 cos , N N 2πn 2πn w[n] = 0, 42 + 0, 5 cos + 0, 08 cos , N N w[n] = 0, 42 − 0, 5 cos 56 n = 0...N − 1 (A.6) N 2 (A.7) |n| ≤ Dodatek A. Poznámky ke zpracovánÍ signálů A.1. ProsakovánÍ ve spektru Toto okno již nežádoucı́ spektrálnı́ čáry potlačuje hůře, stejně tak jako následujı́cı́ okno trojúhelnı́kové, pro které platı́ ( w[n] = 2n N, 2− w[n] = 1 − n = 0 . . . N2 − 1 2n N, 2|n| , N N 2 n= |n| ≤ N 2 (A.9) signal 40 0 20 hanning hamming 20 40 60 0 80 20 0 10 0 20 40 60 0 80 1 20 0 10 −1 blackman 0 1 −1 0 20 40 60 0 80 1 20 0 10 −1 triangle spektrum 1 −1 0 20 40 60 0 80 1 20 0 10 −1 0 20 40 n (A.8) ...N − 1 60 0 80 0 10 20 30 40 0 10 20 30 40 0 10 20 30 40 0 10 20 30 40 0 10 20 k 30 40 Obrázek A.2: Demonstrace odstraněnı́ prosakovánı́ spektra Z uvedených skutečnostı́ je tedy zřejmé, že váhovánı́ je nezbytné, hlavně v přı́padě, kdy signály segmentujeme. V přı́padě váhovánı́ oknem signálu, u kterého k prosakovánı́ ve spektru nedocházı́, dojde k mı́rnému zkreslenı́ spektra, ale váhovánı́ přinášı́ vı́ce výhod, než přinášı́ tato malá nevýhoda. 57 Dodatek A. Poznámky ke zpracovánÍ signálů A.2 A.2. Kritéria pro určenÍ řádu AR modelu Kritéria pro určenı́ řádu AR modelu Autoregresnı́ modely jsou často využı́vány při zpracovánı́ řeči, ale i při spektrálnı́ analýze. Při zpracovánı́ řeči se často použı́vá pevného řádu modelů, ale pro přesné zpracovánı́ např. EEG signálů je třeba řád určit velice citlivě a přesně. Přı́liš nı́zký řád totiž dostatečně nevystihuje vlastnosti signálu a přı́liš vyhlazuje spektrum a přı́liš vysoký řád zahrnuje rovněž šum a ve spektru může vymodelovat falešné vrcholy [1]. Určenı́ řádu nelze provést pouhou minimalizacı́ chybového výkonu, protože ten s rostoucı́m řádem monotónně klesá a limitně se blı́žı́ k nule. Proto se použı́vá tzv. pokutová funkce, jejı́ž hodnota naopak s rostoucı́m řádem roste. Sečtenı́m chybového výkonu a pokutové funkce zı́skáme funkci nejprve klesajı́cı́ a potom rostoucı́, přičemž minimum funkce odpovı́dá optimálnı́mu řádu. Této funkci řı́káme obecné informačnı́ kritérium. Obecné informačnı́ kritérium má tvar C(p) = N ln P + αp, (A.10) kde P je výkon chybového signálu, N je délka dat, p je odhadnutý řád a α je pokutová funkce. V praxi je použı́váno několik typů kritériı́ podle aplikace. Jsou to Akaikovo informačnı́ kritérium (AIC), Akaikovo kritérium predikčnı́ chyby (FPE), Parzenovo kritérium (CAT), kritérium minimálnı́ chyby (MDL), Hannovo-Quinnovo kritérium (HQ), Pukkilovo kritérium (PHI) a Pukkilovo modifikované kritérium (EDC). Jednotlivá konkrétnı́ kritéria majı́ tvar AIC(p) = N ln P + 2p N +p FPE(p) = N ln P + P N −p p 1 X N −j N −p CAT(p) = N ln P + − N N P (j) N P (p) (A.11) (A.12) (A.13) j=1 MDL(p) = N ln P + p ln N (A.14) HQ(p) = N ln P + ln(ln N )p (A.15) PHI(p) = N ln P + 2 ln(ln N )p √ N EDC(p) = N ln P + p ln N (A.16) (A.17) Jak již bylo napsáno, chybový výkon s rostoucı́m řádem modelu klesá. Toto je demonstrováno na obrázku A.3(a) na straně 59. Pro testovánı́ kritéria jsem použil signál složený ze dvou sinusovek a slabého šumu. Na obrázku A.3(b) je průběh informačnı́ho kritéria (FPE), kde je kolečkem znázorněno minimum, kterému odpovı́dá optimálnı́ řád modelu. Každé kritérium se vyznačuje určitou strmostı́. Kritéria s nı́zkou strmostı́ (HQ, AIC, CAT, FPE) lze použı́t pouze pro malý počet vzorků (do cca N =500). 58 Dodatek A. Poznámky ke zpracovánÍ signálů A.3. Odstup signálu od šumu Žádné kritérium nefunguje správně pro všechny signály a pro velmi krátké nebo naopak velmi dlouhé posloupnosti dat. Kritéria by měla být použı́vána pouze jako indikátory řádu modelu. 7.5 x 10 −4 0 N=100 N=200 N=350 N=500 N=1000 7 N=100 N=200 N=350 N=500 N=1000 −1000 6.5 −2000 6 5.5 −3000 5 −4000 4.5 −5000 4 −6000 3.5 3 2 4 6 8 10 12 14 16 18 −7000 20 2 4 (a) Bez pokutové funkce 6 8 10 12 14 16 18 20 (b) S pokutovou funkcı́ FPE Obrázek A.3: Závislost kritéria na stupni modelu Uvedená kritéria vycházı́ z výkonu predikčnı́ chyby, ale řád modelu souvisı́ s použitou modelovacı́ technikou, tzn. že řád může být různý pro různé metody. Experimentálně jsem zjistil, že pro signály EEG se nejlépe hodı́ MDL kritérium (kritérium minimálnı́ chyby, někdy nazýváno Schwartz-Bayesovo kritérium). A.3 Odstup signálu od šumu (SNR) Odstup signálu od šumu (SNR = Signal-to-Noise Ratio) je veličina, která se použı́vá pro kvantifikaci kvality signálu za přı́tomnosti šumu. Tuto veličinu lze ale použı́t pouze v přı́padě, že známe separátně užitečný signál i šum. Definice odstupu signálu s[n] s výkonem Ps od šumu n[n] s výkonem Pn je Ps SNR = 10 log [dB]. (A.18) Pn Protože výkon a energie se od sebe navzájem lišı́ pouze měřı́tkem, lze SNR vypočı́tat z výkonu i energie signálu a šumu Ps SNR = 10 log = 10 log Pn 1 N 1 N NP −1 n=0 NP −1 s2 [n] NP −1 n2 [n] n=0 NP −1 = 10 log n=0 n=0 59 s2 [n] = 10 log n2 [n] Es . En (A.19) Dodatek A. Poznámky ke zpracovánÍ signálů A.3.1 A.3. Odstup signálu od šumu Směs signálu a šumu s požadovaným SNR V přı́padě, že potřebuji zjistit šumovou imunitu algoritmů, potřebuji smı́chat signál s šumem v přesně definovaném poměru. Postup je následujı́cı́ 1. Vypočı́táme výkon Ps užitečného signálu s[n]. 2. Vypočı́táme výkon Pn šumu n[n]. Tento šum lze v Matlabu vygenerovat např. funkcı́ wgn (White Gaussian Noise). 3. Šum n[n] vynásobı́me konstantou k tak, aby platil vzorec (A.20). Pokud tedy použı́váme šum k · n[n], je jeho výkon k 2 Pn . Pro SNR potom platı́ SNR = 10 log Ps . k 2 Pn Hledanou konstantu k lze vypočı́tat následovně r SNR Ps k= · 10− 10 , Pn (A.20) (A.21) potom výsledný signál má tvar x[n] = s[n] + k · n[n]. 60 (A.22) Dodatek A. Poznámky ke zpracovánÍ signálů A.4 A.4. ZpožděnÍ mezi signály Zpožděnı́ mezi diskrétnı́mi signály Diskrétnı́ signály v diskrétnı́m čase přinášejı́ některé problémy. Na rozdı́l od signálů ve spojitém čase nenabývajı́ nějaké hodnoty v kterémkoliv časovém okamžiku, ale nabývajı́ ji pouze v časových okamžicı́ch n f1s , n ∈ Z. Spojité signály mohou nabývat jakékoliv hodnoty, což diskrétnı́ signály nabývat nemohou. Ty mohou nabývat pouze hodnot, odpovı́dajı́cı́m kvantizačnı́m úrovnı́m. Popsané skutečnosti majı́ vliv na určenı́ zpožděnı́ mezi diskrétnı́mi signály. Zpožděnı́ mezi signály totiž nemusı́ být pouze o celé vzorky, které jsou dlouhé 1 fs [ms], ale samozřejmě může být o jakoukoliv hodnotu. Jak může vypadat zpožděnı́ mezi dvěma signály o 1 2 vzorku, ukazuje obrázek A.4 na straně 61. 1 signal 1 signal 2 (x1=0) signal 2 (x1=1) 0.8 0.6 0.4 sin x 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 1 2 3 4 5 6 7 8 9 10 x [−] Obrázek A.4: Demonstrace velikosti zpožděnı́ mezi signály Signály znázorněné plnou a čerchovanou čarou jsou bez posunutı́. Pokud posuneme čerchovaný signál o jeden vzorek zpět, vznikne čárkovaný signál. Je vidět, že pokud je signál posouván o celé vzorky, nikdy nelze nalézt přesné zpožděnı́. Pokud chceme tedy použı́t korelaci, je vhodné signál převzorkovat, abychom dosáhli optimálnı́ přesnosti. 61 Dodatek B Poznámky k Matlabu B.1 Výpočet energie signálu P∞ 2 Energii signálu, která je definovaná jako E = k=−∞ |s(k)| , v přı́padě reálného signálu, P∞ kterým signál EEG bezpochyby je, E = k=−∞ s(k)2 , lze v Matlabu vypočı́tat přesně dle vztahu. Zápis by potom vypadal takto s= [ s(1) s(2) ... s(n) ]; E= sum(s.^2); Takovýto způsob výpočtu je ale nevýhodný z hlediska optimalizace na čas výpočtu, nebot’ Matlab tuto sumu počı́tá přes cyklus a sčı́tá mocniny jednotlivých vzorků. Proto je vhodné pro výpočet energie signálu použı́t maticový počet. Je nutné si uvědomit, že sumu mocnin jednotlivých vzorků lze nahradit tı́mto maticovým zápisem s(1) ∞ h i s(2) X E= s(k)2 = s(1) s(2) . . . s(n) · . = s(1)2 + s(2)2 . . . + s(n)2 .. k=−∞ s(n) (B.1) Zápis v Matlabu je potom velice jednoduchý a účinný s= [ s(1) s(2) ... s(n) ]; E= s*s’; Jako prvnı́ v pořadı́ je tedy řádkový vektor a druhý je sloupcový vektor. Tato podmı́nka je nutná, protože při přehozenı́ by došlo ke generovánı́ matice tak, jak ukazuje rovnice (B.2). 62 Dodatek B. Poznámky k Matlabu s(1) B.2. VytvářenÍ vektorů s(1)2 s(1)s(2) . . . s(1)s(n) .. s(2)2 ... . .. .. .. . . . s(2) h i s(2)s(1) . · s(1) s(2) . . . s(n) = .. .. . s(n) s(n)s(1) s(n)s(2) . . . s(n)2 (B.2) Mohlo by se zdát, že při dnešnı́m výkonu výpočetnı́ techniky je to jen zanedbatelné zrychlenı́, ale pokud by měl signál velký počet vzorků a byl zpracováván např. signálovým procesorem, byl by již tento rozdı́l znát. B.2 Vytvářenı́ vektorů Pokud budeme vytvářet vektor, budeme-li jeho jednotlivé vzorky vytvářet postupně a známeli délku tohoto vektoru již předem, je výhodné nejprve vytvořit dopředu např. vektor s tolika nulami, jak má být vektor dlouhý a potom již jen při výpočtu jednotlivých vzorků přepisovat jednotlivé indexy. Pokud bychom totiž vektor neustále zvětšovali, muselo by v Matlabu neustále docházet k přealokovánı́ paměti, což by dost zdržovalo samotný výpočet. Pokud bychom chtěli vygenerovat např. vektor (1, 4, 9, 16, 25, 36, 49), vypadal by chybný zápis takto s= []; for i= 1:7, s= [ s i^2 ]; end; Správně s ohledem na optimalizaci by měl kód vypadat takto s= zeros(7, 1); for i= 1:7, s(i)= i^2; end; 63 Dodatek C CD-ROM CD-ROM, na kterém jsou všechny soubory vyjmenované nı́že je uložen na katedře Teorie obvodů, kde je možné si ho po dohodě s vedoucı́m diplomové práce zapůjčit. C.1 Text diplomové práce Text této diplomové práce je v adresáři cdrom://text. Tento adresář obsahuje soubor dp.ps určený předevšı́m pro tisk ve formátu PostScript. Tento soubor byl vytvořen programem cslatex s následným překonvertovánı́m souboru dp.dvi programem dvips. Dále obsahuje soubor dp.pdf určený pro prohlı́ženı́ programem Acrobat Reader. Tento soubor byl vytvořen programem pdflatex. Dále je zde obsažen adresář cdrom://text/sources. V něm jsou obsaženy zdrojové kódy pro sázecı́ program CSLATEX. Hlavnı́m souborem je dp.tex. C.2 C.2.1 Prezentace Prezentace na blány Text prezentace pro tisk na slı́dové blány je v adresáři cdrom://prezentace/ps. Tento text je zde pouze ve formátu PostScript. Zdrojové kódy pro sázecı́ program CSLATEX jsou v adresáři cdrom://prezentace/ps/sources. C.2.2 Prezentace na PC Text prezentace pro prezentovánı́ na PC je v adresáři cdrom://prezentace/pdf. Tento text je ve formátu PDF. Jeho zdrojové kódy pro sázecı́ program CSLATEX s nutnostı́ použitı́ programu pdflatex jsou v adresáři cdrom://prezentace/pdf/sources. 64 Dodatek C. CD-ROM C.3 C.3. Obrázky Obrázky Obrázky vkládané do textu ve formátu eps 1 (potřebné pro vkládánı́ do postscriptu) a pdf 2 (potřebné pro vkládánı́ do souboru pdf) popř. png 3 byly vytvořeny vektorovým kreslı́cı́m programem Xfig pro linux. Soubory s přı́ponou fig jsou také na patřičných mı́stech v adresářové struktuře zdrojových kódů. C.4 Testovaná data Na přiloženém CD-ROMu jsou v adresáři cdrom://eeg-data uloženy všechny testované průběhy signálu EEG. V adresáři cdrom://eeg-data/edf je záznam skutečného EEG ze všech sond systému 10/20. Tento datový soubor je ve formátu edf, který lze načı́st pomocı́ programu edfview.m pro Matlab. C.5 Programy Pro ověřovánı́ funkčnosti a testovánı́ algoritmů jsem použı́val výhradně program Matlab společnosti The MathWorks, Inc. Všechny programy a algoritmy ve formě programu pro Matlab jsou uloženy v adresáři cdrom://matlab/sources. Adresář cdrom://matlab obsahuje již výše zmiňovaný program edfview.m. C.5.1 Programy pro opakovánı́ pokusů Programy, kterými je možné zopakovat všechna měřenı́, která jsou popisována v této práci jsou v adresáři cdrom://pokusy. Pro měřenı́ na modelovaných signálech byl použit soubor 10 s 20ms.dat. Tento soubor obsahuje dva modelované kanály o délce 10s se vzájemným zpožděnı́m 20ms. Pro měřenı́ reálných signálů jsem použil soubory f7.dat a f8.dat, což jsou signály ze sond F7 a F8. C.6 Licence a autorská práva Veškeré texty byly psány textovým editorem VIM. Výstupnı́ soubor pro tisk ve formátu PostScript byl vysázen programem CSLATEX. Výstupnı́ soubor pro prohlı́ženı́ ve formátu pdf byl vysázen programem pdflatex. Všechny ručně kreslené obrázky byly vytvořeny vektorovým 1 Encapsulated PostScript Portable Document Format 3 Portable Graphics Network 2 65 Dodatek C. CD-ROM C.6. Licence a autorská práva kreslı́cı́m programem Xfig. Všechny výše jmenované programy jsou volně šiřitelné pod licencı́ GPL. Pouze pro programovánı́ byl použit program Matlab, včetně obrázků, které jsou jeho výstupem. Program Matlab jsem použil na základě možnosti jeho použitı́ studenty ČVUT FEL v počı́tačových studovnách ČVUT FEL. 66 Literatura [1] Čmejla R. Kritéria pro určenı́ řádu ar modelu při zpracovánı́ řečových signálů. Akustické listy, 22:4–7, 2000. [2] Davı́dek V., Sovka P. Čı́slicové zpracovánı́ signálů a implementace. ČVUT, 2. vydánı́, 2002. [3] Hrdina Z., Vejražka F. Signály a soustavy. ČVUT, 1. vydánı́, 2000. [4] Sovka P., Pollák P. Vybrané metody čı́slicového zpracovánı́ signálů. ČVUT, 1. vydánı́, 2001. [5] Svatoš J. Biologické signály I - Geneze, zpracovánı́ a analýza. ČVUT, 2. vydánı́, 1998. [6] Uhlı́ř J., Sovka P. Čı́slicové zpracovánı́ signálů. ČVUT, 2. vydánı́, 2002. Vysázeno programem PDFLATEX. 67
Podobné dokumenty
České akustické společnosti ročník 14, číslo 2–4 prosinec 2008 Obsah
Hodnota Ũlk+1 není přímo obsažena v doposud vypočte⎟
⎜ −q 1
q
ných hodnotách v používané numerické síti ve vrstvě k+ 23 .
zde - Katedra obecné lingvistiky
průzkum na poli lingvistiky a literární vědy ukázal, že koncept hypertextu byl často
pouze mechanicky přejímán od prvních kybernetiků (Vannevar Bush a Douglas
Engelbart), ale již nedošlo k potřebné...
Elektronika4-1
exponenciálně zmenšuje až k nule, kondenzátor se potom ve stejném obvodu začne ze zdroje UCC nabíjet
na obrácenou polaritu, než je naznačeno. V okamžiku, kdy se kondenzátor nabil na hodnotu prahové...
Vojtech Kysela - Linux.fjfi.cvut.cz
V kapitole 1 této práce je nastı́něna teorie přenosu elektronické excitačnı́ energie a teorie
fotovodivosti organických látek. Kapitola 2 je věnována obecně bichromofornı́m sloučeninám...
4IT420 ZA´ KLADY NEUROVEˇD
9) Lateralizace, emoce, zraková percepce (dominantnı́ a nedominantnı́ hemisféra, zrakově-prostorové vnı́mánı́,
emoce a limbický systém, amygdala a emočnı́ chovánı́)
10) Vědomı́ a uvědom...
Pr vodce QuarkXPress 9.5.1
Vytvo ení textových a obrázkových ráme k ..................................................................67
Zm na velikosti ráme k ...................................................................
Semestráln´ı práce
3. Je-li aktuálnı́ vrchol obarvený, algoritmus se opakuje od bodu 2. Je-li
zásobnı́k prázdný, pokračuje se na dalšı́ neobarvený vrchol v grafu (bod
1). Může totiž dojı́t k situaci, kdy s...
Detekce svetla
Výběr vhodného detektoru
SNR Poměr signálu k šumu (Signal to noise ratio),
oscilace výstupnı́ho signálu (ideálně jen statistické
fluktuace vstupnı́ch fotonů)
Linearita (Linearity), odch...
Spektrální a korelační analýza
• od narození asi do 1.roku dítěte - patrná málo pravidelná delta
aktivita (1-3Hz, vysoká amplituda), pro daný věk - fyziologická
základní aktivita, netlumená otevřením očí