Měření zpoždění mezi signály EEG

Transkript

Měření zpoždění mezi signály EEG
Č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

Č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 .

Více

zde - Katedra obecné lingvistiky

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é...

Více

Elektronika4-1

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é...

Více

Vojtech Kysela - Linux.fjfi.cvut.cz

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...

Více

4IT420 ZA´ KLADY NEUROVEˇD

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...

Více

Pr vodce QuarkXPress 9.5.1

Pr vodce QuarkXPress 9.5.1 Vytvo ení textových a obrázkových ráme k ..................................................................67 Zm na velikosti ráme k ...................................................................

Více

Semestráln´ı práce

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...

Více

Detekce svetla

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...

Více

Spektrální a korelační analýza

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čí

Více