Zpracování biosignálů - E-learningové prvky pro podporu výuky

Transkript

Zpracování biosignálů - E-learningové prvky pro podporu výuky
Vysoká škola báňská – Technická univerzita Ostrava
ZPRACOVÁNÍ BIOLOGICKÝCH
SIGNÁLŮ
Učební text
Jitka Mohylová
Vladimír Krajča
Ostrava 2007
Recenze: Ing. Jan Havlík
Název:
Zpracování biologických signálů
Autor:
Jitka Mohylová, Vladimír Krajča
Vydání:
první, 2006
Počet stran: 135
Vydavatel a tisk: Ediční středisko VŠB – TUO
Studijní materiály pro studijní obor: Řídicí a informační systémy fakulty FEI
Jazyková korektura: nebyla provedena.
Určeno pro projekt:
Operační program Rozvoj lidských zdrojů
Název: E-learningové prvky pro podporu výuky odborných a technických předmětů
Číslo: CZ.O4.01.3/3.2.15.2/0326
Realizace: VŠB – Technická univerzita Ostrava
Projekt je spolufinancován z prostředků ESF a státního rozpočtu ČR
© Jitka Mohylová, Vladimír Krajča
© VŠB – Technická univerzita Ostrava
ISBN 978-80-248-1491-9
Obsah
1.
1.1.
1.2.
ZÁKLADNÍ POJMY ................................................................................................................. 9
Definice signálu.......................................................................................................................... 9
Charakteristiky některých biomedicínských signálů ................................................................ 10
2.
2.1.
PŘEDZPRACOVÁNÍ DAT ..................................................................................................... 18
Analogově digitální převodník ................................................................................................. 18
3.
FILTRACE ............................................................................................................................... 26
4.
CHARAKTERISTIKY NÁHODNÝCH SIGNÁLŮ ............................................................. 42
5.
5.1.
5.2.
5.3.
5.4.
5.5.
SPEKTRÁLNÍ ANALÝZA BIOLOGICKÉHO SIGNÁLU.................................................... 51
Neparametrické metody – Fast Fourier Transform .................................................................. 52
Parametrické metody ................................................................................................................ 60
Modely odhadu spektra ............................................................................................................ 64
Spektrální analýza .................................................................................................................... 69
Korelační analýza ..................................................................................................................... 74
6.
6.1.
6.2.
ZOBRAZENÍ VÝSLEDKŮ SPEKTRÁLNÍ ANALÝZY ....................................................... 80
Metoda zhuštěných spektrálních kulis – CSA .......................................................................... 80
Topografické mapování – brainmapping – BM ....................................................................... 82
7.
7.1.
7.2.
7.3.
7.4.
METODY UMĚLÉ INTELIGENCE ....................................................................................... 94
Základní pojmy teorie učení ..................................................................................................... 95
Shluková analýza – Cluster Analysis ..................................................................................... 102
Klasifikace metod shlukové analýzy ...................................................................................... 102
Učící se klasifikátory .............................................................................................................. 110
8.
8.1.
8.2.
8.3.
8.4.
8.5.
UMĚLÉ NEURONOVÉ SÍTĚ (NN) ..................................................................................... 117
Topologie NN a způsoby šíření signálu ................................................................................. 122
Perceptron a jeho učení .......................................................................................................... 123
Vícevrstvý perceptron – multilayer perceptron (MLP) .......................................................... 125
Další algoritmy učení ............................................................................................................. 128
Samoseorganizující neuronové sítě ........................................................................................ 129
Průvodce studiem – pokyny ke studiu předmětu:
Zpracování biologických signálů
Pro předmět Zpracování biologických signálů 9. (10.) semestru oborů Měřicí a řídicí technika, Řídicí a
informační systémy jste obdrţeli studijní balík obsahující



integrované skriptum pro distanční studium obsahující i pokyny ke studiu
CD-ROM s doplňkovými animacemi vybraných částí kapitol
harmonogram průběhu semestru a rozvrh prezenční části
Prerekvizity
Pro studium tohoto předmětu se předpokládá absolvování předmětu Signály a soustavy
Cílem předmětu
je seznámení se základními pojmy z oboru zpracování biomedicínských dat. Po prostudování modulu
by měl student být schopen provést analýzu signálů v časové a frekvenční oblasti.
Pro koho je předmět určen
Modul je zařazen do magisterského studia oborů Měřicí a řídicí technika, Řídicí a informační systémy
studijního programu M2612 Elektrotechnika a informatika, ale můţe jej studovat i zájemce
z kteréhokoliv jiného oboru, pokud splňuje poţadované prerekvizity.
Skriptum se dělí na části, kapitoly, které odpovídají logickému dělení studované látky, ale nejsou
stejně obsáhlé. Předpokládaná doba ke studiu kapitoly se můţe výrazně lišit, proto jsou velké kapitoly
děleny dále na číslované podkapitoly a těm odpovídá níţe popsaná struktura.
Při studiu každé kapitoly doporučujeme následující postup:
Čas ke studiu: xx hodin
Na úvod kapitoly je uveden čas potřebný k prostudování látky. Čas je orientační a můţe vám slouţit
jako hrubé vodítko pro rozvrţení studia celého předmětu či kapitoly. Někomu se čas můţe zdát příliš
dlouhý, někomu naopak. Jsou studenti, kteří se s touto problematikou ještě nikdy nesetkali a naopak
takoví, kteří jiţ v tomto oboru mají bohaté zkušenosti.
Cíl:
Po prostudování tohoto odstavce budete umět


popsat ...
definovat ...

vyřešit ...
Ihned potom jsou uvedeny cíle, kterých máte dosáhnout po prostudování této kapitoly – konkrétní
dovednosti, znalosti.
Výklad
Následuje vlastní výklad studované látky, zavedení nových pojmů, jejich vysvětlení, vše doprovázeno
obrázky, tabulkami, řešenými příklady, odkazy na animace.
Pojmy k zapamatování
Hlavní pojmy, které si v kapitole máte kapitoly osvojit. Pokud některému z nich po prostudování
nebudete ještě nerozumět, vraťte se k nim ještě jednou.
Otázky
Pro ověření, ţe jste dobře a úplně látku kapitoly zvládli, máte k dispozici několik teoretických otázek.
Úlohy k řešení
Protoţe většina teoretických pojmů tohoto předmětu má bezprostřední význam a vyuţití v databázové
praxi, jsou Vám nakonec předkládány i praktické úlohy k řešení. V nich je hlavní význam předmětu a
schopnost aplikovat čerstvě nabyté znalosti při řešení reálných situací hlavním cílem předmětu.
Klíč k řešení
Výsledky zadaných příkladů i teoretických otázek výše jsou uvedeny v závěru učebnice v Klíči k
řešení. Pouţívejte je aţ po vlastním vyřešení úloh, jen tak si samokontrolou ověříte, ţe jste obsah
kapitoly skutečně úplně zvládli.
Úspěšné a příjemné studium s touto učebnicí Vám přejí autoři výukového materiálu
[email protected]
Harmonogram průběhu studia
455-318/1: Zpracování biosignálů (ZBS)
Garant: Ing. Jitka Mohylová, Ph.D.
Anotace:
Vlastnosti biologických signálů, kódování lékařských dat, diskretizace. Zpracování signálů v časové
oblasti, filtrace, ve frekvenční oblasti - parametrické modely, FFT. Zobrazení zpracovaných výsledků CSA, topografické mapování. Adaptivní segmentace, metody automatické klasifikace signálů - učení
bez učitele, shluková analýza. Neuronové sítě. Praktické aplikace zpracování EEG signálů.
Typ studia: magisterské
Počet kreditů: 4
Bodové hodnocení:
Položka
Poč. bodů Min. bodů
1. Semestrální práce č. 1
10
2. Semestrální práce č. 2
10
3. Semestrální práce č. 3
10
4. Semestrální práce č. 4
10
5. Zkouška - ZBS
60
Průběžná kontrola studia:
čtyři semestrální práce (korespondenční úkoly) v poţadovaných termínech
Podmínky udělení zápočtu:
Pro udělení zápočtu musí student odevzdat do konce 14. týdne semestru všechny čtyři zadané
semestrální práce. Kaţdá semestrální práce je hodnocena maximálně 10 body. Student tedy můţe
získat aţ 4*10 = 40 bodů. Kurs je ukončen závěrečnou kombinovanou zkouškou. Student můţe získat
u písemné části zkoušky 30 bodů, u ústní zkoušky 30 bodů. Aby byla závěrečná zkouška úspěšně
sloţena, musí student získat nejméně 10 bodů. Pro úspěšné ukončení kursu musí student získat
nejméně 51 bodů.
Cíle předmětu:
Cílem předmětu Zpracování biosignálu je seznámit studenty s jednotlivými biologickými signály,
jejich filtrací a analýzou v časové a kmitočtové oblasti a metodami zobrazení zpracovaných výsledků.
Student bude znát charakteristiky jednotlivých biosignálů, dovede určit spektrum, spektrální
výkonovou hustotu, korelační a koherenční analýzu. Bude schopen provést adaptivní segmentaci,
automatickou klasifikaci a shlukovou analýzu. Dosaţené výsledky zobrazí metodou CSA a brain
mappingem. Při analýze reálných dat (EEG a EKG) bude vyuţívat prostředí MATLAB.
Získané dovednosti:
Student bude znát charakteristiky jednotlivých biosignálů, dovede určit spektrum, spektrální
výkonovou hustotu, korelační a koherenční analýzu. Bude schopen provést adaptivní segmentaci,
automatickou klasifikaci a shlukovou analýzu. Dosaţené výsledky zobrazí metodou CSA a brain
mappingem. Při analýze reálných dat (EEG a EKG) bude vyuţívat prostředí MATLAB.
Přednášky:
 Signály v lékařství - původ, charakter a obecné principy zpracování biosignálů, metody a
algoritmy zpracování signálů přehledně Charakteristika biosignálů, EEG, EMG, ECG, EOG.
Původ, zdroje, diagnostické vyuţití. Moţnosti uplatnění bio-inţenýrů.
 Zpracování biologických signálů v reálném čase a off line. Přiřazení nutných zařízení,
počítačové sítě. Statistické charakteristiky biosignálů. Pravděpodobnostní rozloţení.
Stochastické procesy, analýza časových řad. Nestacionarita.
 Údaje o pacientovi, identifikační soubory. Sběr a předzpracování biologických dat,
diskretizace - základní řetězec převodu do počítače. A/D převodníky, problémy vzorkování a
kvantizace signálu. Aliasing. Filtrace. Trendy. Data zpracovávána souběţně se signály.
 Spektrální analýza I. - Základní metody. Periodogram, AR model. Parametrické a
neparametrické metody. Praktické problémy odhadu spektra. Kříţové spektrum, koherence a
fáze.
 Spektrální analýza II. - FFT. Aplikace. Metoda zhuštěných spektrálních kulis (CSA). Pouţití.
Interhemisferická a lokální koherence. Mediální synchronie a symetrie. Měření fáze.
 Topografické mapování elektrofyziologické aktivity. Princip brain mappingu. Amplitudové a
frekvenční mapování. Interpolace. Pouţití v klinické diagnostice. Dynamické mapování.
 Adaptivní segmentace Motivace. Nestacionarita biosignálů. Základní metody. Multikanálová
on-line adaptivní segmentace. Extrakce příznaků.
 Metody automatické klasifikace I. - Učení bez učitele. Metriky. Normalizace dat. Shluková
analýza. K-means algoritmus. Fuzzy mnoţiny. Optimální počet tříd. Limity a omezení
shlukové analýzy.
 Neuronové sítě a zpracování signálů. Metoda hlavních komponent a neuronové sítě.
Hebbovské učení. Multikanálové signály - komprese a rekonstrukce. Samoorganizující se
metoda hlavních komponent (Doc. Ing. Vladimír Krajča, Csc).
 Automatická klasifikace II. - Učící se klasifikátory. Srovnání vlastností supervizovaného a
nesupervizovaného učení. On-line klasifikace. k-NN klasifikátor klasický a fuzzy. Porovnání s
neuronovými sítěmi.
 Automatická detekce epileptických grafoelementů II. Automatický detektor hrotů na základě
mediánové filtrace. Aritmetický detektor. Kombinovaný detektor.Metoda hlavních komponent
a klasické filtrace pro detekci.
 Elektrokardiografický signál, digitální zpracování, vlastnosti. Kritéria digitalizace EKG,
frekvenční analýza, filtrace, adaptivní filtrace. Redukce dat, holterovské techniky pacientské
identifikace.
 Respirometrie, popis parametrů signálu, základní algoritmy a výstupní data. Poţadavky na
digitální zpracování a grafickou prezentaci.
 Obrazové signály. Průměty a sekvence vícedimenzionálních signálů. Konkrétní programové
prostředky zpracování obrazů. Prezentace v diskrétní formě.
Počítačové laboratoře:
 Úvod do zpracování biosignálů. Praktické ukázky EEG, EMG, ECG aktivity, epileptické
paroxysmy, spánkové grafoelementy. Artefakty.














Statistické charakteristiky biosignálů. Praktická realizace algoritmů číslicového zpracovávání
biosignálů. Programové vybavení. Uţivatelský interface. Formáty dat. Semestrální práce I.
Načtení a zobrazení reálného biosignálu Termín: 1 týden
Sběr a předzpracování biologických dat. Snímání dat v klasických a bezpapírových přístrojích.
A/D převodníky Nyquistův teorém. Chyby při převodu. Úprava signálu.
Spektrální analýza I. Základní metody. Spektrální analýza a syntéza signálů pomocí FFT.
Filtrace, odstraňování šumu. LDR algoritmus. Nevýhody periodogramu. Windowing.
Semestrální práce II. Spektrální analýza a syntéza signálu pomocí FFT Termín: 2 týdny
Topografické mapování elektrofyziologické aktivity. Demonstrace topografického mapování
na umělých a klinických datech. Iterativní vytváření mapy. Animace. Úskalí mapování.
Spektrální analýza II. Aplikace. Aplikace CSA pro patologickou i spánkovou aktivitu.
Koherenční analýza pro diagnostiku CMP. Semestrální práce III. a) Topopografické
mapování sítě 20 bodů (brain mapping), b) CSA 2 minut záznamu Termín: 2 týdny
Adaptivní segmentace. Nastavení parametrů. Přednosti a omezení metod. Ukázky funkce
segmentačních algoritmů.
Metody automatické klasifikace I. Učení bez učitele. Základní algoritmy shlukové analýzy na
simulovaných datech. Ukázky klasifikace EEG dat. Pouţití fuzzy mnoţin pro zvýšení
homogenity tříd.
Analýza dlouhodobých signálů. Ukázka funkcí systému pro analýzu 24 hod monitorování.
Sumární informace. Extrakce prototypů.
Extrakce komprimované informace z dlouhodobých záznamů. Aplikace na reálných datech,
další metody, analýza spánkového grafu. Ukázka programu WaveFinder.
Automatická klasifikace II. Učící se klasifikátory. Předvedení základních algoritmů učících se
klasifikátorů na simulovaných a datech. Pouţití fuzzy mnoţin v k-NN klasifikátorech
Semestrální práce IV. 3-NN učící se klasifikátor pro simulovaná data. Termín: 2 týdny
Automatická detekce epileptických hrotů I. Demonstrace komerčních programů: automatická
detekce epileptických grafoelementů (Gotman). Ukázka programu pro analýzu dipólů (Scherg,
FOCUS).
Předzpracování EKG signálu pomocí wavelet transformace: komprese, filtrace, odstranění
artefaktů. Výpočet frekvenčních amplitudových a fázových spekter, výkonové spektrum
signálu EKG. Určení korelační funkce a korelačního koeficientu u patologických a
fyziologických záznamů.
Některé detekční algoritmy QRS komplexu - výpočet a porovnání, pouţití metody detekce RR intervalů v závislosti na patologických stavech a případných variabilitách srdečního rytmu.
Praktická demonstrace plně automatického hodnotícího systému signálu EKG na Krajské
hygienické stanici v Ostravě.
(Exkurse v počítačové EEG laboratoři Neurologického oddělení FN Bulovka. Konzultace
výsledků semestrálních prací.)
1. Základní pojmy
1. ZÁKLADNÍ POJMY
1.1. Definice signálu
Čas ke studiu: 1 hodina
Cíl



Po prostudování tohoto odstavce budete umět
definovat signál
popsat jednotlivé druhy signálu
vyřešit převod analogového signálu na číslicový a naopak
Pojmy k zapamatování 1
Signál, biosignál, druhy signálů, biologický artefakt, technický artefakt.
Výklad
Co je to signál?
 prostředek přenosu informace (Cohen)
 jakákoliv fyzikální kvantita měnící se v čase, prostoru, nebo s nějakou další veličinou
(Proakis, Manolakis)
 matematicky je popsán jako funkce jedné nebo více proměnných
s(t) =10·sinωt
Co je to biologický signál?
 je to signál – platí pro něj metodika zpracování signálu, která je pokryta řadou učebnic
 je to speciální signál, který je – a) vyvolán existencí ţivého organismu
b) snímán ze ţivého organismu
Co je to zpracování signálu?
 extrakce poţadované informace, jeţ můţe být skryta v signálu
 většina reálných signálů je analogových
 počítač (základní jednotka zpracování signálů) – zpracovává číslicový signál
Klasifikace signálů:
Deterministický signál – lze popsat explicitními matematickými vztahy
Náhodné signály – vzorek (realizace) náhodného (stochastického) procesu se liší jeden od
druhého, mají ale stejné statistické vlastnosti
9
1. Základní pojmy
– popsány pouze pravděpodobností
pravděpodobnosti) a statistickými momenty
výskytu
(funkce
hustoty
Periodické signály – x(t) = x(t + kT), T je perioda snadno jsou popsány ve frekvenční oblasti
(fundamen-tální frekvence + harmonické)
Kvaziperiodické – nejsou periodické, ale mají diskrétní popis ve frekvenční oblasti (různé
frekvence nejsou harmonické)
Stacionární proces – statistické vlastnosti nejsou funkcí času lze určit odhad střední hodnoty
zprůměrněním realizací x(t) v čase t
Ergodické procesy – statistické zprůměrňování přes realizace se rovná prů-měru v čase pro
určitý časový úsek (např. u signálu EEG - máme jen jednu časovou realizaci, nemůţeme měřit
víckrát)
Multikanálový signál – generován z několika zdrojů (EEG – síť elektrod)
Původ bioelektrických signálů
jsou vyvolány buď samotnými ţivotními projevy organismu, nebo působením na organismus z
vnějšku
 nervová buňka (EEG)
 svalová buňka (EMG, EKG), spolupracující ve větších skupinách
Rozdělení biosignálů
rozdělení je odvozeno od měřených veličin, nikoli od postupů měření
 bioelektrické
 biomagnetické
 bioimpedanční
 bioakustické
 biomechanické
 biochemické
1.2. Charakteristiky některých biomedicínských signálů
Elektrické signály:
EKG, VKG – Elektrokardiogram, vektorkardiogram – záznam spojený s mechanickou a
elektrickou aktivitou srdce.
–
povrchové elektrody
–
amplitudová úroveň dosahuje 50 µV - 5 mV
–
frekvenční rozsah je 0,01 - 150 Hz.
Fetální EKG, VKG
–
povrchové elektrody
–
amplitudová úroveň dosahuje 10 – 300 µV
10
1. Základní pojmy
–
frekvenční rozsah je 0,01 - 150 Hz.
EMG – Elektromyogram – záznam el. potenciálu svalu
–
povrchové elektrody
–
jehlové elektrody (MUAP – motor unit action potential)
SFEMG – single fiber elektromyografy – ze svalového vlákna – neurosvalové poruchy (myastenia gravis)
MUAP – signály z komplexu – nervová buňka → nervové vlákno → neurosvalové spojení → svalové vlákno. Diagnostika myopatií, lézí
–
amplitudová úroveň dosahuje 0,1 - 5 mV
–
frekvenční rozsah je 0 - 10000 Hz.
PNG – Pneumogram – dýchání
EOG - Elektrookulogram – záznam el. potenciálu sítnice. Uţívá se pro měření pohybu očí,
při výzkumu spánku.
–
měří se párem povrchových elektrod umístěných kolem očí.
–
amplitudová úroveň dosahuje 10 μV - 5 mV.
–
frekvenční rozsah je 0,05- 100 Hz
EGG – Elektrogastrogram
–
povrchové elektrody
–
amplitudová úroveň dosahuje 10 – 1000 µV
–
frekvenční rozsah je 0,01 – 1 Hz.
Tyto signály slouţí jako doplněk pro nahrávání EEG při takzvané polygrafii
EEG – Elektroencefalogram - záznam elektrické aktivity mozku. Hlavní nástroj pro
diagnózu epilepsie, zranění hlavy, poruchy spánku, psychické poruchy, neurologické
poruchy…
–
povrchové nebo vpichové elektrody
–
amplitudová úroveň dosahuje 2 – 300 µV
–
frekvenční rozsah je 0,1 – 80 Hz.
Magnetické signály:
MKG – Magnetokardiogram
–
amplituda magnetické indukce dosahuje 50 – 70 pT
–
frekvenční rozsah je 0,05 – 100 Hz.
Fetální magnetokardiogram
–
amplituda magnetické indukce dosahuje 1 pT
–
frekvenční rozsah je 0,05 – 100 Hz.
Magnetomyogram
–
amplituda magnetické indukce 10 – 90 pT
11
1. Základní pojmy
–
frekvenční rozsah je 0 – 20 kHz.
Magnetoencefalogram – alfa rytmus, 2 cm nad skalpem
–
amplituda magnetické indukce 1 – 2 pT
–
frekvenční rozsah je 0,5 – 1 Hz.
–
amplituda magnetické indukce dosahuje 50 – 70 pT
–
frekvenční rozsah je 0,05 – 100 Hz.
Evokovaný magnetoencefalogram
–
amplituda magnetické indukce 0,1 – 2 pT
Magnetookulogram
–
amplituda magnetické indukce 10 pT
–
frekvenční rozsah je 0,1 – 100 Hz.
Obr. 1: Příklad EEG vln
Artefakty – jevy, které nemají fyziologický původ ve vyšetřovaném orgánu. Jsou způsobeny
fyziologickými a vnějšími vlivy. Nutnost odstranit je ze záznamu. Dělíme je do dvou základních
skupin:
 Technické (fyzikální) artefakty:
–
elektrostatické potenciály – nízká jakost elektrod, špatný kontakt elektroda – kůţe,
pohyb předmětů z elektrostatických materiálů (silonové prádlo, hřeben, …)
12
1. Základní pojmy
–
síťový brum – napětí síťového kmitočtu a jeho harmonické (odstraníme filtrem)
–
impulsní rušení – způsobuje blízkost motorků (např. holící strojek), zapínání přístrojů
napájených ze stejné energetické sítě, přepínání svodů
–
nedostatečné stínění magnetických polí – projevuje se zejména v biomagnetismu
–
šum elektronických obvodů – dominantní je vliv vstupních obvodů biozesilovačů. Při
digitalizaci se také uplatní kvantizační šum
 Biologické artefakty – jsou to pohybové artefakty
–
EOG – mrkání
–
EKG – mohou falešně naznačovat hrot u EEG (proto se nahrává i EKG)
Obr. 2: Artefakty 1- oční artefakt (mrkání), 2 - svalový artefakt
Řešený příklad 1.1
Zobrazte signály:
s(n) = {1,2,0,3,1,2}:
1
Jednotkový impuls -  ( n )  
0
n0
n0
Harmonický signál 1) x  cos  t
2) součet sinusových signálů
x(n )  A   n
13
1. Základní pojmy
 Řešení :
a)
s = [1 2 0 3 1 2];
příkazy:
popis: title('Sloupcový graf');
plot,stem, bar(s)
figure(1);
xlabel('n');
subplot(3,1,1);
ylabel('amplituda');
grid, echo off;
b)
Jednotkový impuls:
c) Harmonický signál
1) n = 0:0.01:N-1;
f = 25;
fvz = 200;
x = cos(2*pi*f*n/fvz);
plot(x);
d)
N = 20;
delta = [1 zeros(1,N-1)];
plot(delta);
2) t=linspace(0, 100,500); % gener. lineární funkce
s=sin(2*pi*13/500*t); % 13Hz sinusovka
r=sin(2*pi*26/500*t); % 26Hz sinusovka
figure (1); clg, clf;
subplot(2,1,1),plot(s), hold on, plot(r,'g');
line([0 500], [0 0]);hold off; % vykreslí sin. do 1 obr.
subplot(2,1,2),plot(s), hold on, plot(r,'g');
axis([384.8 384.9 -0.001 0.001]);
line([0 500], [0 0]);hold off;
% t=r+s;
% subplot(2,1,1);
% = příkazy nejsou realizovány
% plot(t);hold on;
umocňování se provádí prvek po prvku, A, x jsou komplexní čísla
N = 20;
n = 0 : N-1;
A = 1;
alfa = 0.5;
x = A*(alfa.^n);
stem(x);
Řešený příklad 1.2
Ukázka dalších příkazů:
[b,a]=cheby1(7,1, 120/250);
rf=filter(b,a,r);
sf=filter(b,a,s);
figure(1)
subplot(2,1,1),plot(sf), hold on, plot(rf,'g'),
line([0 500], [0 0]), hold off;
subplot(2,1,2), plot(sf), hold on, plot(rf,'g'), line([0 500], [0 0]), axis([388.5 388.6 -0.001
0.001]); hold off;
14
1. Základní pojmy
% tf=rf+sf;
% subplot(2,1,2);
% plot(tf);hold off;
% zoom on, pause, zoom off,hold off %pro potřeby zvetšení zájmové oblasti
pause;
figure(2)
for j = 1:10, [b,a]=butter(6, [j/10 - 0.05 j/10 + 0.05], 'stop');
zplane (b,a);zoom on;
pause;end;
pause
zoom off
b)
Procvičte:
x = (0:0.01:2*pi);
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2);
b = ones(1,10);
b = [b 5 3];
b =(2:5);
c = [b,9:11];
a = b';
figure(1); fplot('sin',[0 4*pi])
figure(2); fplot('sin(x)',[0 4*pi],'-+')
figure(3); fplot('[sin(x),cos(x)]',[0 4*pi],'-x')
figure(4); fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi],'-o')
figure(5); fplot('tan',[-2*pi 2*pi -2*pi 2*pi],'-*')
figure(6); fplot('[tan(x),sin(x),cos(x)]',[-2*pi 2*pi -2*pi 2*pi])
figure(7); fplot('sin(1 ./ x)', [0.01 0.1],1e-3)
Řešený příklad 1.3
Ze signálu x(n)  e j 0 ,4 n  0,5  vytvořte nový signál yn  xn  xn  1
y n  vyjádřete ve tvaru yn  A  e j  n  
Určete numerické hodnoty A, , 
 Řešení :
a)
yn  xn  xn  1  e j 0,4 n 0,5   e j 0,4 n 10,5  
e
j 0 ,4 n
e
 j 0 ,5
e
j 0 ,4 n
e
 j 0 ,4
e
 j 0 ,5
e
j 0 ,4 n
e
j

2
1  e
 j 0 ,4

1  e j 0,4  1  cos 0,4   j sin  0,4   0,691  j 0,951  1,176 e j 0,3
j

1,176 e j 0 ,3  1,176  e j 0 ,4 n  e  j 0 ,2  1,176  e j 0 ,4 n  0,2 
b)
y n   e
c)
A  1,176 ,   0,4 ,   0,2
j 0 ,4 n
e
2
15
1. Základní pojmy
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[1] Svatoš, J.: Biologické signály I. Geneze, zpracování a analýza. Skriptum ČVUT
FEL,1995, (ISBN 80-01-00884-3)
[2] MATLAB®, The Language of Technical Computing, Version 6, The Math Works, Inc.,
2000 Reference
Otázky 1
1. Co znamená:
a) periodický signál
b) ergodický proces
c) stacionární proces
2. Co nazýváme EEG, EKG, VKG, EOG, MKG, EGG
Úlohy k řešení 1
1. Seznamte se s příkazy v MATLABu:
a) fid = fopen(…), [A,count] = fread(…), subplot(…), plot(…),
b) funkcemi: lookfor square
help square
2. Zobrazte:
b)
1 n  0
Jednotkový skok u ( n)  
0 n  0
Obdélníkový signál
c)
x(n)  a n
a)
a  (r  e j  ) n
a  r n  e jn  r n(cos n  jsin n)

3. Je zadáno: x(t)  2  cos 200 t   3  2  cos 200 t  3 4
a)
Určete fázor reprezentující oba sinusové signály a nakreslete je v komp-lexní rovině
b) Pouţijte fázory získané v bodě a) k vyjádření tvaru
x( t )  A  cos ω t  φ 
c) Nalezněte komplexní signál z(t), pro který platí, ţe xt   Re zt 
16
1. Základní pojmy
Klíč k řešení
2) a)
1) u=ones(1,N);
plot(u);
2) x=zeros(1,32);
x1=ones(1,6);
x=[x1 x(7:25) x1(1:5)];
plot(x)
b)
t = 0:.002:2.5;
y = square(2*pi*3*t);
plot(t,y);
y = (1:10)
c)
theta = 0.5236;
r = 0.5;
N = 20;
n = 0:N-1;
x = (r.^n).*exp(j*theta*n);
stem(abs(x));
% .* nestejný počet prvků ve sloupcových vektorech
3)
a) fázory: 2  e
j

