UŽITÍ KOHERENČNÍ FUNKCE PRO DISTRIBUOVANOU



Podobné dokumenty
DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH

31SCS Speciální číslicové systémy Antialiasing

Laboratorní úloha č. 8: Elektroencefalogram

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014

doc. Dr. Ing. Elias TOMEH Elias Tomeh / Snímek 1

Paralelní výpočty ve finančnictví

polyfázové filtry (multirate filters) cascaded integrator comb filter (CIC) A0M38SPP - Signálové procesory v praxi - přednáška 8 2

Číslicové filtry. Honza Černocký, ÚPGM

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

Základní metody číslicového zpracování signálu a obrazu část II.

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

ADA Semestrální práce. Harmonické modelování signálů

v Praze mezi kanály EEG Ondřej Drbal 5. ročník, stud. sk. 9

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

fluktuace jak dob trvání po sobě jdoucích srdečních cyklů, tak hodnot Heart Rate Variability) je jev, který

Motivace příklad použití lokace radarového echa Význam korelace Popis náhodných signálů číselné charakteristiky

Náhodné signály. Honza Černocký, ÚPGM

Kepstrální analýza řečového signálu

MATLAB PRO PODPORU VÝUKY KOMUNIKAČNÍCH SYSTÉMŮ

Číslicové zpracování signálů a Fourierova analýza.

Zpracování obrazů. Honza Černocký, ÚPGM

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

1 Zpracování a analýza tlakové vlny

Żpracování signálů a obrazů. 3. Korelační metody ... Petr Česák

Spektrální analýza a diskrétní Fourierova transformace. Honza Černocký, ÚPGM

Analýza chování algoritmu MSAF při zpracování řeči v bojových prostředcích

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

Čas (s) Model časového průběhu sorpce vyplývá z 2. Fickova zákona a je popsán následující rovnicí

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Komplexní obálka pásmového signálu

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Vlastnosti a modelování aditivního

Návrh frekvenčního filtru

Detekce korové aktivity vyvolané míšním neurostimulátorem u pacientů trpících nezvladatelnou neuropatickou bolestí

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

PSK1-9. Číslicové zpracování signálů. Číslicový signál

Spektrální analyzátory

Dodatky k FT: 1. (2D digitalizace) 2. Více o FT 3. Více k užití filtrů. 7. přednáška předmětu Zpracování obrazů

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

A7B31ZZS 10. PŘEDNÁŠKA Návrh filtrů 1. prosince 2014

Analýza a zpracování signálů

Harmonizace metod vyhodnocení naměřených dat při zkratových zkouškách

SYNTÉZA AUDIO SIGNÁLŮ

P7: Základy zpracování signálu

Primární zpracování radarového signálu dopplerovská filtrace

PRACOVNÍ NÁVRH VYHLÁŠKA. ze dne o způsobu stanovení pokrytí signálem televizního vysílání

Úvod do zpracování signálů

MĚŘENÍ ČASOVÉHO ZPOŽDĚNÍ MEZI SIGNÁLY MOZKU: APLIKACE V EPILEPTOLOGII Jan Prokš 1, Přemysl Jiruška 2,3

8. PŘEDNÁŠKA 20. dubna 2017

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

Základy algoritmizace

Modulační parametry. Obr.1

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

VOLBA ČASOVÝCH OKEN A PŘEKRYTÍ PRO VÝPOČET SPEKTER ŠIROKOPÁSMOVÝCH SIGNÁLŮ

WAVELET TRANSFORMACE V POTLAČOVÁNÍ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

U Úvod do modelování a simulace systémů

Rekurentní filtry. Matlab

Zvýrazňování řeči pomocí vícekanálového zpracování

Středoškolská technika SCI-Lab

Příloha č. 1. amplitudová charakteristika filtru fázová charakteristika filtru / frekvence / Hz. 1. Určení proudové hustoty

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

VYUŽITÍ MATLABU K POTLAČOVÁNÍ ADITIVNÍHO ŠUMU POMOCÍ FILTRACE A POMOCÍ VLNKOVÉ TRANSFORMACE. Gabriela Eisensteinová, Miloš Sedláček

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

KONVERZE VZORKOVACÍHO KMITOČTU

ANALÝZA POTLAČOVÁNÍ AKUSTICKÉHO ECHA A DTD DETEKCE V CHYTRÝCH TELEFONECH

SOFTWARE PRO PREZENTACI EEG SIGNÁLŮ A JEJICH ANALÝZ VYTVOŘENÝCH V MATLABU

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Úvod do architektur personálních počítačů

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

obhajoba diplomové práce

Diskretizace. 29. dubna 2015

Jasové transformace. Karel Horák. Rozvrh přednášky:

filtry FIR zpracování signálů FIR & IIR Tomáš Novák

TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY

Konstrukční varianty systému pro nekoherentní korelační zobrazení