3
 2e
j 60 
;
2 e
j
3
4

 2  e j135
b) b) xt   0,732  cos 200 t   2
c) c) z(t)  j0,732  e j 200 t
Korespondenční úkol
–
Seznam se s formátem dat firmy Brain-Quick
–
načti a zobraz minimálně 3 kanály EEG signálu a kalibrační kanál
Práci odevzdejte do 14 dní po zadání domácí úlohy.
17
2. Předzpracování dat
2. PŘEDZPRACOVÁNÍ DAT
2.1. Analogově digitální převodník
Čas ke studiu: 1 hodina
Cíl



Po prostudování kapitoly budete umět
definovat Nyquistovu frekvenci
popsat převod analogového signálu na číslicový a naopak
vyřešit převod analogového signálu na číslicový a naopak
Pojmy k zapamatování 2
Aliasing filtr, vzorkování, kvantování, kódování, spektrum.
Výklad
DSP – Digital Signal Processing – systém pracující v reálném čase (real time)
Analogově digitální převodník
xvst(t)
xd(t)
Antialiasing
Vzorkování
(diskretizace)
xvzor(t)
Kvantování
xkv(t)
Číslicové
vyjádření
filtr – DP
x(n)

D/A
Výstupní
y(n)
Zpracování
x(t)DA
převodník
filtr – DP
číslicového
signálu – P(
z)
Obr. 3: Blokové schéma číslicového zpracování signálu
Analogově digitální převodník
Převede původně spojitý elektrický biosignál na diskrétní posloupnost vzorků signálu vybraných
v pravidelných (ekvidistantních) časových intervalech v následují-cích krocích:
 Signál je vzorkován
18
2. Předzpracování dat
 Amplituda kaţdého vzorku je kvantována do jedné z 2B úrovní (B – počet bitů A/D
převodníku)
 Hodnota amplitudy je zakódována (nejčastěji binární kód), kaţdé slovo je délky B bitů.
DP filtr
Paměťové vzorkování
Kvantování
x(t)
2
B
Kódování
Logický
obvod
x(n)
1
Obr. 4: A/D převodník
DP filtr – musí být analogový (pouţití digitálního filtru vyţaduje předchozí vzorková-ní). Je to tzv.
antialiasingový filtr s mezním kmitočtem do 1/2 vzorkovacího kmitočtu.
Vzorkování – při vzorkování musí být dodrţen vzorkovací teorém (Nyquistův)
fvz ≥ 2·fmax
(1)
kde fmax je nejvyšší frekvence obsaţená v signálu. Čím vyšší vzorkovací frekvence tím
lépe.
Vzorkování Sample – Hold (S – H) je paměťové vzorkování (sejmutá hodnota vzorku
je pamatována aţ do příchodu dalšího vzorku, během převodu se nemění).
Δt
t (s)
T
Obr. 5: Vzorkování – převod spojitého signálu do číslicového tvaru
Interval pozorování T: doba měření úseku signálu
Perioda vzorkování t: vzdálenost mezi dvěma měřeními
Vzorkovací frekvence fvz: kmitočet A/D převodníku, platí pro něj
f
vz

1
Δt
(2)
Vzorkovací frekvence např. 100 Hz tedy znamená, ţe v kaţdé vteřině převedeme 100 vzorků signálu.
19
2. Předzpracování dat
Problémy vzorkování:
 Aliasing – jev vznikající při nedodrţení (1). Způsobuje, ţe z vzorků signálu jiţ není moţné
rekonstruovat původní signál.
a) aliasing v časové oblasti: Vzorkovací frekvence je příliš nízká – maskování vyšších frekvencí
jako niţší frekvence.
0
T
2T
3T
4T
5T
6T
7T
Obr. 6: Aliasing – chybná interpretace vyšších kmitočtů vlivem nízké vzorkovací frekvence
(šipky). Výsledný signál je označen přerušovanou čarou
b) aliasing v kmitočtové oblasti: dochází k slévání spekter signálu, takţe nelze rekonstruovat
signál.
-2fvz
- fvz
0
- fvz
0
fvz
fN
fvz
2fvz
2fvz
Obr. 7: Správně a) vzorkovaného signálu
b) podvzorkovaného signálu



vstupní DP antialiasing filtr – Amin  20  log 1,5  2 B 1
Vzorkovací frekvence příliš vysoká – naměříme více dat v kaţdé vteřině, ale neúměrně vzrůstá
poţadavek na paměť počítače. (např.: 20 min EEG představuje při frekvenci vzorkování 100 Hz 2
400 000 čísel ve 20 kanálech.
V praxi:
20
2. Předzpracování dat
Proti sobě tedy navzájem působí dva protichůdné poţadavky
kapacita počítače vzorkovací frekvence
Např. pro EEG by tedy teoreticky stačilo vzorkovat frekvencí 60 Hz = 2 x 30 Hz. Pokud samozřejmě
zvolíme frekvenci vyšší, tím lépe. V praxi se pro EEG pouţívají vzorkovací frekvence 100 – 256 Hz.

Kvantování a kódování: – amplitudy vzorků se kvantují po určitých kvantech (daných počtem
bitů převodníku) do zvolených úrovní. Ty se pak vyjádří ve zvolené číselné soustavě (např.
dvojkové).
q
- Kvantizační krok q:
- Efektivní hod. signálu:
Aef 
U šš

B
2 1
U šš
2B
q  2 B 1
2
kvantizační chyba pro kaţdý vzorek – e
Střední hodnota čtverce kvantizační chyby s předpokladem stejné pravděpodobnosti
chyby v intervalu 
1
 
q
2
q/2

2 d 
 q/2
q q
,  je:
2 2
q2
12
coţ odpovídá energii šumu.
Poměr signál/šum SQNR:
 A2 / 2
SQNR  10  log  2
 q / 12


B 1

/ 2
  10  log q  2

q / 12 2


2


 10  log 1,5  2 B 
 10log1,5  B 20log2  1,76  6,02B dB
Prodlouţení slova o kaţdý bit znamená zmenšení kvantizačního šumu o 6 dB.
Např.:
8 bitový převodník je schopen převádět čísla v rozsahu 0 – 255, tedy v 256 úrovních včetně
nuly (28 = 256). Znamená to tedy, ţe hodnota amplitudy napětí je reprezentováno číslem v
rozsahu -127 aţ +128 – viz obr. 8.
21
2. Předzpracování dat
ΔA
Obr. 8: Kvantizace úrovní pro 8 bitový A/D převodník
Řešený příklad 2.1
Jaká je potřebná vzorkovací frekvence na obr. 9, je-li požadováno, aby chyba způsobená
aliasingem byla menší než 2 % úrovně signálu v pásmu propustnosti?
R
R = 10 k
C = 8 nF
xf (t)
R
x(t)
vzorkování
C
x(n)
fvz
Obr. 9: Zapojení k příkladu 2.1
 Řešení :
Přenosová funkce filtru (filtr 1. řádu) je
H  
2


1
1  c
2

H  
2
1

Pro f c (uvažujeme Butterworthovu aproximaci) platí:
fc 

1 f f c
1
1

 2 kHz
2 RC
2 10 4  8 10 9
22
2
kde   2f
2. Předzpracování dat
Požadovanou chybu (obr. 10)
stanovíme jako 2% z hodnoty
přenosové funkce
na
H fc
H  
 
frekvenci fc, tj. 2 % z hodnoty 1
nebo-li z hodnoty 0,7071


H f 2% 
pokles o 3 dB
dB
1
0,707
2
0,7071
 14,142  10  3
0,02
0,02
Dosazením do vztahu pro přenosovou
funkci získáme hodnotu f

H  2%
2
1  f 2% f c
14,142  10  3 
f (Hz)
Obr. 10: Přenosová funkce filtru
1

fc
2%
chyba
2
1

1  f 2% 2  10


3 2
f 2%  141,41 kHz
Minimální vzorkovací frekvence filtru je:
f vz min   f 2%  f c  2  141,41  10 3  143,41 kHz
Řešený příklad 2.2
Jaká je kvantovací úroveň signálu u 8 bitovévo převodníku, je-li amplituda signálu v rozsahu
od -1do +1 mV?
 Řešení :
kvantizačních úrovní: 28  256
diference  U  1   1 256  7,8 µV
Řešený příklad 2.3
Určete pro požadovaný signál x(t)  2  cos 100 t
a) Minimální vzorkovací frekvence fvz
b) Určete diskrétní signál, který získáte po vzorkování (vzorkovací frekvence fvz = 200 Hz)
 Řešení :
a) 2f  100

f  50 Hz
Minimální vzorkovací frekvence fvz = 100 Hz
b) Signál je vzorkován fvz = 200 Hz
23
2. Předzpracování dat
 100 
  
xn   2  cos 
 n  2  cos   n
 200 
 2
Otázky 2
1. Proč je zařazen antialiasingový filtr před A/D převodníkem?
2. Jak se projevuje podvzorkování signálu a) v časové oblasti?
b) ve frekvenční oblasti?
3. Jaká je kvantovací úroveň signálu u 12 bitovévo převodníku, je-li amplituda signálu 5 mV?
Úlohy k řešení 2.1
1. Určete minimální vzorkovací frekvenci analogového signálu
u1 t   5 sin 300 t  3 cos 50 t  sin 100 t V.
2. Určete rozlišovací schopnost 12 bitového A/D převodníku. Jmenovitý rozsah vstupního napětí
převodníku je od -5 V do +5 V.
3. Určete vzorkovací frekvenci filtru z příkladu 3.2 jsou-li zadány hodnoty odporů R = 5,6 k a
C = 28,42 nF
Klíč k řešení
1. f1  150 Hz; f2  25 Hz ; f3  50 Hz
Minimální vzorkovací frekvence je fvz = 300 Hz
2. Diference  U  2,44 7,8 mV
3. fc  1 kHz;
f2%  70,704 kHz
Minimální vzorkovací frekvence je fvz = 71,704 kHz
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[2] Svatoš, J.: Biologické signály I. Geneze, zpracování a analýza. Skriptum
ČVUT FEL,1995, (ISBN 80-01-00884-3)
[3] Uhlíř, J., Sovka, P.: Číslicové zpracování signálů. Vydavatelství ČVUT,
Praha 1995, (ISBN 80-01-01303-0)
24
2. Předzpracování dat
[4] Proakis, J.G., Manolakis, D.G.: Introduction to Digital Signal Processing. Macmillan
Publishing Company, New York, 1988 (ISBN 0-02-396815-X)]
[5] MATLAB®, The Language of Technical Computing, Version 6, The Math Works, Inc.,
2000 Reference
25
3. Filtrace
3. FILTRACE
Čas ke studiu: 2 hodiny
Cíl



Po prostudování této kapitoly budete umět
definovat druhy filtrů
popsat vlastnosti filtrů
navrhnou číslicový filtr
Pojmy k zapamatování 3
Filtry IIR, FIR, dolní propust, horní propust, pásmová propust a pásmová zádrţ, fázová
charakteristika, impulsní odezva.
Výklad
Protoţe biologický signál obsahuje často neţádoucí artefakty (např. EEG síťové rušení, svalovou
aktivitu …), je nutno před začátkem zpracování záznam filtrovat. Digitální filtrace je tedy jeden
z nejpouţívanějších nástrojů počítačového zpracování biosignálů. Podrobnou teorii filtru nalezneme
např. v [2], [3], [4], [5], [6] a [7]. Není však jednoduché navrhnout kvalitní filtr, který by byl současně
dostatečně rychlý z výpočetního hlediska. Problémem při návrhu je přesnost a rychlost proti
poţadované kvalitě.

Dělení filtrů
Rozlišujeme filtry:
a) FIR (Finite Impulse Response – s konečnou dobou odezvy) – jsou vţdy stabilní, mají lineární
fázovou charakteristiku
b) IIR (Infinite Impulse Response – s nekonečnou dobou odezvy - rekurentní) – jsou to
rekursivní filtry, bývají niţšího řádu, mají nelineární fázovou charakteristiku – ovlivňují fázi,
při nesprávném návrhu mohou být nestabilní
Při filtraci biologického signálu poţadujeme, aby fázová charakteristika filtru byla vţdy lineární.
Nejčastěji biologický záznam filtrujeme filtrem s konečnou impulsní odezvou h(n) (Finite Impulse
Response - FIR). Tento filtr je plně definován N hodnotami odezvy.
Matematickým modelem FIR filtru v časové oblasti je diferenční rovnice
y ( n) 
N 1
 ak x(n-k )
(3.1)
k 0
kde
y(n) představuje současnou výstupní hodnotu filtru,
x(n) představuje současnou vstupní hodnotu filtru,
26
3. Filtrace
x(n-N) reprezentuje N dřívějších vstupních vzorků filtru,
a k jsou koeficienty diferenční rovnice.
Z definice impulsní odezvy vyplývá, ţe koeficienty a k z (3.1) představují vzorky hk impulsní
charakteristiky h(n) FIR filtru, takţe platí
y n  
N 1
 hk xn-k 
(3.2)
k 0
Vztah (3.2) je také vyjádření tzv. přímého realizačního algoritmu, takţe hodnoty impulsní
charakteristiky jsou přímo systémovými realizačními konstantami.
Vlastnosti filtru v časové oblasti mohou být ve frekvenční oblasti popsány vztahem
Y z   X z  
N 1
 hk z -k
(3.3)
k 0
coţ odpovídá vztahu (3.2) po transformaci z.
Ze vztahu (3.3) pak můţeme definovat přenosovou funkci filtru H(z)
Y z 
H z  

hk z -k
X z  k  0
N 1

(3.4)
Frekvenční charakteristiku filtru získáme pouţijeme-li substituci z  e j , vztah (3.4) nabývá po
úpravě tvar
H ()  h(k )  e  jk ,
kde  
2 n
N
(3.5)
Vztah (3.5) odpovídá diskrétní Fourierově transformaci (DFT). Přenosová funkce H(Ω) ve vztahu
(3.5) je periodická, vyjádřená ve tvaru Fourierovy řady s koeficienty hk.
FIR filtry jsou navrţeny tak, ţe jejich fázová charakteristika je lineárně závislá na frekvenci, tedy
fázové zpoţdění je konstantní, takţe časové poměry zůstanou nezměněny, coţ je pro analýzu zásadní.
K tomu postačuje, aby impulsní charakteristika systému splňovala jednu ze základních symetrizačních
podmínek filtru:
h(n)  h( N  1  n)
nebo h(n)   h( N  1  n) ,
(3.6)
Řešený příklad 3.1
Návrh FIR filtru – metoda váhování impulsní charakteristiky (okénková metoda):
Metoda váhování impulsní charakteristiky vychází ze znalosti obecně neomezené impulsní
charakteristiky hD , popisující přesně požadovaný filtr.
 Řešení :
Postup:
a)
Požadavky na ideální frekvenční odezvu filtru H(Ω) – frekvenční charakteristika filtru
je periodická funkce kmitočtu a lze ji vyjádřit nekonečnou Fourierovou řadou
s periodou 2π T
27
3. Filtrace

 h

H D    H e jT 

D
n  e  jT
Impulsní odezvu hD(n) získáme pomocí inverzní FFT pro požadované frekvence
b)

hD n  
T
T
2
 H D    e
jnT
d
T
frekvenční charakteristika je také spektrum nekonečného signálu
c)
Omezení délky posloupnosti hD na zvolený rozsah N členů:
hD t     h 2 t  2T   h1 t  T   h0 t   h1 t  T   h2 t  2T   
jehož délku omezíme vynásobením konečným signálem (tzv. oknem) w(n) o délce N –
viz tabulka druhy oken
d)
Koeficienty FIR filtru získáme vynásobením hn  hD n  wn
K dosažení lineární fázové charakteristiky je nutné posunout impulsní odezvu h(n) tak, aby
začínala v „nule“.
Při realizaci digitálního filtru bylo nutné určit sloţitost filtru - tedy zvolit N. Pro odhad N jsou uváděny
různé empirické vztahy např.: pro dolnopropustní filtr – viz obr. 11
N  1
kde
D (1 ,  2 )
 f (1,  2 )  (2  1 )
2  1

  0,00266 log 

D (1,  2 )  0,005309 log1  2  0,07114 log1  0,4761  log 2
1
2

 0,5941log1  0,4278
 
f (1,  2 )  0,51244 log  1   11,01
 2 
Jednodušší je Kaiserův vztah např. pro filtr DP:
N 
 20  log 1   2 - 13


1 4,6 s   p 2
kde 1 je zvolené zvlnění v pásmu propustnosti
 2 je zvolené zvlnění v pásmu útlumu
28
3. Filtrace
 p je hraniční frekvence v pásmu propustnosti
 s je hraniční frekvence v pásmu útlumu
Tento vztah je pouţit pro první odhad. Pro zvolené hodnoty 1  0,01 ,  2  0,001,  p  28 Hz,
s  32 Hz obdrţíme
N 
 20 log 0,01 0,001 - 13
14,6 32 128  28 128 2
 509,5
Pro dosaţení symetrie typu h(n)  h( N  1  n) a N liché volíme první nejniţší odhad N  511.
Tab. 1: Ideální impulsní odezvy filtru
Typ filtru
Ideální impulsní odezva h(n)
h(n), n  0
DP
HP
PP
PZ
sin nc 
2 fc
nc
sin nc 
 2 fc
nc
sin n2 
sin n1 
2 f2
 2 f1
n2
n1
sin n1 
sin n2 
2 f1
 2 f2
n1
n2
29
h(0)
2 fc
1  2 fc
2 f 2  f1 
1  2 f 2  f1 
3. Filtrace
1+δ
1
1-δ
δ2
ω
ω1 ω2
δ2
Obr. 11: Frekvenční charakteristika dolnopropustního filtru
Např. z vlastností signálu EEG vyplynou poţadavky na charakteristické frekvence pásmové propusti:
1  0,5 Hz a  2  30 Hz – obr.12. Pro symetrii h(n)  h( N  1  n) a N liché platí:
H(ω)
π
0
ω1
2π
ω2
ω (normalizovaná)
Obr. 12: Přenosová charakteristika pásmové propusti
H    h0   2
( N 1) / 2
 hncos n 
(3.7)
k 0
kde
h(0 ) 
 2  1

a
h(n) 
1
sinω2 n  sinω1n
n
(3.8)
Podle druhu pouţitého okna – viz Tab. 2 orientačně odhadneme řád filtru.
Např.:
Hamming : f  3,3 / N
Hanning : f  3,1 / N

0,5/128  0,0032


N  3,3/0,0032  845
N  3,1/0,0032  968
Aby byl potlačen vliv Gibbsova jevu, je příslušná impulsní charakteristika násobena váhovou funkcí
(n) , která představuje „okénko“. Pomocí ní zkrátíme impulsní odezvu h(n) na kauzální konečnou
posloupnost
h(n )  hi ( n )   (n )
(3.9)
kde hi ( n ) je impulsní odezva vypočtená podle vztahu (3.7).
30
3. Filtrace
a)
H (Ω)
(dB)
50
0
-50
-100
-150
-200
-250
0
20
40
60
80
f (Hz)
b)
H (Ω)
(dB)
f (Hz)
Obr. 13: Přenosová charakteristika filtru – pásmová propust pro EEG
signál
a) Hammingovo okno – N = 845
b) Hanningovo okno – N = 968
31
3. Filtrace
Tab. 2: Některé druhy oken
Typ okna
Šířka pásma
Zvlnění v PP
přechodu
Poměr hl. laloku k vedlejšímu
Potlačení SP
laloku (dB)
(dB)
Oknovací funkce
ω(n), |n| ≤ (N-1)/2
Obdélníkové
0.9/N
0.7416
13
21
Hanningovo
3.1/N
0.0546
31
44
Hammingovo
3.3/N
0.0194
41
53
 2 n 
w(n)  0,54  0,46cos

 N 
Blackmanovo
5.5/N
0.0017
57
74
 2 n 
 4 n 
w(n)  0,42  0,5cos
  0,08cos

N


 N 
2.93/N (β=4.54)
0.0274
50
4.32/N (β=6.76)
0.00275
70
5.71/N (β=8.96)
0.000275
90
Kaiserovo
32
1
w(n) 
1 
2 n 
 1  cos

2 
N 
I 0   12n /( N 1)2 




I 0 ( )
1/2 



3. Filtrace
Obr. 14: Okno: a) Bartletovo, b) Blackmanovo,
c) Hammingovo d) Hanningovo pro N = 30
Obr. 15: Frekvenční odezva Hammingova okna (plná
čára) a obdélníkového okna (přerušovaná čára)
Řešený příklad 3.2
Navrhněte Chebysevovský filtr I: řád s ideální přenosovou funkcí:
PP wp = 0.2 zvlnění 0.5 dB, SP ws = 0.366 zvlnění 19 dB, fvz = 1 kHz. Úlohu řešte
v MATLABu.
33
3. Filtrace
 Řešení :
% ωp = 2··fp/fvz ; ωs = 2··fs/fvz; ωp = 100 Hz ωs = 183 Hz
N = 512;
Rp = 1;
Rs = 20;
fvz = 1000;
wp = 0.2*pi;
ws = 0.3*pi;
wh = 0.4*pi;
wd = 0.7*pi;
Wp = 100/(fvz/2);
Ws = 150/(fvz/2);
[n,wn] = cheb1ord(0.2,0.3,Rp,Rs);
Wn =tan(wn*pi/2);
Wp =tan(wp/2);
Ws =tan(ws/2);
% n=4
% wn = 0.2
% Wn = 0.3249
% Wp = 0.3249
% Ws = 0.5095
[z,p,k] = cheb1ap(n,Rp);
%z=
%p=
%k=
% [] % -0.1395 + 0.9834i
0.2457
%
-0.3369 + 0.4073i
%
-0.3369 + 0.4073i
%
-0.3369 - 0.4073i
%
-0.1395 - 0.9834i
bn = k*poly(z);
an = poly(p);
% bn = 0.2457
% an = 1.0000*s^3 + 0.9528*s^2 + 1.4539*s + 0.2457
% an1 = [s^2 + 0.279072s + 0.98655]
% an2 = [s^2 + 0.673793s + 0.27939]
[h,w]= freqs(bn,an);
% normovaná
figure(1);
subplot(2,1,1);
plot(w/pi,abs(h)), grid
title('Chebyshev I n = 4 normovany');
ylabel('|H(w)|');
subplot(2,1,2);
plot(w/pi,angle(h)), grid
ylabel('faze(w)');
[r,p,k] = residue(bn,an);
% normované res.
%r=
p=
% -0.0663 - 0.1301i
-0.1395 - 0.9834i
% -0.0663 + 0.1301i
-0.1395 + 0.9834i
% 0.0663 - 0.3463i
-0.3369 + 0.4073i
% 0.0663 + 0.3463i
-0.3369 - 0.4073i
% Vynásobíme komplexně sdruţené póly
k=
[]
r1 = [-0.0663-0.1301i -0.0663+0.1301i];
p1 = [-0.1395-0.9834i -0.1395+0.9834i];
[num1,den1] = residue(r1,p1,k);
34
3. Filtrace
% num1 = -0.1326s -0.2744
% [num1,den1] = r(1)/p(1)+r(2)/p(2)
% den1 = 1*s^2 + 0.279072s + 0.9865
% [num2,den2] = r(3)/p(3)+r(4)/p(4)
r2 = [0.0663-0.3463i 0.0663+0.3463i];
p2 = [-0.3369+0.4073i -0.3369-0.4073i];
[num2,den2] = residue(r2,p2,k);
% num2 = 0.1326s + 0.3268
% den2 = 1*s^2 + 0.6738s + 0.2794
% ---------------------------------------------------------------------------------------------------------% Normovaná přenosová funkce má tvar:
%
% (-0.1326s-0.2744)
(0.1326s+0.3268)
% ----------------------------------- + ---------------------------------------% (s^2+0.279072s+0.9865)
s^2 + 0.6738s + 0.2794
%
% --------------------------------------------------------------------------------------------------------% odnormování pólů
epsilon = ((1-(10^(-0.05)^2))/(10^(-0.05)^2))^(1/2);
% epsilon = 0.5088
gama = ((1+(1+(epsilon^2))^(1/2))/epsilon)^(1/n);
% gama = 1.4290
beta = (gama+gama^(-1))/2;
% beta = 1.0644
alfa = (gama-gama^(-1))/2;
% alfa = 0.3646
% pól = sigma + jomega
%
sigma = -alfa*Wp*sin[(2k+1)*pi/2*n] . . . k = 0,1, ... n-1
%
omega = beta*Wp*cos[(2k+1)*pi/2*n]
sigma1 = -alfa*Wp*sin((2*0+1)*pi/(2*n));
sigma2 = -alfa*Wp*sin((2*1+1)*pi/(2*n));
sigma3 = -alfa*Wp*sin((2*2+1)*pi/(2*n));
sigma4 = -alfa*Wp*sin((2*3+1)*pi/(2*n));
% sigma1 = -0.0453
% sigma2 = -0.1095
% sigma3 = -0.1095
% sigma4 = -0.0453
omega1 = beta*Wp*cos((2*0+1)*pi/(2*n));
omega2 = beta*Wp*cos((2*1+1)*pi/(2*n));
omega3 = beta*Wp*cos((2*2+1)*pi/(2*n));
omega4 = beta*Wp*cos((2*3+1)*pi/(2*n));
% omega1 = 0.3195
% omega2 = 0.1323
% omega3 = -0.1323
% omega4 = -0.3195
p1 = [sigma1 + j*omega1];
p2 = [sigma2 + j*omega2];
p3 = [sigma3 + j*omega3];
p4 = [sigma4 + j*omega4];
p = [p1 p2 p3 p4];
an_od = poly(p);
p1 = [p1 p4];
% an_od = [1 0.3096 0.1535 0.0255 0.0031]
35
3. Filtrace
an1_od = poly(p1);
p2 = [p2 p3];
an2_od = poly(p2);
% an1_od = 1.0000s^2 + 0.0907s + 0.1041
% an2_od = 1.0000s^2 + 0.2189s + 0.0295
[r,p,k] = residue(bn,an_od);
% odnormované res.
%r=
p=
% -1.9318 + 3.7937i -0.0453 + 0.3195i
% -1.9318 - 3.7937i
-0.0453 - 0.3195i
% 1.9318 -10.0946i -0.1095 + 0.1323i
% 1.9318 +10.0946i -0.1095 - 0.1323i
k=
% Vynásobíme komplexně sdruţené póly
r1 = [-1.9318+3.7937i -1.9318-3.7937i];
p1 = [-0.0453+0.3195i -0.0453-0.3195i];
[num1_od,den1_od] = residue(r1,p1,k)
% num1_od = -3.8636s -2.5992
% den1_od = 1*s^2 + 0.0906s + 0.1041
% [num1_od,den1_od] = r(1)/p(1)+r(2)/p(2)
% [num2_od,den2_od] = r(3)/p(3)+r(4)/p(4)
r2 = [1.9318-10.0946i 1.9318+10.0946i];
p2 = [-0.1095+0.1323i -0.1095-0.1323i];
[num2_od,den2_od] = residue(r2,p2,k);
% num2_od = 3.8636s + 3.0941
% den2_od = 1*s^2 + 0.2190s + 0.0295
% -----------------------------------------------------------------------------% Odnormovaná přenosová funkce má tvar:
%
% (-3.8636s -2.5992)
(3.8636s + 3.0941)
% -------------------------------- + ----------------------------------% (s^2+0.0907s+0.1041)
s^2 + 0.2190s + 0.0295
%
% ----------------------------------------------------------------------------[h1,w]= freqs(num1_od,an1_od);
[h2,w]= freqs(num2_od,an2_od);
h = h1 + h2;
figure(2);
% odnormovaná
subplot(2,1,1);
plot(w,abs(h)), grid
title('Chebyshev I n = 4 odnormovany');
ylabel('|H(w)|');
subplot(2,1,2);
plot(w,angle(h)), grid
ylabel('faze(w)');
36
3. Filtrace
%-----------------------------------------------------------------% Metoda impulsní invariance:
%-----------------------------------------------------------------[bz1,az1] = impinvar(num1_od,den1_od);
% bz1 = -3.8636 1.2280
% az1 = 1.0000 1.8147 0.9134
[bz2,az2] = impinvar(num2_od,den2_od);
% bz2 = 3.8636 1.0456
% az2 = 1.0000 1.7769 0.8033
%----------------------------------------------------------------------------------------------------% přenosová funkce má tvar:
%
%
-3.8636 + 1.2280*z^(-1)
3.8636 - 1.0456*z^(-1)
% -------------------------------------------- + -------------------------------------------% 1 - 1.8147*z^(-1) + 0.9134*z^(-2)
1 - 1.7769*z^(-1)+0.8033*z^(-2)
%
% ---------------------------------------------------------------------------------------------------% H(z) = H1(z) + H2(z) - paralelní realizace
% y1(n) = (-3.8636)x(n) + 1.2280x(n-1) + 1.8147y(n-1) - 0.9134y(n-2)
% y2(n) = 3.8636x(n) - 1.0456x(n-1) + 1.7769y(n-1) - 0.8033y(n-2)
[h1,w]= freqz(bz1,az1,N,fvz);
[h2,w]= freqz(bz2,az2,N,fvz);
h = h1 + h2;
figure(3);
subplot(2,1,1);
semilogx(w,abs(h)), grid
title('Chebyshev I n =4 DP metoda imp. invar');
xlabel('f [Hz]');
ylabel('|H(w)|');
subplot(2,1,2);
semilogx(w,angle(h)),grid
xlabel('f [Hz]');
ylabel('faze(w)');
% ----------------------------------------------------------------% Přepočet na horní propust
% ----------------------------------------------------------------beta = (cos((wp+wp)/2))/(cos((wp-wp)/2));
% beta = 0.8090
% bz1 = -3.8636 + 1.2280*z^(-1)
% az1 = 1.0000 - 1.8147*z^(-1) + 0.9134*z^(-2)
% bz2 = 3.8636 - 1.0456*z^(-1)
% az2 = 1.0000 - 1.7769*z^(-1) + 0.8033*z^(-2)
% za výraz z^(-1) dosadíme: z^(-1) = -(z^(-1)-beta)/(1-beta*z^(-1))
37
3. Filtrace
% ------------------------------------------------------------------------------------------------------------% přenosová funkce má tvar:
%
% -2.8702+4.2196*z^(-1)-1.5352*z^(-2)
2.9876-4.5214 *z^(-1)+1.6828z^(-2)
% ---------------------------------------------------- + ---------------------------------------------------% 0.1297-0.0935*z^(-1)+0.0998*z^(-2)
0.0882+0.0221*z^(-1)+0.0203*z^(-2)
%
% ------------------------------------------------------------------------------------------------------------bz1_HP = [-2.8702 4.2196 -1.535201];
az1_HP = [0.129708 -0.0934942 0.099789];
bz2_HP = [2.98761 -4.52138 1.682763];
az2_HP = [0.0882279 0.0221076 0.0202698];
[h1,w]= freqz(bz1_HP,az1_HP,N,fvz);
[h2,w]= freqz(bz2_HP,az2_HP,N,fvz);
h = h1 + h2;
figure(4);
subplot(2,1,1);
semilogx(w,abs(h)), grid
title('Chebyshev I n =4 HP metoda imp. invar');
ylabel('|H(w)|');
xlabel('f [Hz]');
subplot(2,1,2);
semilogx(w,angle(h)),grid
xlabel('f [Hz]');
ylabel('faze(w)');
% H(z) = H1(z) + H2(z) - paralelní realizace
% y(n) = y1(n) + y2(n)
Otázky 3
1. Proč poţadujeme lineární fázovou charakteristiku pro filtr biologického signálu?
2. Jaké okno pouţijete při filtraci signálu a proč?
Úlohy k řešení 3
1. V Matlabu přepočtěte navrţený filtr z příkladu 3.2. na pásmovou propust.
2. V Matlabu přepočtěte navrţený filtr z příkladu 3.2. na pásmovou zádrţ.
Klíč k řešení
1. % -----------------------------------------------------------% Přepočet na pásmovou propust
% ----------------------------------------------------------------
38
3. Filtrace
Wp = 0.3249;
wd = 0.4*pi;
wh = 0.7*pi;
Wh =tan(wh/2);
Wd =tan(wd/2);
% Wh = 1.3764
% Wd = 0.7265
k = cot((Wh+Wd)/2)*tan(Wp/2);
% k = 0.0937
gama = (cos((wh+wd)/2))/(cos((wh-wd)/2)); % gama = 6.4381e-017 = 0
gama = 0;
beta1 = (2*gama*k)/(k+1);
% beta1 = 0
beta2 = (k-1)/(k+1);
% beta2 = -0.8287
% bz1 = -3.8636 + 1.2280*z^(-1)
% az1 = 1.0000 - 1.8147*z^(-1) + 0.9134*z^(-2)
% bz2 = 3.8636 - 1.0456*z^(-1)
% az2 = 1.0000 - 1.7769*z^(-1) + 0.8033*z^(-2)
% za výraz z^(-1) dosadíme:
% z^(-1) = -(z^(-2)-beta1*z^(-1)+beta2)/(beta2*z^(-2)-beta1*z^(-1)+1)
%---------------------------------------------------------------------------------------------------------% přenosová funkce má tvar:
%
% -2.846+4.3322*z^(-2)-1.6356*z^(-4)
-2.997--4.64*z^(-2)-4.8092*z^(-4)
% ------------------------------------------------- + --------------------------------------------------% 0.124-0.1086*z^(-2)+0.0963*z^(-4)
0.0264-0.0531*z^(-2)-1.9736*z^(-4)
%
% --------------------------------------------------------------------------------------------------------bz1_PP = [-2.84596 0 4.33221 0 -1.635649];
az1_PP = [0.124028 0 -0.108642 0 0.0963];
bz2_PP = [2.99711 0 -4.639875 0 1.786799];
az2_PP = [0.079143 0 8.378e-3 0 0.017523];
[h1,w]= freqz(bz1_PP,az1_PP,N,fvz);
[h2,w]= freqz(bz2_PP,az2_PP,N,fvz);
h = h1 + h2;
figure(5);
subplot(2,1,1);
semilogx(w,abs(h)), grid
title('Chebyshev I n =4 PP metoda imp. invar');
ylabel('|H(w)|');
xlabel('f [Hz]');
subplot(2,1,2);
semilogx(w,angle(h)),grid
xlabel('f [Hz]');
ylabel('faze(w)');
% H(z) = H1(z) + H2(z) - paralelní realizace
% y(n) = y1(n) + y2(n)
39
3. Filtrace
2. % ----------------------------------------------------------------% Přepočet na pásmovou zádrţ
% ---------------------------------------------------------------Wp = 0.3249;
wd = 0.4*pi;
wh = 0.7*pi;
Wh =tan(wh/2);
Wd =tan(wd/2);
% Wh = 1.3764
% Wd = 0.7265
k = tan((Wh-Wd)/2)*tan(Wp/2);
% k = 0.0552
gama = (cos((wh+wd)/2))/(cos((wh-wd)/2)); % gama = 0
beta1 = (2*gama)/(k+1);
% beta1 = 0
beta2 = (1-k)/(1+k);
% beta2 = 0.8954
% za výraz z^(-1) dosadíme:
% z^(-1) = z^(-2)-beta1*z^(-1)+beta2)/(beta2*z^(-2)-beta1*z^(-1)+1)
% ------------------------------------------------------------------------------------------------------% přenosová funkce má tvar:
%
% -2.3457-6.4473*z^(-2)-4.38543*z^(-4) 2.9274+5.035*z^(-2)+2.16137*z^(-4)
% --------------------------------------------------- + --------------------------------------------------% 0.1528+0.14284*z^(-2)+0.1982*z^(-4)
0.053+0.02784*z^(-2)+0.014*z^(-4)
%
% ---------------------------------------------------------------------------bz1_PZ = [-2.76405 0 -4.70643 0 -1.99805];
az1_PZ = [0.10743 0 0.157386 0 0.09026];
bz2_PZ = [2.92737 0 5.035 0 2.16137];
az2_PZ = [0.053 0 0.02784 0 0.014];
[h1,w]= freqz(bz1_PZ,az1_PZ,N,fvz);
[h2,w]= freqz(bz2_PZ,az2_PZ,N,fvz);
h = h1 + h2;
figure(6);
subplot(2,1,1);
semilogx(w,abs(h)), grid
title('Chebyshev I n =4 PZ metoda imp. invar');
ylabel('|H(w)|');
xlabel('f [Hz]');
subplot(2,1,2);
semilogx(w,angle(h)),grid
xlabel('f [Hz]');
ylabel('faze(w)');
% H(z) = H1(z) + H2(z) - paralelní realizace
% y(n) = y1(n) + y2(n)
----------------------------------------------------------------------------------------------------------Poznámka:
Transformace na HP, PP a PZ se dá provést i v analogovém tvaru, % výsledek se pak převede na
digitální tvar
40
3. Filtrace
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[2] Proakis, J.G., Manolakis, D.G.: Introduction to Digital Signal Processing. Macmillan
Publishing Company , New York, 1988 (ISBN 0-02-396815-X)]2])
[3] Mitra, S.K., Kaiser, J.F.: Digital signal Processing. 1 John Wiley  Sons, Ing., New
York, 1993 (ISBN 0-471-61995-7)
[4] Uhlíř, J., Sovka, P.: Číslicové zpracování signálů. Vydavatelství ČVUT, Praha 1995,
(ISBN 80-01-01303-0)
[5] Vích, R.: Návrh číslicových filtrů a korektorů útlumu s lineární fází metodou
kmitočtového vzorkování. Slaboproudý obzor 42, r. 1981, č. 10, str. 475 – 479
[6] Lynn, P.A.: On line digital filters for biological signals: Some fast designs for small
computer. Med. & Biol. Eng. & Comput., vol.15, 1977
[7] Jan, J.: Číslicová filtrace, analýza a restaurace signálů. VUT Brno, 1997, (ISBN 80214-0816-2)
[8] MATLAB®, The Language of Technical Computing, Version 6, The Math Works, Inc.,
2000 Reference
41
4. Charakteristiky náhodných signálů
4. CHARAKTERISTIKY NÁHODNÝCH SIGNÁLŮ
Čas ke studiu: 1 hodinu
Cíl



Po prostudování tohoto odstavce budete umět
definovat základní pojmy.
popsat náhodný signál
vypočítat autokorelační a korelační funkce
Pojmy k zapamatování 4
Střední hodnota, rozptyl, střední kvadratická hodnota, medián, autokorelační funkce a vzájemná
korelační funkce.
Výklad
Biologické záznamy patří do skupiny náhodných dat. Tyto nemohou být vyjádřeny explicitními
matematickými vztahy. Náhodná data jsou popsána statistickými termíny (pravděpodobnostní
rozloţení, momenty druhých a vyšších řádů). Charakteristiky náhodných procesů jsou obecně
určovány pro časové okamţiky ze všech realizací souboru („napříč souborem“) [2], [3], [4], [5], [6],
[7], [8]. V praxi máme k dispozici pouze jediný záznam. Proto jeho charakteristiky určujeme přes
časový interval a ne napříč souborem. Náhodný proces je matematický model. Pouţitím tohoto
modelu můţeme popsat jisté průměrné vlastnosti dat matematickými termíny postavenými na
statistické teorii [3], [4], [8]. V této kapitole budou definovány základní pojmy, které budou v další
části pouţívány.
Mezi nejpouţívanější charakteristiky patří: střední hodnota, rozptyl, střední kvadratická hodnota,
medián, autokorelační funkce a vzájemná korelační funkce. Pro stacionární ergodický proces jsou
definovány takto:
Odhad střední hodnoty:
1 
(4.1)
 (n) 
x(n)
x
N n 1
kde N je počet vzorků, x(n) jsou jednotlivé vzorky realizace diskrétního signálu a index n udává pořadí
vzorku x(n)

rozptyl :
vychýlený odhad rozptylu:
 x2 (n ) 
1
N
N
 x(n) -  
n 1
2
(4.2)
x
nestranný odhad rozptylu:
42
4. Charakteristiky náhodných signálů
s x2 (n) 
N
1
 x2 
N-1
N 1
N
 x(n) -  
2
x
n 1
střední kvadratická hodnota signálu :
1 N 2
x2 ( n ) 
x (n)   x2 ( n )   x2 ( n )
N n 1

(4.3)
(4.4)
medián :
Pro n liché platí :
~
x  x( k ) ,
kde k 
n1
2
(4.5)
Je-li n sudé, pak :
xk   xk  1
n
~
x
,
kde k 
(4.6)
2
2
x je ukazatel polohy. Je to vlastně „prostřední (centrální)“ hodnota posloupnosti x(n)
Medián ~
uspořádané podle velikosti.
autokorelační funkce
stacionárního procesu je definována pro dva časové okamţiky. Pro diskrétní posloupnost jsou
definovány vztahy :
nestranný odhad
1
Rxx (l ) 
N l
N l 1
 x(n)x(n-l) ,
kde l  0, 1, . . ., L
(4.7)
n 0
vychýlený odhad
Rxx (l ) 
1
N
N l 1
 x(n)x(n-l) ,
kde l  0, 1, . . ., L
(4.8)
n 0
kde L je zvolené maximální zpoţdění.
diskrétní vzájemná korelace
signálu x(n) a y(n) lze odhadnout podle vztahů :
Rxy (l ) 
1
N l
N l 1
 x(n)y(n-l) ,
kde l  0, 1, . . ., L
(4.9)
n 0
nebo
1
R yx (l ) 
N l
N l 1
 y(n)x(n-l) ,
kde l  0, 1, . . ., L
n 0
kde L je zvolené maximální zpoţdění.
43
(4.10)
4. Charakteristiky náhodných signálů
lineární regrese
vychází z metody nejmenších čtverců. Regresní rovnice je analytickým vyjádřením vztahů mezi
proměnnými x(n) a y(n) – viz obr. 16. Získaná přímka optimálně prokládá soustavu bodů – regresní
přímka (vztahová přímka) :
y (n)  a0  a1 x(n)
(4.11)
kde
n
n
 
xi2
a0 
i 1
i 1
n
n
n

 x y
i 1
i
i
i 1
2
 n 
xi2   xi 
i 1
 i 1 


xi y i 
i 1
n
(4.12)
n
 y
xi
i 1
i
i 1
2
 n 
xi2   xi 
i 1
 i 1 
n
n
n
xi
n
n
a1 
yi 


(4.13)
n je počet bodů.
lineární korelace
n
rxy 
n
n
i 1
i 1
n  xi y i   y i  xi
i 1
 n 2  n 
 n  xi    xi 
 i 1 
 i  1
2
  n 2  n 2 
  n  y i    y i  
 i  1  
  i  1
,
(5.14)
Korelačním koeficientem rxy měříme stupeň těsnosti závislosti neboli spolehlivost regresního odhadu.
Koeficient rxy leţí v intervalu <-1, 1>. Co do absolutní hodnoty je povaţován korelační vztah za málo
těsný, je-li korelační koeficient menší neţ 0,3. Za velmi těsný, je-li větší neţ 0,8. Pohybuje-li se
korelační koeficient v tomto rozmezí, je korelační závislost středně těsná.
44
4. Charakteristiky náhodných signálů
Obr. 16: Příklad regresní přímky a) y = 0,9003x + 0,2901
b) y = – 0, 6629x + 4,9804
Řešený příklad 4.1
Procvičte si příkazy z MATLABu:
1) Autokorelace
% a) Autokorelace
figure(1);
subplot(2,1,1);
x=[1 2 4 8 16 32 16 0 -8 1];
delka=length(x);
Rxx=xcorr(x); % autokorelace
i=-9:1:9;
stem(i,Rxx)
title('Rxx v casove oblasti');
hold on
plot(i,Rxx,'g');
hold off
% b) Autokorelace pomoci konvoluce
subplot(2,1,2)
z=fliplr(x);
% zamena poradi prvku
vektoru
Rxy=conv(x,z);
stem(Rxx)
title('Rxx(n)=x(n)*x(-n) ');
hold on
plot(Rxy,'g');
hold off
pause
2) Vzájemná korelace
a) Rxy
figure(2)
subplot(2,1,1)
y=10:-1:1;
Rxy=xcorr(y,x);
% vzajemna korelace
ix=length(x);
iy=length(y);
i=-(iy-1):(iy-1);
stem(i,Rxy)
title('Rxy'), hold on
plot(i,Rxy,'g');
hold off
%b) Ryx
subplot(2,1,2)
Ryx=xcorr(x,y);
stem(i,Ryx)
title('Ryx');
hold on
plot(i,Ryx,'g');
hold off
pause
45
4. Charakteristiky náhodných signálů
3)
Autokorelace periodického signálu
figure(3)
subplot(3,1,1);
x=[x zeros(1,30) x zeros(1,30) x zeros(1,30) x zeros(1,30)];
x=[x x];
plot(x)
title('1.x; 2.Rxx(aperiodicka); 3.Rxx(periodicka)');
subplot(3,1,2);
Rxx=xcorr(x);
plot(Rxx)
hold on
plot(Rxx,'g');
hold off
4)
Autokorelace pomocí spektrum
xx=[x x];
X=fft(xx);
XX=conj(X);
RXX=X.*XX;
Rxx=real(ifft(RXX));
subplot(3,1,3);
plot(Rxx)
pause
5) Detekce signálu pomocí korelačních technik
% a) šum s normálním rozdělením
% b) zašuměný signál
y = x + n;
figure(4)
x=x/8; % jednod. volba pomeru
% signal/sum
subplot(3,1,1)
y=x+n;
% generov. nahod.posl.s normalnim rozdelenim:
figure(5)
% stredni hodnota=0.0, rozptyl=1.0
subplot(3,1,1)
n=randn(1,length(x));
plot(y);
plot(n)
hold on
subplot(3,1,2)
plot(x-10,'r');
hist(n); %zobrazeni histogramu
hold off
subplot(3,1,3)
title('1.x a y=x+noise; 2.Ryy;
3.Rxy');
Rnn=xcorr(n);
subplot(3,1,2)
plot(Rnn);
kor=xcorr(y);
pause
plot(kor(length(x):2*length(x)-1))
subplot(3,1,3)
koryx=xcorr(y,x);
plot(koryx(length(x):2*length(x)-1));
rovnom=round(50*(rand(1,500)-0.5)+50);
normal=round(10*randn(1,500)+10);
% rovn. rozdeleni 25-75, str. hodn. 50
% normal. rozdeleni, str. hodn. 10, rozptyl 10
figure(1);
subplot(2,1,1);
[PR,idxr]=hist(rovnom,[min(rovnom):max(rovnom)]);
46
% PR - cetnost; idxr - hodnoty
% vzorku
4. Charakteristiky náhodných signálů
PR=PR/length(rovnom);
bar(idxr,PR);
title('Rovnomerne rozdeleni pravdepodobnosti');
% ted PR = pravdepodobnost
subplot(2,1,2);
[PG,idxg]=hist(normal,[min(normal):max(normal)]);
PG=PG/length(normal);
bar(idxg,PG);
title('Normalni rozdeleni pravdepodobnosti');
FR=[];
% vypocet distribucni funkce
FG=[];
for i=1:length(idxr),
FR=[FR sum(PR(1:i))];
end;
for i=1:length(idxg),
FG=[FG sum(PG(1:i))];
end;
pause
figure(2);
subplot(2,1,1);
bar(idxr,FR);
title('Distribucni fce pro rovnomerne rozdeleni pravdepodobnosti');
subplot(2,1,2);
bar(idxg,FG);
title('Distribucni fce pro normalni rozdeleni pravdepodobnosti');
% Stredni hodnota:
avg1=sum(normal)/length(normal);
avg2=idxg*PG';
avg3=mean(normal);
% zprumerovany signal
% z rodeleni pravdepodobnosti
% vypocet Matlabu
% Disperze (rozptyl):
disp1=sum((normal-avg1).^2)/length(normal); % pomoci zprumerovani signalu
disp2=((idxg-avg2).^2)*PG';
% z rozdeleni pravdepodobnosti
%Smerodatna odchylka:
smo1=sqrt(disp1);
smo2=sqrt(disp2);
smo3=std(normal);
pause
% pomoci zprumerovani signalu
% z rozdeleni pravdepodobnosti
% vypocet Matlabu
%Zobrazeni
figure(3);
clg;
axis off;
text(0,1,'Střední hodnoty:'); text(0.1,0.9,['zprumerovanim signalu: ' num2str(avg1)]);
text(0.1,0.85,['z rozdeleni pravd.: ' num2str(avg2)]); text(0.1,0.8,['vypocet Matlabu: ' num2str(avg3)]);
text(0,.7,'Disperze (rozptyl):');
text(0.1,0.6,['zprumerovanim signalu: ' num2str(disp1)]);
text(0.1,0.55,['z rozdeleni pravd.: ' num2str(disp2)]);
text(0,.45,'Smerodatna odchylka:');
text(0.1,0.35,['zprumerovanim signalu: ' num2str(smo1)]);
text(0.1,0.3,['z rozdeleni pravd.: ' num2str(smo2)]);
47
4. Charakteristiky náhodných signálů
text(0.1,0.25,['vypocet Matlabu: ' num2str(smo3)]);
pause
ACF1 = xcorr(acf1,'biased');
ACF1 = ifft(acf1);
subplot(2,1,1);
t1 =(1:128)/128-1;
t2 =(129:256)/128-1;
plot(t1,abs(ACF1(129:256)),t2,abs(ACF1(1:128)),'R'), grid
xlabel('
t ( s ) ');
ylabel('ACF');
title('Autokorelační funkce);
% 2 sec. záznamu - 256 vzorků;
Řešený příklad 4.2
Jsou dány posloupnosti : x ={ 2, -1, 3, 7, 1, 2, -3, 0},
y = { 1, -1, 2, -2, 4, 1, -2, 5}.
a) Určete výpočtem Rxx(n) a Rxy(n)
b) Graficky jej znázorněte
 Řešení :
rxx 0  2  2  - 1  - 1  3  3  7  7  1  1  2  2  - 3  - 3  77
rxx 1  2  0  - 1  2  3  - 1  7  3  1  7  2  1  - 3  2  19
rxx 2  2  0  - 1  0  3  2  7  - 1  1  3  2  7  - 3  1  13

rxx  1  0  2  2  - 1  - 1  3  3  7  7  1  2  1  2  - 3  19
rxx 2  2  3  - 1  7  3  1  7  2  1  - 3  2  0  - 3  0  13

Rxx(l) = { 0, -6, 7, -9, -2, 13, 19, 77, 19, 13, -2, -9, 7, -6 }
Obdobně
Rxy(l) = { 10, -9, 19, 36, -14, 33, 0, 7, 13, -18, 16, -7, 5, -3 }
48
4. Charakteristiky náhodných signálů
Vzájemná korelační funkce
Autokorelační funkce
Otázky
1. Jak určíme autokorelační funkci?
2. Jak určíme vzájemnou korelační funkci?
3. Co je to medián?
Úlohy k řešení
1. Jsou dány posloupnosti : x ={ 4, 2, -1, 3, -2, -6, -5, 4, 5 },
a. y = { 7, 4, -2, -8, -2, 1, 0, 0, 0}.
2. Určete výpočtem Rxx(n) a Rxy(n). Výpočet ověřte v MATLABu.
3. Jsou dány posloupnosti : x ={ 1, 0, 0, 1}, y = { 0.5, 1, 1, 0.5 }. UrčeteRxx(n) a Rxy(n)
algoritmem FFT. Výpočet ověřte v MATLABu.
Klíč k řešení
1. Rxx(l) = { 20, 26, -17, -23, -13, -39, -53, 39, 136, 39, -53, -39, -13, -23 -17 26 20 }
Rxy(l) = { 0, 0, 0, 4, -6, -37, -19, 12, 12, 27, 71, 62, -70, -110, -29, 48, 35 }
2. Rxx(l) = { 1, 0, 0, 2, 0, 0, 1 }
Rxy(l) = { 0.5, 1, 1, 1, 1, 1, 0.5, 35 }
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
49
4. Charakteristiky náhodných signálů
Další zdroje, použitá literatura
[2] Proakis, J.G., Manolakis, D.G.: Introduction to Digital Signal Processing. Macmillan
Publishing Company , New York, 1988 (ISBN 0-02-396815-X)]2])
[3] Mitra, S.K., Kaiser, J.F.: Digital signal Processing. 1 John Wiley  Sons, Ing., New
York, 1993 (ISBN 0-471-61995-7)
[4] Uhlíř, J., Sovka, P.: Číslicové zpracování signálů. Vydavatelství ČVUT, Praha 1995,
(ISBN 80-01-01303-0)
[5] Anděl, J.: Statistická analýza časových řad. SNTL, Praha 1976
[6] Vích, R.: Návrh číslicových filtrů a korektorů útlumu s lineární fází metodou
kmitočtového vzorkování. Slaboproudý obzor 42, r. 1981, č. 10, str. 475 – 479
[7] Lynn, P.A.: On line digital filters for biological signals: Some fast designs for small
computer. Med. & Biol. Eng. & Comput., vol.15, 1977
[8] Jan, J.: Číslicová filtrace, analýza a restaurace signálů. VUT Brno, 1997, (ISBN 80214-0816-2)
[9] Škrášek, J., Tichý, Z.: Základy aplikované matematiky. SNTL, Praha, 1989
[2] MATLAB®, The Language of Technical Computing, Version 6, The Math Works, Inc.,
2000 Reference
50
5. Spektrální analýza biologického signálu
5. SPEKTRÁLNÍ ANALÝZA BIOLOGICKÉHO SIGNÁLU
Čas ke studiu: 3 hodiny
Cíl




Po prostudování tohoto odstavce budete umět
definovat základní pojmy
popsat metody frekvenční analýzy
vypočítat přímou i zpětnou DFT a FFT, spektrální výkonovou hustotu, koherenci,
autokorelační a korelační funkce – kříţové spektrum, určit časové zpoţdění mezi
dvěma kanály
určit modely spektrální výkonové hustoty – AR, MA ARMA
Pojmy k zapamatování 5
Spektrální analýza – parametrické (model AR, MA, ARMA) a neparametrické metody – DFT, FFT,
spektrální výkonová hustota, autokorelace, vzájemná korelace, koherence, časové zpoţdění.
Výklad
Biologické záznamy jsou pokládány za časové řady. K analýze časových řad byly vyvinuty různé
metody. Frekvenční (spektrální) analýza je jedním z nejdůleţitějších diagnostických nástrojů neboť
lékař posuzuje frekvenční sloţky, které jsou v záznamu obsaţeny.
Metody frekvenční analýzy můţeme rozdělit do dvou základních kategorií:
1) neparametrické metody
2) parametrické metody
ad 1) Neparametrické metody patří k metodám, které lze pouţít pro libovolné signály – na modelové
zpracování signálů nejsou totiţ kladeny speciální poţadavky, signál je zpracováván přímo. Metody
zahrnují: filtrování, spektrální analýzu, korelační analýzu.
ad 2) Parametrické metody vyţadují stanovení řady parametrů, které by vyhovovaly danému
speciálnímu matematickému modelu pro zpracovávaný signál. Analýza signálu spočívá v odhadu
těchto parametrů ze zaznamenaných dat. Nejznámější modely dat jsou: autoregresní model (AR),
model klouzavých průměrů (MA), autoregresní model klouzavých průměrů (ARMA).
51
5. Spektrální analýza biologického signálu
5.1.
Neparametrické metody – Fast Fourier Transform
Fourierova transformace je jeden ze základních algoritmů číslicového zpracování signálu. Patří mezi
ortogonální transformace
Přímá Fourierova Transformace (DFT – [5], [6], [11], [15], [21], [23] a [37]), vzorkovaná v n
2k
bodech  k 
, je definována
N
  j 2 k
X (k )  X nT   X  e N


2 k n
 N 1
j

N ,
xn  e

 n 0

k = 0, 1, … , N - 1
(5.1)
Předpokládáme, ţe T = 1, pokud není uvedeno jinak
Tato rovnice definuje algoritmus, který vezme pole N komplexních čísel (případně pole N reálných
čísel a N imaginárních čísel) a vrací pole N komplexních čísel.
Inverzní DFT je definována
1
xn 
N
N 1
 X (k )  e
j
2 k n
N
k = 0, 1, … , N - 1
(5.2)
k 0
Přímý výpočet DFT znamená N2 operací. FFT algoritmus vyţaduje (N·logN) operací, je-li N
mocninou 2.
Řešený příklad 5.1
Určete a) DFT posloupnosti 1, 0, 0, 1
b) Nakreslete modulové (amplitudové) a fázové spektrum
c) Nakreslete amplitudové fázové spektrum je-li vzorkovací kmitočet fvz = 8 kHz
 Řešení :
Pozn.: řešte v radiánech
a) Vyjdeme ze vztahu (5.1):
xn  x0, x1, x2, x3  1, 0, 0, 1; k  0, , N  1  k  3 ; N = 4
X (k ) 
N 1
 xn e
j
2kn
N

n 0
k=0
X (k ) 
3
 xn e
j
2 0 n
N
 1 0  0  1  2
n 0
k=1
52
5. Spektrální analýza biologického signálu
X (1) 
3
 xn  e
j
2 n
N
 x0   e