Quantization of acoustic low level signals. David Bursík, Miroslav Lukeš

DIGITÁLNÍ FILTRACE V REÁLNÍM ČASE PRO ZPRACOVÁNÍ BIOMEDICÍNSKÝCH SIGNÁLŮ POMOCÍ MATLAB - XPC TARGET

ZPRACOVÁNÍ SIGNÁLŮ Z MECHANICKÝCH. Jiří Tůma

þÿ K o n v e r z e v z o r k o v a c í h o k m i t o t u

8. Sběr a zpracování technologických proměnných

doc. Dr. Ing. Elias TOMEH Elias Tomeh / Snímek 1

Základní metody číslicového zpracování signálu část I.

P9 Provozní tvary kmitů

Analýza a zpracování signálů. 1. Úvod

Navazující magisterský studijní program APLIKOVANÁ INŽENÝRSKÁ INFORMATIKA

Při návrhu FIR filtru řešíme obvykle následující problémy:

Procesy a vlákna (Processes and Threads)

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

A/D převodníky - parametry

Teoretický úvod: [%] (1)

Osnova. Idea ASK/FSK/PSK ASK Amplitudové... Strana 1 z 16. Celá obrazovka. Konec Základy radiotechniky

Parametrické přístupy k filtraci ultrazvukových signálů

Spektrální analyzátory a analyzátory signálu

Transkript:

UŽITÍ KOHERENČNÍ FUNKCE PRO DISTRIBUOVANOU ANALÝZU VÍCEKANÁLOVÝCH SIGNÁLŮ Robert Háva, Aleš Procházka Vysoká škola chemicko-technologická, Abstrakt Ústav počítačové a řídicí techniky Analýza vícekanálových signálů je významná v celé řadě aplikačních oblastí. Příspěvek se přitom omezuje na užití obecných matematických metod pro zpracování paralelních časových řad EEG záznamů s užitím koherenční funkce a implementací distribuovaného počítání pro optimalizaci příslušného výpočetního času. Těžiště práce je v odvození algoritmu umožňujícího paralelní zpracování dat na více výpočetních systémech a posouzení dosažených výsledků. 1 Úvod Analýza elektroencefalografických (EEG) záznamů je předmětem zájmu řady prací [3, 4], které se zaměřují na vztah mezi dílčími kanály, na segmentaci a klasifikaci záznamů i sledování vztahu mezi časovým vývojem EEG záznamů a obrazy magnetické resonance. Příspěvek se omezuje na analýzu pozorovaných časových řad a jejich zpracování s využitím vlastních a knihovních funkcí. Významná část práce je věnována možnostem paralelního výpočtu na vícejádrových procesorech a počítačích propojených v počítačové síti s využitím příslušných knihoven MATLABu. Výsledkem studie je posouzení možností paralelního výpočtu. 2 Koherenční funkce Koherenční funkce [3] je často používanou charakteristikou pro popis vztahu mezi frekvenčními vlastnostmi časových řad. Hodnoty této funkce leží v intervalu 0, 1 a vypovídají o podobnosti signálů v jednotlivých frekvenčních pásmech. Vlastní definice této funkce vychází z definice vlastní a vzájemné výkonové spektrální hustoty podle vztahu Cxy(f) = S xy(f) 2, 0 Cxy(f) 1 (1) S xx (f)s yy (f) pro frekvence f 0, f s /2, kde značí S xy (f) - odhad vzájemné výkonové spektrální hustoty S xx (f) - odhad vlastní výkonové spektrální hustotu pro signál {x(n)} S yy (f) - odhad vlastní výkonové spektrální hustotu pro signál {y(n)} f s - vzorkovací frekvenci Koherenční funkce může nabývat hodnot v rozmezí 0, 1, přičemž hodnoty blízké 0 vypovídají o nekorelovanosti příslušných frekvenčních složek a hodnoty blízké 1 svědčí o jejich souvislosti. Správný odhad výkonové spektrální hustoty stacionárního signálu {x(n)} N 1 n=0 a {y(n)} N 1 n=0 lze provést na základě průměrování periodogramů určených z daného počtu L realizací procesu. Pro případ vzájemné výkonové spektrální hustoty platí S xy (f) = 1 Xk L (f) Y k(f) (2) kde X k (f) a Y k (f) jsou spektra dílčích signálů určená pomocí jejich diskrétní Fourierovy transformace (DFT). Dosazení vztahu (2) do definičního vztahu (1) dostaneme odhad koherenční funkce [2] ve tvaru