j
2 0
4
 x1  e
j
2 1
4
 x2  e
j
2 2
4
 x3   e
j
2 3
4

n 0
 1 0  0  1 e
    arctg
X (2) 
3
2
  3 
 3 
 1 cos 
  j sin  
   1 j
 2 
  2 
Imag
 arctg 1  45 
Real
k=2
3
j
 xn  e
j
2 2 n
N
 x0   e
j
4 0
4
 x1  e
j
4 1
4
 x2  e
j
4 2
4
 x3   e
n 0
 1  0  0  1  e j 3  1  cos  3   j sin  3   0
   0 
Obdobně obdržíme pro k = 3
X (3) 
3
 xn  e
j
2 3 n
N
 1 j
n 0
   arctg  1   45 
b) amplitudové spektrum:
fázové spektrum:

90
A
2
45
2
0
 2 3 4 5 6 7
0  2 3 4 5 6 7
-45

-90
c) Tvar amplitudového a fázového spektra se nezmění, určíme pouze hodnoty 


2
N T
kde T 
1
1

 125  s
3
f vz
8 10
2
2

 12,57 kHz
N  T 4 125 10 6

12,57 kHz
2
25,14 kHz
3
37,71 kHz


53


j
4 3
4

5. Spektrální analýza biologického signálu
Řešený příklad 5.2
Určete zpětnou diskrétní Fourierovu transformaci pro DFT:  2, 1 j , 0, 1 j 
 Řešení :
Vyjdeme ze vztahu (5.2):
1
xn 
N
 X (k )  e
j
2 k n
N
N 1
j
2 k n
N
N 1
n=0
1
xn 
N
 X (k )  e
N = 4; k = 0, … , 3; n = 4

k 0
1
x0  
4


k 0
3
 X (k )  e
j
2 k 0
4

k 0
1
  X (0)  X (1)  X (2)  X (3)  
4
1
  2  (1  j )  0  (1  j )   1
4
n=1

3

j
j

j0
j
2
  X (0)  e  X (1)  e
 X (2)  e  X (3)  e 2
 X (k )  e
k 0




3 
j
j
j
j
1 

4
2
4
 2  2 e
e
 0  2 e
e 2  
4 


3
5 
j
j
1 


4
  2  2 e
 0  2 e 4   0
4 



3
1
x1 
4
j
2k
4
1

4
n=2
1
x2 
4
3
 X (k )  e
j
2kn
4
k 0
1

4
4
6
12

j
j
j
j0
4
4
  X (0)  e  X (1)  e
 X (2)  e
 X (3)  e 4




j
j
j
4
2  2 e
 e  0  2  e 4  e j 3

5
11 
j
j
1 

4
 2  2 e
 0  2 e 4   0
4 


1

4
Obdobně obdržíme pro n = 3
1
x3 
4
3
 X (k )  e
j
2k 3
4
1
k 0
54










5. Spektrální analýza biologického signálu

Algoritmus “Decimace v čase” (Cooley,Tukey 1965)
1. Začneme s plnou transformací
X 1 (k ) 
e
j
2
N
N 1
 xn e
j
2kn
N
k = 0, 1, … , N - 1
(5.3)
k = 0, 1, … , N – 1
(5.4)
n 0
 WN
X 1 (k ) 
N 1
 xn  WNnk
n 0
Pozn.

WN2  e  j 2 / N

2
 e  j 2 2 / N  e  j 2 /( N / 2)  WN / 2
WNk  N / 2   WNk  WNN / 2  WNk  e  j ( 2 / N )( N / 2)  WNk  e  j  WNk

WN  e  j 2 / N
WN2  WN / 2
(5.5)
WN(k n / 2)   WNk
2. Rozepíšeme X1 ( k ) jako součet sudých a lichých členů
X 1 (k ) 
N / 21
N / 21
n0
n0
 x2n WN2nk 
sudá posloupnost
 x2n1 WN(2n1)k
lichá posloupnost
sudá posloupnost – x0 , x 2 , x 4 ,  , x N 1 ,
lichá posloupnost – x1 , x3 , x5 ,  , x N 1
X 1 (k ) 
N / 21
 x2n  WN2nk  WNk
n 0
N / 21
 x2n1  WN2nk
k = 0, 1, … , N – 1
n 0
X 1 (k )  X 11(k )  WNk X 12 (k )
k = 0, 1, … , N – 1
(5.6)
Originální Fourierova transformace byla přepsána pomocí dvou FT operujících na lichých a sudých
sloţkách dat. V této rekursi lze pokračovat aţ do triviálního případu jednoho bodu.
55
5. Spektrální analýza biologického signálu
Poznámka:
Odvození:
X 1 (k ) 

N / 2 1

n 0
N / 2 1

n 0

N / 2 1

n 0
x2 n  e
x2 n  e
x2 n  e
j
2 ( 2 n ) k
N

N / 2 1

n 0
j
2 ( 2 n ) k
N
e
j
x2 n 1  e
2 k
N

N / 2 1

n 0
j
2 nk
N /2
e
j
2 k
N

N / 2 1

n 0
 X 11 (k )  e
j
2 k
N
j
2  ( 2 n 1) k
N
x2 n 1  e
x2 n 1  e
j
j
2 ( 2 n ) k
N
2 nk
N /2
 X 12 (k )
Výpočetní náročnosti
Počet bodů
Přímý výpočet
Zrychlení
FFT
Komplexní násobení
Komplexní násobení
N
N2
4
16
4
4.0
8
64
12
5.3
16
256
32
8.0
32
1024
80
12.8
64
4096
192
21.3
128
16384
448
36.6
256
65536
1024
64.0
512
262144
2304
113.8
1024
1048576
5120
204.8
(N/2)log2 N
56
5. Spektrální analýza biologického signálu
Příklad pro N = 8 bodů DFT:
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
2-bodová
FFT
X(0)
Kombinuj
2-bodové
FFT
X(1)
X(2)
2-bodová
FFT
X(3)
Kombinuj
4-bodové
FFT
2-bodová
FFT
X(5)
Kombinuj
2-bodové
FFT
X(6)
2-bodová
FFT
X(7)
Obr. 17: Blokový diagram výpočtu FFT pro 8 bodů
FFT - motýlek
X22(0)
x2
W80
W82
X11(1)
X1(1)
X11(2)
X1(2)
X11(3)
X1(3)
X22(1)
X1(4)
X23(0)
x1
X12(0)
W80
X23(1)
x5
X12(1)
W80
X24(0)
x3
x7
X1(0)
X21(1)
x4
x6
X11(0)
X21(0)
x0
W81
W82
X1(5)
X1(6)
W82
X12(2)
X24(1)
X(4)
X1(7)
W83
X12(3)
Obr. 18: Schéma výpočtu FFT pro 8 vzorků (rozkreslení obr. 15). W N  e  j 2  N .
57
5. Spektrální analýza biologického signálu
Řešený příklad 5.3
Napište strukturu výpočtu 8-bodové FFT posloupnosti A0 pomocí algoritmu decimace v čase.
Posloupnost A0 :  x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 
 Řešení :
8-bodová DFT z A0 : X1 (k) = X11 (k) + WNk X12 (k) , kde k = 0, …, N-1; N = 0, …, 7
Posloupnost A0 rozdělíme na: sudou A1 a lichou A2 :
A1 : x0 , x2 , x4 , x6
N =0, …, 3
A2 : x1 , x3 , x5 , x7
4-bodová DFT z A1 : X11 (k) = X21 (k) + WNk 2 X22 (k)
A2 : X12 (k) = X23 (k) + WNk 2 X24 (k) , kde k = 0 ,, N 2  1
N = 0, …, 3
4-bodové posloupnosti A1 a A2 rozdělíme opět na: sudé A3 , A5 a liché A4, A6 :
A3 : x0 , x4
A5 : x2, x6
A4 : x1, x5
A6 : x3 x7
N =0, 1
2-bodové DFT z A3 : X21 (k) = x0 + WNk 4 ·x4
A4 : X22 (k) = x2 + WNk 4 ·x6
A5 : X23 (k) = x1 + WNk 4 ·x5
A6 : X24 (k) = x3 + WNk 4 ·x7, kde k = N = 0, 1
Řešený příklad 5.4
Ověřte
pomocí
algoritmu
decimace
 4, 0, 2  2 j, 0, 0, 0, 2  2 j, 0 .
v
čase,
že
FFT
posloupnosti
Posloupnost A0 nabývá hodnot: 1, 0, 0, 1, 1, 0, 0, 1
 Řešení :
Vyjdeme z příkladu 5.2:
Určíme 2-bodové DFT ze sudých A3 , A5 a lichých A4, A6 posloupností:
A3 : X21 (k) = x0 + WNk 4 ·x4
k = 0, 1
58
A0
je
5. Spektrální analýza biologického signálu
X21 (0) = x0 + WN0 4 ·x4 = x0 + x4  1 1  2
X21 (1) = x0 +
WN1 4 ·x4 =
j
x0 + e
2
N 4
 x4 = x0 + e  j  x4
 x0  x4  cos     j sin     x0  x4  1 1  0
Obdobně: A4, A5 , A6
X22 (0) = x0 + x6 = 0
X22 (1) = x0 – x6 = 0
X23 (0) = x1 + x5 = 0
X23 (1) = x0 – x6 = 0
X24 (0) = x3 + x7 = 0
X24 (0) = x3 – x7 = 0
Nyní určíme 4-bodové DFT A1 : X11 (k) = X21 (k) + WNk 2 X22 (k)
A2 : X12 (k) = X23 (k) + WNk 2 X24 (k)
kde k = 0 ,, N 2  1, N = 0, …, 3
k=0
X11 (0) = X21 (0) + WN0 2 X22 (0) = 2 + 0 = 2
k=1
X11 (1) = X21 (1) +
WN1 2
j
2
82
 j 2
2
82
X22 (1) = X21 (1)  e
k=2
X11 (2) = X21 (2) +
WN2 2
X22 (2) = X21 (2)  e
X11 (2) = X21 (2) – X22 (2)
Nyní musíme určit hodnotu X21 (2) a X22 (2)
X21 (2) = x0 + WN2 4 ·x4 = x0 + x4  1 1  2
X22 (2) = x0 + WN2 4 ·x4 = x0 + x4  1 1  2
takže pro k = 2 je
59
 X22 (1) = 0
 X22 (2) = X21 (2)  e  j 2  X22 (2)
5. Spektrální analýza biologického signálu
X11 (2) = X21 (2) – X22 (2) = 2 – 2 = 0
k=3
X11 (3) = X21 (3) +
WN3 2
X22 (3) = X21 (3)  e
 j 3
2
82
 X22 (3)
X21 (3) = x0 + WN3 4 ·x4 = x0 – x4 = 0
X22 (3) = x2 –·x6 = 0
X11 (3) = 0
Obdobně určíme X12 (k): X12 (k) = X23 (k) + WNk 2 X24 (k)
k=0
X12 (0) = X23 (0) + WN0 2 X24 (0) = 0
k=1
X12 (1) = X23 (0) + WN1 2 X24 (1) = 0

8-bodová FFT pak je:
X1 (k) = X11 (k) + WNk X12 (k) opět postupně dosazujeme za k, N
k=0
X1 (0) = X11 (0) + WN0 X12 (0) = 2 + 2 = 4
k=1
X1 (1) = X11 (1) +
W81 
j
X12 (1) = X11 (1) + e
2
8
 X12 (1) = 0

5.2.


Parametrické metody
Přehled modelů dat
Vzorkovanou časovou řadu lze vyjádřit jako
x(nT) = x(n) = xn
kde T je interval vzorkování
Z-transformace je
60
(5.7)
5. Spektrální analýza biologického signálu
X ( z) 

x
n
 z n
(5.8)
n 0
spektrum je dáno dosazením z = ejt
X (e jt )  X ( )  X ( z )

z  e j t
Autokorelační funkce stacionárního procesu je definována pro dva časové okamţiky. Pro
diskrétní posloupnost jsou definovány vztahy :
nestranný odhad
R xx (l ) 
1 N l 1
x(n )  x(n  l ),
N  l n 0

kde l  0,1,, L
(5.9)
vychýlený odhad
R xx (l ) 
1
N
N l 1
 x(n)  x(n  l ),
kde l  0,1,, L
(5.10)
n 0
kde L je zvolené maximální zpoţdění.
Ze statistického hlediska je důleţité, aby odhad byl :
a) nestranný
b) konzistentní
 Diskrétní vzájemná korelace signálu x(n) a y(n) lze odhadnout podle vztahů :
R xy (l ) 
1 N l 1
x(n)  y (n  l ),
N  l n 0
kde l  0,1,, L
(5.11)
R yx (l ) 
1 N l 1
y (n)  x(n  l ),
N  l n 0
kde l  0,1,, L
(5.12)

nebo

kde L je zvolené maximální zpoţdění.
Tři základní modely dat jsou

Autoregressive (AR, autoregresní)

Moving average (MA, klouzavý průměr)

Autoregressive – moving average (ARMA, autoregresní - klouzavý průměr)
Autoregresní model AR: - určení parametrů AR modelu je lineární úloha. AR model je popsán
rovnicí:
x(n)  a1 x(n  1)  a2 x(n  2)  . . .  a p x(n  p)  e(n)
(5.13)
61
5. Spektrální analýza biologického signálu
Diferenciální rovnice modelu je popsána vztahem :


X ( z )  1  a1z 1  a2 z  2  . . .  a p z  p  E( z )

X(z) 
(5.14)
1
 E( z)
A (z -1 )
(5.15)
Autoregresní model představuje IIR filtr pouze s póly, p určuje počet minulých hodnot
výstupu v rekurzi.
Obr. 19: Autoregressive model
Moving average model - určení parametrů modelu je nelineární úloha. MA model je popsán rovnicí :
b0 x(n)  b1 x(n  1)  b2 x(n  2)  . . .  bk x(n  k )  y(n)
(5.16)
 k

Y ( z )   bi z i   X ( z )
(5.17)
i0

MA model představuje FIR filtr pouze s nulami, k určuje počet minulých hodnot vstupu v
rekurzi.


ZDROJ
BÍLÉHO
ŠUMU
TAPPED DELAY LINE
(ZPOŢDĚNÍ)
b1
bq
b2

VÝSTUP
MA
PROCESU
Obr. 20: Moving average model
62
5. Spektrální analýza biologického signálu
Autoregresní - moving average model – je nejpřesnější, ale pro určení jeho parametrů je nutné řešit
nelineární optimalizační úlohy. ARMA model je popsán rovnicí
y (n ) 
p
k
 a y(n  i )   b x(n  j )
i
j0
k
b z
j

(5.18)
j
i 1
Y ( z) 
j
j0
p
1 
a z
i
 X ( z)
(5.19)
i
i 1
ZDROJ
BÍLÉHO
ŠUMU
VÝSTUP
ARMA
PROCESU
TAPPED DELAY LINE
(ZPOŢDĚNÍ)

b1
bq
b2
-a1
-a2
-ap

TAPPED DELAY LINE
(ZPOŢDĚNÍ)
Obr. 21: Autoregressive moving average model
ARMA model představuje IIR filtr s póly i nulovými body.
Všechny tři modely aproximují skutečné spektrum signálu pomocí kvadrátu modulu frekvenční
charakteristiky lineárního časově invariantního (LTI) filtru. Volbou řádu filtru (řádu modelu) volíme
stupeň aproximace.
Pro AR modely lze úlohu identifikace parametrického modelu interpretovat jako úlohu aproximace
spektrální výkonové hustoty signálu metodou nejmenších čtverců pomocí polynomu stupně p. Přitom
musí být splněna nerovnost
1  p  N2
(5.20)
Při hledání autoregresního modelu vycházíme z předpokladu, ţe signál vznikl průchodem bílého šumu
přes lineární časově invariantní filtr – obr. 22. Úkolem je určení koeficientů tohoto filtru ze vzorků
signálu. Koeficienty filtru parametrizují signál v tom smyslu, ţe kvadrát amplitudové frekvenční
charakteristiky filtru aproximujeme skutečnou spektrální hustotou signálu.
63
5. Spektrální analýza biologického signálu
x(n)
e(n)
1
A( z )
bílý šum
EEG
Obr. 22: AR model EEG
Naopak předpokládáme-li, ţe signál je stacionární, pak jeho průchod filtrem inverzním (k
odhadnutému AR filtru) dá bílý šum – obr. 23.
e(n)
x(n)
1
A( z 1 )
bílý šum
EEG
Obr. 23: Inverzní AR filtr
5.3. Modely odhadu spektra
Výkonová spektrální hustota (Power Spectral Density, PSD) stacionárního diskrétního náhodného
procesu je vyjádřena Wiener-Chinčinovým teorémem
S f  

 Rxx   e  j 2f
(5.21)
  
Z této rovnice je vidět, ţe na PSD lze pohlíţet jako na Fourierovu řadu s koeficienty danými
autokorelačními koeficienty. Hledaly se modely s konečným počtem para-metrů. Spektrální odhad je
proces odhadu parametrů vhodně vybraného modelu – třístupňový postup

1.
Výběr modelu, který je dobrou aproximací skutečného procesu
2.
Odhad parametrů modelu
3.
Výpočet odhadu spektra
Lineární predikce
Lineární predikce vychází z autoregresního (AR) modelu signálu
p
xn    ak xn k  en
(5.22)
k 1
kde koeficienty a0, a1, … , ap representují lineárně predikční (LP, Wienerův) filtr snaţící se
transformovat vstupní posloupnost do posloupnosti nekorelovaných náhodných veličin.
en se v tomto případě nazývá chyba predikce a představuje chybu, které se dopouštíme pří
odhadu hodnoty xn z lineární kombinace p minulých vzorků signálu.
64
5. Spektrální analýza biologického signálu
Odhad parametrů
Metoda nejmenších čtverců
Za předpokladu, ţe vstup do systému je neznámý, xn můţeme přibliţně odhadnout z váţeného součtu p
minulých vzorků (p je řád modelu)
p
~
xn    a k x n k
(5.23)
k 1
xn , chyba
Vznikne přitom určitá odchylka mezi skutečnou hodnotou xn a predikovanou hodnotou ~
predikce je
p
p
k 1
k 0
en  xn  ~xn  xn   ak xnk   ak xnk ,
a0  1
(5.24)
Je-li vzorek xn časové řady vybrán z náhodného procesu, pak je náhodným procesem i { en } a v
metodě nejmenších čtverců minimalizujeme střední hodnotu čtverce této chyby:
 

p


k 1

P  E en2  E ( xn   ak xnk ) 2 
(5.25)
Střední chyba P je minimalizována na základě stacionárních bodů (parciální derivace podle
příslušných koeficientů jsou rovny nule):
 
 E en2
0
 ai
i  1,  , p
(5.26)
Získáme tak soustavu lineárních rovnic (normální rovnice, Yule – Walkerovy rovnice)
p
a
k
 E xnk xn-i    E xn xn-i 
(5.27)
k 1
a minimální střední chyba je
 
p
 2p  Pp  E xn2   ak  E xn xnk 
(5.28)
k 1
Pro stacionární případ platí :
E xn-k xn-i   R(i  k )
(5.29)
kde R(i) je autokorelační funkce náhodného procesu, která splňuje podmínku
R(i)  R(i)
a předpokládáme, ţe chyba v (5.28) je minimalizována pro nekonečný interval (Autokorelační metoda,
koeficienty R(i-k) tvoří autokorelační matici - symetrická Toeplitzova matice). Získáme tak soustavu
rovnic :
p
a
k
 Ri k   R (i ),
i  1, . . . , p
(5.30)
k 1
p
 2p  R(0)   ak  Rk
(5.31)
k 1
Řešení rovnic (5.30) a (5.31) (např. Gaussovou eliminační metodou) je náročné na počet operací. Proto
byly vyvinuty algoritmy, které řeší tuto úlohu efektivněji - např. Levinson-Durbin-Robinsonův
algoritmus, Burgův algoritmus.
65
5. Spektrální analýza biologického signálu

Levinson – Durbin - Robinsonův algoritmus
Levinson – Durbin – Robinsonův algoritmus vyuţívá skutečnosti, ţe R(i-k) tvoří Toeplitzovu matici
autokorelační funkce – viz obr. 24, pro efektivní výpočet spektrální výkonové hustoty. Spektrální
výkonovou hustotu (PSD) počítá rekurentně z mnoţiny parametrů {a11, σ1}, {a21, a22, σ2}, … , {ap1,
ap2, … ,app, σp}, kde první index určuje řád iterace. Levinson – Durbin – Robinsonův algoritmus je
popsán na obr. 25.
Rxx (1)
Rxx (2) Rxx (3)
Rxx (4) 
1
 R (1)
1
Rxx (1)
Rxx (2)
Rxx (3) 
 xx
R   Rxx (2) Rxx (1)
1
Rxx (1)
Rxx (2) 


1
Rxx (1) 
 Rxx (3) Rxx (2) Rxx (1)
 R (4) R (3) R (2) R (1)

1
xx
xx
xx
 xx

Obr. 24: Toeplitzova matice autokorelační funkce
odhad autokorelace
R xx (l ) 
1 N l 1
x(n)  x(n  l ),
N  l n 0

kde l  0,1,, L
inicializace rekurse
a11  
Rxx (1)
,
Rxx (0)
 12  (1  a11 )  Rxx (0)
2
Levinsonova rekurse pro k = 2, 3, … , p
k 1

 1
a kk    R xx (k )   a k 1, j R xx ( k  j )  2
j 1

  k l
a ki  a k 1,i  a kk  a k1,k i ,
i  1, . . . , k-1
 k2  (1  akk )   k21
2
Výpočet AR spektrální výkonové hustoty
 2p t
PSDAR ( k ) 
zvýšení
řádu o 1
1
p
 ak e
2
 j 2fk
k 1
Obr. 25: Levinson – Durbin – Robinson algoritmus
66
5. Spektrální analýza biologického signálu
Při pouţití AR modelu je nejdůleţitější správné stanovení řádu p modelu. Je-li řád modelu příliš nízký,
je spektrální výkonová hustota PSDAR(k) příliš vyhlazená. Naopak, je-li p příliš vysoké, mohou se ve
spektru PSDAR(k) vyskytnout další chybné vrcholy spektrální výkonové hustoty s niţší amplitudou.
Pro výběr optimálního řádu AR modelu bylo stanoveno Akaikem několik kritérií [5], [6], [13], [25],
[26]. Kritéria jsou zaloţena na minimalizaci chyby predikce metodou nejmenších čtverců. Hodnota
kritéria se počítá vţdy po jednom kroku predikce.
 Kritérium FPE (final prediction error)
N  p1
  2p
N  p 1
 AIC (Akaike information criterion)
FPE( p ) 
AIC ( p)  ln( 2p ) 
(5.32)
2p
N
(5.33)
Na obr. 26 jsou pro příklad zobrazeny spektrální výkonové hustoty AR modelu a spektrální výkonová
hustota počítaná pomocí Wiener - Chinčinova teorému (6.21). EEG signál je nyní v bipolárním
zapojení kanálu P3 > 01 záznamu LAF01.trc. U tohoto záznamu by měla dominovat alfa aktivita. Na
obrázku je vidět, ţe došlo k vyhlazení spektrální výkonové hustoty AR modelu, i kdyţ tato je opět
soustředěna okolo frekvence 10 Hz, coţ odpovídá alfa aktivitě. Avšak AR model nemá dostatečnou
rozlišovací schopnost, jsou-li dva spektrální vrcholy blízko sebe. Spektrální výkonová hustota je opět
počítána s překrýváním intervalů dlouhých 256 vzorků. AR model je 8. řádu - {1, a17 a27 ,… ,a77 }.
Akaikeho kritériem bylo prověřeno, ţe AR model 8. řádu {1,-2.7359,-1.0037,-1.8055,-0,8176, 0,1817,
2.0151} je vyhovující – viz tab. 3.
Tab. 3: Kritéria AR modelu (viz. obr. 27)
Řád mod.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
σp
-1.2557e-007
-1.0578e-005
-1.0578e-005
6.9736e-008
5.9446e-008
-2.3473e-007
-1.8511e-007
1.7000e-009
-1.8299e-005
-1.0139e-007
-3.6941e-008
6.4362e-007
-9.0662e-008
1.1177e-006
-3.1626e-007
5.0971e-007
-2.4992e-006
-9.4585e-008
4.8742e-005
-2.6973e-005
FPE(p)
-1.2755e-007
-8.6084e-008
-8.1206e-008
-7.8214e-008
-5.9607e-008
1.4789e-007
-4.5621e-007
1.8239e-009
0.0015
-5.2726e-007
-3.4559e-007
-2.7996e-007
-2.4626e-007
-2.3140e-007
-2.3057e-007
-2.3225e-007
-2.2968e-007
-2.2641e-007
-2.0934e-007
-1.9365e-007
67
AIC(p)
-31.7729
-22.8978
-22.8900
-32.9259
-33.2373
-30.4828
-30.9499
-40.3228
-21.7470
-32.1304
-34.1419
-28.4186
-28.4186
-27.2991
-29.8162
-28.8538
-25.6663
-32.2069
-19.7095
-20.8851
5. Spektrální analýza biologického signálu
PSD
(W/Hz)
PSD
(W/Hz)
f (Hz)
Obr. 26: Spektrální výkonová hustota EEG (plná čára) a spektrální
výkonová hustota AR modelu 8 řádu (přerušovaná čára)
AIC(p)
Obr.27: Graf závislosti AIC kritéria na řádu modelu
68
5. Spektrální analýza biologického signálu
5.4. Spektrální analýza
Spektrální analýza [2], [3], [4], [5] [6], [7], [8] a [9].je výkonný analytický nástroj, který umoţňuje
určit spektrum nebo spektrální výkonovou hustotu signálu. Matematickým základem těchto metod
jsou ortogonální transformace, které přiřazují časovému průběhu signálu spektrum a naopak spektru
signál. Jednou z nejpouţívanějších metod je Fourierova analýza. Ta předpokládá, ţe kaţdý periodický
signál lze reprezentovat součtem základních sinusovek a kosinusovek o příslušné amplitudě a
frekvenci. Překreslíme-li tyto základní frekvence a jejich amplitudy (spektrální čáry) do grafu,
získáme frekvenční spektrum (periodogram). Měříme je v jednotkách V 2 Hz (výkonová spektrální
hustota) nebo V Hz (amplitudové spektrum). Spektrum je počítáno pomocí algoritmu rychlé
Fourierovy transformace (FFT – Fast Fourier Transformation).
Diskrétní Fourierova transformace (DFT) je definována
X (k ) 
N 1
 x(n )  e

j 2kn
N
(5.34)
n0
a inverzní diskrétní Fourierova transformace (IDFT) pak je
x(n) 
1 N 1
  X (k )  e
N n0
j 2kn
N
(5.35)
Problémem Fourierovy transformace je, ţe předpokládá periodický signál. Při výpočtu jsme však
omezeni konečným intervalem pozorování T (stacionarita). Proto signál musíme periodicky rozšířit –
tedy interpolovat periodický signál za interval pozorování. Zvolení intervalu T je jako kdybychom
původní signál x(n) vynásobili obdélníkovým okénkem w(n)
x(n)  x(n)  w(n) ,
kde n  0, 1, , N  1
(5.36)
kde
1
w( n )  
0
0  n  N-1
pro ostatní n
Při omezování délky pozorování T dochází k efektu zkreslení spektra a periodizace spektra. Jestliţe
navzorkujeme periodický signál tak, ţe délka pozorování T je právě periodou tohoto signálu, potom
jednotlivé frekvenční sloţky tohoto signálu jsou zobrazeny ve spektru DFT tak, ţe kaţdé z nich
přísluší pouze jedna čára. Konečný interval pozorování T (šířka okénka) má vliv i na rozlišení dvou
nejbliţších spektrálních čar. Vzdálenost dvou spektrálních čar ve spektru signálu je f .Vzdálenost
prvního průchodu frekvenčního okna nulou je f  1 T . Je-li f  f , jsou ve výsledném spektru obě
čáry dobře rozlišitelné. Při f  f nelze správně rozhodnout o charakteru vstupního signálu. Je-li
zvolena délka pozorování 2 vteřiny (stacionarita), získáme frekvenční sloţky s rozlišením 0,5 Hz (tj.
spektrální čáry na frekvencích 0,5 Hz, 1Hz, 1,5 Hz, 2 Hz, … ).
Mimo obdélníkového okénka můţeme pouţít i jiný druh okna
 Bartlettovo (trojúhelníkové) okno:
w(n)  1  2
 Hanningovo:
w(n ) 
nN 2
,
N
0  n  N 1
1 
2n 
 1  cos
,
2 
N 
0  n  N 1
69
5. Spektrální analýza biologického signálu
 Hammingovo
 2n 
w(n )  0,54  0,46cos
,
 N 
0  n  N 1
 Blackmanovo
 2n 
 4 n 
w(n)  0,42  0,5cos
  0,08cos
,
 N 
 N 
0  n  N 1
 Tukeyovo (kosinový zvon) – 10 % dat na začátku a na konci je vynásobeno
 2n 
w(n)  0,5cos
,
 M 
kde M  N 10
a n pokrývá 10 % dat na začátku a na konci

Spektrální výkonová hustota
U náhodných signálů se místo pojmu spektrum zavádí pojem spektrální výkonová hustota (PSD).
Spektrální výkonová hustota popisuje rozloţení hustoty výkonu signálu v závislosti na frekvenci.
Pro určení spektrální výkonové hustoty lze pouţít metody
 klasické zaloţené na pouţití diskrétní Fourierovy transformace
(přímé a nepřímé)

parametrické zaloţené na popisu signálu souborem parametrů
Klasické metody
Postup pro výpočet spektrální výkonové hustoty je naznačen na obrázku č. 28.
Časová posloupnost x(n)
nepřímá
(6.9)
Autokorelační
funkce
přímá
(6.38)
PSD(k)
Rxx(l)
Spektrální výkonová
hustota
(6.37)
Obr.28: Metody výpočtu spektrální výkonové hustoty
Nepřímá metoda spočívá v určení PSD pomocí Wiener – Chinčinova teorému. Pro digitální signály
konečné délky je odhad spektrální výkonové hustoty určený diskrétní Fourierovou transformací
vychýleného odhadu autokorelační funkce dán vztahem:
N 1
PSD(k )   Rxx (n)  e  j 2 fn
(5.37)
n0
kde Rxx(n) je autokorelační funkce vypočítaná podle vztahu (5.9).
70
5. Spektrální analýza biologického signálu
Přímá metoda spektrální analýzy je moderní verze Schusterova periodogramu [23]. Odhad spektrální
výkonové hustoty je počítán pouze pro vzorky segmentu x0 , x1 ,  , x N 1 a je dán jako
1
PSD( k ) 
N
N 1
 x(n)  e
2
 j 2fn
(5.38)
n0
Spektrální výkonová hustota určená Wiener – Chinčinovou větou (6.37) a spektrální výkonová hustota
určená z periodogramu (6.38) jsou totoţné.
Takto je získáno okamţité výkonové spektrum (periodogram, spektogram) z kaţdého jednotlivého
okna. Kaţdý odhad je zatíţen systematickou chybou. Proto při dostatečné délce signálu je pouţívána
metoda průměrování dílčích periodogramů – získá se vyhlazený odhad. Jedna z metod průměrování
periodogramu je Welchova metoda [14], [15], [16], [17], [21], [23]. Její princip je znázorněn na
obr. 29.
x(n)
w(n)
Rxx (n)
DFT
PSDi (k )
Obr. 29: Welchova metoda
Welch navrhl redukovat rozptyl periodogramu rozdělením vstupních dat x(n) , n  0,1, , N  1 na
K segmentů, kaţdý o délce M vzorků xi (m) , i  0, 1, , K  1 , m  0, 1, , M  1 . Segmenty
jsou buďto vedle sebe anebo se překrývají. Kaţdý. segment je váţen oknem a po transformaci dává
dílčí modifikovaný periodogram PSDi (k ) . Výsledný vyhlazený odhad získáme zprůměrováním
dílčích periodogramů:
PSD( k ) 
1 K 1
 PSDi (k )
k i0
(5.39)
Na obr. 30 a) je pro příklad uveden okamţitý odhad získaný z posloupnosti vzorků signálu LAF01.trc ,
kanálu P3. Délka datového segmentu je 256 vzorků, signál nebyl dosud filtrován. Obr. 30 b) je
okamţitý odhad získaný ze stejného filtrovaného datového úseku.
Periodogramy dalších tří realizací náhodného EEG signálu jsou na obr. 32 (a) aţ (c). Délka kaţdé
realizace je opět 256 vzorků. Vzorky se překrývají – viz obr. 31: 1 - 256, 129 - 384, 257 - 512, 385 640, atd. (datová posloupnost 256 vzorků – 2 vteřiny
a) nefiltrovaný
b) filtrovaný
Obr. 30: Odhad spektrální výkonové hustoty pro EEG signál Laf01.trc
71
5. Spektrální analýza biologického signálu
… atd.
385
257
512
384
129
1
640
256
Obr. 31: Znázornění posloupnosti datových oken
záznamu (Short Time Spectral Analysis), v tomto intervalu je signál kvazistacionární – viz poţadavky
na stacionaritu signálu). Odhad získaný průměrováním realizací 30 b) a 32 a) aţ 32 c) je na obr. 32 d).
Pro srovnání je na obr. 32 e) zprůměrováno 10 segmentů v celkové délce 1 aţ 1408 vzorků, tj. 5,5
vteřiny.
Z obr. 32 e) lze vyčíst, ţe v EEG záznamu je spektrální výkonová hustota soustředěna na frekvencích
2 aţ 3 Hz, coţ odpovídá přítomnosti epileptické aktivity. Dále je spektrální výkonová hustota
soustředěna na frekvenčním rozsahu 7 aţ 10 Hz, coţ odpovídá alfa aktivitě kanálu P3.
Spektrální výkonová hustota kvazistacionárních signálů můţe být zobrazena také v trojrozměrném
prostoru (f, t, PSD(k)). Tento způsob je velmi názorný. Podrob-něji bude rozebrán v kapitole 10 –
Metody zobrazení výsledků spektrální analýzy.
Není-li k dispozici záznam signálu dostatečné délky, nemůţeme průměrovat větší mnoţství datových
segmentů.
Okamţité spektrální výkonové odhady stanoví pouze přítomnost frekvenčních sloţek. Neurčí však,
který mód je dominantní. K určení „dominantnosti“ je moţné pouţít korelační analýzu,
tj.autokorelační funkci Rxx(n) nebo kříţové spektrum signálu Gxy(f).
72
5. Spektrální analýza biologického signálu
a)
b)
d)
c)
e)
Obr. 32: Průměrování periodogramů EEG signálu Laf01.trc. Na obr. 32 d) jsou
zprůměrňovány odhady z obr. 30 b, 32 a) – 32 c). Na obr. 32 e) je zprůměrováno 10
odhadů signálu Laf01.trc.
73
5. Spektrální analýza biologického signálu
5.5. Korelační analýza
Při analýze biologického signálu lze pouţít také korelační analýzu. Korelační analýza zkoumá vztahy
mezi dvěmi různými kanály EEG, které byly zaznamenány současně. Získáme tak vzájemnou
spektrální výkonovou hustotu, nebo-li vzájemné (kříţové) spektrum (cross spectrum). Anebo můţeme
zkoumat poměry uvnitř jednoho kanálu. Obdrţíme tak spektrum z jednoho kanálu - autospektrum.

Autokorelační funkce
Autokorelační funkci Rxx(n) můţeme určit podle vztahů (6.9), resp. (6.10). Známe-li spektrální
výkonovou hustotu PSD(k) lze autokorelační funkci Rxx(n) určit také pomocí inverzní Fourierovy
transformace:
Rxx ( n )  FFT 1  PSD( k ) 
(5.40)
Na obr. 33 je pro příklad uvedena autokorelační funkce Rxx(n) kanálu P3 EEG signálu. Tato funkce je
počítaná pro PSD(k) v obr. 31 a). Autokorelační funkce Rxx(n) je periodická funkce s periodou
přibliţně 100 ms, tzn., ţe EEG signál obsahuje koherentní oscilace, které jsou dány frekvencí
f coh 
1
 10 Hz
0,1
Rxx(n)
t(s)
Obr. 33: Autokorelační funkce signálu EEG Laf01.trc
Spektrum na obrázku 32 a). ukazuje čáru umístěnou v okolí 10 Hz, proto tedy fcoh je dominantní
frekvencí EEG.

Vzájemná spektrální výkonová hustota
Vzájemná spektrální výkonová hustota je určena Fourierovou transformací vzájemné korelační funkce
Rxy(n). Kříţové spektrum Gxy(f) můţeme získat také vynásobením spekter Gx(f) a Gy(f) jednotlivých
kanálů. Jedná se o komplexní proměnnou:
Gxy ( f )  Gxy ( f )  e
 j xy ( f )
(5.41)
74
5. Spektrální analýza biologického signálu
kde modul | Gxy(f) | je amplitudové kříţové spektrum
ReG
G xy ( f ) 
( f )    Imag G xy ( f )  
2
xy
2
(6.42)
a υxy(f) je fázové spektrum dané vztahem
 xy ( f )  arctg
Imag Gxy 
Re Gxy 
(5.43)
Vzájemná spektrální výkonová hustota Gxy(f) slouţí jako míra podobnosti dvou signálů. Kříţové
spektrum ukazuje frekvenční čáry, které jsou společné oběma signálům.
x 10
-9
2,0
Gxy(f)
1,5
1,0
0,5
0
0
10
20
30
40
f ( Hz
)
Obr. 34: Vzájemná spektrální výkonová hustota Gxy(f) mezi kanály P3  O1
Pro příklad je uvedena na obr. 34 kříţová korelace mezi kanály P3  O1 signálu EEG LAF01.trc. Z
obrázku lze vyčíst, ţe v obou kanálech je přítomna alfa aktivita (8 – 13 Hz) a epileptická aktivita (1,8
aţ 4,5 Hz).
Vzájemná spektrální výkonová hustota slouţí většinou jako mezivýsledek pro výpočet dalších
charakteristik – koherenční funkce, frekvenční charakteristiky.
Vzájemnou spektrální výkonovou hustotu Gxy(f) můţeme také pouţít pro určení vzájemného zpoţdění
dvou signálů. Zpoţdění τ(ω) mezi dvěmi kanály je určeno jako derivace fázového spektra podle
frekvence:
 ( )  
d xy ( )
d
,
kde ω = 2πf
(5.44)
Časové zpoţdění Δt dvou signálů je určeno z fázového zpoţdění Δυ (obr. 35). Fáze totiţ vyjadřuje
poměrnou část periody sinusové sloţky signálu a lze ji převést na odpovídající časový údaj [5], [6],
[33], [35], [36] vztahem
t 

360  f
(5.45)
kde Δυ je ve stupních a Δf je v Hz, přičemţ tato doba je pokládána za kladnou, jestliţe soustava signál
posune v záporném smyslu, tj. bude-li Δυ < 0.
75
5. Spektrální analýza biologického signálu
Protoţe z „jednoho bodu“ nelze jednoznačně určit zda se jedná o předbíhání fáze nebo o zpoţdění, je
časové zpoţdění (časový rozdíl) mezi dvěmi kanály počítáno ze sklonu fázové charakteristiky [35],
[36] – obr. 36.
Skupinové zpoţdění τ(ω) mezi dvěmi kanály je určeno :
( )  
Δt  
d (  )
d (  )

d(  )
2d(f)
 2  1
360  (f 2  f1 )


1   2
360  (f 2  f1 )
Δ
360  Δf

(5.46)
kde Δυ je fázový rozdíl ve stupních při frekvenci f v Hz, Δf je rozsah frekvencí na kterém je počítán
sklon – obr. 36. Výpočet fázového sklonu z frekvenční závislosti vyloučí nejednoznačnost při
„bodovém“ určení fáze.
 ()
1
2
Δυ
t
f1
Obr. 35: Fázové zpoţdění
f2
f ( Hz )
Obr. 36: Určování fázového zpoţdění
Metoda:
Pro dva signály x(t) a y(t) předpokládáme následující lineární vztah (jeden signál je zpoţděn za
druhým)
y(t )  kxt  t   n(t )
(5.47)
kde n(t ) je bílý šum, nekorelovaný s x(t ) .
Pak kříţové spektrum je
G xy ( f )  lim
T 

2
E X ( f )Y * ( f )
T

(5.48)
X ( f ) a Y ( f ) jsou Fourierovy transformace x(t ) a y(t ) a T je časové okno pozorování. Protoţe
n(t ) a x(t ) jsou nekorelované, platí
Gxy ( f )  kGxx ( f )e j 2tf
(5.49)
kde Gxx je výkonové spektrum x(t ) . Jelikoţ G xx a k jsou reálná čísla, fázové spektrum kříţového
spektra mezi signály x(t ) a y(t ) je dáno vztahem
 xy ( f )  2    t  f
(5.50)
je tedy lineární funkcí frekvence. Časový posuv tedy můţe být získán ze sklonu fázové
charakteristiky.
76
5. Spektrální analýza biologického signálu
Pro reálné EEG signály je časový posun určen lineární regresí odhadnutého fázového spektra na
frekvenčním intervalu, kde koherence je významně vyšší neţ nula.(nemůţeme odhadovat fázový
posuv na frekvencích, které neexistují v obou signálech).

Koherenční funkce
Jsou-li signály popsány spektrální výkonovou hustotou, vzájemnou spektrální výkonovou hustotou a
frekvenční charakteristikou je někdy potřeba posoudit přesnost odhadu těchto charakteristik – míru
přesnosti. Touto mírou je koherenční funkce. Koherenční funkce COHxy(f) je reálná funkce reálné
proměnné. Koherence měří míru korelace (závislosti) mezi dvěma signály na dané frekvenci. Její
hodnoty leţí v intervalu 0, 1 . Ideálně je nezávislá na amplitudách signálů. Koherenční funkce je
definována pomocí vzájemné a vlastní spektrální hustoty
COH xy(f) 
G xy(f)
2
(5.51)
G x (f) G y (f)
Je-li COHxy(f) = 0 , potom x(t) a y(t) jsou na daném kmitočtu nekorelované (ţádná relace), naproti
tomu pro COHxy(f) = 1 jsou x(t) a y(t) na daném kmitočtu korelované (ideální korelace).
Jednou z moţností vyuţití koherence je testování symetrie mezi kanály EEG [29], [30]. V
mnoha případech je potřeba pouţít normalizovanou hodnotu kříţového spektra. V
elektroencefalografii například mohou být sousední kanály EEG různě utlumeny průchodem
elektrického potenciálu lebkou, tkání apod. V tomto případě definujeme amplitudovou
koherenci
G xy(f)
COH xy(f) 
(5.52)
G x(f)  G y (f)
Na obr. 37 je demonstrována v jednom obrázku koherence a fázové spektrum signálu EEG LAF01.trc bipolárního zapojení kanálů P3 > 01 a kanálů 02 > P4 . O významnosti údajů fázové
charakteristiky má smysl uvaţovat jen pro ty frekvence, kde je koherence blízká jedné. Fázové
spektrum zobrazuje střední časové rozdíly mezi společnými frekvenčními sloţkami. Udává se ve
stupních.
77
5. Spektrální analýza biologického signálu
Obr. 37: Koherence COHxy(f) a fázové spektrum φxy(f) bipolárního
zapojení kanálů P3  01 a 02  P4 signálu Laf01.trc
CD-ROM
Otevři soubor BM – frekv, spusť animaci prezentace 2_10
Otázky 5
1. Jak určíme časové zpoţdění mezi dvěma signály?
2. Jakou informaci získáme při pouţití koherenční funkce
3. Jak je definováno skupinové zpoţdění?
4. Co je to kříţové spektrum
5. Jak určíme dominantní frekvenci v signálu
Úlohy k řešení 5
1. Určete pomocí algoritmu decimace v čase FFT posloupnosti
 2, 1  j, 0, 1  j 
1, 0, 0, 1 
řešení:
2. V programu Matlab ověřte správnost výsledků z příkladu 5.3. Nakreslete amplitudové a fázové
spektrum.
3. Vytvořte program v MATLABu pro načtení vykreslení naměřených dat ze souboru XXX.trc.
Data vykreslete minimálně ze dvou kanálů.
78
5. Spektrální analýza biologického signálu
Korespondenční úkol
V programu Matlab
a) Nasimulujte signál o délce 2n bodů.
b) Proveďte FFT nasimulovaného signálu
Zpětně rekonstruujte signál. Při zpětné rekonstrukci nevyuţívejte funkci ifft v MATLABu.
Pozn.: pouţijte funkce: an  2  real (cn ), bn  2  imag (cn )
Práci odevzdejte do 14 dní po zadání domácí úlohy.
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[2] Proakis, J.G., Manolakis, D.G.: Introduction to Digital Signal Processing. Macmillan
Publishing Company , New York, 1988 (ISBN 0-02-396815-X)]2])
[3] Mitra, S.K., Kaiser, J.F.: Digital signal Processing. 1 John Wiley  Sons, Ing., New
York, 1993 (ISBN 0-471-61995-7)
[4] Anděl, J.: Statistická analýza časových řad. SNTL, Praha 1976
[5] Vích, R.: Návrh číslicových filtrů a korektorů útlumu s lineární fází metodou
kmitočtového vzorkování. Slaboproudý obzor 42, r. 1981, č. 10, str. 475 – 479
[6] Lynn, P.A.: On line digital filters for biological signals: Some fast designs for small
computer. Med. & Biol. Eng. & Comput., vol.15, 1977
[7] Jan, J.: Číslicová filtrace, analýza a restaurace signálů. VUT Brno, 1997, (ISBN 80214-0816-2)
[8] Kay, S.M., Marple, S.L.: Spectrum Analysis – A Modern Perspective, Proc. IEEE, vol.
69, 1981, pp. 1380-1419
[9] Cooley, J.W., Tukey, J.W. An algorithm for the machine computation of Complex
Fourier Series, Math.Comp. vol.19, 1965, pp. 297-301
[10] MATLAB®, The Language of Technical Computing, Version 6, The Math Works,
Inc., 2000 Reference
79
6.Zobrazení výsledků spektrální analýzy
6. ZOBRAZENÍ VÝSLEDKŮ SPEKTRÁLNÍ ANALÝZY
Čas ke studiu: 1 hodinu
Cíl



Po prostudování tohoto odstavce budete umět
graficky zobrazit výsledky spektrální analýzy
umět metodu topografické mapování
umět metodu spektrálních zhuštěných kulis – CSA
Pojmy k zapamatování 6
CSA – zhuštěné spektrální kulisy, topografické mapování – mapping.
Výklad
Nespornou výhodou počítačového zobrazování dat je moţnost efektivní manipulace se signálem, jeho
zpracování, úprava a zobrazení. Jednou z moţností je zobrazení výsledků numerické analýzy ve formě
různých grafů. Z bohaté palety prostředků pro zobrazování výsledků spektrální analýzy se soustředíme
pouze na dva směry: na metodu zhuštěných spektrálních kulis (CSA, compressed spectral arrays) a
topografické mapování mozkové aktivity (brain mapping)
6.1. Metoda zhuštěných spektrálních kulis – CSA
Metoda zhuštěných spektrálních kulis je jedna ze standardních metod pro monitorování signálové
aktivity ve frekvenční oblasti Podstatou metody je výpočet frekvenčních křivek z kratších úseků (např.
2 vteřiny) a jejich seřazení v trojdimenzionální projekci – metoda zhuštěných spektrálních kulis –
CSA, compressed spectral arrays, kterou poprvé navrhl Bickford [9]. Princip metody spočívá v tom, ţe
se postupně počítají frekvenční křivky z úseků délky 2 aţ 4 sekundy. Vypočtené frekvenční křivky se
pak postupně vykreslí jedna za druhou v pseudo-trojrozměrné projekci – f , t, PSD (f ) (představme
si, ţe spektra vystřihneme z papíru a ty pak nalepíme za sebou tak, jako kulisy v divadle) tak, ţe
později vykreslená nepřekrývá předchozí. Tímto způsobem je moţné sledovat posun a změny
frekvenčních komponent v průběhu času – popis dynamického chování signálu ve spektrální oblasti.
Výhodou metody je přehledné zpracování delších úseků biologických záznamů.
Nevýhodou metody je ztráta časové informace o tvaru signálu při transformaci do frekvenční oblasti.
Tato nevýhoda se však dá eliminovat prohlíţením původního úseku v originálním záznamu.
Ukázka CSA je na obr. 38, spektrální výkonová hustota je zde počítána pomocí Wiener – Chinčinovy
věty. Kaţdá spektrální křivka představuje 2 vteřiny dat. Na obr. 39 a) je ukázka CSA z programu
Matlab. Na obrazovce lze zobrazit aţ několik minut signálu v několika kanálech – podle moţnosti
výpočetní techniky. Všimněme si výrazných pomalejších frekvencí, které zřetelně identifikují místa s
epileptickými paroxysmy.
80
6.Zobrazení výsledků spektrální analýzy
Obr. 38: Zobrazení spektrální výkonové hustoty PSD   f , t , PSD( f ) 
signálu EEG metodou CSA v prostředí Matlab
Vlastnosti signálu jsou ještě lépe vidět při jiném sklonu kulis obr. 39 a,b) – viz animace CSA_BM.
Uţivatel můţe v prostředí Matlab libovolně měnit sklon, měřítko i rozteč kulis tak, aby dosáhl
optimální projekce obrázku.
a)
b)
Obr. 39 a,b): Jiná varianta zobrazení CSA
U multikanálového záznamu (např. EEG) je moţné pomocí kursoru vybrat příslušný originální úsek
EEG signálu, z něhoţ byla křivka spočtena a prohlíţet signál střídavě v časové i frekvenční oblasti
(obr. 40).
81
6.Zobrazení výsledků spektrální analýzy
Obr. 41): Monitorování spektrálních pásem v průběhu času.
Jednotlivá pásma jsou označena barevně
Obr. 40: Skok do EEG stránky vybrané kursorem z obr. 39 b)
Pro ještě větší názornost můţeme spektrální pásma odlišit barevně – viz obr. 41.
Metody CSA vyuţijeme všude tam, kde je potřeba sledovat dynamický vývoj frekvenčních
charakteristik v čase – např. při monitorování EEG
6.2. Topografické mapování – brainmapping – BM
Při topografickém mapování mozkové aktivity vlastně zjišťujeme prostorové (plošné) „projevy“
aktivity. V našem případě se zaměříme na topografického zobrazování mozkové aktivity –zde patří
brain mapping (BM) – mapa okamžitého rozložení amplitud potenciálů. Podstata BM spočívá v
zakódování číselných hodnot signálu do barevné škály a jejich iterativní interpolaci i na oblasti, kde
hodnoty signálu nebyly naměřeny. Rozmístění elektrod na hlavě u 19 kanálového EEG je v systému
10/20

Topografické mapování – amplitudy
Z didaktických důvodů je vhodné se nejprve věnovat mapování amplitudy, kde se dá podstata BM
vysvětlit nejlépe. Princip je přehledně zobrazen na obr. 42 v několika krocích.
82
6.Zobrazení výsledků spektrální analýzy
Mappování amplitudy
mV
Čísla zaměníme barvou
13.5
-100
13.5
98.3
98.3
85.0
85.0
5.6
5.6
100
b)
a)
1. iterace
Počítáme průměrnou hodnotu
ze 4 sousedních elektrod
µV
Topograpfická mapa
2. iterace
… do další iterace
zahrneme nově vypočítané
body
. . . získáme tak celou
topografickou mapu
c)
Obr.42: Princip mapování amplitudy
POSTUP
1.
V multikanálovém záznamu zvolíme určitý časový okamţik, např. kursorem – obr. 42 a),
2.
Naměřeným číselným hodnotám amplitudy signálu přiřadíme barvu ze zvolené časové škály
(rozdělené například na 16 barevných subintervalů) – obr. 42 b),
3.
V několika iteračních krocích postupně interpolujeme novou hodnotu například jako průměr
ze čtyř sousedních elektrod – obr. 42 c). Interpolaci opět opakujeme včetně zahrnutí nově
vypočítaných hodnot a tak postupně zobrazení zjemňujeme, aţ pokryjeme barevně celou
plochu
4.
Získáme tak barevně zakódovanou informaci o hodnotách EEG amplitudy pro daný časový
okamţik ve tvaru mapy prostorového rozloţení příslušné číselné hodnoty.
83
6.Zobrazení výsledků spektrální analýzy
Obr. 43: Příklad mapování amplitudy v prostředí Matlab – v tabulce jsou zobrazeny odečtené hodnoty
amplitud z EEG záznamu – neiterované hodnoty jsou barevně podbarveny. Vpravo je
zobrazena amplitudová mapa číselných hodnot z tabulky
Na obr. 43, je uveden příklad amplitudové mapy signálu ALBA1. Lze zobrazit různé mapy pro různé
polohy kursoru, nebo také nechat projíţdět kursor po signálu automaticky a sledovat dynamiku změn v
amplitudě například při průchodech epileptickým hrotem a snaţit se vysledovat zdroj záchvatů (tzv.
cartooning, rychlá animace map jako v kresleném filmu) – viz obr 44.
Amplitudový BM provádí pouze transformaci z dvojdimenzionálního do dvojdimenzionálního
prostoru; nepřináší tedy novou informaci, pouze ji názorněji zobrazuje
84
6.Zobrazení výsledků spektrální analýzy
Obr. 44: Ukázka amplitudového brain mappingu z programu Wave Finder znázorněny jsou amplitudové mapy mezi kurzory

Topografické mapování frekvence
Postup pro určení frekvenčního BM (mapování) je na obr. 45. Vychází se ze stejných principů, jako
při mapování amplitudy. Jediný rozdíl je v tom, ţe nyní nebereme hodnoty pouze v jednom průřezu,
ale v časovém intervalu, který je pro všechny kanály stejný. V daném časovém intervalu vypočteme
pro kaţdý kanál výkonové spektrum. Vynesením amplitud spekter pro danou frekvenci ve všech
kanálech získáme hodnoty, které jsou zobrazeny v barevné škále. Postupnou iterací (jako u
amplitudového BM) je získána síť bodů, které jsou uvedeny v tabulce – viz obr. 46 (neiterované
hodnoty amplitud výkonových spekter jsou opět barevně vyznačeny
85
6.Zobrazení výsledků spektrální analýzy
Mapování spektrální
výkonové hustoty
frequency spectrum V2/Hz
64.5
11.5
56.8
1.8
12
Hz
Zvol časový interval a
Vypočítej spektrální výkonovou
hustotu
Hodnoty výkonového spektra
pro hodnotu frekvence f = 12 Hz
100
64.5
11.
5
56.8
. . . pokračuj jako u amplitudového
mapování c)
1.8
0
f = 12 Hz
V2/H
z
Obr. 45: Princip frekvenčního mapování
Při frekvenčním rozboru tedy nemapujeme přímo originální EEG signál, ale výkon (amplitudu)
frekvenčních křivek, které jsou ze záznamu vypočítány pro určitou frekvenci.
Obr. 46: Příklad frekvenčního mapování v prostředí Matlab – v tabulce jsou zobrazeny
odečtené hodnoty amplitud z PSD(f) záznamu EEG – neiterované hodnoty jsou
barevně podbarveny. Vpravo je zobrazena frekvenční mapa pro číselné hodno-ty
z tabulky – hodnoty jsou uvedeny pro f = 7 Hz
Zobrazit můţeme také čtyři mapy ukazující PSD(f) na povrchu hlavy pro jednotlivá frekvenční pásma
pro stejný časový interval jako v obr. 44., - viz obr. 47. Musíme si však být vědomi zjednodušení,
kterého se tímto dopouštíme.
86
6.Zobrazení výsledků spektrální analýzy
Obr. 44: Ukázka amplitudového brain mappingu z programu Wave Finder znázorněny jsou amplitudové mapy mezi kurzory
Obr. 47: Příklad mapování frekvence pro čtyři spektrální pásma
Příklad detailního mapování frekvencí je ukázán na obr. 48a) pro stejný časový interval jako v obr. 44.
V obrázku jsou zobrazeny spektrální křivky pro jednotlivé kanály. Spektrální pásma jsou zde
vyznačena různými barvami. Na obr. 48b) pak jsou vyznačeny frekvenční mapy pro jednotlivé
frekvence.
a)
b)
Obr.48: a) Frekvenční křivky v jednotlivých kanálech
b) Přesnější mapování jednotlivých frekvencí.
87
6.Zobrazení výsledků spektrální analýzy