a tedy C xy (f) = Xk (f) Y k(f) Xk (f) X k(f) C xy (f) = 2 Y k (f) Y k(f) (3) 2 Xk (f) Y k(f) (4) L X k (f) 2 Y k (f) 2 Z hlediska algoritmizace výpočtu je podstatný vztah (4), ze kterého plyne, že je nutné průměrování komplexního spektra v čitateli a následný výpočet čtverce modulu průměrování čtverců modulů ve jmenovateli V případě realizace o konečné délce, lze provést její rozdělení na L úseků stejné délky s případným pžekrýváním dílčích úseků a následně aplikovat průměrování odhadů výkonových spektrálních hustot. 3 Tvorba koherenční funkce V prostředí výpočetního systému MATLAB lze pro výpočet hodnot koherenční funkce užít standardní funkci mscohere, která pro dané posloupnosti {x(n)} N 1 n=0 a {y(n)}n 1 n=0 stanoví její odhad pomocí vztahu Cxy=mscohere(x,y) Pro posouzení vlastností koherenční funkce byl sestaven vlastní výpočetní algoritmus se stejnými vstupní parametry, který poskytuje výsledky shodné s funkcí mscohere. Toto vlastní programové řešení vychází z matematického definice popsané v předešlé části, poskytuje však možnosti podrobnější analýzy této funkce a její implementace v rámci distribuovaného počítání. Celá realizace {x(n)} n=0 N 1 procesu je pro potřeby výpočtu rozdělená na L=8 oken, které se z 50 % překrývají podle obr. 1. Obrázek 1: Dělení signálu na L částí pro potřeby výpočtu koherenční funkce

Počet překrývajících se hodnot je roven počtu S=N/(L+1) a dílčí okna obsahují M = 2 S hodnot. Navržený algoritmus zahrnující příkazy pro zpracování dat ve vlastní grafickém uživatelském prostředí (GUI) je uveden na obr. 2. L=8; F=256; x=handles.sig1;y=handles.sig2; N=length(x); S=floor(N/(L+1)); M=S*2; for i = 1:L X(:,i)=x((i-1)*S+1:(i-1)*S+M).*hamming(M); Y(:,i)=y((i-1)*S+1:(i-1)*S+M).*hamming(M); end XX=fft(X,F); YY=fft(Y,F); Sxy=XX.*conj(YY); % cross spectral density Sxx=abs(XX).^2; % auto spectral density of x Syy=abs(YY).^2; % auto spectral density of y Cxy=abs(mean(Sxy,2)).^2./(mean(Sxx,2).*mean(Syy,2)); Obrázek 2: Algoritmus pro výpočet koherenční funkce, kde značí: L - počet oken pro dělení signálu, F - počet hodnot diskrétní Fourierovy transformace, x, y - signály, hamming - název funkce pro Hammingovo okénko, f f t - funkci pro diskrétní Fourierovu transformaci, mean - funkci pro výpočet střední hodnoty, Cxy - hodnoty koherenční funkce Pro posouzení správnosti algoritmu byly analyzovány stejné posloupnosti pomocí funkce mscohere i pomocí vlastní funkce s výsledkem na obr. 4. Délka potřebného výpočetního času při standardním a distribuovaném počítání v systému MATLAB byla přitom detekována pomocí funkcí uvedených na obr. 3 s výsledky v tabulce 1. tic % zacatek mereni casu Cxy=mscohere(x,y) toc % konec mereni casu Obrázek 3: Výpočet doby výpočtu Obrázek 4: Porovnání koherenčních funkcí určených standardním a vlastním programem

4 Filtrace dat Tabulka 1: Porovnání výpočetního času Funkce ëm Čas (jeden výpočet) Čas (300 iterací) mscohere 0.2413 61.7623 vlastní funkce 0.1191 34.8863 Pozorovaný EEG signál je ve většině případů významně znehodnocen aditivní rušivou složkou o sít ové frekvenci 50Hz a pro další analýzu je nutné její potlačení této. V případě užití FIR filtru lze jeho konstanty {b k } M 1 k=0 určit standardními příkazy MATLABu ve tvaru M=101; fs=128; fc1=45; fc2=55; b1=fir1(m-1, cut, stop ); cut=[fc1 fc2]/(fs/2); kde značí M - řád filtru f c1, f c2 - mezní frekvence pásmové zádrže (specikované parametrem stop ve funkci fir1) f s - vzorkovací frekvenci Po vypočtení konstant {b k } M 1 k=0 lze určit filtrovanou posloupnost hodnot k dané posloupnosti {x n } N 1 n=0 vztahem EEGden(n) = b 0 x(n) + b 1 x(n 1) +... + b M 1 x(n M + 1) (5) s využitím funkce EEGden=filter(b1,1,signal); V případě analýzy EEG signálu se nejprve realizuje potlačení sít ové frekvence 50Hz pásmovou zádrží a následný výběr frekvenčních složek v pásmu 0.5, 60 Hz pomocí programového úseku uvedeného na obr. 5. M=101; fs=128; fc1=45; fc2=55; cut1=[fc1 fc2]/(fs/2); M=101; fc1=0.5; fc2=60; cut2=[fc1 fc2]/(fs/2); b1=fir1(m-1, cut1, stop ); b1=b1 ; b2=fir1(m-1, cut2); b2=b2 ; EEGdenx=filter(b1,1,signal);signal=filter(b2,1,EEGdenx); Obrázek 5: Úsek programu pro číslicovou filtraci daných časových řad Obrázek 6: Grafické uživatelské prostředí pro znázornění průběhu zvolených úseků dvou vybraných kanálů EEG záznamu a jejich spekter

Obrázek 7: Grafické uživatelské prostředí pro znázornění průběhu zvolených úseků dvou vybraných kanálů EEG záznamu a jejich spekter po číslicové filtraci 5 Funkce distribuovaného počítání Distribuované počítání [1] urychluje výpočet jednoduchým způsobem tak, že se složitější výpočty rozdělí na více menších úkolů a ty se odesílají počítačům připojeným k serveru. Počítače distribuované na počítačové síti následně zpracovávají dané úkoly a vrací zpět výsledky podle schematu na obr. 5, ve kterém značí Job - úkol, který se posílá na plánovací server rozdělující úkoly Task - konkrétní úkol, který se počítá na daném počítači Result - výsledek, který se vrací zpět na počítač Scheduler - plánovací server, který rozděluje výpočty Worker - počítač, který počítá jednotlivé úkoly Na obrázku je vidět princip distribuovaného počítání, ale i jeho problém spočívající v nutnosti přenosu velkého objemu informací. Pokud je nutno pomocí distribuovaného počítání realizovat větší počet jednoduchých výpočtů, může dojít k tomu, že výpočet prováděný tímto způsobem může trvat déle než na jednom počítači. Důvodem je přitom nutnost komunikace počítačů mezi sebou po počítačové síti a posílání dat po každém výpočtu. Pokud je nutné počítat více jednoduchých úloh pomocí distribuované počítaní, lze doporučit algoritmus, ve kterém se jako jeden TASK posílá několik výpočtů, při kterých se využijí počítače po delší dobu. Obrázek 8: Princip distribuovaného počítání

6 Programové řešení v MATLABu Matlab má pro distribuované počítání vlastní knihovnu (Distributed Computing T oolbox), která zahrnuje jak Jobmanager, tak Scheduler. Definice pro Jobmanagera je zajištěna příkazem jm = findresource( jobmanager, name, MyJobManager ); Následně je nutné vytvořit konkrétní Job příkazem j = createjob(jm); % konkretni job a definovat konkrétní T ask pro vlastní výpočet příkazem createtask(job, @EEGtask1, 4,{signal}); % tvorba tasku(ukolu) Příkaz submit(j); zařadí T ask do fronty a v okamžiku, kdy je volný W orker, provede jeho zpracování. Zpštný přenos výsledků z pracovních počítačů je následně zajištěn příkazem waitforstate(j, finished ); % cekani nez se dopocita job results = getalloutputarguments(j) % ziskani vysledku z workru 7 Rychlost výpočtu Rychlost výpočtu lze ovlivnit bud lepší optimalizací výpočetní metody a nebo počítáním na výkonnějších počítačích. V tabulce 2 je porovnána rychlost výpočtu na systémech s jedním nebo více výpočetními jádry procesoru v případě různých operačních systémů. 8 Závěr Tabulka 2: Tabulka rychlostí výpočtu Platforma Počet jader Čas výpočtu Vista 32bit 1 37.81 Vista 32bit 4 31.47 Vista 64bit 1 27.00 Vista 64bit 2 22.68 distribuované počítání 17.80 Další práce bude věnována posouzení vztahu mezi dílčími kanály EEG záznamu pro rozsáhlý soubor vstupních dat. Následné studie se budou věnovat analýze hlavních komponent a segmentaci pozorovaných signálů. Práce byla vytvořena v rámci výzkumného záměru MSM 6046137306 Fakulty chemicko-inženýrské Vysoké školy chemicko-technologické v Praze. Literatura [1] Distributed Computing. http://www.mathworks.com. [2] Pavel Sovka Jan Uhlíř. Číslicové zpracovnání signálů. Vydavatelství ČVUT, 2002. [3] Saeid Sanei and J. A. Chambers. EEG Signal Processing. Wiley - Interscience, 2007. [4] Saeed Vaseghi. Advanced Digital Signal Processing and Noise Reduction. John Wiley and Sons Ltd., 2006. Bc. Robert Háva, Prof. Aleš Procházka Vysoká škola chemicko-technologická v Praze Ústav počítačové a řídicí techniky Technická 1905, 166 28 Praha 6 Telefon: 00420-220 444 198 * Fax: 00420-220 445 053 E-mail: Robert.Hava@vscht.cz, A.Prochazka@ieee.org