Topografické mapování koherence
Mapování koherence se pouţívá pro sledování interhemisferálních vztahů (symetrie a synchronie)
[30]. Výsledek ve formě map přináší nové informace o symetrii mezi kanály – případné nesymetrii ve
spektru. Tím usnadní lékařovo rozhodnutí.
Koherence měří míru lineární závislosti mezi dvěmi kanály pro kaţdou frekvenci. Mezielektrodová
koherence se určí z hodnot normalizovaného kříţového spektra mezi dvěmi kanály (Kapitola 5.4.3 –
Koherenční funkce: vztah 5.51 – popř. 5.52). Můţe být buďto interhemisferální nebo lokální
(Rappelsberger 1993).
Interhemisferální koherence je určována v systému 10/20 v laterálních řadách vzhledem k referenční
elektrodě, která je buď FPZ, PZ, CZ, FZ nebo OZ (elektroda FPZ je získána jako: FPZ = (FP1+FP2)/2,
stejně elektroda 0Z: 0Z = (01+02)/2. Princip interhemisferální koherence je na obr. 49.
Obr. 49: Princip vazeb mezi kanály pouţitých při výpočtu
koherenční mapy (interhemisferální koherence
Úkolem metody je odhalit skryté závislosti (asymetrie ve spektru)
Nevýhodou interhemisferální koherence je, ţe se někdy ukáţe symetrie, která tam ve skutečnosti není.
Tato nevýhoda je odstraněna u lokální koherence.
Princip lokální koherence je na obr. 50. Koherence je vţdy počítána mezi dvěmi elektrodami
a) nejdříve ve svislém směru (longitudiální koherence)
b) pak příčně (transversální koherence)
longitudiální koherence
tranversální koherence
Obr. 50: Lokální koherence
88
6.Zobrazení výsledků spektrální analýzy
a výsledné hodnoty se umístí doprostřed mezi elektrody. Výhoda lokální koherence spočívá v tom, ţe
se počítá vţdy ze sousedních hodnot a tím se zvýší citlivost metody.
Obr. 51: Příklad koherenčního mapování v prostředí Matlab – v tabulce jsou zobrazeny odečtené
hodnoty koherence COH(f) ze záznamu EEG – neiterované hodnoty jsou barevně
podbarveny. Vpravo je zobrazena koherenční mapa pro číselné hodnoty z tabulky –
hodnoty jsou uvedeny pro f = 7 Hz
Příklad detailního mapování koherence je ukázán na obr. 52 pro stejný časový interval jako v obr. 44.
V. Na obr 52 a) je ukázka lokální koherence, na obr. 52 b) pak interhemisferální koherence a na obr.
52c) je opět souhrn interhemisferálních map pro jednotlivé frekvence.
89
6.Zobrazení výsledků spektrální analýzy
a)
b)
c)
Obr 52: a) Lokální koherence
b) Interhemisferální koherence
c) souhrn interhemisferálních map pro jednotlivé frekvence

Topografické mapování fáze
Podobně lze mapovat také fázové spektrum (kapitola 5.4.2 vztah (5.43) – viz obr. 36). Vychází se ze
stejných principů, jako při frekvenčním mapování. Ve zvoleném časovém intervalu, který je pro
všechny kanály stejný, vypočteme pro kaţdý kanál fázové spektrum. Vynesením hodnoty fáze pro
danou frekvenci ve všech kanálech, získáme hodnoty, které jsou zobrazeny v barevné škále.
Postupnou iterací (jako u amplitudového BM) je získána síť bodů
90
6.Zobrazení výsledků spektrální analýzy

Topografické mapování časového zpoždění
Měření velmi malých časových rozdílů mezi jednotlivými kanály (viz kap. 5) je obtíţný úkol a
vizuální odhad velmi malých posunů v zápisu jednotlivých kanálů je nemoţný.
Gotman [8] se při svých pokusech na zvířatech snaţil lokalizovat místo vzniku epileptického záchvatu
s pouţitím penicilinového modelu (epileptické záchvaty vyvolával penicilinovou injekcí přímo do
stanoveného místa mozku). Vypracoval postup měření časových zpoţdění mezi jednotlivými kanály.
Vycházel z předpokladu, ţe pokud existuje epileptické ohnisko, pak vzruchu, který se z něho šíří, bude
trvat delší dobu, neţ se dostane ke vzdálenějšímu místu (elektrodě) na povrchu lebky. K elektrodám
nejbliţším (vůči loţisku) pak vzruch nemá tak velkou vzdálenost a časový rozdíl je úměrně menší (i
pokud vezmeme do úvahy nehomogenity tkáně).
Popis metodiky
Při měření malých časových rozdílů Δt mezi dvěmi EEG signály (kanály) x(n) a y(n) vycházíme ze
spektrální analýzy signálu. Pro odhad spektra je pouţit běţný algoritmus FFT [5], [6], [4], [5], [6], [7],
[8]. Z důvodů stacionarity je při výpočtech omezen konečný interval pozorování T a signál byl
periodicky rozšířen. Díky tomu můţe být při prohlíţení signálu zvolen libovolný datový úsek (část
EEG) a v něm určeno okamţité spektrum, spektrální výkonová hustota nebo udělána korelační
analýza.
Postup analýzy
a) Prvním krokem analýzy je rozdělení elektrod na levou a pravou hemisféru. Za referenční
elektrody jsou povaţovány elektrody FPZ, FZ, CZ, PZ a OZ (FPZ = 1/2(FP1+FP2), OZ =
1/2(01+02)).
b) Aby byl vyloučen vliv různého zesílení dvou testovaných signálů a potvrzena přítomnost
epileptických událostí – např. hrot – vlna (1,8 – 4,5 Hz) nebo ostré hroty (délka trvání 20 – 80
ms) – je vypočteno kříţové spektrum (5.41). Kříţová spektra v jednotlivých laterálních řadách
jsou počítána vzhledem k příslušným referenčním elektrodám.
c) Pomocí kříţového spektra určíme fázové spektrum (5.43) a koherenci (5.51).
d) Z fázové charakteristiky určíme pomocí regresní přímky (5.11) fázový sklon. Podle vztahu
(5.14) je také vypočten stupeň spolehlivosti regresního odhadu rxy. Fázový sklon je počítán jen
tam, kde jsou alespoň čtyři body zjištěné fázové charakteristiky shodné s regresní přímkou
(frekvenční rozlišení je 0,5 Hz – minimální rozsah 2 Hz). Další podmínkou pro výpočet
fázového sklonu je dostatečná koherence, tj. blízká 1. Jsou uvaţovány pouze ty hodnoty
frekvence, které jsou přítomné v obou kanálech a jejich koherence je větší než 0,7 (míra
koherence je dost důleţité vodítko při rozhodování).
Za oblast epileptického ohniska je povaţována hodnota s největší kladnou hodnotou zpoţdění Δt.
e) V dalším kroku je udělána transformace – největší kladná hodnota je posunuta do „nuly“
(COHxy =1, Δυ = 0, Δt = 0) a znovu je proveden výpočet kroků b) až d) vzhledem k této
elektrodě. Všechny ostatní elektrody by měly být oproti této elektrodě zpoţděny (záporné
hodnoty).
Časové zpoţdění Δt dvou signálů je určeno z fázového zpoţdění Δυ (viz – kap. 5 – vztah 5.56).
Časové zpoţdění mezi jednotlivými kanály lze opět zobrazit pomocí topografické mapy – viz obr 53.
Princip mapování časového zpoţdění je zobrazen na obr. 54.
91
6.Zobrazení výsledků spektrální analýzy
COHxy(f)
Gxy(f)
υxy(f)
Obr. 53: Příklad mapování časového zpoţdění v prostředí Matlab – vlevo je zobrazeno kříţové
spektru - Gxy(f), koherence COHxy(f) a fázové spektrum υxy(f).
Mapování časového zpoždění
[ ° ]
f (Hz)
Δt
Vybereme časový interval a
vypočteme – křížové spektrum,
fázi. koherenci a časové zpoždění,
dále určíme – regresní křivku
Čísla zaměníme barvou
64
11
5
5
10
0
56
8
. . . pokračuj jako u amplitudového
mapování c)
1
0
Obr. 54: Mapování časového zpoţdění
CD-ROM
Otevři soubor BM_amplitud, spusť animaci prezentace 1
Otevři soubor BM_frek, spusť animaci prezentace 2_10
Otevři soubor CSA_BM, spusť si animaci prezentace 7
92
6.Zobrazení výsledků spektrální analýzy
Otázky 6
1. Jaký je princip metody CSA?
2. Získáme novou informaci při pouţití metody CSA?
3. Získáme novou informaci při pouţití metody topografického mapování?
Korespondenční úkol
V programu Matlab vytvořte program pro načtení alespoň jednoho kanálu EEG, vypočtěte jeho
spektrální výkonovou hustotu. Výsledky zobrazte metodou
a) CSA
b) topografickým mapováním frekvence
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[2] Proakis, J.G., Manolakis, D.G.: Introduction to Digital Signal Processing. Macmillan
Publishing Company , New York, 1988 (ISBN 0-02-396815-X)]2])
[3] Mitra, S.K., Kaiser, J.F.: Digital signal Processing. 1 John Wiley  Sons, Ing., New
York, 1993 (ISBN 0-471-61995-7)
[4] Uhlíř, J., Sovka, P.: Číslicové zpracování signálů. Vydavatelství ČVUT, Praha 1995,
(ISBN 80-01-01303-0)
[5] Jan, J.: Číslicová filtrace, analýza a restaurace signálů. VUT Brno, 1997, (ISBN 80214-0816-2)
[6] Kay, S.M., Marple, S.L.: Spectrum Analysis – A Modern Perspective, Proc. IEEE, vol.
69, 1981, pp. 1380-1419
[7] Cooley, J.W., Tukey, J.W. An algorithm for the machine computation of Complex
Fourier Series, Math.Comp. vol.19, 1965, pp. 297-301
[8] Gotman, J.: Measurement of small time differences between EEG channels: Method
and application to epileptic seizure propagation, Electroenceph. Clin. Neurophysiol., 56,
1983, pp. 501-514
[9] Bickford R.G., et al., Aplication of compressed spectral array in clinical EEG, in
Automation of Clinical Electroencephalography, P.Kellaway, and I. Petersen, Eds., New
York,Ravem, 1973,pp.55-64
[10] Dumermuth G., Fundamentals of spectral analysis in electroencepha-lography, In: A.
Rémond (Ed.),. EEG Informatics : A Didactic Review of Methods and Applications of
EEG data Pro-cessing. Elsevier, Amsterdam,1977, pp. 83-105
[11] MATLAB®, The Language of Technical Computing, Version 6, The Math Works,
Inc., 2000 Reference
93
7. Metody umělé inteligence
7. METODY UMĚLÉ INTELIGENCE
Čas ke studiu: 2x 2 hodiny
Cíl




Po prostudování tohoto odstavce budete umět
základní pojmy umělé inteligence
určit středy jednotlivých tříd
aplikovat shlukovou analýzu na biologické signály
klasifikovat biologické signály
Pojmy k zapamatování 7
Struktura dat, shluková analýza, metoda k-means středů, třída, těţiště, optimum, Euklidova
vzdálenost, příznak, obraz, klasifikátor, učící se klasifikátor, k-NN klasifikátor.
Výklad
Umělá inteligence (artificial intelligence, AI - [54]) je metodika, jejímţ cílem je vývoj modelů a
algoritmů, které od strojů poţadují řešit úlohy, které by vyřešil jen člověk se znalostmi. Systémy, které
jsou povaţované za systémy umělé inteligence – viz obr. 43, musí splňovat poţadavky:

uloţit znalosti (knowledge representation)

aplikovat znalosti řešení problému – uvaţování (reasoning)

během experimentu získat nové znalosti – učení (learning)
vědomosti
učení
uvaţování
Obr. 55: Hlavní komponenty všeobecného systému umělé inteligence
Systémy umělé inteligence (AI) můţeme rozdělit do dvou základních kategorií
a) Symbolická AI – zde řadíme expertní systémy, logické systémy
b) Výpočetní AI – neuronové sítě, evoluční algoritmy, fuzzy logika atd.
Mezi metody učení umělá inteligence řadíme:
 tvorba rozhodovacích stromů
 tvorba rozhodovacích pravidel
 tvorba asociačních pravidel
 neuronové sítě
 genetické algoritmy
94
7. Metody umělé inteligence
 bayesovské sítě
 učení zaloţené na analogii
 induktivní logické programování
V našem kurzu se budeme zabývat algoritmy neuronových sítí.
Umělé neuronové sítě (NN – Neural Networks) můţeme vyuţít při řešení úloh v oblasti:

predikce

klasifikace do tříd, klasifikace situací (rozpoznávání)

asociace, simulace paměti

optimalizace

filtrace

řízení procesu

a další
Predikce znamená předpovídání výstupní hodnoty veličiny na základě jejího průběhu v minulosti. Při
predikci jde o to, abychom v průběhu nějaké známé číselné řady, jejíţ hodnoty se mění v závislosti na
nezávisle proměnném parametru sledovaného jevu nalezli co nejpravděpodobnější průběh nezávislé
proměnné.
Rozpoznávání je rozhodování na základě vstupního vektoru o tom, do které kategorie předmět,
popsaný daným vektorem, zařadit. Někdy se místo rozpoznávání mluví o klasifikaci.
Asociace je podobná klasifikaci. Umělá neuronová síť se učí na bezchybných datech a klasifikuje data
poškozená.
7.1. Základní pojmy teorie učení
Učení je základní a podstatnou vlastností umělé inteligence. Tato vlastnost ji odlišuje od doposud
známého pouţívání počítačů – zde vytváříme algoritmus, podle kterého probíhá výpočet. U těchto
algoritmů neexistují fáze učení. U neuronových sítí má navrţený algoritmus dvě fáze – adaptivní a
aktivní. V adaptivní fázi se síť učí, v aktivní vykonává naučenou činnost. Vhodnost tohoto algoritmu
definuje kvalitu a rychlost učení na předkládaných reprezentativních datech. Schématické rozdělení
základních modelů a algoritmů tohoto procesu je uvedeno na obr. 44.

Adaline – klasická umělá neuronová síť perceptronovského typu s binárními výkonnými
prvky. Jejich váhy jsou nastavitelné a učení probíhá tzv. delta pravidlem.

Adaptace – schopnost uměle neuronové sítě k samoorganizaci. Realizuje se obvykle změnami
vah během učení.

Aktivita neuronu – stav jedné buňky. Je funkci váţeného součtu jeho vstupů, prahu a
dosavadní aktivity. Počítá se z ní hodnota jeho výstupu. Ve stejném významu se pouţívá i
pojem vnitřní potenciál neuronu.

Asociativní učeni – metoda učení umělé neuronové sítě. Vstupní vektor sítě je v tomto
případě i jejím vektorem výstupním. Neuronová síť se učí tím, ţe asociuje vstupní vektor se
sebou samým.

Architektura – struktura sítě výkonných prvků, jejich vzájemné propojení.

ART – Adaptivní rezonanční teorie. Umělá neuronová síť vyvinutá S. Grossbergem. Má
zpětno-vazební charakter. To znamená, ţe mezi vstupy neuronů ve vrstvě jsou i výstupy z
téţe vrstvy. Tento typ neuronové sítě byl vyvíjen podle biologického vzoru a díky speciální
architektuře má zajímavé vlastnosti. Patří mezi ně zejména fakt, ţe jednou naučené vzory uţ
zůstávají během učeni dalších stabilní, síť se nedoučuje.
95
7. Metody umělé inteligence

Axon – výstup neuronu. Je mohutně rozvětvený a prostřednictvím synapsí vysílá signály do
jiných neuronů.

Back-propagation (zpětné šíření) – učící algoritmus vícevrstvých dopředných
(nerekurentních) neuronových sítí. Při něm se chyba výstupní vrstvy zpětně přepočítává do
předchozích vrstev (zpětně se šíří) a podle její hodnoty se upravují jednotlivé váhy.

Bázový prvek – jeden z prvků umělé neuronové sítě, který je stále aktivní. Jeho výstup se
přivádí (vynásobený příslušnou vahou) do všech ostatních výkonných prvků jako jejich práh.

Binární neuron – výkonný prvek, jehoţ výstup nabývá právě jedné ze dvou různých hodnot
(aktivní, neaktivní).

Cílový vektor – ţádaný výstupní vektor patřící k nějakému vektoru vstupnímu. Tento vektor
musí být při učení s učitelem znám.

Delta pravidlo – pravidlo pro učení s učitelem, u kterého se změnou vah dosahuje stale se
zmenšujícího rozdílu mezi ţádanou a skutečně dosaţenou hodnotou výstupu.

Dopředná (nerekurentní) síť – moderní vícevrstvá a částečně samoorga-nizující se síť.
Samostatně klasifikuje vstupní vektory tak, ţe jim přiřazuje odpovídající výstupní hodnoty. Je
v ní jednoznačně definován informační tok. V takové síti neexistují spoje mezi neurony z
vyšších vrstev zpět do vrstev niţších, dokonce ani spojení mezi neurony v téţe vrstvě.

Dynamika – pravidlo, na jehoţ základě jednotlivé výkonné prvky neuronové sítě mění svůj
stav. Patří k nim vstupní funkce, aktivační (výstupní) funkce neuronů, jakoţ i předpis pro
posloupnost výpočtů jednotlivých výstupů.

Excitace – je takové působení aktivního neuronu, ţe při něm v připojených neuronech
dochází k růstu jejich vnitřního potenciálu.

Energetická funkce – energie je mírou naučenosti, tedy odchylky mezi skutečnými a
poţadovanými hodnotami výstupů neuronové sítě pro danou trénovací mnoţinu.

Genetické algoritmy – jsou inspirovány přirozeným chováním přírody, v níţ probíhá evoluční
vývoj. Algoritmy jsou zaloţeny na práci s velkým mnoţstvím jedinců (vyvíjených systémů),
na tzv. populacích. Nové generace se neustále vytvářejí kříţením a mutací existujících
jedinců. Pro zařazení nově vzniklého systému do nové generace a pro výběr jedinců
vhodných pro kříţení je brán zřetel na určité výběrové hledisko. Podle něj dochází k určitému
zkvalitňování populace.

Hammingova síť – optimální minimální! klasifikátor.

Hebbovské učící pravidlo – původní učící předpis pro učení bez učitele. Je analogii průběhu
učení v lidském nervovém systému. Přeneseno do umělých neuronových sítí říká, ţe častější
pouţívání toho-kterého spoje posiluje jeho hodnotu váhy. K této základní formulaci existuje
mnoho variant. .

Heteroasociativní učení – je učení s učitelem. Vstupní vektor neuronové sítě se v tomto
případě od ţádaného výstupu liší. Pro učení musí být ţádaný výstupní vektor k dispozici.

Hopfieldova síť – zpětnovazební symetrická neuronová síť s binárními neurony. Pouţívá se
zejména k identifikaci zašuměných vstupních vzorů.

Inhibice – je opakem excitace. Buňka má inhibiční chovaní je-li v aktivnim stavu a sniţuje-li
vnitřní potenciál v neuronech, které jsou s ní spojeny.

Kohonenova síť – samoorganizujicí se síť, tj. nepotřebuje k trénovaní učitele.

Kompetice (soutěžení) – situace, kdy si několik neuronů vzájemně konkuruje. Ve fázi učení
se u vítězného neuronu zvýší hodnoty vah a u jeho konkurentů se naopak váhy sníţí. Ve
vybavovací fázi se aktivita vítěze zvýši o příspěvky jeho soupeřů.
96
7. Metody umělé inteligence

Kompetiční učení – učící pravidlo, ve. kterém si výkonné prvky při předkládáni vstupních
vzorů vzájemně konkuruji. Váhy se pak mohou měnit pouze u vítězného neuronu.

Lineární asociátor – je jednoduchá lineárně pracující síť, jejíţ matici vah vypočítáváme
podle Hebbovského pravidla učení. Představuje nejjednodušší formu dělené asociativní
paměti.

Madaline – je o jednu vrstvu rozšířena síť Adaline. Má zvláštní metodu učení, protoţe na
rozdíl od Adaline obsahuje jednu skrytou vrstvu.

Neuron – buňka nervového systému. Neuron je anatomicky i funkčně základním stavebním
kamenem nervového systému a poslouţil jako vzor pro výkonný prvek v umělých
neuronových sítích.

Neuronová síť – počítačová architektura podobná mozku. Proti klasickým počítačům má
celou řadu výhod: je odolná proti chybám, má schopnost učit se, dovede abstrahovat i
generalizovat.

Obousměrná asociativní paměť – dvouvrstvá síť s binárními výkonnými prvky a
symetrickým propojením. Je zobecněním Hopfieldovy sítě. Díky zpětnovazebnímu propojení
se mezi vrstvami dosahuje rezonance a síť po jisté době dosáhne stabilního stavu.

Perceptron – jednoduchá dopředná síť bez skrytých vrstev. Tzn., ţe jen jednu vrstvu této sítě
lze učit. Klasickou hranici schopnosti perceptronu je XOR-problém.

Práh – hodnota, kterou musí součet všech váţených vstupů neuronu překročit, aby se stal
aktivním.

Problém obchodního cestujícího – kombinatorická úloha, ve které se hledá nejkratší cesta
předem známým počtem míst. S tímto problémem se setkáváme v řadě nejrůznějších oborů.

Přeučování – učící proces, ve kterém se maţe jistý počet vah. V kontrastu k normálnímu
učení uţ při přeučování síť jistý objem vědomosti obsahovala.

Rozpoznávání vzorů, obrazů – rozpoznávání naučených vzorů v zašuměných vstupních
datech. Vstupní i výstupní data se obvykle prezentují vektorovou formou.

Rozpoznávání znaků – interpretace vizuálních symbolů. Rozpoznávání číslic, alfabetických
znaků nebo jiných, třeba i ručně psaných, symbolů. Jde sice o klasický, ale velmi sloţitý
problém.

Samoorganizace – schopnost neuronové sítě učením přizpůsobit své chování k vyřešení
daného problému.

Shluk – skládá se z „podobných“ objektů – tříd.

Schopnost asociace – vlastnost neuronové sítě odhalit podobnosti mezi naučenými vzory a
vstupními daty.

Sumační funkce – část výkonného prvku, která sčítá váţené vstupní signály.

Synapse –místo styku mezi dvěma neuronovými buňkami v organismu. Během učení se jeho
parametry mění.

Učení – přizpůsobovaní nebo adaptace neuronové sítě daným poţadavkům. Váhy na spojích
mezi jednotlivými výkonnými prvky sítě se mění podle nějakého učícího algoritmu.

Učení bez učitele – při tomto způsobu učení nemá systém ţádnou podporu z vnějšku. Celé
učení je zaloţeno pouze na informacích, které samotná síť získala během celého procesu
učení.

Učení s učitelem – učení, při kterém se neuronová síť' trénuje z vnějšku. "Učitel" zadává
vstupní i výstupní vektor dat, vyhodnocuje výsledek a provádí změny.
97
7. Metody umělé inteligence

Učící fáze – časový interval, během kterého se podle nějakého učícího algoritmu mění
parametry sítě a tyto se do sítě nahrávají.

Učící krok – reálné číslo mezi 0 a 1, které udává, jak silně se jednotlivý učící krok ve změně
vah projeví. K tomu, aby se naučeny vzor zrušil, lze pouţít negativní hodnoty tohoto
parametru.

Učící pravidlo (algoritmus) – předpis, který udává, jak se budou síti předkládat vzory k učeni
a jak se budou vypočítávat změny vah.

Váha – hodnotou vyjádřena míra vazby mezi dvěma spojenými výkonnými prvky. Jejím
prostřednictvím se v síti předávají informace. Paměť sítě představují pravě tyto váhy, resp.
Jejich velikosti.

Vážený vstup – součin výstupního signálu jiného neuronu a váhy tohoto spoje. Tento
příspěvek vstupuje do součtu se všemi ostatními váţenými vstupy konkrétního neuronu a
vytváří s nimi jeho nový vnitřní potenciál.

Vrstva – základní komponenta architektury neuronové sítě. Vrstvu tvoří jistý počet stejných
buněk majících v síťové struktuře identickou funkci.

Vybavovací fáze – časový interval, ve kterém neuronová síť na základě předchozího naučení
generuje výstupní data jako odezvu na data vstupní. Vybavování můţe mít jednu ze dvou
variant – obr. 57:
a) autoasociativní vstup a výstup systému je stejný. Vyuţití autoasociace je kdyţ vstupní
vektor není kompletní – viz obr 57 c).
b) heteroasociativní

Výkonný prvek (neuron) – základní procesorový prvek neuronové sítě. V lidském mozku mu
odpovídá jedna neuronová buňka.

Výstupní funkce (přenosová funkce) – část výkonného prvku zajišťující výstup vnitřního
potenciálu (aktivity) na další neurony. Někdy je vnitřní potenciál a výstup neuronu identický.

Zobecňování – schopnost neuronové sítě na základě naučených vzorů odpovědět i na vzor,
který nebyl součástí učící mnoţiny.

Zpětná vazba – zvláštní propojení výkonných prvků podobné např. kruhu, kdy se informační
tok znovu vrací ke svému výchozímu bodu.

Zpětnovazební síť – síť, ve které nelze jednoznačně definovat směr informačního toku.
Jednotlivé vrstvy zde nemají jednoznačně definovanou hierarchii. Síť obsahuje zpětné vazby
mezi buňkami nebo skupinami buněk.

Příznak – veličina popisující jednu vlastnost zkoumaného objektu; objekt můţe být
charakterizovaný více příznaky. Obyčejně se příznak vyjadřuje číselnou hodnotou – pomocí
reálných, celých nebo binárních čísel

Příklad – popis objektu, který je předmětem našeho zájmu, pomocí číselných hodnot –
příklad je vlastně n-rozměrný vektor, kde n vyjadřuje počet příznaků daného objektu

Příkladový prostor Y – je mnoţina příkladů

Reprezentativní vzorek s – prvek mnoţiny Y x {0, 1}m, kde m je počet příkladů ve vzorku.
Tzn., ţe reprezentativní vzorek představuje mnoţinu uspořádaných dvojic
s  ( y1 , d1 ,  y 2 , d 2 ,,  y m , d m  .
d i  0, 1  představují adekvátní výstupy
k jednotlivým vstupům. V praxi výstupy di nemusí být binární hodnoty. Reprezentativní
vzorek poskytuje empirické údaje chování systému, který neznáme. Pomocí poznání vstupů a
výstupů systému se snaţíme poznat chování systému
Reprezentativní vzorek je nesporný, kdyţ ţádné dva příklady ve vzorku nejsou sporné, tj.
kdyţ yi = yj ↔ di = dj. Reprezentativní vzorek dělíme do dvou základních skupin:
98
7. Metody umělé inteligence
a) trénovací vzorek – je to mnoţina uspořádaných hodnot, která se pouţívá ve fázi učení.
Jestliţe není tato mnoţina vhodně vybraná – nebude učení kvalitní. Tyto data by měla
popisovat komplexní chování systému
b) testovací vzorek – je to mnoţina uspořádaných hodnot, která se pouţívá v aktivní fázi
k otestování získaných znalostí během učení.
Abychom mohli rozhodnout zda testovaný vzor patří do dané třídy, potřebujeme zjistit
vzdálenost mezi vzorem a třídami. Měření této vzdálenosti umoţňuje zjistit míru podobnosti
vzorů.
Obr. 56: Základní modely a algoritmy učení
Obr. 57: Autoasociativní a heteroasociativní neuronová síť
99
7. Metody umělé inteligence

x j , x k  X je nezáporná reálná funkce s: X x X  R+, pro kterou
Podobnost dvou objektů
platí (označme
s ( x j , xk )  s jk )
s jk  s kj ,
kde 1  j, k  N
s jk  0
(7.1)
s jk  s jj  1
Takţe pro nejméně podobné objekty platí s jk  0 a pro nejvíce podobné platí s jk  1 . N x N
  budeme nazývat matice podobnosti.
matici s jk
Duálním pojmem podobnosti je vzdálenost, která je definovaná:

x j , x k  X je nezáporná reálná funkce s: X x X  R+, pro kterou
platí (označme d x j , xk   d jk
Vzdálenost dvou objektů
d jk  d kj ,
kde 1  j, k  N 1
d jk  0
(7.2)
d jj  0
N x N matice
d 
se nazývá matice vzdálenosti. Platí-li trojúhelníková nerovnost,
jk
d jk  d ji  d ik jedná se o metriku. Nejuţívanější jsou:

Hammingova vzdálenost:
Máme dva binární vektory – kaţdý z těchto vektorů reprezentuje jeden vzor:
A  a1 , a 2 ,  , a N ,
B  b1 , b2 ,  , bN 
Prvky těchto vektorů jsou jednotlivé elementy daného vzoru. Počet těchto elementů ve
vzoru je N. Hammingova metrika hledá rozdíly mezi jednotlivými elementy, celková
vzdálenost je pak součet absolutních hodnot těchto rozdílů:
N
H   ai  bi
(7.3)
i 1
Výpočet se dá zjednodušit pouţitím binární operace XOR. Platí
ai  bi  ai XOR bi

(7.4)
Euklidova vzdálenost
Je nejpouţívanější metrika.Máme kartézský souřadný systém, ve kterém jsou vektory A,
B. Vzdálenost pro dvourozměrný případ je zobrazena na obr. 58 přerušovanou (modrou)
čárou. Pro libovolnou dimenzi prostoru platí:
E
N
  A(i)  B(i)
2
,
i 1
100
kde N je dimenze prostoru
(7.5)
7. Metody umělé inteligence
Pro názornost příklad ve dvourozměrném prostoru – viz obr. 58. Vzdálenost bodů
R x R , y R  a S  x S , y S 
y
R
6
5
4
S
3
2
1
0
1
2
3
4
5
6
x
Obr. 58: Měření Euklidovy vzdálenosti
E  R, S  

x R  xS 2   y R  y S 2

3  62  6  32
 18  4,2426
Bloková vzdálenost (Manhattan)
Je to zjednodušená verze Euklidovy vzdálenosti M 
N
 A(i)  B(i)
(7.6)
i 1

Čtvercová vzdálenost
Je opět zjednodušení Euklidovy vzdálenosti. Za míru vzdálenosti bere největší rozdíl
mezi jednotlivými elementy vektorů:
C  max A(i)  B(i)
(7.7)
i

Mahalanobisova vzdálenost
d jk 
 A(i)  B(i)W 1  A(i)  B(i)T
(7.8)
kde A(i) je i-tý řádek matice dat a W je výběrová kovarianční matice. Mahalanobisova
vzdálenost zahrnuje korelaci mezi příznaky a standardizuje kaţdý příznak tak, aby měl
nulovou střední hodnotu a jednotkovou varianci. Další podrobnosti o výběru příznaků,
jejich standardizaci, o řešení případu chybějících dat apod. lze najít v [2], [3].

Vzdálenost mezi třídami
Představíme-li si objekty jako body v p-rozměrném prostoru, libovolná třída Ci můţe být
reprezentována těţištěm těchto bodů. Těţiště představuje aritmetický průměr objektů
třídy. Vzdálenost tříd měříme jako vzdálenost těţišť – viz obr. 59.
101
7. Metody umělé inteligence
Vzdálenost
bodu od
těžiště-středu
třídy
Vzdálenost
tříd
Obr. 59: Vzdálenost mezi třídami
7.2. Shluková analýza – Cluster Analysis
Je příznakově orientovaná metoda učení bez učitele (nemáme ţádnou apriorní informaci o objektech),
jenţ je vyuţívána k rozpoznávání obrazů (pattern recognition). K identifikaci zkoumaných objektů
pouţívá podobnosti (resp. nepodobnosti – vzdálenosti) mezi objekty [1], [2]. Data – objekty jsou
popsány n-rozměrnými příznaky. Shluková analýza hledá přirozenou strukturu dat – viz obr. 60,
a)
b)
Obr. 60: Příklad shluků ve dvourozměrném prostoru:
a) existuje “přirozená”struktura dat – aplikujeme shlukovou analýzu
b) struktura dat neexistuje – neaplikujeme shlukovou analýzu
a jejím úkolem je roztřídění zkoumaného souboru objektů do homogenních (stejnorodých) tříd. Coţ je
velká výhoda shlukové analýzy, pokud pracujeme s neznámými objekty klasifikace. Nevýhoda
shlukové analýzy spočívá v tom, ţe neumoţňuje on-line klasifikaci. Nelze totiţ shlukovat objekty,
které teprve přijdou (např. během snímání pacienta).
7.3. Klasifikace metod shlukové analýzy

podle matematického aparátu
 deterministické
102
7. Metody umělé inteligence



statistické
fuzzy

z hlediska zpracování dat
 paralelní (všechna data v kaţdém kroku)
 sekvenční (menší části souboru)

podle sdílení členství v různých třídách
 disjunktivní (překrývající se, jeden objekt můţe patřit současně do více tříd)
 nedisjunktivní

podle typu shlukovacího kritéria
 metody nehierarchické
 metody hierarchické
 na základě teorie grafů
 optimalizující kriteriální funkci
Obecný model shlukové analýzy
Shlukovou analýzu je moţné definovat jako metodu klasifikace, kdy
a) Sémantika problému klasifikace je dána podobnostmi mezi objekty
b) Objekty jsou popsány měřeními (příznaky)
c) Není dána a priori informace (trénovací mnoţina)
d) Označení (identifikace objektů) je určeno procesem shlukování
Proces shlukování sestává obecně z pouţití tří základních funkcí [3]:
Funkce počátečního popisu dat
Můţe být dána:
- počáteční strukturou dat
- mírami podobnosti vypočtenými z počáteční struktury dat
- jmény (označeními) přiřazenými počáteční struktuře dat
Funkce symbolického popisu
Provádí redukci (abstrakci) informace – potlačení nepodstatných detailů a zachování důleţitých
vlastností.
Identifikační funkce f
Z počáteční struktury dat a ze symbolického popisu vyplývá identifikace – označení prvků
různých tříd. Všechny objekty z dané mnoţiny objektů X  x1 , x 2 ,, x N } zde získávají jméno
ω z konečné mnoţiny jmen Ω prostřednictvím zobrazení f: X → Ω. Tato procedura (algoritmus,
program) je umoţněna identifikačním operátorem shlukování f. Třídy Ci určené tímto operátorem
se nazývají shluky a mnoţina C  C 1 , C 2 ,, C K } tvoří rozklad (rozdělení). Platí pro něj:
Ci  X
K
C
i
X
i 1
Ci  C j  
(7.9)
Ci se nazývá třídou rozdělení C.
103
7. Metody umělé inteligence
Počáteční popis a reprezentace dat
Objekt x k  X z populace X  x1 , x 2 ,, x N } je popsán vektorem p měření (příznaků). Výsledkem
je řada parametrů ( x k1 , x k 2 ,, x kp ) pro kaţdý klasifikovaný objekt xk , jeţ určují počáteční strukturu
dat. Mnoţinu příznaků (pozorování, měření, charakteristiky) pro danou populaci označíme
Y  { y1 ,, y j , y p } , kde y j  ( x1 j , x 2 j ,  , x pj ) představují hodnoty realizací určitého stejného
měření na všech objektech. Výsledky p měření na N objektech lze reprezentovat maticí dat xkj dimenze
N x p – obr. 61.
Z hlediska interpretace výsledků hodnot měření mohou být příznaky

kvantitativní (reálná čísla)

kvalitativní (barva, jméno nemoci,..)

binární (pouze dva stavy 0,1)
měření
objekty
…
yp
y1
y2
x1
x11
x12
.
.
.
.
.
.
.
.
xk
xk1
xk 2
x kp
.
.
.
.
.
.
.
.
xN
xN1
xN 2
x Np
…
x1 p
Obr. 61: Matice dat
Základní
problém
shlukové analýzy lze také formulovat takto: na mnoţině objektů
X  x1, x2 , , x N  konstruovat řadu homogenních tříd objektů C  C1, C2 ,, CK  tak, aby
“podobné” objekty náleţely stejné třídě a “nepodobné”
objekty patřily do různých tříd.
Standardizace dat
Protoţe se pro příznaky často pouţívají různé fyzikální jednotky, je většinou nutná normalizace a
*
standardizace příznaků, pokud nepouţijeme Mahalanobisovu vzdálenost. Původní data xij se
transformují na nová data xij , kde
xij 
xij*  m j
(7.10)
sj
mj je střední hodnota j-tého sloupce (příznaku) pro všechna data a sj je směrodatná odchylka . Můţeme
také normalizovat maximem ve sloupci příznaků.
104
7. Metody umělé inteligence

Metody shlukové analýzy
Metody shlukové analýzy můţeme rozdělit na:
a) hierarchické metody
b) nehierarchické metody
a) Hierarchické metody shlukové analýzy
Transformují matici vzdálenosti do posloupnosti hierarchicky seřazených “zahnízděných” rozdělení.
Graficky jsou popsané dendrogramem – viz obr. 62.
Tyto algoritmy jsou náročné na paměť (je nutné uchovávat v paměti matici vzdálenosti), na dobu
výpočtu (zbytečně poskytují třídění i pro úrovně – počty tříd, které nepotřebujeme, od 1 třídy s N
objekty aţ po N tříd s 1 objektem) a byly jiţ překonány modernějšími postupy, například
nehierarchickými metodami.
x1
Shluky
x2
x3
x4
x5
( x1 ), ( x2 ), ( x3 ), ( x4 ), ( x5 )
( x1 , x2 ), ( x3 ), ( x4 ), ( x5 )
( x1 , x2 ), ( x3 , x4 ), ( x5 )
( x1 , x2 , x3 , x4 ), ( x5 )
( x1 , x2 , x3 , x4 , x5 )
Obr. 62: Příklad dendrogramu
b) Nehierarchické metody shlukové analýzy
1. Metoda k-středů (k-means)
Tyto metody hledající iterativní optimální rozdělení dat, které minimalizují určitou kriteriální funkci.
Mezi nejznámější klasické postupy patří různé varianty metod k-středů [2].
Princip:
1.
Začneme s počátečním rozdělením (rozkladem) objektů do K shluků. Počáteční rozdělení lze
získat například takto:
- vezmeme prvních K objektů jako shluky s jedním členem (těţiště třídy)
- vezmeme náhodně K objektů, apod…
- náhodně vybereme středy tříd – prototypy (mohou být přímo data)
2.
Vypočteme vzdálenosti všech objektů od kaţdého středu
3.
Objekt přiřadíme (klasifikujeme) do té třídy, k jejímuţ středu má nejblíţe (tím se změní těţiště
nových tříd).
4.
Přepočteme těţiště změněných tříd.
5.
Opakujeme krok 2 do konvergence, tedy dokud celý cyklus přes všechna data nezaznamená
ţádnou změnu členů tříd.
105
7. Metody umělé inteligence
Jako funkci vzdálenosti uţijeme například obyčejnou Euklidovskou metriku. Schématicky je princip kmeans středů znázorněno na obr. 63.
1. Náhodně zvolené středy tříd
2. Zařazení objektů do třídy s nejbliţším těţištěm
3. Přepočtení nového těţiště třídy
Nové přiřazení objektů k novému těţišti a opětovné přepočtení těţiště
Obr. 63: Princip shlukové analýzy
Formálně lze obecný tvar tohoto algoritmu zapsat takto:

X  x1 , x 2 ,, x N }
do
C ( 0)  C1( 0) , C 2( 0) ,...,C K( 0) je libovolné rozdělení mnoţiny objektů


K tříd.
Definujme rekurentně postup od rozdělení

C ( n )  C ( n ) , C ( n ) ,...,C ( n )

1

2
K

C ( n1)  C1( n1) , C2( n1) ,...,C K( n1)

, n = 0, 1, 2, …, K rozdělení

tak, ţe platí


Ci( n1)  xk  X : xk  xC( ni )  min xk  xC( nj ) ,
j
j  1,2,..,K, kde xC( ni ) označuje
těţiště třídy

C i(n )
Postup opakujeme do konvergence, tedy například dokud se nepřestane měnit členství
objektů v jednotlivých shlucích
106
7. Metody umělé inteligence
Variace metody:

MacQueenova metoda (pouţívá jen 2 průchody – první přiřazovací, druhý definitivní)

Forgy – jako předchozí, ale postupujeme aţ do konvergence

ISODATA – během výpočtu se můţe měnit počet tříd

metoda dynamických shluků – umoţňuje stanovit typické představitele třídy

fuzzy k-means algoritmus – viz níţe
Počet tříd – cluster validity
Při klasifikaci do tříd, potřebujeme také stanovit optimální počet tříd. Optimální počet tříd můţeme
najít:
- výpočtem pro různý počet tříd (2, 3, 4, …)
- hledáním minima tříd pomocí kritéria. Takovým kritériem můţe být například poměr
mezitřídního rozptylu a vnitrotřídního rozptylu.
Matice vnitrotřídního rozptylu
Matice vnitrotřídního rozptylu (within – group scatter matrix) W představuje součet rozptylů
jednotlivých tříd
K
W  Wi
(7.11)
i 1
kde rozptyl pro třídu Ci s ni objekty x a středem xCi je
(i)
ni
Wi  
k 1
2
xk(i )
 xC
(7.12)
i
Vnitrotřídní rozptyl je znázorněn na obr. 64.
Obr. 64: Znázornění vnitrotřídního rozptylu
Matice mezitřídního rozptylu
Matice mezitřídního rozptylu B (between – group scatter matrix) představuje rozptyl všech průměrů
jednotlivých tříd Ci vzhledem k celkovému průměru všech dat X :
K nk
B   x
2
(k )
x
(7.13)
k 1 j 1
Graficky je tato matice ukázána na obr. 65.
107
7. Metody umělé inteligence
C1
C2
X
x (k )
Ck
Obr. 65: Znázornění mezitřídního rozptylu
Mezi moţná kriteria patří pseudo F-statistika [4], kde optimální počet tříd je stanoven maximem
funkce
PFS 
tr ( B)( N  k )
tr (W )(k  1)
(7.14)
pro rozdělení N objektů do k tříd pro k = 2, 3, … Kritéria bývají někdy monotónní, v tom případě je
nutné hledat náhlý pokles, skoky ve funkci.
2. Teorie fuzzy množin a shluková analýza
Klasická teorie mnoţin je příliš zjednodušující, neboť podle této teorie prvek můţe nabývat pouze
dvou hodnot – 0 → prvek nepatří do mnoţiny (třídy), – 1 → prvek patří do mnoţiny (třídy). Taková to
klasifikace neumoţňuje sdílení členství jednoho objektu v různých třídách.
Mohou nastat problémy s hybridními objekty, které lze přiřadit do různých tříd s různým stupněm
příslušenství. Toto umoţňuje teorie fuzzy (nezřetelných) mnoţin, neboť podle této teorie prvek patřící
do fuzzy mnoţiny můţe nabývat hodnot z intervalu  0, 1 , takţe fuzzy mnoţiny dovolují vícenásobné
sdílení objektu ve více třídách s různým stupněm členství. Vyuţití fuzzy k-means algoritmus je další
variantou metody k-středů [58].
Na základě teorie fuzzy mnoţin je zaloţena fuzzy varianta klasického k-means algoritmu. Nechť
X  x1 , x2 ,, xN } , je mnoţina objektů. Klasická mnoţina (třída) A můţe být popsána
charakteristickou funkcí  A : X  0, 1, která nabývá funkčních hodnot pouze v dvou-prvkové
mnoţině {0,1} (patří/nepatří).
Pro třídu i tedy platí:
1
0
 A xk   
x k  Ai
(7.15)
x k  Ai
Naproti tomu teorie fuzzy mnoţin, která připouští proměnný stupeň členství v celém intervalu  0, 1 a
charakteristická funkce nabývá i reálných hodnot :
 A : X   0, 1
(7.16)
Fuzzy členství objektu k ve třídě i pak označíme  A  x k   u ik a tvoří prvky matice členství U.
Klasický K-rozklad zkoumaného vektorového prostoru dat VKN (N objektů, K tříd) do navzájem
disjunktních tříd je definován jako
108
7. Metody umělé inteligence
MK


 U  VKN : uij   0,1 ,  i, j;


K
N


i 1
j 1


 uij  1,  j;  uij : 0,  i
(7.17)
Fuzzy rozklad MfK zkoumaného vektorového prostoru dat VKN (N objektů, K tříd) je pak definován
jako


M fK  U  VKN : uij  0,1 , i, j;


K
 uij  1, j;
i 1


u
:
0
,

i

 ij

j 1

N
(7.18)
a prvky tohoto prostoru mohou na rozdíl od klasického rozkladu sdílet členství v několika třídách.
Fuzzy k-means algoritmy (FCM) vyplývají z minimalizace funkcionálu (kriteriální funkce)
J m : M fK xR KN  R 
N K
 
J m (U , v)   (uij ) m d ij 2 ,
m   0,  
(7.19)
j 1 i 1
kde U  M fK v  v1, v2 ,...,vK   R KN a vi  R p jsou interpretovány jako středy fuzzy shluků
 2
2
(popsány p příznaky) a dij  x j  vi je vzdálenost j-tého prvku shluku od přislušného středu vi,
m je váhový exponent určující stupeň “nezřetelnosti”.
FCM algoritmus:
1. Zadej:
– počet shluků K,
– vyber metriku na R P ,
– zadej váhu (stupeň “nezřetelnosti”) m.
– Inicializuj počáteční rozklad U 0  , zvol rozlišovací úroveň pro kritérium konvergence  L .
Pro kroky algoritmu n = 0, 1, …
2. Vypočti fuzzy středy shluků vi(n ) , i  1,, K podle vztahu
N
vi 
 (u
j 1
ij
)m x j
m
N
 (u
j 1
ij
i
(7.20)
)
3. Urči nový rozklad U n1 podle
1
uij 
 i, j
(7.21)
( 2 / m 1)
 d ij 
 

 
k 1  d kj 
4. Porovnej U n  a U n1 pomocí vhodné maticové normy (například max). Jestliţe:
max uijn   uijn1   L

STOP .
K


i, j
Jinak jdi na krok 5.
5. Přepiš U n   U n1 a jdi opět na krok 2.
109
7. Metody umělé inteligence
Nástrojem pro interpretaci fuzzy mnoţin jsou -jádra fuzzy mnoţin. Jedná se o klasické mnoţiny, pro
které platí [5]
C ui ,     x  X : ui ( x)   
(7.22)
-jádra lze je vyuţít pro vyčištění shluků – zvýšení jejich homogenity.
7.4. Učící se klasifikátory
Učící se klasifikátory umoţňují on-line klasifikaci – to je jejich velká výhoda. Naopak jejich
nedostatkem je nutnost předem specifikovat trénovací mnoţinu a klasifikátor na ní naučit rozpoznávat
přicházející obrazy (objekty klasifikace). Fáze učení je buď provedena expertem nebo automaticky
pomocí shlukové analýzy. Nový neznámý objekt, nezařazený do mnoţiny prototypů ve trénovací
mnoţině, bude mít problém se zařazením. Učící se klasifikátory mohou být zaloţeny na teorii
klasických i fuzzy mnoţin.
BEGIN
Zadej neznámý vektor y
Zadej k, počet nejbliţších sousedů, 1  k  n
Inicializuj i = 1
DO UNTIL (nalezeno k-nejbliţších sousedů)
Vypočti vzdálenost od y do xi
IF (i  k) THEN
Zahrneme xi do mnoţiny k-nejbliţších sousedů
ELSE
IF (xi je blíţe k y neţ jakýkoliv předchozí NN) THEN
Vymaţ nejvzdálenější z mnoţiny k-NN
Zahrň xi do mnoţiny k-NN
END IF
Zvětši i (i = i + 1)
END DO UNTIL
Urči majoritní třídu v mnoţině k-NN (kde je nejvíce členů)
Tam přiřaď y
END
Obr. 66 a): Pseudokód k-NN klasifikátoru

k-NN klasifikátor
Mezi nejznámější algoritmy pro učící se klasifikátory patří k-NN-algoritmus (k-nearest neighbours).
Nechť W  {x1 , x2 ,..., xn } je mnoţina n označených vzorů (vzorům je přiřazeno číslo třídy, do které
patří). Neznámý objekt přiřadíme do té třídy, kde má největší počet nejbliţších sousedů. Pseudokód
klasifikátoru pak lze formalizovat takto [59] – viz obr. 66 a).
110
7. Metody umělé inteligence
Příklad 5-NN klasifikátoru je pak ukázán na obr. 66 b).
Příklad klasické shlukové analýzy je uveden na obr 67. Ukázka zobrazuje první část třídy číslo 4)
obsahuje shluk epileptické grafoelementy, ale také artefakty s podobnými spektrálními a tvarovými
charakteristikami, jako ostatní grafoelementy (segmenty č. 2.9, 2.27, 3.27 atd. První číslo udává číslo
kanálu, druhé pořadové číslo segmentu.
Obr. 66 b): Znázornění 5-NN klasifikátoru
Obr. 67: Automatická klasifikace EEG grafoelementů ALBA001.TRC s EMG artefakty –
(1. řádek). Část třídy číslo 4 (z celkem šesti), klasická shluková analýza.
111
7. Metody umělé inteligence

Fuzzy k-NN klasifikátor
Na rozdíl od klasického k-NN klasifikátoru, který přiřazuje neznámý vektor do příslušné třídy, fuzzy
k-nearest neighbour klasifikátor přiřazuje neznámému vektoru členství v dané třídě (z kolika procent
prvek do dané třídy náleţí). Toto členství můţe kolísat mezi hodnotami 0 a 1, tak jako u fuzzy shluků.
Pseudokód fuzzy k-NN klasifikátoru lze formalizovat analogicky, jako v předchozí kapitole [59] – viz
obr. 68
Ve vztahu (7.23) označuje uij členství prvků trénovací mnoţiny (xj) ve třídě i. Proměnná m určuje, jak
silně je váţena vzdálenost při výpočtu příspěvku kaţdého souseda ve funkci členství.
BEGIN
Zadej neznámý vektor y
Zadej k, počet nejbliţších sousedů, 1  k  n
Inicializuj i = 1
DO UNTIL (nalezeno k-nejbliţších sousedů)
Vypočti vzdálenost od y do xi
IF (i  K) THEN
Zahrneme xi do mnoţiny k-nejbliţších sousedů
ELSE
IF (xi je blíţe k y neţ jakýkoliv předchozí NN) THEN
Vymaţ nejvzdálenější z mnoţiny k-NN
Zahrň xi do mnoţiny k-NN
END IF
Zvětši i (i = i+1)
END DO UNTIL
Inicializuj i = 1
DO UNTIL (y má přiřazeno členství ve všech třídách)
vypočti fuzzy členství objektu ve třídě podle vztahu


1


u


ij 
2 /(m 1 ) 
 y  xj

j 1


ui  y  

K 
1



2 /(m 1 ) 


j 1
 y  xj

K
Zvětši i (i = i+1)
END DO UNTIL
END
Obr. 68: Pseudokód K-NN klasifikátoru
112
(7.23)
7. Metody umělé inteligence
Obr. 69: Klasická třída č.6 obsahující objekty typu třídy 5 (řádek 7). K-NN klasifikátor
Třída číslo 5 sestává ze signálu kontaminovaného EMG aktivitou, zatímco převáţnou část 6. třídy
tvoří epileptická aktivita. Všimněte si nesprávně zařazených grafoelementů č. 7.97, aţ 7.156, které
vykazují rysy obou tříd - páté i šesté, v klasickém třídění však nemohou být zařazeny s různým
stupněm člensví do různých tříd a byly proto klasifikovány do třídy č. 6, kam mají přece jen nejblíţe.
Eliminaci uvedených hybridních segmentů na základě -jader vidíme na obr. 70. Vyloučené
grafoelementy s členstvím menším neţ 0.5 (které jsou však přesto k dispozici pro kontrolu) jsou
zobrazené světle šedou barvou. Fuzzy členství je uvedeno nad segmenty. Je vidět, jak se v tomto
případě podařilo úspěšně odstranit hybridní, netypické grafoelementy obsahující převáţně EMG
aktivitu a zvýšit tak homogenitu (stejnorodost) analyzované typové třídy. Pokud však mluvíme o
"odstranění" nejedná se v ţádném případě o definitivní ztrátu. Jak jiţ bylo uvedeno, ţádnou informaci
o EEG signálu "nezahazujeme", i eliminované segmenty je moţné kdykoliv znovu prohlédnout.
Protoţe učící se algoritmy vyţadují předchozí informaci o typu klasifikovaných dat, jejich pouţití
bude zřejmě nejefektivnější u automatické klasifikace opakovaných záznamů téhoţ pacienta. Nejprve
se metoda “naučí” (adaptuje) na určitý EEG graf a jeho specifické grafoelementy a poté můţe slouţit k
velmi efektivnímu monitorování následujících vyšetření a sledování vývoje EEG grafu během terapie.
113
7. Metody umělé inteligence
Obr. 70: Fuzzy klasifikace a eliminace EMG artefaktů (odstraněné hybridní
segmenty znázorněny světle šedou barvou)
CD-ROM
Otevři soubor k-means, spusť animaci prezentace 3
Otevři soubor klasifikace, spusť animaci prezentace 5
Otázky 7
1. Proč je nutná přirozená struktura dat?
2. Jaký je rozdíl mezi klasickou mnoţinou a fuzzy mnoţinou?
3. Jak je definována Euklidova vzdálenost?
4. Jak stanovíte středy tříd?
5. Popište princip k-NN klasifikátoru
Korespondenční úkol
V programu Matlab vytvořte program pro k-NN klasifikátoru.
Je zadána mnoţina etalonů. Zařaďte body Y1 = (5,6) a Y2 = (6,5) do nejbliţší třídy. Pouţijte
Euklidovskou vzdálenost. Objekt přiřaďte do té třídy, kam má nejblíţe. Jako klasifikátor pouţijte:
114
7. Metody umělé inteligence
a) 1–NN KLASIFIKÁTOR
b) 3–NN KLASIFIKÁTOR
Objekt
Souřadnice (x,y)
Třída
1
1,3
1
2
2,2
1
3
4,9
2
4
8,6
3
5
9,3
3
6
9,5
3
7
4,8
2
8
2,3
1
9
2,4
1
10
1,5
1
11
3,5
1
12
3,9
2
13
4,1
2
14
1,4
1
15
7,5
3
16
7,4
3
17
5,9
2
18
5,1
2
19
8,4
3
20
8,5
3
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
2] Anderberg, M., R.: Cluster Analysis for Applications. Academic Press, New York,
1974
[3] Diday, E.: The dynamic clusters method in nonhierarchical clustering, Int. J. Comp. Inf.
Sci, 2, No.1, 1973
[4] Vogel, M., Wong, A.: PFS clustering method, IEEE Trans. Pattern Anal. Machine
Intell., Vol. PAMI-1, No.3., July, pp. 237-245, 1979
[5] Bezdek, J.,C.: Pattern Recognition with Fuzzy Objective Functions Algorithms. New
115
7. Metody umělé inteligence
York, Plenum Press, 1981
[6] Keller, J. et al.: A fuzzy K-nearest neighbor algorithm, IEEE Trans. Syst., Man, and
Cybern., Vol. SMC-15, No. 4, pp. 580-585, 1985
[7] MATLAB®, The Language of Technical Computing, Version 6, The Math Works,
Inc., 2000 Reference
116
8. Umělé neuronové sítě (NN)
8. UMĚLÉ NEURONOVÉ SÍTĚ (NN)
Čas ke studiu: 2x 2 hodiny
Cíl




Po prostudování tohoto odstavce budete umět
klasifikovat neuronové sítě
navrhnout neuronovou síť algorimem Back-propagation
naučit Kohenenovou síť
navrhnout neuronovou síť v prostředí Matlab
Pojmy k zapamatování 8
Neuronová síť (NN), neuron, trénovací mnoţina, učení, aktivační funkce, dopředná a rekurentní
struktura NN, perceptron, vícevrstvý perceptron, Back-propagation, Kohonenova NN.
Výklad
Neuronové sítě (NN) patří mezi nejbouřlivěji se rozvíjející metody umělé inteligence – viz obr. 59.
Zahrnují jak učební algoritmy s učením, tak i bez učitele (samoorganizující se). Základní pojmy
z teorie neuronových sítí, které budou potřeba k diskusi o jejich aplikacích sou uvedeny v kap. 7.
Podrobnou teorii čtenář najde v [1], [2], [3] a [4].
Dendrity
Signálový vstup
do těla neuronu
Soma
Sčítání signálu od
okolních neuronů
do těla buňky
Synapse
Upravuje signál a
předává jej do
okolních neuronů
Axonové vlákno
Přenáší signál neuronem
Obr.71: Schéma biologického neuronu
Neuronové sítě – simulují funkce lidského mozku, tzn. proces adaptace a učení. Schéma biologického
neuronu je znázorněno na obr. 81.
Chceme-li vytvořit klasický model neuronu, musíme vytvořit algoritmus, který transformuje mnoţinu
vstupních dat na výstupní. Neuronové sítě toto nevyţadují, protoţe jsou schopny ve fázi učení
průběţně adaptovat svoji strukturu a parametry tak, ţe jejich vlastnosti odpovídají vlastnostem
studovaného objektu. K tomuto pouţívá tzv. trénovací množinu
117
8. Umělé neuronové sítě (NN)
Z matematického hlediska můţeme popsat zpracování informace dvěma operacemi:
Operace synaptické – kaţdá synapse představuje paměť předchozích informací, na
základě které vybavuje kaţdý přicházející signál jeho relativní vahou. Tato váha
představuje míru síly vazby mezi dvěma danými neurony. Vazba můţe představovat:
o
a) excitaci (vybuzení)
b) inhibici (utlumení)
Synaptická vazba představuje také převod impulsního signálu na napěťo-vý, jehoţ
velikost je úměrná frekvenci přicházejících impulsů.
Operace somatické vstupní signály jsou váţeny příslušnými váhami a dále sečítány.
Jestliţe hodnota součtu váţených signálů přesáhne práh je v somatu generován výstupní
signál neuronu. Výstupní signál má pulsní charakter se střední frekvencí úměrnou jeho
velikosti. Výstupní signál je potom veden axonem do výstupních synapsí k dalším
neuronům pro následující zpracování.
o
Základním prvkem a procesní jednotkou v neuronové síti je neuron. Z teoretického hlediska lze na
neuron pohlíţet jako na systém s mnoha vstupy a jediným výstupem – MISO (Multi – Input Single –
Output). Matematická formulace procesů probíhající v biologickém neuronu, umoţňuje vytvořit
matematický model – umělý neuron - perceptron. Z hlediska přenosu a zpracování informace můţeme
strukturu neuronu představit schématem – viz. obr. 72. Vazby jednotlivých neuronů → umělou
neuronovou síť, modelující zpracování impulsů ve skutečné biologické neuronové síti.
Aktivační funkce mohou mít různý tvar:
x0
x1
vstup
xj
xp
w0
výstup
wj
 p

y  f   wi xi  Θ 


 i 0

Obr. 72: Lineární model neuronu, kde x0, …, xp jsou vstupy neuronu
wjk
váhy,
yk
je výstup neuronu a
f
je aktivační funkce
Θ
je práh neuronu
a)
lineární aktivační funkce – jsou umístěny ve výstupních vrstvách neuronových sítí
b)
nelineárních aktivačních funkcí, které se vyuţívají ve skrytých vrstvách neuronových
sítí.
118
8. Umělé neuronové sítě (NN)
Příklad některých aktivačních funkcí:
1. Lineární funkce:
a) Lineární závislost: a  k  n
b) Skoková funkce: a  
1 pro n  0
0 pro n  0
1 pro n  0
a
 1 pro n  0
1 pro n  0

c) Omezená funkce: a  kn 0  n  1
0
n0

1 pro n  0

a  kn 0  n  1
 1
n0

2. Nelineární funkce:
a) Sigmoida: a 
1
1  en
e n  e n
b) Heavisideova funkce a 
n
n
(hyperbolická tangenta) e  e
119
8. Umělé neuronové sítě (NN)
c) Gaussovská funkce: a  e  n
2
Neuronové sítě se skládají ze vzájemně propojených uzlů – neuronů. Uzel sítě přijímá váţený součet
vstupních hodnot (váhy wi) a převádí výsledek přes nelineární funkci f. Symbol Θ označuje práh
(konstantní předpětí – bias).
120
8. Umělé neuronové sítě (NN)
Klasifikace neuronových sítí:
Neuronové klasifikátory
Reálný vstup
Binární
S učitelem
Hoppfieldova
síť
Klasické
ekvivalenty
Bez učitele
Hammingova
síť
Optimální
klasifikátor
S učitelem
Bez učitele
Carpenter/
Grossberg
Perceptron
Vícevrstvý
Perceptron
Kohonenova
síť
Leader
clustering
Gauss.
klasifikátor
k - NN
klasifikátor
k - means
Clustering
Obr. 73: Přehled neuronových klasifikátorů (Lippman, 1987)
121
8. Umělé neuronové sítě (NN)
8.1. Topologie NN a způsoby šíření signálu
Obecně by neuronová síť mohla mít strukturu popsanou libovolným orientovaným grafem pomocí
vrcholů – neuronů a orientovaných hran – propojení. Vlastnosti takové struktury se obtíţně analyzují.
Proto jsou analyzovány nejdříve sítě s nějakými pravidelnými strukturami. Takovou strukturou je
např. vícevrstvá struktura – viz. obr. 74. Rozlišujeme následující vrstvy NN:

vstupní vrstvu – neurony dostávají vstup pouze z vnějšího okolí a výstup obvykle pokračuje
k dalším neuronům NN

skrytou vrstvu (hidden layer) – neurony dostávají vstup z ostatních neuronů nebo i z vnějšího
okolí přes prahové propojení a jejich výstupy pokračují dále do NN

výstupní vrstvu – podobná skryté vrstvě, pouze výstup z této vrstvy vyúsťuje do okolního
prostředí.
Tzn., ţe můţeme rozlišovat i neurony jako vstupní, skryté a výstupní. Při návrhu NN rozdělujeme
topologii NN do dvou základních skupin:

dopředná NN (feed-forward) – signál se šíří po orientovaných synoptických propojeních jen
jedním směrem – dopředu – viz obr. 75.

rekurentní NN (recurrent) – u těchto sítí je obtíţné rozdělení vrstev a neuronů na vstupní, resp.
výstupní
Obr. 74: Struktura dopředné NN
Obr. 75: Struktura rekurentní NN
Šíření signálu v rámci NN můţe být různé, např:
–
synchronní šíření signálu – všechny neurony mění svůj stav do taktu (prostřednictvím
synchronizačních hodin
–
sekvenční šíření signálu – neurony mění svůj stav postupně při šíření signálu
–
blokově-sekvenční šíření signálu aktivizují se jen skupiny neuronů, podle předem určeného
pravidla
–
asynchronní šíření signálu – neurony mění své stavy nezávisle jeden od druhého
122
8. Umělé neuronové sítě (NN)
8.2. Perceptron a jeho učení
Jedním z nejjednodušších učících se klasifikátorů je Perceptron, navrţený Rosenblattem v roce 1958.
Převádí vstup pomocí přenosové funkce na výstup. Je určený na dichotomickou klasifikaci, tj
rozdělení do dvou tříd, o kterých se předpokládá, ţe jsou lineárně separovatelné v příkladovém
prostoru (přímka ve 2-rozměrném prostoru, rovina v 3-rozměrném prostoru) – viz obr. 76. Příklad pro
klasifikaci vstupního vektoru do dvou tříd A a B je uveden na obr. 78.
x0
w0
výstup
 1

y  f h   wi xi   
 i 0

x1
w2
Obr. 76: Příklad perceptronu pro klasifikaci dvou tříd ve 2-rozměrném prostoru.
fh()
1
0

-1
Obr. 77: Rozhodovací funkce perceptronu (hard limiter)
Hranice
rozhodování
0  y  f h w0 x0  w1 x1  Θ 
0  w0 x0  w1 x1  Θ
A
 w0 x0  w1 x1  Θ  w0
A
A
w
Θ
x1   0 x0 
w1
w1
A
A
  1  CLASS A
y
  1  CLASS B
B
A
B
B
B
B
A
B
B
B
B
(0,0)
+
Obr. 78: Příklad klasifikace do 2 tříd
Perceptron vypočte váţený součet vstupních hodnot,odečte mez , nechá projít výsledek přes
nelinearitu, takţe výstup je +1 nebo -1. Např: v obr. 88 bod (0,0)  y  f    1 …třída B.
123
8. Umělé neuronové sítě (NN)
Perceptron je nutné na daný problém naučit. Učení spočívá v postupném předkládání (trénování)
známých vzorů (o kterých víme, do které třídy patří) a postupná úprava vah perceptronu aţ do
konvergence (váhy jsou optimálně nastaveny a přímka - rozhodovací nadplocha rozděluje obě třídy).
Postup učení perceptronu
Krok 1:
Inicializuj váhy a mez
Nastav váhy wi ( 0 ) 0  i  N  1 na malé náhodné hodnoty. wi (t ) je váha vstupu i v
čase t.
Krok 2:
Zadej nový vstup a jeho požadovaný výstup
Vstupní hodnoty jsou x0 , x1 ,...,x p a poţadovaný výstup (cíl klasifikace) je d(t).
Krok 3:
Vypočti skutečný výstup
 p

yt   f h   wi (t)xi (t)  Θ 
 i 0

Krok 4:
Uprav váhy (adaptuj)
wi t  1  wi t   ηd t   y t  xi t , 0  i  p
...
 1 pro vstup z třídy A
d t   
 1 pro vstup z třídy B
 < 1 je učební koeficient (ovlivňuje rychlost učení), d(t) je poţadovaný správný výstup
pro daný vstup. Při správném rozhodnutí perceptronu se váhy nemění.
Krok 5: Opakuj postup-Jdi na krok 2
Problém perceptronu – dokáţe oddělit pouze lineárně separabilní mnoţiny. Nevyřeší například XOR
– eXclusive OR problém, kdy jedna třída jsou body (0,0) a (1,1) a druhá třída (označena kříţky) jsou
body (0,1) a (1,0) – viz obr. 79. Řešení tohoto problému přinesl vícevrstvý perceptron – obr. 80.
(0,1)
(0,0)
(1,1)
(1,0)
Obr. 79: Příklad problému, který není lineárně separabilní (XOR problém)
124
8. Umělé neuronové sítě (NN)
8.3. Vícevrstvý perceptron – multilayer perceptron (MLP)

síť typu feed – forward (dopředné šíření - propagace) s jednou nebo více vrstvami uzlů
mezi vstupem – výstupem

tyto vrstvy obsahují skryté uzly (nejsou přímo propojeny s vstupními/vý-stupními uzly)

schopnosti MLP vyplývají z nelinearit pouţitých pro přenosové funkce uzlů (hard limiter,
sigmoid)
Třívrstvý perceptron umí aproximovat jakkoliv sloţité rozhodovací oblasti (Lippmann).
Platí:
- Počet uzlů v druhé vrstvě musí být větší neţ jeden, pokud jsou rozhodovací oblasti izolovány
a nemohou být spojeny do jedné konvexní oblasti. V nejhorším případě je jejich počet roven
počtu nespojitých oblastí.
- Počet uzlů v první skryté vrstvě by měl být dostatečný pro vytvoření alespoň tří hran v kaţdé
konvexní oblasti generované body druhé vrstvy, mělo by tedy být 3x více uzlů v druhé
vrstvě neţ v první skryté vrstvě
- Platí to pro perceptron s jedním výstupem, pro více výstupů je to sloţitější (rozhodovací
oblasti nejsou omezeny přímkami, ale hladkými křivkami)
VSTUP
První skrytá
vrstva
Druhá skrytá
vrstva
y 0(1)
x0
y
VÝSTUP
(2)
0
y0
xi
ym-1
xp-1
y N( 21)1
y N(11)1
y
(1)
j
 p 1

 f   wij( 0) xi   (j0) 
 i 0

 N1 1

y (j2)  f   wij(1) y i(1)   (j1) 
 i 0

Obr. 80: Třívrstvý perceptron
125
 N 2 1

y j  f   wij( 2) y i( 2)   (j2) 
 i 0

8. Umělé neuronové sítě (NN)
Řešený příklad 8.1
Architektura perceptronu:
kde
R je počet vstupních členů
S1 je počet neuronů ve vrstvě 1
Učení perceptronu:
kde
help percept
vytvoření sítě:
newp
inicializace:
init
simulace:
sim
trénování:
train
učení:
learnp
normované učení: learnp
aktivační funkce:
hardlim
Váhy a prahy jsou inicializovány pomocí funkce
initzero
Adaptace a trening jsourealizovány pomocí
trains a trainc
Míra naučení se určuje pomocí průměrné absolutní chyby mae
NEWP
Syntaxe:
net = newp
net = newp(pr,S,tf,lf)
126
8. Umělé neuronové sítě (NN)
pr - Rx2 matice minimálních a maximálních hodnot pro R vstupních elementů
S - počet neuronů
tf – přenosová funkce, default = 'hardlim'.
lf – algoritmus učení, default = 'learnp'.
přenosová (aktivační) funkce tf může být hardlim nebo hardlims
algoritmus učení lf může být learnp nebo learnpn
Řešený příklad 8.2
Je vytvořen Perceptron se 2 elementy na vstupu (rozsah [0 1] a [-2 2]) a jedním neuronem.
 Řešení : v MATLABu
net = newp([0 1; -2 2],1);
Na vstupu je množina P tvořená 4 vektory o 2 elementech a 4 odpovídající cílové (target)
hodnoty T o 1 elementu.
P = [0 0 1 1; 0 1 0 1];
T = [0 1 1 1];
Trénovat budeme na 20 epoch a pak provedeme simulaci.
y = sim(net,P)
net.trainParam.epochs = 20;
net = train(net,P,T);
y = sim(net,P)
Pozn: Je–li u hodnot vstupních elementů velký rozptyl, dosáhneme rychlejšího naučení
pomocí funkce learnpn
127
8. Umělé neuronové sítě (NN)
8.4. Další algoritmy učení

Algoritmus zpětného šíření (back-propagation)
Učení probíhá metodou učení s učitelem. Podle způsobu jakým se vypočítávají váhy je to iterativní
gradientní algoritmus minimalizující čtverec rozdílu mezi skutečným výstupem MLP a poţadovaným
výstupem. Nelinearity musí být spojitě diferencovatelné, jako je například sigmoidální logistická
funkce
f ( ) 
1
1  e (  )

autorem metody zpětného šíření je Werbos (1974), algoritmus znovu realizoval Rummelhart v
roce 1986

slouţí pro pro nastavení vah uzlů MLP

pouţívá hledání ve směru největšího gradientu pro minimalizaci nákladové funkce, kterou je
střední čtverec rozdílu mezi poţadovanými a skutečnými výstupy sítě

poţadovaný výstup sítě pro nesprávné třídy je malý (0 nebo < 0.1), pro uzly korespondujících
správné třídě jsou vysoké hodnoty (1.0 nebo > 0.9)

síť je trénovaná tak, ţe zpočátku zadáme malé náhodné váhy a poté opakovaně předkládáme
vzorky trénovací mnoţiny. Váhy jsou upravovány po kaţdém průběhu aţ do konvergence
(nákladová funkce - čtverec chyby je minimální)

základním prvkem algoritmu je iterativní postup, jímţ postupuje chyba nutná pro adaptaci-úpravu
vah ZPĚT z uzlů výstupní vrstvy do uzlů vstupní vrstvy
Trénovací množina
x
Neuronová
síť
y
-
d
yi, wi, Θ
Učící
algoritmus
Obr. 81: Grafické znázornění algoritmu zpětného šíření
Back-propagation algoritmus
Krok 1:
Inicializuj váhy a meze
Nastav váhy a meze uzlů na malé náhodné hodnoty (váhy v síti nastavíme náhodně na
hodnoty v doporučovaném rozsahu 0.3, 0.3  )
Krok 2:
Předlož vstup a žádané výstupy
Předloţ vzorek x  [ x0, x1, ..., x p 1 ]
128
8. Umělé neuronové sítě (NN)
Zadej poţadované výstupy d  [d 0, d1, ...,d m 1 ] . Pokud je síť uţita jako klasifikátor, pak
všechny poţadované výstupy jsou nastaveny na nulu kromě výstupu pro třídu,
je vstup - ten je nastaven na 1
Krok 3:
odkud
Vypočti skutečné výstupy
Vypočti výstupy uzlů sítě y  [ y 0, y1, ..., y m ] s pouţitím nelinearity f() a výstupů
předchozích uzlů.
Krok 4:
Adaptuj váhy
Pouţij rekurzivní algoritmus začínající na výstupních uzlech a postupující zpět k uzlům
první skryté vrstvy
 vypočti chybový signál ve výstupní (L-té vrstvě) pro iteraci n, j = 0,…,NL-1
e j n  d j n  y Lj n
 počítej lokální gradienty δ (chyby při postupu zpět vrstva za vrstvou)
o
pro neuron j ve výstupní vrstvě L


 jL   ejL  n  y jL  n  1  y jL  n 
o
pro neuron j skryté vrstvy h (l…h)

 
 jh   y jh  n1  y jh  n

N 1
k 0
h 1
j
nwkjh 1n
uprav váhy podle
wjih  n  1  wjih  n  ηδjh  nyih1 n , kde  je parametr rychlosti učení

aby nedošlo k uzavření v lokálních minimech, je moţné pouţít momentum α


wjih  n  1  wjih  n    wjih  n   wjih  n  1  ηδjh  n  yih 1 n 
Parametry η a α se volí v rozsahu  0, 1
Krok 5: Jdi na krok 2.
8.5. Samoseorganizující neuronové sítě
Jsou sítě, které nepotřebují ke svému učení učitele. Základním principem jejich funkce je shluková
analýza, tj. schopnost algoritmu, sítě, nalézt určité vlastnosti a závislosti přímo v předkládaných
trénovacích datech bez přítomnosti nějaké vnější informace, jako je tomu např. u perceptronovské sítě.
Myšlenka samoseorganizující vlastní struktury sítě byla rozvinuta počátkem 70-tých let von der
Malsburgem a posléze Willshenwem.

Kohonenova síť
Základní myšlenka Kohonenovy sítě vychází z poznatku, ţe většina neuronů v mozkové kůře je
organizována v dvojdimenzionálním prostoru, tj. v rovině. Spoje mezi neurony vedou pouze mezi
sousedními neurony. Kohonenův základní model vychází z tohoto poznatku – viz obr. 82, i kdyţ
129
8. Umělé neuronové sítě (NN)
algoritmus připouští i vícedimen-zionální uspořádání vstupních neuronů. Pojem vrstev je zde zastřen,
protoţe kromě vstupní vrstvy je tu vrstva výstupní. Počet vstupů do sítě je roven dimenzi vstupního
prostoru. Nejčastěji je počet vstupů roven dvěma.
Obr. 82: Typické uspořádání Kohonenovy sítě se
dvěma vstupy a rovinnou mříţkou.
Počet vstupů, které přicházejí do neuronu, je roven počtu vstupů do Kohonenovy sítě. Váhy těchto
vstupů slouţí k zakódování vzorů, které reprezentují předloţené vzory, stejně jako u perceptronu.
Vlastní přenosovou funkci tyto neurony nemají. Jedinou operaci, kterou neuron provádí je výpočet
vzdálenosti (odchylky) předloţeného vzoru od vzoru zakódované-ho ve vahách daného neuronu podle
vztahu
d
N 1
 xi t   wi t 2
i 0
kde xi t  jsou jednotlivé elementy vstupního vzoru
wi t  jsou odpovídající váhy neuronu, které představují zakódované vzory
d výstup z neuronu
Kaţdý vstup je spojen s kaţdým neuronem mříţky. Kaţdý neuron v mříţce je přímo výstupem. Počet
výstupů je tedy roven počtu neuronů.
Princip učení SOM

Matici neuronů se postupně předkládají vektory vstupního signálu (x) tak, ţe se zvlášť
porovnává rozdíl příslušných hodnot vektoru vah (koeficientů w) kaţdého neuronu s
hodnotami vektoru vstupního signálu. K vyjádření rozdílu pouţijeme např. Euklidovu
vzdálenost d

Výsledkem je počet hodnot d, rovný počtu neuronů ve struktuře (např. 100 hodnot v matici
10 x 10 neuronů). Následně se vybere jediný neuron s nejmenším d a označí se jako tzv.
vítěz (winner). Váhy tohoto neuronu se nejvíce ze všech odpovídají hodnotám právě
předloţeného signálu. Při předkládání první učícího vstupního vektoru se jeho hodnoty
porovnávají s náhodně vygenerovanými hodnotami vah (koeficientů) jednotlivých neuronů.

Váhy w vítězného neuronu se pak upravují (updatují), aby se co nejvíce přiblíţily hodnotám
právě předloţeného vstupního vektoru (x) :
130
8. Umělé neuronové sítě (NN)
wi nové = wi staré + α (x - wi staré )
kde
α … učící koeficient vyjadřující rychlost učení, (nabývá hodnot 0 aţ 1)

wi nové … vektor vah (koeficinetů) i-tého neuronu wi  wi1 , wi 2 ,  , win

x … vstupní učící vektor x  x1, x2 ,  , xn  .

Při opakování dávky učících vektorů nebo postupným předkládáním dalších nových dávek se
učící koeficient α sniţuje. Spolu s vítězným neuronem se mění i sousední neurony v
definovaném okolí R. Jejich váhy se upravují stejným způsobem jako u vítěze, pouze s tím
rozdílem, ţe koeficient α je nahrazen koeficientem β, přičemţ platí α < β. Při opětovném
opakováním dávky učících vektorů se můţeme sniţovat i hodnoty okolí R aţ na R = 0, tzn.
adaptuje se pouze vítěz

V maticové struktuře neuronů vznikne několik významných center, tzv. shluky, mezi nimiţ
se výrazně liší hodnoty vah neuronů. Neurony, jejichţ váhy během učení dosáhly nulových
hodnot, se ze struktury mohou vyloučit. Počet shluků by měl být shodný s počtem odlišných
vlastností nebo parametrů, které Kohonenova mapa našla v předloţených dávkách učících
vstupních vektorů.

Pro kontrolu a přehlednost učení mapy vyuţíváme grafického zobrazení shluků, které
vyjadřuje prostorové vztahy mezi neurony v prostoru vah. V diagramu jsou váhové vektory
(neurony) zobrazeny jako černé body v dvojdimenzionálním prostoru, které zároveň tvoří
centra shluků. Černé čáry představují přímky spojující váhové vektory sousedních neuronů.
Na obrázku je ukázaná změna "pozice" neuronu před a po adaptaci vah na vstupní vektor
(zelený bod).

Správné naučení představuje rovnoměrné rozprostření vzájemně propojených bodů po celé
ploše, která popisuje vstupní datový prostor, v němţ jsou vstupní vektory dat rovnoměrně
rozloţeny.
Učení Kohonenovy sítě
Krok 1: Inicializace.
Vyberou se náhodně hodnoty váhových vektorů wij , 0  i  N  1, 0  j  M  1
(N
výstupů, M neuronů v mříţce)
Krok 2: Vybere se vstupní vzorek x t   x 0 t , x1 t ,, x N 1 t  z trénovací mnoţiny
Krok 3: Vypočteme vzdálenosti (podobnosti) dj mezi předloženým vzorem a všemi výstupními
neurony j podle vztahu
d
N 1
 xi t   wi t 2
i 0
Krok 4: Nalezne se nejpodobnější (vítězný) neuron j* na základě nejmenší vzdálenosti od vzoru x
dj*= min d j
j
 
131
8. Umělé neuronové sítě (NN)
Krok 5: Upraví se váhy
Přizpůsobíme váhy pro neuron j* a jeho okolí Nj*(t), tj. pro všechny leţící uvnitř tohoto okolí
podle vztahu


wij t 1  wij t   t  xi t   wij t 
kromě nastavení vah je nutné také inicializovat tzv. parametr učení 0 . Tento koeficient
řídí rychlost učení. Na začátku se jeho hodnota nastaví na 1 a během učení se sniţuje k nule.
Tím dosáhneme toho, ţe ze začátku se váhy adaptují rychleji a ke konci pomalu.
Krok 6: 5. Pokračuj dokud jsou vidět změny
Na obr. 83 je znázorněna funkce, která vyjadřuje míru adaptace okolních vah. Tato funkce byla
experimentálně zjištěna z reálných biologických neuronových sítí. Neurony blízké danému neuronu (x
= 0) jsou váhy poopraveny téměř shodně jako pro vlastní neuron. Jestliţe se vzdalujeme od středu,
přestávají se váhy adaptovat aţ do okamţiku, kdy funkce překročí osu x. potom jsou váhy naopak
inhibovány, místo toho, aby byly excitovány.
g(x)
+
+
-
-
Obr. 83: Biologická adaptační funkce - Mexický klobouk – funkce popisující
laterární vazby mezi sousedními neurony v mříţce – stupeň excitace
klesá se vzdáleností od aktivního neuronu
132
8. Umělé neuronové sítě (NN)
a)
b)
c)
d)
Obr. 84: Znázornění učení sítě 10 x 10 neuronů:
a) neuronová síť
b) počáteční stav vah
c) rozvinování mříţky
d) konečný stav vah
Na obr. 84 je příklad učení Kohonenovy sítě na obr. 84 a) je znázorněna síť 10x10 neuronů = 1000
vzorů – vstup. Na obr. 84 b) je počáteční stav vah – síť neví jak vypadá obrazový prostor. Na obr. 84
c) je znázorněno rozvinování mříţky – trénovaná síť pochopí, kam se má rozšiřovat. Obr. 84 d)
znázorňuje konečný stav vah – v praxi je 20 % oblasti nepokryto (je to dáno učícími schopnostmi sítě).
CD-ROM
Otevři soubor neuron_sit, spusť animaci prezentace 6
Otázky 8
1. Co jsou umělé neuronové sítě
2. Kolik přímek (rozhodovacích nadplochach) je potřeba k vyřešení problému XOR?
133
8. Umělé neuronové sítě (NN)
3. Pro jaké problémy jsou vhodné NN sítě s neurony s lineární přenosovou funkcí f(*)?
4. Které algoritmy učení řadíme k a) "Učení bez učitele"
b) "Učení s učitelem"
5. Jak nastavíme váhy a prahy NN
Úlohy k řešení 8
1. V programu Matlab prostudujte demonstrační úlohy:
nnd4db
ukázka hraniční přímky
nnd4pr
pravidlo učení Perceptronu (rozdíl mezi učením a tréninkem)
demop1
klasifikace pomocí Perceptronu se 2-vstupy
(4 vektory o 2 elementech, klasifikace do 2 tříd)
nevyváţená data (dlouhé učení)
demop4
P = [-0.5 -0.5 +0.3 -0.1 -40; -0.5 +0.5 -0.5 +1.0 50];
T = [1 1 0 0 1];
plotpv(P,T);
demop5 Normalizace Perceptronu (2-vstupní hard limit neurony jsou trénovány pro klasifikaci
5 vstupních vectorů do 2 kategori, jeden z vektorů je mnohem větší než ostatní, trénink s funkcí
learnpn je rychlejší)
demop6
lineárně neseparabilní prostory
help linnet
newlin
vytvoření lineární sítě
newlind
návrh lineární vrstvy
learnwh
W-H učící algoritmus
purelin
aktivační funkce
sim
simulace
adapt
adaptaptivní filtrace
applin2
adaptivní lineární predikce
demolin8
adaptivní odšumování
nnd10nc
adaptive odhlučněním kokpitu letadla
demolin1
asociace vzorů
demolin2
trénink lineárního neuronu
nnd10lc
lineární klasifikátor
demolin4
lineární řešení nelineárního problému
demolin5
nedostatečně určená úloha
demolin6
lineárně závislá úloha
demolin7
příliš velký learning rate
134
8. Umělé neuronové sítě (NN)
Text k prostudování
[1] Mohylová, J, Krajča,V.: Zpracování signálu v lékařství. Elektronické skriptum
Ţilina, Slovensko, ISBN 80-8070-341-8, 2005
Další zdroje, použitá literatura
[2] Haykin, S.: Neural Network – A Comprehensive Foundation Macmillian Publishing, 1994
[3] Linsker, R.: Self-organization in perceptual network, Computer 21, pp.
105-117, 1988
[4] Lippmann, R., P.: An introduction to computing with neural nets, IEEE ASSP Magazine 4,
pp. 4-22, 1987
[5] Vondrák.,I.: Umělá inteligence a neuronové sítě, VŠB – TU Ostrava, ISBN 80-7078-9492, 1995
[6] Rogers., J.: Object-Oriented Neural Networks in C++. Academic press, inc., ISBN: 0-12593115-8, 1997
[7] MATLAB®, The Language of Technical Computing, Version 6, The Math Works, Inc.,
2000 Reference, Manuál k NN toolboxu pro Matlab v AJ
135

Podobné dokumenty

M6stski uiad pod6brady ,,,, r:i

M6stski uiad pod6brady ,,,, r:i proveden6m $etieni sd6luje.n6steOujici a vyliidien i. Dopravni inspektordt eon ruymnurriaf;.g-nrisrusny orgdn podle g25 odst, 1) zak. d.13t1997 o pozemnfch komunikaclch, ve zne.,i poroqdi"ri Sb.,

Více

řada IC200CX Uživatelská příručka

řada IC200CX Uživatelská příručka iCHILL SÉRIE IC200CX (zahrnuje modely IC206CX a IC208CX) je elektronický regulátor pro jednotky chladič / tepelné čerpadlo, které mají 1 nebo 2 okruhy. Může řídit jednotky těchto typů:

Více

Model prostorového slyšení

Model prostorového slyšení řvoucího motoru. Žádný fyziolog na světě ale dodnes nedokáže zcela vyčerpávajícím způsobem odpovědět na otázky: Jak člověk respektive savec pozná, odkud zvuk přichází?, či: Jak je možné, že je nerv...

Více

Digitalizace

Digitalizace fft2 … 2D rychlá Fourier. transformace fftshift…posunutí počátku frekv. Souřad. systému remez…návrh 1D filtru freqz… frekvenční charakteristika 1D filtru ftrans2…návrh 2D fitlru z 1D freqz2 …frekve...

Více

Návod k obsluze

Návod k obsluze Tlačítky n a o listujte a vyhledejte parametr “Pr2”, potom stiskněte tlačítko SET. Spodní displej ukazuje “PAS” , na horním bliká 0 . Tlačítky n a o nastavte aktivní heslo. Heslo je z výroby nastav...

Více

Prolog - 20. srpna 1968

Prolog - 20. srpna 1968 to vlgetně opŤaÝdu začg1o. Pře6to, nékte!é podlobnost1' DJsl.(e, ž6 bych J6 Bě1 2opBl.ov6t. Na dv6.dvs.átou hod1nu byl na Fuzýň bléěen 9Fc1éL z t!os].Ýy. bJ1o vedÉ. Nebylo to nic néÓbÝJ}lého) tlodn...

Více

7.1. Číslicové filtry IIR

7.1. Číslicové filtry IIR Čitatel číslicové přenosové funkce musíme proto násobit vzorkovací periodou T . Podmínka (7.11) může být splněna pro reálný filtr pouze přibližně. Podmínka (7.12) bude splněna, pokud řád jmenovatele...

Více

Ubuntu server - Ubuntu Saucy Release Party

Ubuntu server - Ubuntu Saucy Release Party Kde se s Ubuntu serverem setkáme? Kdo jej používá?

Více