brain computer interface · studenckie koło naukowe cybernetyki, politechnika warszawska prof. dr...

27
Brain Computer Interface Studenckie Kolo Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Boleslaw CEDRO (koordynator/bci) inż. Adrian BYSZUK (lączność) inż. Krzysztof CHOJNOWSKI (sieci neuronowe) inż. Janusz FRĄCZEK (neurofeedback/eeg) lct. Ryszard GOMÓLKA (neuroanatomia/medycyna) Grzegorz LESZEK (sieci neuronowe) Piotr TĄKIEL (programowanie/bci2000) mgr inż. Tomasz KAMIŃSKI (sygnaly biologiczne) mgr inż. Agnieszka MALKIEWICZ (sygnaly biologiczne) Styczeń 2011 Streszczenie Celem projektu Brain Computer Interface prowadzonego przez Studenckie Kolo Naukowe Cybernetyki dzia- lające przy Zespole Aparatury Biocybernetycznej Instytutu Systemów Elektronicznych na Wydziale Elektro- niki i Technik Informacyjnych Politechniki Warszawskiej jest zbudowanie od podstaw modularnego urządzenia klasy interfejs czlowiek–maszyna czy też mózg–komputer (ang. Brain Computer Interface), gromadząc przy tym wiedzę o istniejących rozwiązaniach komercyjnych i niekomercyjnych, próbując rozpoznać i zestawić pa- ramety istniejacych rozwiązań, a przede wszystkim stworzyć bazę porównawczą stanowiącą punkt odniesienia dla dalszych badań i naszych wlasnych konstrukcji. Niniejsze opracowanie stanowi esencję prac badawczych w obszarze BCI prowadzonych od kilku lat z ini- cjatywy Tomasza Cedro w ramach Studenckiego Kola Naukowego Cybernetyki dzialającego pod nadzorem prof. nzw. dr hab. Antoniego Grzanki oraz czlonków Zespolu Aparatury Biocyberentycznej. Wyniki przed- stawione w niniejszym opracowaniu obejmują opracowania stworzone przez zespól studentów PW w ramach prac dyplomowych, projektów kola, w tym badań wspartych Grantem Rektorskim w roku 2010. Dofinansowanie w ramach Grantu Rektorskiego pozwolilo nam glównie na zbudowanie znanego, niedrogiego i otwartego systemu akwizycji OpenEEG (rozdzial ??), a także porównanie jego parametrów i ograniczeń w odniesieniu do wlasnej konstrukcji wzmacniacza sygnalów biologicznych (Janusz Frączek, rozdzial 3.1), oraz mikroprocesorowego systemu wbudowanego do akwizycji, przetwarzania i transmisji danych (Tomasz Cedro, rozdzial 2.4, ??, 2.3). Wiele otwartych programów komputerowych, a nawet środowisk programistycznych do pracy z sygnalami biologicznymi, Neurofeedback’iem, czy szerzej BCI pozwolilo nam na praktyczne sprawdze- nie możliwości wykorzystania potencjalów bioelektrycznych, w szczególności elektrycznej aktywności mózgu związanej z aktywnością intelektualną, do sterowania urządzeniami czy systemami komputerowymi, a nawet zastosowaniami w medycynie (Agnieszka Malkiewicz, Tomasz Kamiński, Ryszarg Gomólka). Stosunkowo proste urządzenia zwykle wykorzystywane do treningu Neurofeedback mogą już zostać wyko- rzystane do prostych aplikacji BCI, co sprawdzamy tworząc wlasny modul użytkownika w postaci prostej gry komputerowej sterowanej falami EEG w systemie BCI2000 (Piotr Tąkiel, ??). Pokusiliśmy się także o prostą weryfikację wplywu systemu szybkiej nauki języków obcych SITA na aktywność elektryczną mózgu (rozdzial ??), oraz próbę stworzenia sztucznej sieci neuronowej będącej w stanie rozpoznawać określone bodźce na pod- stawie przebiegu sygnalu EEG odczytywanego na żywo z pacjenta (Krzysztof Chojnowski, Grzegorz Leszek, rozdzial 2.2). Dostęp do bardziej zaawansowanych urządzeń pomiarowych da nam możliwość dalszego rozwoju, propagowa- nia tematyki wśród studentów PW, a co najważniejsze punkt odniesienia dla wlasnych konstrukcji. Frekwencja oraz żywe zainteresowanie uczestników Festiwalu Nauki, Pikniku Kól Naukowych PW, oraz wielu konferen- cji naukowych na których prezentujemy swoje prace wskazują na bardzo duże zainteresowanie tematyką BCI zarówno od strony naukowej jak i użytkowej. Ze względu na interdyscyplinarny charakter badań oraz obszerność materialu, dokument podzielony zostal na trzy glówne części – teorię, oprogramowanie i sprzęt elektroniczny – z których każda zawiera pewną porcję informacji z danej dziedziny pozwalając na zapoznanie się od podstaw z tematyką BCI i wyrobienie sobie poglądu na tego typu rozwiązanie jako funkcjonalną calość. Opisy są zwięzle ale wzbogacone znaczną ilością referencji i odsylaczy do źródel informacji. Duża część prac ma swoją dedykowaną dokumentację w postaci stron internetowych lub osobnych dokumentów. Oczywiście nie sposób jest w tak krótkim dokumencie zmieścić wszelkie niezbędne informacje, zależy nam jednak na tym aby przedstawić wyniki choć częsci naszych dotychczasowych prac i starań o stworzenie tego typu systemu od podstaw. 1

Upload: others

Post on 07-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Brain Computer InterfaceStudenckie Koło Naukowe Cybernetyki, Politechnika Warszawska

prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)inż. Adrian BYSZUK (łączność) inż. Krzysztof CHOJNOWSKI (sieci neuronowe)

inż. Janusz FRĄCZEK (neurofeedback/eeg) lct. Ryszard GOMÓŁKA (neuroanatomia/medycyna)Grzegorz LESZEK (sieci neuronowe) Piotr TĄKIEL (programowanie/bci2000)

mgr inż. Tomasz KAMIŃSKI (sygnały biologiczne) mgr inż. Agnieszka MAŁKIEWICZ (sygnały biologiczne)

Styczeń 2011

Streszczenie

Celem projektu Brain Computer Interface prowadzonego przez Studenckie Koło Naukowe Cybernetyki dzia-łające przy Zespole Aparatury Biocybernetycznej Instytutu Systemów Elektronicznych na Wydziale Elektro-niki i Technik Informacyjnych Politechniki Warszawskiej jest zbudowanie od podstaw modularnego urządzeniaklasy interfejs czlowiek–maszyna czy też mózg–komputer (ang. Brain Computer Interface), gromadząc przytym wiedzę o istniejących rozwiązaniach komercyjnych i niekomercyjnych, próbując rozpoznać i zestawić pa-ramety istniejacych rozwiązań, a przede wszystkim stworzyć bazę porównawczą stanowiącą punkt odniesieniadla dalszych badań i naszych własnych konstrukcji.

Niniejsze opracowanie stanowi esencję prac badawczych w obszarze BCI prowadzonych od kilku lat z ini-cjatywy Tomasza Cedro w ramach Studenckiego Koła Naukowego Cybernetyki działającego pod nadzoremprof. nzw. dr hab. Antoniego Grzanki oraz członków Zespołu Aparatury Biocyberentycznej. Wyniki przed-stawione w niniejszym opracowaniu obejmują opracowania stworzone przez zespół studentów PW w ramachprac dyplomowych, projektów koła, w tym badań wspartych Grantem Rektorskim w roku 2010.

Dofinansowanie w ramach Grantu Rektorskiego pozwoliło nam głównie na zbudowanie znanego, niedrogiegoi otwartego systemu akwizycji OpenEEG (rozdział ??), a także porównanie jego parametrów i ograniczeń wodniesieniu do własnej konstrukcji wzmacniacza sygnałów biologicznych (Janusz Frączek, rozdział 3.1), orazmikroprocesorowego systemu wbudowanego do akwizycji, przetwarzania i transmisji danych (Tomasz Cedro,rozdział 2.4, ??, 2.3). Wiele otwartych programów komputerowych, a nawet środowisk programistycznych dopracy z sygnałami biologicznymi, Neurofeedback’iem, czy szerzej BCI pozwoliło nam na praktyczne sprawdze-nie możliwości wykorzystania potencjałów bioelektrycznych, w szczególności elektrycznej aktywności mózguzwiązanej z aktywnością intelektualną, do sterowania urządzeniami czy systemami komputerowymi, a nawetzastosowaniami w medycynie (Agnieszka Małkiewicz, Tomasz Kamiński, Ryszarg Gomółka).

Stosunkowo proste urządzenia zwykle wykorzystywane do treningu Neurofeedback mogą już zostać wyko-rzystane do prostych aplikacji BCI, co sprawdzamy tworząc własny moduł użytkownika w postaci prostej grykomputerowej sterowanej falami EEG w systemie BCI2000 (Piotr Tąkiel, ??). Pokusiliśmy się także o prostąweryfikację wpływu systemu szybkiej nauki języków obcych SITA na aktywność elektryczną mózgu (rozdział??), oraz próbę stworzenia sztucznej sieci neuronowej będącej w stanie rozpoznawać określone bodźce na pod-stawie przebiegu sygnału EEG odczytywanego na żywo z pacjenta (Krzysztof Chojnowski, Grzegorz Leszek,rozdział 2.2).

Dostęp do bardziej zaawansowanych urządzeń pomiarowych da nam możliwość dalszego rozwoju, propagowa-nia tematyki wśród studentów PW, a co najważniejsze punkt odniesienia dla własnych konstrukcji. Frekwencjaoraz żywe zainteresowanie uczestników Festiwalu Nauki, Pikniku Kół Naukowych PW, oraz wielu konferen-cji naukowych na których prezentujemy swoje prace wskazują na bardzo duże zainteresowanie tematyką BCIzarówno od strony naukowej jak i użytkowej.

Ze względu na interdyscyplinarny charakter badań oraz obszerność materiału, dokument podzielony zostałna trzy główne części – teorię, oprogramowanie i sprzęt elektroniczny – z których każda zawiera pewną porcjęinformacji z danej dziedziny pozwalając na zapoznanie się od podstaw z tematyką BCI i wyrobienie sobiepoglądu na tego typu rozwiązanie jako funkcjonalną całość. Opisy są zwięzłe ale wzbogacone znaczną ilościąreferencji i odsyłaczy do źródeł informacji. Duża część prac ma swoją dedykowaną dokumentację w postacistron internetowych lub osobnych dokumentów.

Oczywiście nie sposób jest w tak krótkim dokumencie zmieścić wszelkie niezbędne informacje, zależy namjednak na tym aby przedstawić wyniki choć częsci naszych dotychczasowych prac i starań o stworzenie tegotypu systemu od podstaw.

1

Page 2: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

1 Teoria

1.1 Podstawy anatomii i fizjologiiośrodkowego układu nerwowegoczłowieka (Ryszard Gomółka).

Najważniejszym elementem opracowania jest charakte-rystyka fal mózgowych, jednak na początek chciałbymzacząć od wstępu w postaci budowy powierzchni mó-zgu – tego co nas najbardziej interesuje.

1.1.1 Budowa zewnętrzna mózgu

Ciało mózgu (cerebri) składa się z dwóch prawie syme-trycznych półkul (hemispheria cerebri) oddzielonychwzajemnie szczeliną podłużną (fissura longotudinalis).Łącznie obie półkule posiadają eliptyczny kształt, wktórym wyróżniamy trzy bieguny: biegun czołowy (po-lus frontalis), biegun potyliczny (polus occipitalis), bie-gun skroniowy (polus temporalis).

Rysunek 1: Półkule mózgowe. Widok z góry [2].

Półkule pokryte są bruzdami (sulci cerebri) ogra-niczającymi części w postaci zakrętów mózgu (gyri).Położenie bruzd i zakrętów wydaje się być dosyć cha-otyczne i oparte na wzajemnym dopasowaniu, jednakbadania wykazały, że zjawisko to dotyczy jedynie nie-wielkich bruzd. Niektóre bruzdy mają swoje stałe i nie-zmienne położenie – nazwano je bruzdami pierwotnymilub inaczej głównymi, które rozwijają się już w ży-ciu płodowym. Zmienności osobniczej podlegają jedy-nie bruzdy drugo i trzeciorzędowe. Najgłębszą bruzdąjest bruzda boczna (sulcus lateralis) oddzielająca wy-spę (insula) półkuli mózgu (bardziej kojarzona ze skro-niami) od górnej części mózgowia. Kolejną pod wzglę-dem wielkości jest bruzda środkowa (sulcus centralis),a następną bruzda ciemieniowo-potyliczna (sulcus pa-rietooccipitalis) [Ryc. 1,2,3].

Wyżej wymienione bruzdy dzielą obszar kory mózgo-wej na cztery płaty:

• Czołowy (lobus frontalis)

• Skroniowy (lobus temporalis)

• Ciemieniowy (lobus parietalis)

• Potyliczny (lobus occipitalis)

Każdy płat okryty jest z zewnątrz łuską kości wcho-dzącej w budowę czaszki o tej samej nazwie co płatokryty.

Rysunek 2: Schemat podziału półkul mózgowych napłaty. Widok z góry [2].

1.1.2 Kora mózgowa

Powierzchnia półkul mózgowych jest pokryta paromi-limetrową warstwą komórek istoty szarej o charakte-rystycznym ułożeniu. Największa część kory nie jestwidoczna na zewnątrz, lecz ukryta jest w bruzdach mó-zgu, które istotnie zwiększają powierzchnię czynną na-rządu.

Właściwą dla kory mózgowej jest budowa war-stwowa, w której największa część, bo prawie 95% za-warta jest w 6 warstwach opisanych na rys.4.

1. Warstwa drobinowa, brzeżną. Zawiera względ-nie niewiele komórek nerwowych. Obecne są tuwyraźnie aksony oraz dendryty neuronów warstwgłębszych.

2

Page 3: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 3: Podział mózgu na płaty. Widok od boku[2].

Rysunek 4: Budowa kory mózgowej. Z lewej układkomórek nerwowych, z prawej włókien nerwowych [1].

2. Warstwa ziarnista zewnętrzna. Tu panują komórkipiramidalne i ziarniste (podział czysto morfolo-giczny), których neuryty nie wnikają do istoty bia-łej.

3. W warstwie piramidalnej luźno rozmieszczone sąkomórki piramidalne, których wielkość zwiększasię w kierunku warstwy 4.

4. warstwa ziarnista wewnętrzna – małe komórki

ziarniste

5. Warstwa zwojowa – tu pojawiają się komórki pi-ramidalne olbrzymie (kom. Betza)

6. Warstwa komórek różnokształtnych.

Istotną kwestią jest fakt, iż komórki w korze mózgo-wej zawsze biegną w pęczkach pionowo, zaś czynnośćkory mózgowej nie jest nigdy chaotyczna. Potencjałczynnościowy jednego neuronu zostaje szybko rozprze-strzeniony na całą błonę i pęczek, dzięki czemu sygnałjest przenoszony szybko (wraz ze wzrostem grubościneurony, czy pęczka szybkość sygnału wzrasta). Zjawi-sko takie jest możliwe dzięki istnieniu i ścisłej współ-pracy gleju z komórkami nerwowymi. Procesy myśleniai poznawcze rozchodzą się w korze mózgowej powyżej 4warstwy. Pochodzenie ich jest jednak z warstw poniżej4 ( obwodowy układ nerwowy, układ limbiczny)

1.1.3 Pola kory

Istnieje wiele podziałów kory mózgowej uwzględniają-cych budowę morfologiczną komórek, funkcje, czynno-ści. Najpopularniejszym jest podział Brodmanna (czy-sto architektoniczny), który przyjął że kora dzieli się na52 regiony.

Rysunek 5: Umiejscowienie okolic w korze mózgu. Wi-dok powierzchni górno-bocznej [1].

Ścisła lokalizację wykazują regiony kory, w którychzapoczątkowane są włókna ruchowe (kora ruchowa), atakże do których dochodzą drogi czuciowe (kora wę-chowa, słuchowa, czuciowa i wzrokowa). Ponieważ niema sensu byśmy wchodzili w szczegółową budowę każ-dego z wyodrębnionych regionów korowych pozwolę so-bie przyjąć bardzo uogólniony podział, który nie jestdo końca prawidłowy, acz prosty:

• Płat czołowy – kora ruchowa

• Płat ciemieniowy – kora czuciowa

3

Page 4: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

• Płat skroniowy – kora słuchowa

• Płat potyliczny – kora wzrokowa

Co dotyczy kory węchowej – jest ona skupiona taknaprawdę pod bryłą płata czołowego w postaci dwóchsymetrycznych opuszek węchowych (bulbus olfacto-rius) oraz pola na wewnętrznej części wysp. Jest tozwiązane z dosyć nowym zjawiskiem filogenetycznymjakim jest powstawanie kory mózgowej u wyższych krę-gowców. U niższych kręgowców czynność kory jestzwiązana stricte z odbieraniem bodźców węchowych.Jak widać na przykładzie człowieka u ssaków nastą-pił istotny przerost innych rejonów korowych nad korąwęchową.

Rysunek 6: Umiejscowienie okolic w korze mózgu. Wi-dok powierzchni przyśrodkowej [1].

Bardziej konkretny podział, który docelowo powi-nien nas interesować w badaniach, przedstawiono narycinach poniżej [Ryc. 5,6,7]. Uwidaczniają one fak-tyczne rejony ścisłego występowania okolic wymienio-nych wyżej. Warto nadmienić, że w przypadku koryruchowej i czuciowej okolice ciała są reprezentowanepodobnie (od dołu głowa, szyja, kończyna górna , tu-łów, kończyna dolna). Oczywiście pojedyncza półkulaunerwia przeciwną stronę ciała.

Notka: Treść zawarta w opracowaniu przeznaczonajest wyłącznie dla studentów WEiT/PW uczestniczą-cych w projekcie Neurofeedback. Ma ona za zadanieujednolicić wiedzę posiadaną przez członków i nie jestprzeznaczono do rozpowszechniania , ani w celach ko-mercyjnych.

1.2 Zasady aplikacji elektrod i cechy sy-gnału EEG (Ryszard Gomółka)

1.2.1 System 10–20

W każdym układzie aplikacji elektrod EEG najważ-niejszą czynnością jest wyznaczenie wierzchołka głowy

Rysunek 7: Podział pól w korze ruchowej. Przekrój wpłaszczyźnie czołowej [3].

Rysunek 8: Ułożenie elektrod w systemie 10-20. Widokz góry.

w postaci przecięcia wymiaru strzałkowego (od nasadynosa-„nasion”- po guz potyliczny zewnętrzny-„inion”) ipołowy wymiaru wieńcowego (od 1 skrawka ucha dodrugiego). Punkt ten to „vertex” (czubek) i w tymmiejscu ustawiamy elektrodę „Cz”.

4

Page 5: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 9: Ułożenie elektrod w międzynarodowymsystemie 10-20. Widok z góry[4].

Wymiar poziomy określają:

• punkty w 10% odległości wymiaru strzałkowegopowyżej nasion i inion

• 10% powyżej skrawków uszy (wymiar wieńcowy)

Rysunek 10: Ułożenie elektrod w systemie 10-20. Wi-dok z boku[4].

Elektrody oznaczone liczbami nieparzystymi znaj-dują się po lewej stronie głowy, parzyste po prawej.Przesuwając się po linii strzałkowej w odległości 20%

od Cz umieszczamy czołowo elektrodę Fz (frontalis) iciemieniowo Pz (parietalis)[Ryc. 8-11]. Nazwy elek-trod pochodzą od rejonów w jakich są podpięte:

• P – parietalis(ciemię)

• T – temporalis (skronie)

• O – occipitalis (potylica)

• F – frontalis (czoło)

Główną wadą jest to, że wszystkie odprowadzeniapowinno się uziemiać do płatka ucha w celu otrzyma-niu najlepszego sygnału. System 10-20 także nie jestjedyny. Poza tym elektrody F7 i F8 są za wysoko żebyodczytywać sygnały przedniej osi- powinno stosowaćsię T1 i T2 umieszczone w 1/3 odległości miedzy otwo-rem słuchowym zewnętrznym i kątem oka.

Rysunek 11: Ułożenie elektrod referencyjnych (A),uziemiającej (GND) i ocznych (E).

Ponieważ początkowo projekt będzie opierać sięgłównie na potencjałach wywołanych zbieranych wokolicy potylicznej, zamieszczam poniższą rycinę, gdyżw dobry sposób obrazuje ona schemat przechodzeniawłókien nerwowych od nerwu wzrokowego aż po samośrodek wzrokowy w korze[12].

Rysunek 12: Schemat przebiegu włókien nerwu wzro-kowego do okolicy kory wzrokowej. Przekrój strzał-kowy.

5

Page 6: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

1.2.2 Podstawowe grafoelementy zapisu EEGu osoby dorosłej

U osoby dorosłej rytmem podstawowym jest rytm alfa.Odkryty został przez Bergera w 1929 roku. Charakte-ryzuje się on częstotliwością 8-13 Hz. Ujawnia się pozamknięciu oczu, zanika po otwarciu. Jego źródło znaj-duje się w płacie potylicznym (tam też ma największąamplitudę), zatem uważa się , że jest to rytm tylnypodstawowy.

Czynność rytmu alfa zazwyczaj jest symetryczna,jednak największą amplitudę osiąga nad półkulą nie-dominującą. Do przyjęcia jest stosunek 2:1. U śpiącego(prócz odpowiedniej fazy snu) rytm alfa może pojawiaćsię podczas hiperwentylacji, a w czasie senności możepojawić się przy otwartych oczach . Rytm powinienbyć obecny w obu półkulach. Może szerzyć się mniejlub bardziej symetrycznie ku przodowi, lecz nie jest tozjawisko patologiczne. Podczas śpiączki alfa przeważaw czole i stanowi zła prognozę dla chorego. 5% popu-lacji nie posiada rytmu alfa podczas spoczynku.

Rytm beta – za podstawowy rytm beta uznaje sięczynność powyżej 14 Hz. Posiada oncharakter ryt-miczny i stanowi tło zapisu u 95% populacji. Am-plituda fal waha się znacznie, jednak niezależnie odznanych leków. Maksymalną amplitudę osiąga w re-jonach czołowo–centralnych. Nie reaguje na otwarcieoczu. Asymetria półkulowa wskazuje na stan choro-bowy.

Theta charakteryzuje 4..7 Hz. U zdrowego człowiekasą obecne, lecz nie dominujące i powinny stanowić conajwyżej 5% zapisu. Zwykle występują w stanie czuwa-nia, jednakże mogą być nieobecne. Wyraźne natomiastw linii środkowej i skroniowej. Częstość występowaniazwiększa się w czasie senności. U dzieci rytm ten jestrozsiany i uogólniony, jednak należy to do charaktery-styki fizjologicznej mózgu dziecka.

Delta poniżej 4 Hz. Są to bardzo wolne, wysoko-napięciowe potencjały. Nie występują w czasie czuwa-nia, jednak są integralną częścią zapisu w śnie. Ichobecność w czasie czuwania zawsze oznacza dysfunkcjęmózgu, lub powstanie zmiany ogniskowej widocznej wdiagnostyce obrazowej. Rytmy delta stanowią jednakintegralną część zapisu EEG osoby dorosłej. U osóbstarszych występują często w skroniach, gdzie indziejrzadko.

Rytm mu – zwany rytmem bramkowym z odprowa-dzeń centralnych, znad kory ruchowej o częstości 7..11Hz (subharmoniczna beta). Może być jedno lub dwu-stronny, synchroniczny lub asynchroniczny. Może wy-stępować w senności, także z otwartymi oczami.

Lambda – elektrododatnie przejściowe impulsy z po-tylicy. Ostro zarysowane, zazwyczaj symetryczne. Za-obserwowane podczas oglądania przez pacjenta intere-sujących obiektów, obrazów. Są to wzrokowe poten-cjały wywołane i należą do fizjologii.

1.2.3 Cechy charakterystyczne EEG u dzieci

duża zmienność (większa niż u dorosłych) – dotyczytak rytmów tła, jak i fal wolnych.

• Wraz z dojrzewaniem obserwuje się stały wzrostczęstotliwości dominującego rytmu tylnego.

• Alfa nieobecny po urodzeniu- pojawia się w 2-3miesiącu życia

• Początkowo dominująca rytmiczna delta, wkrótcerozwija się polirytmiczną deltę + thetę

• Stopniowy wzrost średniej częstotliwości wraz zdorastaniem ( w 1 roku przeważa delta, pojawiasię theta).

• W wieku 3 lat stwierdza się dobrze zorganizowanąi rytmiczną thetę, pojawia się silniej alfa, zaś deltastaje się mniej widoczna

• W wieku 6 lat dominuje zazwyczaj dobrze zorga-nizowany rytm alfa

• 7,8 lat – zwiększa się średnia częstotliwość alfyosiągając 10 Hz

• podczas dojrzewania cechą prawidłową jest wystę-powanie fal theta.

1.2.4 Artefakty zapisu EEG

Ponieważ większość z Was jest specjalistami w zakresiewykonywania pomiarów biomedycznych, nie ma sensużebym o czymkolwiek pisał, co jest jasne przy każdymbadaniu pacjenta.

Główne artefakty występują ze złego przygotowa-nia i przymocowania elektrod, ruchów pacjenta, od-ruchów mimowolnych, czynności fizjologicznych orga-nizmu. Najważniejszymi są jednak:

• trzaskanie – nieszczelność między elektrodą, a po-wierzchnią skóry. Wiąże się ze wzrostem impedan-cji elektrody.

• artefakty mięśniowe – najczęstsze w okolicy czo-łowej i skroniowej (żwacze, ruchy języka). Dobrzeeliminuje go lekkie otwarcie ust.

• Pocenie się – objawia się jako wolne falujące po-tencjały kilkusekundowe. Odzwierciedla zwarcieprądów między dwiema elektrodami poprzez po-wstanie mostka solnego z potu

• Artefakty EKG – możliwe do wyeliminowania po-przez oddzielną rejestrację w 1 kanale i odjęcie sy-gnału.

• artefakty z tętna – np. elektroda znajduje sięblisko tętnicy skroniowej powierzchownej (ogólniestaramy się omijać większe naczynia).

6

Page 7: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

• ruch gałek ocznych – płynny ruch widoczny głów-nie w odprowadzeniach czołowych i skroniowych.

• nieprawidłowe przygotowanie do badania – zależyod rodzaju badania i zaleceń lekarza.

Z pewnością należy unikać hipoglikemii, która obja-wia się ogólnym spowolnieniem czynności elektrycznejmózgu. Osoba badana nie powinna być głodna.

1.3 Elektrody pomiarowe EEG (To-masz Cedro)

Rysunek 13: Elektrody grzybkowe mocowane czepkiemsilikonowym.

W badaniach przez nas prowadzonych zastosowanezostały dwa typy elektrod wykonanych ze srebra ichlorku–srebra wyprodukowane przez polską firmę El-miko z Warszawy:

• miseczkowe – wymagają użycia pasty 1020 zmniej-szającej oporność naskórka, co wymusza koniecz-ność zabrudzenia głowy pacjenta, ale pozwala nadosyć długie wykonywanie pomiarów nawet bezużycia czepka mocującego, ponieważ pasta jest do-syć sztywna, lepka i wolnoschnąca. Tego typuelektrody są powszechnie stosowane w treninguNeurofeedback ze względu na prostą aplikację.

• grzybkowe – wymagają uprzedniego namoczenia wsoli fizjologicznej lub stosowania specjalnego żeluprzewodzącego. Są mocowane do czepka silikono-wego, a więc nie mogą być umieszczone samodziel-nie na głowie pacjenta, są za to bardziej mobilneod miseczkowych.

Elektrody utrzymuje na określonej pozycji czepekzbudowany z wzajemnie krzyżujących się rurek siliko-nowych pod którymi umieszcza się elektrody. Wystę-pują również „czepki automatyczne” wykonane z solid-nego matriału z wbudowanymi elektrodami – mają one

Rysunek 14: Elektroda miseczkowa.

jednak dosyć wysoką cenę i służą do pomiarów wielo-kanałowych aktywności elektrycznej różnych obszarówmózgu. Elektrody są wielokrotnego użytku, wystarczyje wypłukać ciepłą wodą i wysuszyć. Istnieje równieżmożliwość regenracji zużytych elektrod u produecentaza niewielką opłatą.

Rysunek 15: Silikonowy czepek mocujący elektrodypodczas badań.

Obydwa typy eketrod sprawdziły się bardzo dobrzew pomiarach, których dokonywaliśmy. Używaliśmypięciu elektrod – po dwie na jeden kanał różnicowy ijedna na elektrodę DRL (potencjał odniesienia). Choćelektrody grzybkowe wymagają czepka, to można jestosować nawet po delikatnym zwilżeniu, natomiastelektrody miseczkowe obowiązkowo wymagają zastoso-wania niedrogiej pasty 1020, są więc w pewnym stop-niu od niej zależne. Dodatkowo, elektrody miseczkowena stałe związane są z przewodem i wtykiem pomia-rowym, co może utrudniać zmianę ich położenia napowierchni głowy. Elektrody grzybkowe podłączanesą osobnym przewodem zakończonym zasiskiem kroko-dylkowym, dzięki czemu można łatwo zmienić podłą-czenie przewodu sygnałowego a nawet samej elektrody.Niestety w obydwu przypadkach elektrody podłączanebyły przewodem nieekranowanym, co znacznie utrud-niało pomiar wprowadzając znacznej apmplitudy za-kłócenia z sieci enegetycznej po podłączeniu przewo-dów do urządzenia pomiarowego.

7

Page 8: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

2 Oprogramowanie

2.1 Otwarte programyBCI/Neurofeedback (Tomasz Ce-dro)

Niniejszy rozdział zawieta opis kilku otwartych rozwią-zań składających się na ogólnodostępne systemy BrainComputer Intreface. Urządzenia przedstawione poni-żej są absolutnie minimalnym kosztem jaki należy po-nieść chcąc prowadzić badania w tej dziedzinie i najczę-ściej sprowadzają się wyłącznie do ceny podzespołówelektronicznych, przewodów i elektrod. Oprogramowa-nie jest zwykle darmowe, czasami ograniczone licen-cją na wykorzystanie komercyjne, do niektórych pro-gramów dostępny jest kod źródłowy. Nie jest to anisprzęt ani oprogramowanie wykorzystywane w profe-sjonalnych laboratoriach, ale pozwala na wstępne za-poznanie się z praktycznymi aspektami pomiarów (orazproblemami do pokonania). Na takich właśnie roz-wiązaniach bazują nasze badania, a ich główną zaletąjest możliwość współpracy pomiędzy różnymi progra-mami/urządzeniami lub stworzenie takiej możliwościdzięki otwartej architekturze.

2.1.1 BCI2000

BCI2000 [27] to chyba najbardziej znane zintegro-wane środowisko programistyczne do badań nad BCIdla systemu Windows, choć ograniczone licencją dozastosowań niekomercyjnych, którą należy podpisaćaby uzyskać dostęp do programu i kodu źródłowego.Dobrze udokumentowane w centralnym repozytoriumWiki [28] i sprawdzone przez różne grupy badawcze nacałym świecie stanowi świetną podstawę do stawianiapierwszych kroków, a nawet wykorzystania gotowychprzykładów (prosta gra neurofeedback, pisanie tekstuz wykorzystaniem potencjału P300, wybieranie koloro-wego pola, itp.).

W rzeczywistości BCI2000 to cały zestaw programówi narzędzi programowych służących do analizy i prze-twarzania danych zarówno w czasie rzeczywistym jaki „offline” z pliku. Programy narzędziowe przeważniepomagają w analizie wyników, natomiast sam systemskłada się z osobnych programów wymieniających mię-dzy sobą dane poprzez gniazda sieciowe (socket). Za-sadnicze cztery moduły programu, które mogą być uru-chomione z pliku wsadowego lub aplikacji okienkowejBCI2000Launcher (rys.16) to:

Rysunek 16: Program uruchamiający moduły systemuBCI2000.

• Source – źródło danych EEG, może być dedyko-wanym sterownikiem do własnego urządzenia lubistniejącym modułem do standardowej aparaturypomiarowej.

• Signal Processing – moduł w którym następujeprzetwarzanie sygnałów.

• User Application – jest programem użytkownika,w którym wybrany element może być sterowanysygnałem z poprzedniego modułu.

• Operator – steruje pracą trzech poprzednich mo-dułów, pozwala na wczytanie/zapisanie konfigura-cji środowiska pomiarowego lub samego pomiaru.

Sesja pomiarowa zwykle składa się z wczytania pa-rametrów doświadczenia z zewnętrznego pliku (aby nieustawiać ich od nowa za każdym razem) oraz „pró-bach” w których odbywa się sam pomiar (3..5 minutkażda, powtarzanych po ponownej aktywacji przyci-skiem Resume na konsoli operatorskiej modułu Ope-rator). Wyniki zapisane na dysku można w czasie póź-niejszym analizować dodatkowymi programami (np.BCI2000Viewer).

Dla ułatwienia zadania w testowaniu aplikacji ist-nieje możliwość podłączenia kursora myszy jako wej-ścia sygnału symulującego aktywność mózgu. Sampomiar sygnału EEG jest dosyć złożony, podatny nazakłócenia i wymaga wielu (kilkunastu) odprowadzeń,przy czym my dysponowaliśmy dwoma, dlatego ten ro-dzaj symulacji bardzo pomógł nam w przeprowadzeniueksperymentów, a nawet stworzeniu własnej aplikacji –gry sterowanej (docelowo) myślami.

Dalsze badania sprowadzą się do skompletowaniaaparatury pomiarowej EEG i pełnego wykorzystaniapotencjału systemu odbierając czysty sygnał z kilku-nastu odprowadzeń.

8

Page 9: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

2.1.2 Własna aplikacja użytkownika w syste-mie BCI2000 (Piotr Tąkiel, Tomasz Ce-dro)

Postanowiliśmy rozpoznać system BCI2000 od stronyprogramowej tworząc prostą grę, która mogłaby byćsterowana myślami, a przykładem takiej gry jest pi-łeczka skacząca w trójwymiarowym tunelu przemiesz-czającym się nieustannie do przodu (pierwowzorem jestgra Yoomp na 8-bitowy komputer Atari).

Rysunek 17: Gra stworzona przez Piotra Tąkielado współpracy w czasie rzeczywistym z systememBCI2000.

Gra stworzona została w oparciu o Podręcznik Pro-gramisty BCI2000 [29] oraz bibliotekę graficzną SDL[30], co pozwala na jej łatwe przeportowanie dla sys-temów Unix (w nowej odsłonie BCI2000 będzie wielo-platformowa). Tuż po uruchomieniu gra daje się ste-rować klawiszami kursorów, ale również oczekuje naprzychodzące pakiety z modułu Operatora BCI2000,a kiedy taki pakiet zostanie wykryty sterowanie od-bywa się również z programu BCI2000. Najłatwiej jestprzetestować program podłączając myszkę jako wejściesygnału EEG – odpowiedni plik z konfiguracją zostałzałączony do programu.

2.1.3 OpenEEG NeuroServer

Neuroserver [32] to część projektu OpenEEG, którama zapewnić dostęp do danych pomiarowych z urzą-dzenia niezależnie od platformy czy systemu docelo-wego, a taką możliwość obecnie zapewniają gniazdasieciowe (sockety BSD). Ponieważ sterownik oraz for-mat danych może być różny, fizyczne podłączenie urzą-dzenia do komputera również, to NeuroServer stanowipewien pomost pomiędzy urządzeniem a programem.Neuroserver posiada dodatkowo zewnętrzny, wolnosto-jący sterownik specyficzny dla wybranego urządzenia,który odbiera dane z fizycznego portu fizycznego urzą-dzenia, dane ze sterownika są następnie przesyłane do

serwera, a stamtąd mogą być pobrane przez dowolnyprogram łączący się pod wskazany adres sieciowy stan-dardowym protokołem – czy to komputera lokalnegoczy też dowolnej maszyny sieci internet.

Wiele programów wykorzystuje ten rodzaj połącze-nia z urządzeniem pomiarowym, ponieważ programnie musi być uruchamiany na komputerze do któregopodłączone jest urządzenie pomiarowe, a programistanie musi pisac własnego sterownika, jedynie odbieragotowe dane pomiarowe. Wykorzystanie mechanizmugniazd sieciowych to bardzo przyjazny i skuteczny spo-sób na wymianę danych, ponieważ może być zastoso-wany w dowolnym medium komunikacji jako warstwawyższa, zwalniając konstruktora z konieczności opro-gramowania niskopoziomowych sterowników zastoso-wanej magistrali.

Warto również wspomnieć, że tego typu rozwiąza-nie sprzyja zdecydowanie prototypowaniu, gdyż za-miast sterownika prawdziwego urządzenia można pod-łączyć sterownik programowy generujący zadane prze-biegi wzorcowe niezbędne do testowania aplikacji (np.tak jak w przypadku BCI2000 gdzie sygnał generowałruch myszki).

2.1.4 BrainBay

Rysunek 18: Koncepcja systemu Brain Bay.

BrainBay [31] to otwarta modularna aplikacja stwo-rzona do współpracy z systemami OpenEEG, Modula-rEEG oraz MonolithEEG, oferująca funkcje Neurofe-edbacku poprzez graficzne składanie bloczków (podob-nie jak w wizualnych środowiskach pomiarowych czysyntezatorach muzycznych). Dane z urządzeniami wy-mieniane są poprzez NeuroServer [32] a więc gniazdasieciowe (sockety), co zapewnia kompatybilność z in-nymi rozwiązaniami zgodnymi z systemem OpenEEG.

Generacja obrazu, dźwięku, a nawet gier sterowa-nych sygnałem EEG jest stosunkowo łatwa i dydak-tyczna, ponieważ polega na łączeniu wirtualnymi prze-

9

Page 10: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 19: BrainBay w akcji.

wodami wirtualnych urządzeń na ekranie komputera,co pozwala na swobodne ekperymentowanie z różnymiblokami funkcjonalnymi, pokazuje też wyraźnie struk-turę badanego systemu. Jest to zdecydowanie najlep-szy program do praktycznej nauki przetwarzania sy-gnałów, a w dodatku otwarty, darmowy i z dostępnymkodem źródłowym.

2.1.5 OpenViBE

OpenViBE [34] z kolei jest europejskim (francuskim)projektem rozpoczętym w 2006 roku, nakierowanym nainterakcję aktywności mógu w rzeczywistości wirtual-nej – jak sama nazwa wskazuje „Open Virtual BrainEnvironment”. Licencja LGPL [37] pozwala na czę-ściowe zamykanie rozwiązań stworzonych z użyciemtych narzędzi zapewniając jednocześnie kod źródłowydo systemu (część komponentów objęta jest licencjąGPL [36] i nie może być zamknięta). Oprogramowaniedziała w systemach Windows i Linux, może być skom-pilowane za pomocą GCC a więc jest duża szansa nawspółpracę z innymi systemami operacyjnymi w raziepotrzeby.

Ponieważ program może działać w systemach in-nych niż Windows, jest również pozbawiony wad i pro-blemów jakie napotkaliśmy podczas uruchamiania na-szych prostych urządzeń pomiarowych opartych o portszeregowy, przez co system Windows traktował naszeurządzenie jako mysz systemową często uniemożliwia-jąc wykonanie pomiarów i doświadczeń. Dlatego wła-śnie podczac prototypowania ważne jest aby mieć kon-trolę nad sprzętem i unikać systemów, które rzekomosą mądrzejsze od użytkownika.

Projekt rozwija się prężnie i zapewnia wszystkie pod-stawowe funkcjonalności akwizycji, przetwarzania, eks-trakcji, klasyfikacji, prezentacji wyników (aplikacje, wi-

Rysunek 20: P300 Speller w OpenViBE (aplikacja wy-pisująca tekst myślami).

Rysunek 21: Wizualizacja aktywności źródeł sygnałuw mózgu.

zualizacje) a nawet połączenia z zewnętrznymi aplika-cjami przez Virtual Reality Peripherial Network.

Lista obsługiwanych urządzeń EEG jest na prawdęimponująca i zawiera ponad 11 rodzin urządzeń, przyczym kolejne są w trakcie opracowania. Można śmiałopowiedzieć, że jest to wschodząca gwiazda w europej-skich badaniach nad otwartą architekturą BCI, a dziękiswoim możliwościom i całkowicie otwartej architektu-rze przewyższa nawet BCI2000 (objęte mimo wszystkorestrykcyjną licencją).

W naszym Kole Naukowym Cybernetyki są już osobyzainteresowane dokładnym zgłębieniem możliwości sys-temu OpenViBE, a więc w najbliższym czasie możnaspodziewać się kolejnych rezultatów i wyników badań– potrzebujemy jednak więcej sprzętu pomiarowego(głównie wielokanałowe EEG z odpowiednimi elektro-dami) aby móc wykonać pomiary.

10

Page 11: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

2.2 Sztuczne sieci neuronowe w anali-zie sygnału EEG (Krzysztof Choj-nowski, Janusz Frączek, GrzegorzLeszek)

2.2.1 Cel pracy

Celem tej części projektu była próba samodzielnegostworzenia i wykorzystanie sztucznych sieci neurono-wych do analizy zebranego wcześniej sygnału EEG.Analiza ta polegała na klasyfikacji sygnały, w zależ-ności od stanu w jakim znajdowała się osoba, poddanabadaniu EEG.

Rysunek 22: Pomiar EEG stanowi wejście dla sztucznejsieci neuronowej.

Do tego zadania zastosowano podstawową strukturęsieci neuronowych typu MLP, czyli wielowarstwowegoperceptronu. Sieć trenowano metodą wstecznej propa-gacji błędu z wykorzystaniem algorytmu największegospadku.

2.2.2 Wprowadzenie

Sztuczna sieć neuronowa jest strukturą wzorowaną nabudowie ludzkiego układu nerwowego. Składa się ona zpołączonych ze sobą sztucznych komórek nerwowych –neuronów. Wykorzystując model matematyczny, prze-twarza ona sygnały wejściowe, dając w rezultacie od-powiedź na swoim wyjściu.

Obecnie używa się wiele modeli sztucznych neuro-nów, wzorowanych na rzeczywistych komórkach ner-wowych. Każdy z modeli odwzorowuje pewne cechystrukturalne i funkcjonalne ludzkich neuronów.

Sztuczne sieci neuronowe, są zdolne do odwzorowy-wania złożonych funkcji, dzięki nieliniowemu charakte-rowi neuronów. Ich największą zaletą jest możliwośćuczenia się. Dzieje się to przez gromadzenie danych,pokazujących, jak wygląda poszukiwana zależność. Natej podstawie sieć automatycznie konstruuje nieznanemodele.

W zależności od typu rozwiązywanego problemu wy-korzystuje się różne algorytmy uczenia sieci neurono-

wych. Mogą to być na przykład algorytmy gradientowedo zadań predykcji i klasyfikacji, lub algorytm WTA docelów grupowania danych.

2.2.3 Model neuronu

Sztuczny neuron jest podstawową jednostką każdejsztucznej sieci neuronowej. Podobnie jak neuron rze-czywisty, jego sztuczny odpowiednik może posiadaćwiele wejść i jedno wyjście. Jego zadanie, w ogól-nym przypadku, polega na. pobraniu danych wejścio-wych, obliczeniu na ich podstawie liniowego pobudze-nia neuronu, obliczeniu wartości funkcji aktywacji i po-daniu odpowiedzi na swoim wyjściu. W pracy wyko-rzystano model neuronu przedstawiony schematyczniena rysunku 23.

Rysunek 23: Model pojedynczego neuronu. si – pobu-dzenie neuronu, f(s) – funkcja aktywacji, xn – wejścianeuronu, wn – wagi, θ – polaryzacja.

Na wejścia neuronu podawany jest wektor x. Na-stępnie wyznaczane jest wyjście części liniowej neuronupoprzez obliczenie iloczynu skalarnego wektora wejścio-wego x, zwanego wektorem cech, z wektorem wag woraz zsumowanie tego iloczynu z wartością progu θ,zwanego także polaryzacją. Suma ta podawana jest nawejście funkcji aktywacji. Wartości wag i polaryzacjizmieniane są podczas uczenia neuronu.

Funkcja aktywacji w perceptronie pełni zwykle rolęprzekształcenia nieliniowego. W niniejszej pracy wyko-rzystano neurony o liniowej (równanie 1) oraz sigmo-idalnej (równanie 2) funkcji aktywacji.

f(x) = x (1)

f(x) =1

1 + e−x(2)

2.2.4 Struktura sztucznej sieci neuronowej

Do realizacji zadania wykorzystano strukturę sieciprzedstawioną na rysunku 24. Warstwy ukryte skła-dały się z neuronów sigmoidalnych, natomiast na wyj-ściu sieci znajdowały się neurone liniowe, których wyj-ścia stanowiły wyjścia sieci neuronowej.

11

Page 12: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 24: Sieć wielowarstwowa o systemie połączeńzupełnych typu feed–forward.

2.2.5 Uczenie sieci

Sieć neuronowa była uczona z nauczycielem, metodąwstecznej propagacji błędu, której algorytm przedsta-wia rysunek 25 i 26, natomiast modyfikacja wag zacho-dziła według algorytmu najszybszego spadku (równa-nie 3).

Rysunek 25: Schemat blokowy algorytmu wstecznejpropagacji błędu – algorytm przyrostowy.

wkij(n + 1) = wk

ij(n) + 2ηδki (n)xk

j (n) (3)

, gdzie:

• wkij – waga j–tego wejścia i–tego neuronu w war-

stwie k–tej,

• η – współczynnik uczenia przyjmujący wartości zzakresu (0; 1),

• xkj – oznacza j–te wejście neuronu w warstwie ki-

tej.

Wartość δki jest wyznaczana następująco:

δki (n) = εk

i (n)f ′(ski (n)) (4)

, gdzie:

• ski – wyjście liniowe neuronu i–tego, warstwy k–tej,

• f ′() – pochodna funkcji aktywacji.

Wartość ε , zależy od numeru analizowanej warstwy ijest wyznaczana inaczej w przypadku warstw ukrytychi warstwy wyjściowej:

εLi (n) = di(n)− yi(n) (5)

εki =

εL

i (n) , k = L∑Nk+1m=1 = δk+1

m (n)wk+1mi (n) , k < L

(6)

W algorytmie wstecznej propagacji błędów kluczowąrolę spełnia współczynnik uczenia. Jeżeli przyjmuje onzbyt dużą wartość, minimum globalne funkcji błędumoże nie zostać nigdy osiągnięte, natomiast wartośćzbyt mała prowadzi do znacznego wydłużenia czasupotrzebnego na uczenie sieci, lub do zatrzymania al-gorytmu w minimum lokalnym.

Rysunek 26: Schemat blokowy algorytmu wstecznejpropagacji błędu – algorytm grupowy.

12

Page 13: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Jako danych uczących używano wyników transfor-maty Fouriera przebiegu czasowego o określonej dłu-gości. Sieć posiadała 35 wejść, co odpowiadało trzy-dziestu pięciu prążkom widma częstotliwościowego zzakresu od 0 Hz do 50 Hz. Sygnały zbierane były wróżnych stanach osoby poddanej badaniu, lub po za-prezentowaniu jej różnych bodźców wzrokowych.

2.2.6 Wyniki i wnioski

W wyniku przeprowadzonych dotychczas prac stwo-rzono sieć neuronową będącą w stanie wykryć, czy oczybadanej osoby są otwarte, czy zamknięte na podstawiesygnału EEG zebranego z potylicy. Sieć neuronowapełni wówczas role klasyfikatora sygnałów.

(a) oczy zamknięte

(b) oczy otwarte

Rysunek 27: Zrzut ekranu z autorskiego programusztucznej sieci neuronowej wykrywającej otwarcie lubzamknięcie oczu na podstawie sygnału EEG pobiera-nego w czasie rzeczywistym od pacjenta.

Stwierdzono, że niezbędne jest uczenie sieci neuro-nowej indywidualnie dla każdej z badanych osób, abymożliwa była poprawna klasyfikacja sygnału.

W dalszej części prac planowane jest rozszerzenie za-stosowania sieci neuronowych na klasyfikację sygnałówEEG będących odpowiedzią na prezentowane bodźcewzrokowe oraz słuchowe.

2.3 Tworzenie sterowników własnychurządzeń w Matlab (Tomasz Ce-dro)

2.3.1 Wstęp

Matlab [21] jest jednym z najpotężniejszych kompute-rowych narzędzi obliczeniowych stosowanych we współ-czesnej nauce. Poza prostotą użycia oferuje nieskoń-czone możliwości rozbudowy za pomocą tzw. tool-box’ów. Matlab może być wykorzystany w niemal każ-dej dziedzinie nauki, nam jednak przyda się do budowa-nia i weryfikacji teoretycznych modeli opisujących rze-czywiste zjawiska nas interesujące, głównie związanychz sygnałami EEG. Aby jednak to było możliwe musimynauczyć się pozyskiwać dane z fizycznych urządzeń dowirtualnego świata Matlaba, czy to za pomocą istnie-jących już narzędzi, czy raczej własnych sterownikówi programów. Celem tego projektu jest rozpoznaniedostępnych juz metod pozyckiwania danych, ich roz-budowy lub tworzenia alternatywnych rozwiązań.

Warto również wspomnieć, że Matlab nie jest jedy-nym programem służącym do modelowania matema-tycznego – dostępne są również jego darmowe odpo-wiedniki Open–Source jak Octave [22] czy SciLab [23] –choć nie tak potężne i bogate w możliwości rozbudowy,stanowią dobrą podstawę do legalnej pracy badawczej,a ninejszy opis odnosi się również to tych programów.Nie każdy, zwłaszcza student, może pozwolić sobie nazakup oryginalnej licencji, dodatkowych modułów pro-gramowych i sprzętowych do własnych badań. Jak sięz resztą okaże, takie drogie i komercyjne rozwiązanienie zawsze są rozwiązaniem problemu badawczego – aw tym konkretnym przypadku jest to konstrukcja wła-snego systemu pomiarowego i weryfikacji jego pomia-rów, a także dalsza obróbka danych.

2.3.2 Data Acquision Toolbox

Data Acquision Toolbox [24] jest zestawem narzedzi dotransferu danych z przyrzadow pomiarowych. Niestetydziala tylko pod windows, jako ze bazuja na COM iATL.

Bardzo dobrym dokumentem dla developerow chca-cych napisac sterownik dla wlasnego urzadzenia jestdokument Data Acquision Toolbox Adaptor Kit User’sGuide [25].

2.3.3 Instrument Control Toolbox

Instrument Control Toolbox [26] zapewnia komunika-cję z urzadzeniami pomiarowymi, głównie po magi-strali GPIB (IEE-488/IEC-625), VISA, TCP/IP. Po-zwała sterować urządzeniami pomiarowymi. Pozwalawysyłać oraz odbierać dane binarne oraz tekstowe,synchronicznie oraz blokowo. Zapewniony zestaw m-funkcji użytkownika wykorzystuje do wymiany danych

13

Page 14: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

adaptery (Interface Driver Adaptors), a te z kolei ba-zują na zewnętrznych sterownikach sprzętu dostarczo-nych przez producenta danego urządzenia. Umoż-liwia komunikację/sterowanie na poziomie pojedyń-czych funkcji/instrukcji oraz bardziej automatycznychobiektow (Interface Objects) posiadających odpowied-nie atrybuty, działających zdarzeniowo.

Warstwę komunikacyjną tworzą adaptery (IntrefaceDriver Adaptors) dostarczające dane do m-funkcjiużytkownika. Adaptery do komunikacji z urządzeniamiwykorzystują sterowniki (drivery). Pełną listę adap-terów oraz sterowników obsługiwanych przez system,wraz z dodatkowymi informacjami można uzyskać wy-wołując komendę instrhwinfo. W standardzie do-stępne są następujące adaptery:

• GPIB

• Serial (port) (także Linux)

• TCP/IP (także Linux)

• UDP (także Linux)

• VISA

Obsługiwane są dwa typy sterowników:

• VXIplug&play Drivers - (instrhwinfo visa)

• IVI Drivers - (instrhwinfo ivi)

Matlab Instrument – pełni rolę "tłumacza". Pozwalana pewną translację danych odbieranych oraz wysyła-nych do urządzenia i jest włączany pomiędzy zestawfunkcji dostępnych użytkownikowi a funkcje komunika-cyjne urządzenia. Można wykorzystac ’Instrument Dri-ver Editor’ do tworzenia Driverów o podobnej struktu-rze działania w przypadku gdy potrzebujemy sterow-nika podobnego do istniejącego już.

Instrument Control Toolbox nie zapewnia sterowni-ków do urządzeń poza standardem obsługiwanych ma-gistral. (Prwadopodobnie?) Nie ma frameworku aniinstrukcji umożliwiajacych dodawanie własnych ste-rowników.

2.3.4 Własne sterowniki

Powstaje pytanie czy można dowolnie rozbudowaćśrodowisko o własne sterowniki własnego urządzenia,które mogłoby pracować niezależnie od platrofmy naktórej uruchamiany jest Matlab? Odpowiedź jest oczy-wiście twierdząca :-)

2.3.5 Jak stworzyć własny sterownik urządze-nia w Matlabie?

Tworząc nowe urządzenia czy systemy o dużym stop-niu zaawansowania, musimy posiadać mechanizm we-ryfikacji wyników, którym może być MATLAB. Aby

przesyłać dane do matlaba, można wykorzystać gotowetoolbox’y które obsługują jedynie standardowy sprzętlub napisać własny sterownik – co daje większe możli-wości w dostosowaniu metody do potrzeb, nie wymagateż żadnych dodatkowych licencji.

Matlab nie tylko potrafi generować kod wykony-walny na podstawie swoich m-plików (toolbox compi-ler), ale również wykorzystywać zewnętrzne programyczy biblioteki (o czym można poczytać w dziale Ęxter-nal Interfaces"podręcznika pomocy) do wykonywaniapotrzebnych operacji. Niemalże nieograniczone możli-wości wymiany danych oraz sterowania zewnętrznymiaplikacjami dają:

• obsługa zewnętrznych bibliotek dynamicznych(so/dll)

• wywoływanie zewnętrznych procedur języka C lubFortran z poziomu plików MEX

• tworzenie od podstaw własnych plików MEX wjęzyku C lub Fortran

• eksportowanie/importowanie danych przy użyciuplików MAT

• wykorzystywanie elementów składowych matlabaw programach C lub Java

Konstruktorów interesuje głównie stworzenie ze-stawu funkcji umożliwiających konfigurację oraz wy-mianę danych z urzadzeniem, co można rozwiązać nadwa sposoby - plik MEX (dedykowany jedynie dla ma-tlaba) lub bibliotekę dynamiczną. MEX to zestawdynamicznie linkowanych procedur, stworzonych w ję-zyku C lub Fortran, które mogą być wywołane bezpo-średnio w wiersza poleceń interpretera matlaba. Stwo-rzenie biblioteki dynamicznej daje możliwość wykorzy-stania jej również w innych programach - jest to bar-dziej uniwersalne a wiec preferowane ópakowanieńaszejfunkcjonalności. Dokładny opis znajduje się w dziale"MATLAB Interface to Generic DLLs"podręcznika po-mocy. Interfejs matlaba do bibliotek dynamicznych

Funkcje umieszczone w bibliotekach dynamicznychmogą być załadowane do pamięci matlaba i stać siębezpośrednio dostępne z wiersza poleceń inerpretera.W większkości przypadków konwersja typów odbywasię automatycznie (na format matlaba). Można rów-nież używać bibliotek dynamicznych stworzonych w in-nych językach niż C, ale interfejs biblioteki musi byćzgodny z językiem C.

2.3.6 Obsługa bibliotek dynamicznych

Otwieranie biblioteki: Aby mieć dostęp do da-nych zawartych w bibliotece, należy ją wczytaćpoleceniem loadlibrary(’nazwa_biblioteki’,’nazwa_pliku_naglowkowego’), gdzie:

14

Page 15: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

nazwa_biblioteki to nazwa pliku z bibliotekądynamiczną (so/dll), w której zawarte są interesującenas funkcje, nazwa_pliku_naglowkowego to nazwawymaganego pliku nagłówkowego zawierającegoprototypy funkcji zawartych w bibliotece.

Zamykanie biblioteki: Aby zamknąć wczytanąuprzednio bibliotekę należy wykonać polecenieunloadlibrary nazwa_biblioteki.

Zawartość biblioteki i jej funkcje składowe: Abywyświetlić funkcje zawarte w bibliotece należy wyko-nać polecenie libfunctions(’nazwa_biblioteki’).Wynikiem jest tablica tekstowa z nazwami funkcji,libfunctionsview(’nazwa_biblioteki’) to nazwyfunkcji wyświetlone są w tabelce w nowym oknie.Do wspomnianych funkcji można dodać przełącznik-full, który wyświeli dodatkowe informacje o funk-cjach, na przykład ich parametry wraz z typami da-nych.

Wywoływanie funkcji: Do wykonywa-nia funkcji bibliotecznych służy funkcjacalllib(’nazwa_biblioteki’, ’nazwa_funkcji’,arg1, ..., argN), gdzie nazwa_biblioteki tonazwa otwartej uprzednio biblioteki, nazwa_funkcjito nazwa interesującej nas funkcji, arg1,..,argN tolista parametrów funkcji. Pełną specyfikację funkcjimożna znaleźć w podręczniku pomocy.

2.3.7 Przykład

Przykład składa się z trzech funkcji. Dwie z nich zwra-cają łancuch znaków tekstowych jako wynik wykona-nia, a trzecia służy do dodawania dwóch liczb. Funkcjete mogą łatwo zostać zastąpione zestawem instrukcjisterujących rozwijanym urządzeniem.

Plik nagłowkowy test.h:

char* test();char* test2();int test_add(int a, int b);

Plik źródłowy test.c:

#include "test.h"

char* test()return "test function 1 result\n";

char* test2()return "test function 2 result\n";

int test_add(int a, int b)return a+b;

Kompilacja: gcc -shared -o test.so test.c

Uruchomienie w matlabie: Zmieniamy aktualny ka-talog na ten, w którym znajduje się nasza skompilo-wana biblioteka, a następnie wykonujemy:

>> loadlibrary test.so test.h>> calllib(’test’, ’test’)

ans =test function 1 result

>> calllib(’test’, ’test2’)

ans =test function 2 result

>> calllib(’test’, ’test_add’)??? Error using ==> calllibNo method with matching signature.

>> calllib(’test’, ’test_add’, 1, 2)

ans =3

>> unloadlibrary test

2.3.8 Podsumowanie

Przedstawiona metodologia stwarza możliwość opraco-wania, realizacji i weryfikacji wybranego modelu mate-matycznego w bardziej zaawansowanych pracach nadBrain Computer Interface, ale także szeroko pojętymmodelowaniem matematycznym i przetwarzaniem sy-gnałów (niekoniecznie biologicznych) pochodzących zurządzeń własnej konstrukcji. Rozwiązanie zwalnia zobowiązku zakupu kosztownej aparatury pomiarowej ilicencji programowych dramatycznie redukując kosztybadań. Co więcej, zastosowanie otwartych narzędziOpenSource, kosztem nieco większego nakładu pracy iczasu, daje dokładną kontrolę nad tworzonym rozwią-zaniem, wymusza znajomość szczegółów. W rezulta-cie powstaje kompletne i spójne rozwiązanie bardziejświadomego konstruktora i badacza aniżeli jest to wprzypadku rozwiązań typu „kliknij-i-zapomnij”.

2.4 Brain Computer Interface OpenProtocol (Tomasz Cedro)

Niniejszy rozdział opisuje pierwszy darmowy i w pełniotwarty protokół wymiany informacji z urządzeniamitypu Brain Computer Interface. Ponieważ istniejewiele ośrodków badawczych na świecie pracujących jużnad rozwiązaniami BCI stosując zamknięte i komer-cyjne rozwiązania, a istniejące dotychczas otwarte pro-tokoły projektu OpenEEG nazwane P2 i P3 pozwalająwłaściwie na podstawową transmisję danych wyłącznie

15

Page 16: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

od urządzenia pomiarowego do komputera, postanowi-łem stworzyć Brain Computer Interface Open Protocol.

Protokół tego typu pozwoli na jego implementacjęw najróżniejszych urządzeniach pomiarowych, pozwa-lając na dwukierunkową transmisję i pełne sterowaniebadanym systemem, a przede wszystkim na spójną wy-mianę danych pomiędzy różnymi systemami pomiaro-wymi i zespołami badawczymi w celu porównania wy-ników czy dalszego przetwarzania. Projekt został roz-poczęty w ramach mojej pracy dymplomowej (projekti prototyp) inżynierskiej [16] i będzie zakończony w ra-mach pracy dyplomowej magisterskiej [?] w tym roku(pełna implementacja).

BCIOP będzie miał formę biblioteki stworzonej wjęzyku programowania C, ponieważ w chwili obecnejjędzyk C wraz z odpowiednim kompilatorem potrafistworzyć kod wykonywalny na praktycznie każdy pro-cesor, w tym najprostszy mikrokontroler 8-bitowy, wzwiązku z czym będzie możliwość łatwej implemen-tacji w systemach doświadczalnych i eksperymental-nych. Bibliotekę wzbogaci zestaw narzędzi wysokiegopoziomu stworzonych w języku Python, ze względuna swoją przenaszalność, a same narzędzia pomogą wtakich procesach jak wyszukiwanie błędów transmisji,konwersja danych, czy po prostu analiza strumienia da-nych.

Niedawno pojawiła się możliwość rozdzielenia funk-cji biblioteki na absolutnie niezbędne do przesłania da-nych (dla najprostszych mikrokontrolerów, których pa-mięć programu nie przekracza kilku kilobajtów), orazna pełną implementację (dla rozbudowanych systemówwbudowanych, których funkcje będą jednakowe jak dlakomputera sterującego, dzięki czemu sterowanie prost-szymi urządzeniami będzie mogło odbywać się zdalnieprzez system wbudowany i sieć kompuerową). Wpro-wadzając odpowiednią organizację plików nagłówko-wych oraz zawartych w nich symboli, można będzierównież wykorzystać BCIOP jako uniwersalny protokółsterujący urządzeniami protptypowymi, niekonieczniepomiarowymi, poprzez zmianę znaczenia poszczegól-nych poleceń (Tagów).

Szczegółowe informacje dotyczące konstrukcji proto-kołu i pakietów znajdują się w manuskrypcie mojejpracy dyplomowej [16], zapraszam również na stronęinternetową projektu http://bciop.sf.net wkrótcepojawi się tam zaktualiwoany opis i kod źródłowy bi-blioteki.

2.4.1 Konstrukcja Protokołu

Aby zmniejszyć narzut danych kontrolnych względemdanych pomiarowych protokół został oparty o kon-strukcję TLV, czyli każdy pakiet składa się z trzechczęści Tag–Length–Value. Tag determinuje funkcję pa-kietu, Length określa długość danych w oktetach (pacz-kach 8-bitowych), a Value to przesyłane dane.

BCIOP PACKETTAG (T) LENGTH (L) VALUE (V)

1 octet length 1 octet length L octets length

2.4.2 Możliwości protokołu

BCIOP nie dba o adresację lub trasę pakietów –takie zadania powinny załatwić warstwy niższe (np.TCP/IP, USB, itp.). BCIOP może być zastosowanydo eksperymentów i prototypowania, ale także w wer-sji produkcyjnej urządzeń.

Każdy pakiet może być wyprzedzony przez10101010b czyli 0xAA lub osobny pakiet synchronizu-jący, który ma pomóc w synchronizacji i wyszukiwaniubłędów.

Format danych może być zmieniony w trakcie pracy,aby ułatwić ich (de)kompozycję i rzutowanie do odpo-wiedniego typu w programie końcowym lub sterowniku.

Przewidziane są pakiety kontrolne sygnalizującebłędu transmisji lub nieprawidłowy stan urządzenia.W przypadku desynchronicacji transmisji urządzeniezasygnalizuje taki fakt odpowiednim pakietem syn-chronizacji – to może również pomóc i ułatwić automa-tyczne wykrywanie prędkości transmisji lub ponownąsynchronizację łącza.

2.4.3 Przebieg transmisji

Aby rozpocząć połączenie, host przesyła pakietINIT-REQUEST z odpowiednim żądaniem do urządze-nia, a urządzenie odpowiada podobnym pakietemINIT-RESPONSE zawierającym podstawowe informacjeo możliwościach transmisji (np. obsługiwaną wer-sję protokołu). W następnej kolejności format da-nych (pakiet DATA_FORMAT) i znacznik czasu (pakietyTIMESTAMP_FORMAT oraz TIMESTAMP_QUANT) powinienbyć odebrany od urządzenia w celu poprawnej inter-pretacji otrzymanych danych.

W zależności od sprzętu użytego do wykonania urzą-dzenia pomiarowego występować mogą różne formatydanych preferowanych przez dany sprzęt (CPU, ADC,..) – próbka może składać się z 1..4 oktetów, ze zna-kiem lub bez znaku, kodowanych w systemie NKB, U2,Gray, itp. Można więc użyć rzutowania danych albo dotypu wymaganego przez sprzęt pomiarowy, albo nasta-wić sprzęt pomiarowy do wysyłania danych w formiewygodnym dla systemu odbiorczego (o ile sprzęt na topozwoli).

Znacznik czasu jest niezbędny do poprawnej rekon-strukcji sygnału z próbek – istnieje możliwość ustaleniajego wartości i częstotliwości – każda próbka ma więcswój numer, oddzielony ustaloną chwilą czasu, co ni-weluje problem nieprawidłowej kolejności ich odbiorulub retransmisji.

Polecenia podzielone zostały na dwie główne katego-rie:

16

Page 17: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

• Konfiguracja – najstarszy bit Tag ustaiwony na „1”– pozwala na sterowanie urzadzeniami

• Transfer Danych – najstarszy bit Tag ustawionyna „0” – związany z transmisją danych pomiari-wych

Urządzenie lub Host może przesłać pakiet ERRORoznaczający błąd – co może mieć związek z brakieminicjalizacji urządzenia, błędnymi danymi, przepelnie-niem bufora lub innym błędem. Przewidziany zostałnawet specjalny pakiet błędu zawierający komunikattekstowy, a więc sygnalizacja sytuacji wyjątkowych niejest ograniczona. Błędy powinny być informacyjne i niezakłócać transmisji danych o ile nie są krytyczne. Mini-malistyczne urządzenie pomiarowe może wyłącznie sy-gnalizować błąd krytyczny, na co odpowiednio powi-nien zareagować program komputera kontrolnego (Ho-sta). Istnieje również możliwość potwierdzania otrzy-mania pakietu, w celu weryfikacji poprawnej transmi-sji. Zaleca się jednak aby pakiety błędnie skonstru-owane nie powodowały błędów urządzenia pomiaro-wego – taki błąd będzie wykryty przez „timeout”, asystem uniknie zalewania pakietami.

3 Sprzęt

3.1 Elektroniczny system do prowadze-niua treningu Neurofeedback (Ja-nusz Frączek, Agnieszka Małkie-wicz)

Celem pracy było stworzenie kompletnego, ekonomicz-nego systemu przeznaczonego do zbierania i obróbkisygnału EEG w czasie rzeczywistym, które znajdziezastosowanie w treningu neurofeedback. Urządzeniapowstało w Instytucie Systemów Elektronicznych jakopraca inżynierska. Niniejsza praca zawiera przedsta-wienie owych koncepcji, opis uzyskanych wyników oraznakreślenie dalszych perspektyw rozwojowych.

3.1.1 Istota sygnału EEG w treningu Neuro-feedback

Sygnał EEG obserwuje się w postaci zmian poten-cjału elektrycznego na powierzchni skóry głowy. Jegoźródłem jest aktywność neuronów składających się naskomplikowaną sieć – korę mózgową. Procesy myślowemożna zaobserwować, jako rozchodzące się w całej ko-rze mózgowej impulsy elektryczne. Zmiany potencjałuelektrycznego, jako wynik wyżej wymienionych aktyw-ności, zachodzą również na powierzchni skóry głowy.Ich amplituda jest bardzo mała – poniżej 100 [µV ].Nazywamy je sygnałem EEG.

Amplituda sygnały EEG spada wraz ze wzrostemczęstotliwości, a obserwowana częstotliwość rośnie

wraz z przemieszczaniem się instrumentu badawczegood potylicy, ku przodowi czaszki. Medycyna dokonaławyróżnienia, pod względem częstotliwości, następują-cych typów fal mózgowych [11]:

• delta – częstotliwość poniżej 4 [Hz]. Ich obecnośćw stanie czuwania oznacza dysfunkcję mózgu, a wtrakcie snu – jego bardzo głęboką fazę. Obserwujesię korelację ich występowania z wydzielaniem hor-monu wzrostu.

• theta – częstotliwość 4 – 7 [Hz]. Najsilniejszeamplitudy rejestruje się w odprowadzeniach środ-kowych i skroniowych. Charakteryzują senność iwchodzenie w stan nieświadomości. Amplituda ro-śnie, wraz z wchodzeniem w coraz głębszą, począt-kową fazę snu.

• alfa – częstotliwość 8 – 12 [Hz]. Ten rytm uwidacz-nia się najlepiej w stanie rozluźnienia i zamknięciaoczu. Największe amplitudy rejestruje się w oko-licach potylicznych.

• beta – częstotliwość powyżej 13 [Hz]. Obejmująswym występowaniem duży zasięg, głównie jed-nak płaty czołowe. Towarzyszą codziennym ak-tywnościom mózgu, takim jak komunikacja wer-balna, intensywne myślenie logiczne, czy ogólnepobudzenie. W technice biofeedback wyróżnia siętrzy podrodzaje tej aktywności: SMR (13 – 15[Hz]), beta1 (15 – 18 [Hz]) i beta2 (powyżej 18[Hz]).

Typowe odmiany rytmów fal mózgowych prezentujerysunek 28 [8]:

Rysunek 28: Ilustracja reprezentatywnych przebiegówEEG poszczególnych typów [8].

17

Page 18: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

3.1.2 Przetwarzanie sygnału

Jako nieinwazyjną metodę rejestracji stosuje się elek-troencefalografię (EEG). Do skóry głowy pacjentaprzytwierdza się, zwilżone żelem elektrody. Żel sto-suje się w celu obniżenia rezystancji elektroda – skóra.Najczęściej używa się odprowadzeń dwubiegunowych,kiedy to badany jest przebieg zmian różnicy potencja-łów między elektrodami położonymi blisko siebie [11].

Rysunek 29: Szkic koncepcji rejestracji EEG, z zastoso-waniem dwubiegunowych odprowadzeń. Widok z góryna głowę pacjenta [11].

Zobrazowana na rysunku 29 metoda rejestracji, po-zwala na częściową eliminację zakłóceń, które biorą sweźródło z sieci energetycznej lub z organizmu samegopacjenta, takie jak sygnał EKG lub artefakty pocho-dzące z ruchów mięśni (EMG). Niepożądane sygnałyindukują się synfazowo na każdej parze odprowadzeń, ainteresujący nas sygnał EEG, zbierany jest różnicowo.Miejsce podłączenia elektrod należy wybrać w zależ-ności od tego, który fragment kory mózgowej stanowiprzedmiot badań oraz które rodzaje fal należy poddaćobserwacji [11].

3.1.3 Wymagania

Skonstruowane urządzenie, jako sprzęt bezpośredniointegrujący mózg z komputerem i rejestrujące sygnało amplitudzie poniżej poziomu zakłóceń, spełnia sze-reg wymagań, w tym najbardziej rygorystyczne normybezpieczeństwa [8] [10] [13] [14]:

• oporność elektrod musi byś mniejsza niż 5 [kΩ]

• rezystancja wejściowa wzmacniacza większa niż100 [MΩ]

• czułość na poziomie 5 [µV ]

• różnicowy odbiór sygnału i jak najwyższe tłumie-nie składowej sumacyjnej CMRR – powyżej 80[dB]

• najwyższy typ ochrony pacjenta – CF („cardiacfloating”). Bariera galwaniczna zabezpiecza przed

przepięciami do 5 [kV] i ogranicza prąd upływupacjenta do 10 [µA], a w wypadku awarii do 50[µA].

• 12 bitowy przetwornik ADC

• częstotliwość próbkowania 80 [Hz]

• przynajmniej 2 kanały

• analiza sygnału w czasie rzeczywistym

• prezentacja informacji zwrotnej w czasie mniej-szym niż 0.5 [s] od pojawienia się reakcji bioelek-trycznej mózgu

3.1.4 Przykłady zastosowań

W ogólności biofeedback to trening kontroli samore-gulującego się systemu za pomocą biofizjologicznegosprzężenia zwrotnego. Ową definicję przedstawia po-niższy obrazek 30:

Rysunek 30: Zasada działania biologicznego sprzężeniazwrotnego [12].

System akwizycji mierzy wybrany parametr fizjolo-giczny i na bieżąco prezentuje jego zmiany. Może tobyć, dla przykładu, powiększanie się piłki na ekranielub skręt jadącego samochodu w określonym kierunku.W ciągu kilku kolejnych takich sesji treningowych pa-cjent uczy się świadomie wpływać na określony para-metr fizjologiczny, taki jak impedancja skóry, tempera-tura ciała lub częstotliwość fal mózgowych. Kiedy pa-rametrem jest EEG, wtedy mamy do czynienia z neu-rofeedback’iem.

Dany typ fal jest silnie skorelowany z konkretnymstanem umysłu. Człowiek może, do pewnego stopnia,wyćwiczyć świadomą kontrolę nad generacją określo-nych częstotliwości, a więc wprowadzić mózg w okre-ślony tryb pracy, taki jak intensywne logiczne myślenielub abstrakcyjne fantazjowanie w stanie głębokiego re-laksu.

Na prawdziwości powyższych dwóch tez opiera siępraktycznie cała celowość stosowania treningu neuro-feedback. Pole zastosowań, jakie znajdują tego typu

18

Page 19: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

urządzenia jest tak rozległe, jak mnogość sytuacji ży-ciowych, w których wymagana jest umiejętność kon-troli własnych emocji i sprawnego wejścia w pożądanystan umysłu, jak choćby rozluźnienie, albo intensywnapraca twórcza. Wystarczy wymienić kilka sfer, w któ-rych zajmują znaczącą pozycję [12] [8] [13]:

• sport – trening koncentracji i wyciszenia w staniewyczerpania

• biznes – podnoszenie sprawności intelektualnej wsytuacjach stresowych, podejmowanie ważnych de-cyzji po uprzednim rozmyślaniu w stanie głębo-kiego relaksu

• kursy wydajniejszego uczenia się, zwłaszcza przedokresem egzaminów

• terapia uzależnień

• terapia nerwic oraz ADHD

• sterowanie rozmaitymi urządzeniami, jak na przy-kład proteza ręki

Neurolodzy często podkreślają brak skutków ubocz-nych – przy treningu pod okiem specjalisty oraz faktpoczucia odpowiedzialności pacjenta za wynik wła-snego leczenia. Chory wie, że droga do wyzdrowieniaw dużej mierze zależy od włożonego przezeń wysiłku.

3.1.5 Koncepcja zbudowanego systemu

Rysunek 31: Schemat ideowy wzmacniacza biologicz-nego [15].

Wzmacniacz biologiczny, który wzmacnia sygnałodebrany z elektrod, zawiera w sobie podstawowe blokifunkcjonalne:

• Elektrody pomiarowe – przez nie urządzenie mastyczność z pacjentem. Działanie ludzkiego sys-temu nerwowego opiera się na przewodnictwie jo-nowym. Na elektrodach następuje przejście z prze-wodnictwa jonowego na elektronowe, w przewo-dzie.

• Układ zabezpieczający – zabezpiecza delikatnyelement elektroniczny, jakim jest wzmacniacz in-strumentalny, przed przepięciami, jakie mogąnastąpić w momencie zetknięcia ze skórą pa-cjenta. Taki układ znajduje się wewnątrz scalo-nego wzmacniacza instrumentalnego.

• Wzmacniacz instrumentalny – zamontowany w po-staci scalonej. Zdecydowano się na układ LT1168firmy Linear Technology. Tworzy on pierwszy inajważniejszy stopień wzmacniający. Najważniej-szy, bowiem od jego parametrów najbardziej za-leżą szumy i zdolność do separacji zakłóceń ca-łego urządzenia. W swojej konstrukcji składa sięz dwóch stopni wzmocnienia i charakteryzuje siębardzo wysokim tłumieniem składowej sumacyj-nej, która indukuje się na pacjencie w postaci za-kłóceń synfazowych. Tłumienie to (CMRR) po-winno być wyższe od 80[dB].

• Sygnał zwrotny – wytwarzany przez wzmacniaczodwracający o wzmocnieniu kilkudziesięciu razy.Wzmacnia, wydobyty ze wzmacniacza instrumen-talnego, synfazowy sygnał zakłóceń i w odwróco-nej fazie kieruje go do pacjenta, poprzez elektrodęDRL. Powoduje to znaczne obniżenie poziomu nie-pożądanych przebiegów, indukujących się na skó-rze z sieci energetycznej.

• Zespół filtrów i dalsze stopnie wzmacniające – za-stosowano dolnoprzepustową filtrację aktywnymfiltrem, przez ustalanie potencjału na wejściu REFwzmacniacza instrumentalnego w zależności odczęstotliwości sygnału. Dodano filtr pasmowoza-porowy, który odcina sieciową składową 50[Hz].Wszystkie filtry aktywne są jednocześnie kolej-nymi stopniami wzmacniającymi. Finalnie urzą-dzenie ma charakterystykę pasmowoprzepustową –rozciągającą się 1 – 30 [Hz], a maksymalne wzmoc-nienie napięciowe dochodzi do 50 000 [V/V].

• Bariera galwaniczna i zasilanie – ze względów bez-pieczeństwa, na wypadek uszkodzenia, koniecz-nym jest oddzielenie części aplikacyjnej (mającejstyczność z pacjentem) od reszty urządzenia, za-silanej z sieci elektrycznej. W zbudowanym ukła-dzie, którego część aplikacyjna czerpie zasilanie zbaterii, zastosowano transoptory oraz oparte natransformatorach – izolatory cyfrowe. Jest to roz-wiązanie bezpieczniejsze od zasilania poprzez bez-pieczną przetwornicę. Przez barierę do komputeraPC, są przekazywane jedynie sygnały cyfrowe. Po-zwoliło to na uniknięcie problemów związanych znieliniowością i wrażliwością na zmiany tempera-tury współczynnika wzmocnienia transoptorów –CTR.

19

Page 20: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

• Mikrokontroler – jego zadanie stanowi sterowaniepracą wzmacniaczy biologicznych i transmisja da-nych do komputera PC. Zastosowano układy firmyFreescale (MCF51AC256).

Charakterystyka częstotliwościowa w skali liniowejwzmacniacza przedstawiona jest na rysunku 33.

Rysunek 32: Charakterystyka częstotliwościowa urzą-dzenia w skali liniowej [15].

3.1.6 Koncepcja interfejsu użytkownika

W urządzeniu postanowiono rozgraniczyć interfejsy, nainterfejs obsługi i interfejs pacjenta. Interfejs pacjentazawiera się w ekranie komputera PC, na którym wy-świetlana jest informacja zwrotna w postaci gry i prze-biegów czasowych. Interfejs obsługi zawiera się w wy-świetlaczu alfanumerycznym LCD i czterech przyci-skach, które służą do wprowadzania nastaw oraz in-formowania o bieżącym stanie urządzenia.

3.1.7 Zdjęcia gotowej konstrukcji

Poniżej zamieszczono zdjęcia zbudowanego urządzeniaoraz jego ciekawsze fragmenty.

3.1.8 Uzyskane wyniki pracy

Stworzono, kompletny aparat EEG dla treningu neuro-feedback, zgodne z międzynarodowymi normami bez-pieczeństwa, który stanowi solidną platformę do ba-dań nad przetwarzaniem sygnału elektroencefalogra-ficznego.

Rozpoczęto analizę sygnału fal mózgowych za po-mocą sztucznych sieci neuronowych. Obecnie systemrozpoznaje, na podstawie przebiegów potylicznych, czyoczy pacjenta są otwarte, czy zamknięte.

Zintegrowano urządzenie z profesjonalnymi progra-mami do obróbki i prowadzenia badań nad sygnałemEEG, jak Brain Bay i BCI2000.

3.1.9 Perspektywy rozwojowe i wnioski

Skonstruowane urządzenie tworzy bardzo dobry jako-ściowo oraz ekonomiczny system, mogący konkurować z

(a) płytka wzmacniacza

(b) układ testowy

Rysunek 33: Płytka wzmacniacza biologicznego orazpołączenie przewodem ekranowanym wzmacniacza zgeneratorem testowym, obydwa zaekranowane.

profesjonalnymi urządzeniami przeznaczonymi do tre-ningu neurofeedback. Dalsze plany rozwojowe przewi-dują badania nad potencjałami wywołanymi. Odnie-siono już pierwsze sukcesy w tej materii – rejestrującwzrokowy potencjał wywołany, po 100 uśrednieniach.

3.2 CeDeROM BCI (Tomasz Cedro)

3.2.1 Opis systemu

Rysunek 34: Schemat blokowy modułu akwizycji sy-gnałów cyfrowych opartego o mikrokontroler rodzinyARM [17].

Wykonany w 2009 roku w ramach pracy dyplomo-wej inżynierskiej cyfrowy moduł akwizycji sygnałów

20

Page 21: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

biologicznych stanowi duży krok w rozpoznaniu otwar-tych metod i narzędzi, które można wykorzystac dostworzenia od podstaw cyfrowej części modularnegosystemu BCI. Urządzenie oparte jest o mikrokontro-ler z rodziny ARM–7 z wbudowanym sprzętowym kon-trolerem USB2.0, a także ośmiokanałowy przetwor-nik analogowo–cyfrowy wysokiej rozdzielczości 24–bit zwejściami różnicowymi. Pracą systemu steruje mikro-system czasu rzeczywistego FreeRTOS [40], a całość zo-stała oprogramowana wyłącznie używając darmowychi otwartych narzędzi GNU [38], w szczególności ich od-mianę przeznaczoną dla mikroprocesorów ARM [39].

Urządzenie może zostać podłączone do dowolnegowzmacniacza sygnałów biologocznych (kompatybilnegoz wejściami ADC) w celu odebrania sygnału analogo-wego, który po zamianie na postać cyfrową w przetwor-niku zostanie zbuforowany i przesłany do komputeraprzez magistralę USB. W komputerze dane odbieradeykowany program wykorzystujący otwartą bibliotekęlibusb [41], a może to być również moduł importującydane do środowiska modelowania numerycznego Ma-tlab lub podobnego (patrz rozdział 2.3).

Rysunek 35: Zdjęcie prototypu modułu cyfrowegoakwizycji sygnałów biologicznych [17].

3.2.2 Możliwośći i ograniczenia

Założeniem organizacyjnym było wykorzystanie wy-łącznie otwartych narzędzi, nawet jeśli trzeba byłobyje stworzyć, a założeniem konstrukcyjnym była bu-dowa modularna – każdy blok funkcjonalny powinienmieć formę modułu i być łatwo wymienialny zapewnia-jąc kompatybilność z pozostałymi elementami systemu.Dzięki takiej organizacji łatwe jest wazjemne porówna-nie różnych rozwiązań technicznych oraz ich wpływ napozostałe elementy systemu, co jest szczególnie istotnepodczas prorotypowania i parametryzacji nowych roz-wiązań.

Zdecydowałem się na wykorzystanie pełnego sprzę-towego bloku do transmisji danych po magistrali USB2.0 bez użycia zewnętrznych układów konwersji USB–

UART, co pozwoliło mi na dokładne zapoznanie sięz budową, organizacją i funkcjonowaniem tej popular-nej magistrali. Zdecydowaną zaletą takiego rozwiąza-nia jest możliwość ukrycia wielu urządzeń logicznychwewnątrz jednego fizycznego systemu mikroprocesoro-wego (podział na interfejsy i źródła danych) – przed-stawione urządzenie posiadało jeden port szeregowyzapewniający konsolę sterującą pracą systemu, orazdedykowany port danych (których może być więcej).Dużą jednak wadą magistrali USB jest problem z ob-sługą po stornie systemu operacyjnego na komputerze,ponieważ różne systemy w różny sposób rozwiązują do-stęp do zasobów USB, a z biblioteką LibUSB stano-wiącą spoiwo transmisji danych przez USB pomiędzytymi systemami również bywają problemy, ponieważwciąż jest rozwijana zawiera błędy, a w czasie two-rzenia rozwiązania (2008) nie posiadała wsparcia dlawydajnej transmisji danych.

Rysunek 36: Organizacja urządzeń w magisrali USB[17].

Ciekawą cechą jaką oferują współczesne systemy mi-kroprocesorowe jest wsparcie dla standardu JTAG,który oferuje dostęp do niskopoziomowych zasobówCPU, pamięci i peryferiów systemu mikroprocesoro-wego. Za pomocą dedykowanego złącza umieszczonegona płytce systemu wbudowanego, specjalnego inter-fejsu JTAG, oraz oprogramowania (w moim przypadkuotwarty program OpenOCD [42]) możliwe jest zapro-gramowanie i debugowanie urządzenia w czasie rzeczy-wistym. Jest to nieoceniona możliwość dla twórcy czydevelopera systemu wbudowanego, szczególnie na eta-pie prototypowania (a nawet tworzenia tak podstawo-wych komponentów systemu jak bootloader).

ARM jest duzą, wciąż rozwijającą się rodziną mi-kroprocesorów produkowanych przez najróżniejszychwytwórców elementów półprzewodnikowych. Programstworzony w języku C może być łatwo przeniesiony zjednego urządzenia na inny, nowszy i bardziej rozbudo-wany układ – potrzebna jest jedynie aktualizacja ste-rowania peryferiów, które mogą się zmieniać pomię-dzy poszczególnymi modelami układów i rekompilacjana wskazany układ. To bardzo ważne, że przenoszącprogram na nowe urządzenie nie trzeba go tworzyć nanowo.

21

Page 22: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Ograniczenia i problemy płynące z implementacjistosu programowego USB zarówno po stronie urządze-nia jak i systemu operacyjnego komputera odbiorczegoskłaniają mnie do zastosowania innego rodzaju magi-strali w dalszych badaniach. Sieć komputerowa Ether-net i dobrze sprawdzony stos TCP/IP wydaje się byćidealnym kandydatem, ponieważ jest stabilny i działana każdym komputerze/systemie operacyjnym, zapew-nia możliwośc pracy zdalnej, a komponenty elektro-niczne dające dostęp mikroprocesorowi do takiej siecisą ogólnodostępne i tanie. Sockety BSD zapewniająrównież możliwość tworzenia wielu urządzeń logicz-nych w ramach jednego systemu wbudowanego, przyczym każda usługa może być przypisana do określo-nego portu, a nawet może korzystać z istniejących jużnarzędzi przyjmując na przykład formę strony interne-towej.

3.3 Serial Wire Debug (Tomasz Cedro)

Rysunek 37: Trwają prace nad stworzeniem otwartegonarzędzia do pracy z układami wyposażonymi w magi-stralę SWD.

SWD (ang. Serial Wire Debug) [45] to nowa alterna-tywa dla niskopoziomowego dostępu do zasobów rdze-nia mikroprocesowa, pamięci i peryferiów, jaki zapew-niał do tej pory głównie standard JTAG [44]. SWDpokonuje w pewnych kwestiach ograniczenia JTAG ijest zaimplementowany w nowych mikroprocesorachARM–Cortex. Wciąż jednak nie ma otwartych narzę-dzi umożliwiających pracę z tego typu magistralą, dla-tego postanowiłem je stworzyć w postaci osobnej bi-blioteki LibSWD [20], która zintegrowana ze znanymiotwartymi programami UrJTAG [43] i OpenOCD [42]pozwoli na tworzenie, programowanie i debugowanieurządzeń z wykorzystaniem tych nowych wydajnych aprzy tym energooszczędnych układów.

Na stronie projektu [19] można śledzić postępy prac– projekt trwa od połowy 2010 i powinien zakończyć

się w połowie 2011. Pomyślne opracowanie narzę-dzi pozwoli na stworzenie przenośnej wersji urządzeniaNFB/BCI bazując na gotowym zestawie ewaluacyjnymStm32Primer2 lub dedykowanym urządzeniu.

3.4 BCI PONG (Tomasz Cedro)

Celem projektu jest stworzenie od podstaw systemuBCI działającego niezależnie od komputera w ukła-dzie FPGA. Projekt jest w trakcie opracowywania ibędzie stanowił bazę dla cyfrowego przetwarzania sy-gnałów w strukturach FPGA w czasie rzeczywistym.Wizualizacja wyników przyjmie postać pierwszej grywideo opracowanej przez Atari w 1972 roku, PONG(rys. 38), która już jest zaimplementowana w układzieXilinx Spartan 3A-DSP.

Rysunek 38: Gra PONG zaimplementowana w ukła-dzie FPGA sterowana będzie elektryczną aktywnościąmózgu.

3.5 SITA i biofeedback (Tomasz Cedro)

System SITA wspomagający naukę języków obcychbazuje na zjawisku Biofeedbacku, a więc sprzężeniuwzrotnym wspomaganym technicznie występującym worganiźmie biologicznym. Urządzenie ma formę okula-rów z wbudowanymi diodami świecącymi, głośniczkiem(wyjściem na słuchawki) i czujnikiem oddechu. Pod-czas sesji Biofeedback oddech synchronizuje pojawianiesię i znikanie światła w okularach a także cichy dźwiękbuzzera, co z kolei stanowi bodziec zewnętrzny audio-wizualny dla naszego mózgu starającego się ustabilizo-wać oddech. Zależnie od wprawy tego typu sprzęże-nie prowadzi szybciej lub wolniej do stanu odprężeniasprzyjającemu zapamiętywaniu. System SITA wyko-rzystuje tą zależność psychologiczną i w momencie re-laksu podawane są na słuchawki, wraz z synchronicz-nym dźwiękiem buzzera, nagrania audio lekcji języko-wych.

22

Page 23: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 39: Zdjęcie urządzenia SITA.

Dokonując pomiarów EEG u osoby korzystającej zurządzenia zauważyliśmy wyraźny wzrost aktywnościfal alfa obliczonej na podstawie widma Fourierowskiegowyciągniętego z przebiegu EEG. Co ciekawe po krót-kiej sesji relaksacyjnej nawet otwarcie oczu nie powo-dowało wyraźnego zmniejszenia ich amplitudy. Stanodprężenia i spokoju sprzyja więc nauce i zapamięty-waniu, byćmoże pracy twórczej, a ich ewidentnym wro-giem jest pośpiech i stres. Ważne jednak są trzy etapyprocesu nauki – Inicjacja (luźne zapoznanie z mate-riałem), Zapamiętywanie (w stanie odprężenia), Akty-wacja (powtórzenie na głos przychodzących do głowyinformacji otrzymanych w stanie relaksu, utrwalenie).

Ponieważ wraz z zestawem otrzymaliśmy instrukcjęjak należy tworzyć sesje mające na celu zapamiętywa-nie informacji, z najbliższym czasie planujemy opraco-wać i przetestować metodę na szybką naukę alfabetuMorse’a, co powinno być łatwym w weryfikacji sposo-bem na sprawdzenie skuteczności metody.

3.6 OpenEEG (Tomasz Cedro)

3.6.1 Wstęp

System OpenEEG zakupiony i zbudowany z fundu-szy przyznanych w ramach Grantu Rektorskiego PWw roku 2010 stanowił nasz punkt odniesienia w pra-cach badawczych nad istniejącym oprogramowaniemNFB/BCI (patrz rozdział 2.1) oraz własnych konstruk-cjach sprzętu pomiarowego EEG (patrz rozdział 3.1 ioprogramowania (patrz rozdział 2.1.2).

3.6.2 Opis systemu

System OpenEEG [33] jest jednym z najbardziej zna-nych na świecie otwartych systemów EEG stosowanychdo różnego rodzaju treningów Neurofeedback a nawetprostych aplikacji BCI. Bardzo prosta konstrukcja postronie analogowej (scalony wzmacniacz biologiczny ikilka prostych wzmacniaczy operacyjnych), jak i cyfro-wej (mikrokontroler 8-bitowy AVR i transmisja RS–232) sprawiają, że urządzenie jest niezawodne i łatwe

(a) bez SITA

(b) SITA, oczy zamknięte

(c) SITA, oczy otwarte

Rysunek 40: Pomiar aktywności elektrycznej mózgu wtrakcie sesji Biofeedback SITA.

do wykorzystania nawet przez osoby nietechniczne.Otwartość konstrukcji oznacza pełny dostęp do do-

kumentacji technicznej (schematów elektrycznych oraz

23

Page 24: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

kodów źródłowych) oraz wsparcia użytkowników z ca-łego świata. Grupa dyskusyjna stanowi pomoc dlaosób początkujących, ale także dla tych, którzy systemchcą rozbudować o nowe komponenty lub zastosować wswoim projekcie. Lista programów wsperających urzą-dzenie OpenEEG i jego protokół komunkacji (P2 i P3)jest imponująca, dlatego pomimo prostej konstrukcjisystem ten stanowi punkt odniesienia w wielu projek-tach badawczych, szczególnie studenckich.

3.6.3 Konstrukcja

System OpenEEG składa się z części cyfrowej oraz ana-logowej rozdzielonej na dwie osobne płytki drukowane,przy czym płytka analogowa zawiera dwa wzmacnaczesygnałów biologicznych różnicowych od odpowiednimifiltrami pasmowymi (dolno i górnoprzepustowy), orazodprowadzenie DRL (aktywna elektroda odniesienia),a więc cztery wejścia i jedno wyjście elektrodowe, na-tomiast na płytce cyfrowej znajduje się mikrokontrolerz wbudowanym przetwornikiem analogowo–cyfrowym,separowany galwanicznie układ zasilania, oraz prze-twornik napięcia TTL–RS232 (równiez separowany gal-wanicznie za pomocą transoptorów). Schemat elek-tryczny jest dosyć złożony i dostępny na stronie in-ternetowej projektu [33].

Rysunek 41: OpenEEG, wersja 6–kanałowa w trakciemontażu.

Urządzenie może byc wyposażone w maksymalnietrzy płytki analogowe, co daje łącznie sześć kanałówpomiarowych różnicowych. Jest to liczba zupełnie wy-starczająca do treningu Neurofeedback, ale zbyt małado bardziej zaawansowanych pomiarów aktywności mó-zgu w poszczególnych obszarach korowych – elektrodymożna jednak umieścić bezpośrednio nad badanym ob-szarem kory aby uzyskać w miarę satysfakcjonujące wy-niki (na przykład badana przez nas aktywność ośrodkawzroku, patrz rozdział 2.2).

W ramach badań wykonaliśmy dwa urządzenia –bardziej zaawansowane o maksymalnej liczbie kanałów,oraz prostsze z jedną płytką cyfrową i analogową do

Rysunek 42: OpenEEG, wersja 2–kanałowa z podłą-czonym urządzeniem do kalibracji EEG.

eksperymentów i ewaluacji elektroniki.

3.6.4 Wyniki badań

System OpenEEG pozwolił nam na praktyczne zapo-znanie się z podstawami pomiarów EEG, ogólnodo-stepnymi rozwiązaniami programowymi i sprzętowymisystemów NFB i BCI. Podstawowe pomiary wykazałyzgodność teorii z praktyką w kwestii zakresu często-tliwości pracy mózgu, oraz umożliwiły pierwsze próbywykorzystania tej aktywności do sterowania obiektamiw środowisku wirtualnym (głównie poprzez świadomekontrolowanie fal Alfa, jak w treningu NFB).

Rysunek 43: Badanie EEG wykonywane za po-mocą OpenEEG oraz porównawczo naszego autor-skiego urządzenia.

OpenEEG ma jednak pewne wady, a dzięki temu po-znaliśmy również problemy związane z wykonywaniempomiarów, umieszczeniem elektrod i zakłóceniami. Zpowodu braku filtru pasmowo–zaporowego na 50Hz (atakże 60Hz w przypadku tak uniwersalnego rozwiąza-nia) okazał się bardzo podatny na zakłócenia pocho-

24

Page 25: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

dzące od sieci energetycznej, bez ekranowania pomiesz-czenia, obudowy i przewodów elektrod. Ograniczonaliczba kanałów pomiarowych jest również pewną prze-szkodą w przeprowadzeniu dokładniejszych badań ak-tywności poszczególnych obszarów kory mózgowej i ichkorelacji z aktywnością fizyczną lub intelektualną – ak-tywność w korze ruchowej można wykryć zarówno pod-czas ruszania kończyną jak i samego myślenia o rusza-niu kończyną, jak dowodzą wyniki badań innych grupbadawczych – będziemy chcieli zweryfikować te infor-macje w naszych dalszych badaniach.

Rysunek 44: Zakłócenia sieciowe odbierane przez sys-tem OpenEEG wyświetlone w programie EEGMIR –wyraźna przewaga składowej 50Hz w sygnale.

3.6.5 Wnioski

Budowa i uruchomienie systemu OpenEEG stworzyłyrealną możliwość praktycznego badania EEG oraz re-alizacji celów projektu BCI/NFB. Urządzenie jest sto-sunkowo proste i ma pewne wady, od których wolnyjest prototyp naszej konstrukcji, jednak modułowa kon-strukcja pozwala sądzić, że odpowiednia modyfikacjaczęści analogowej urządzenia (głównie filtrów) posze-rzy możliwość zastosowania urządzenia w warunkachdomowych bez konieczności stosowania skomplikowa-nych metod ekranowania.

Możliwość wykonania praktycznego pomiaru EEG,nawet tak prostym urządzeniem, daje nam doświad-czenie w wykonywaniu tego typu eksperymentów i ba-dań, otwiera drzwi do rozwoju własnego oprogramo-wania wtematyce NFB/BCI (patrz rozdział 2.1.2, 2.2)i stanowi punkt odniesienia dla własnych prototypówsprzętu pomiarowego. Nie ukrywamy faktu, że naszerozwiązanie już osiągneło parametry lepsze od oma-wianego systemu (chociażby odporność na zakłóceniai możliwość stosowania w warunkach domowych), chącjednak rozwijać się dalej czujemy potrzebę dokładniej-szej weryfikacji rozwiązań w odniesieniu do profesjo-nalnych komercyjnych konstrukcji.

Spis treści1 Teoria 2

1.1 Podstawy anatomii i fizjologii ośrodko-wego układu nerwowego człowieka (Ry-szard Gomółka). . . . . . . . . . . . . . 21.1.1 Budowa zewnętrzna mózgu . . . 21.1.2 Kora mózgowa . . . . . . . . . . 21.1.3 Pola kory . . . . . . . . . . . . . 3

1.2 Zasady aplikacji elektrod i cechy sy-gnału EEG (Ryszard Gomółka) . . . . . 41.2.1 System 10–20 . . . . . . . . . . . 41.2.2 Podstawowe grafoelementy za-

pisu EEG u osoby dorosłej . . . 61.2.3 Cechy charakterystyczne EEG u

dzieci . . . . . . . . . . . . . . . 61.2.4 Artefakty zapisu EEG . . . . . . 6

1.3 Elektrody pomiarowe EEG (Tomasz Ce-dro) . . . . . . . . . . . . . . . . . . . . 7

2 Oprogramowanie 82.1 Otwarte programy BCI/Neurofeedback

(Tomasz Cedro) . . . . . . . . . . . . . . 82.1.1 BCI2000 . . . . . . . . . . . . . . 82.1.2 Własna aplikacja użytkownika w

systemie BCI2000 (Piotr Tąkiel,Tomasz Cedro) . . . . . . . . . . 9

2.1.3 OpenEEG NeuroServer . . . . . 92.1.4 BrainBay . . . . . . . . . . . . . 92.1.5 OpenViBE . . . . . . . . . . . . 10

2.2 Sztuczne sieci neuronowe w analizie sy-gnału EEG (Krzysztof Chojnowski, Ja-nusz Frączek, Grzegorz Leszek) . . . . . 112.2.1 Cel pracy . . . . . . . . . . . . . 112.2.2 Wprowadzenie . . . . . . . . . . 112.2.3 Model neuronu . . . . . . . . . . 112.2.4 Struktura sztucznej sieci neuro-

nowej . . . . . . . . . . . . . . . 112.2.5 Uczenie sieci . . . . . . . . . . . 122.2.6 Wyniki i wnioski . . . . . . . . . 13

2.3 Tworzenie sterowników własnych urzą-dzeń w Matlab (Tomasz Cedro) . . . . . 132.3.1 Wstęp . . . . . . . . . . . . . . . 132.3.2 Data Acquision Toolbox . . . . . 132.3.3 Instrument Control Toolbox . . . 132.3.4 Własne sterowniki . . . . . . . . 142.3.5 Jak stworzyć własny sterownik

urządzenia w Matlabie? . . . . . 142.3.6 Obsługa bibliotek dynamicznych 142.3.7 Przykład . . . . . . . . . . . . . 152.3.8 Podsumowanie . . . . . . . . . . 15

2.4 Brain Computer Interface Open Proto-col (Tomasz Cedro) . . . . . . . . . . . . 152.4.1 Konstrukcja Protokołu . . . . . . 162.4.2 Możliwości protokołu . . . . . . . 162.4.3 Przebieg transmisji . . . . . . . . 16

25

Page 26: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

Rysunek 45: Nietypowe badanie EEG wykonywane „po godzinach” w celu weryfikacji spowolnieina pracy mózguprzez alkohol potwierdziło nasze przypuszczenia :-)

3 Sprzęt 173.1 Elektroniczny system do prowadzeniua

treningu Neurofeedback (Janusz Frą-czek, Agnieszka Małkiewicz) . . . . . . . 173.1.1 Istota sygnału EEG w treningu

Neurofeedback . . . . . . . . . . 173.1.2 Przetwarzanie sygnału . . . . . . 183.1.3 Wymagania . . . . . . . . . . . . 183.1.4 Przykłady zastosowań . . . . . . 183.1.5 Koncepcja zbudowanego systemu 193.1.6 Koncepcja interfejsu użytkownika 203.1.7 Zdjęcia gotowej konstrukcji . . . 203.1.8 Uzyskane wyniki pracy . . . . . . 203.1.9 Perspektywy rozwojowe i wnioski 20

3.2 CeDeROM BCI (Tomasz Cedro) . . . . 203.2.1 Opis systemu . . . . . . . . . . . 203.2.2 Możliwośći i ograniczenia . . . . 21

3.3 Serial Wire Debug (Tomasz Cedro) . . . 223.4 BCI PONG (Tomasz Cedro) . . . . . . . 223.5 SITA i biofeedback (Tomasz Cedro) . . 223.6 OpenEEG (Tomasz Cedro) . . . . . . . 23

3.6.1 Wstęp . . . . . . . . . . . . . . . 233.6.2 Opis systemu . . . . . . . . . . . 233.6.3 Konstrukcja . . . . . . . . . . . . 243.6.4 Wyniki badań . . . . . . . . . . . 243.6.5 Wnioski . . . . . . . . . . . . . . 25

Literatura

[1] Anatomia Człowieka. Podręcznik dla studen-tów medycyny. Pod red. Janiny Sokołowskiej–Pituchowej., Wyd. V; Warszawa 1988 PZWL.

[2] Atlas Anatomii Człowieka, TOM III. R.D. Sinel-nikov, Moskwa 1974 „Medycyna”.

[3] 1.Anatomia i Fizjologia Człowieka. A. Michajlik,W. Ramontowski, Warszawa 2005 PZWL.

[4] http://www.brainmaster.com/generalinfo/electrodeuse/eegbands/1020/1020.html

[5] http://www.gtec.at/service/tips.htm

[6] http://www.isnr.org/CBCog.cfm

[7] http://webideas.com/biofeedback/research/tdruckman.shtml

[8] Materiały do wykładu „Elektroniczna aparaturamedyczna”, dr inż. Ewa Piątkowska, PW, War-szawa 2009

[9] Materiały do wykładu „Sztuczne sieci neuronowe wmedycynie”, prof. dr hab. Krzysztof Zaremba ,PW,Warszawa 2010

[10] Design and development of medical and electronicinstrumentation, David Prutchi, Michael Norris,Copyright c© 2005 John Wiley & Sons, Inc.

[11] Primer of EEG with a Mini – Atlas, A. JamesRowan, Eugene Tolunsky, Elsevier Sciense (USA)2003, w tłumaczeniu Urban & Partner

[12] http://www.relaksacja.pl

[13] http://www.eeg-biofeedback.com.pl

[14] Wprowadzenie do biologicznej i medycznej technikipomiarowej, Karsten Meyer – Waarden, Wydaw-nictwa Komunikacji i Łączności, Warszawa 1980

[15] System do akwizycji sygnału EEG, Janusz Frą-czek, PW, Warszawa 2010

[16] Brain Computer Interface – ARM–based signalacquisition module. Bachelor of Science DiplomaThesis, Tomasz Bolesław Cedro., PW EiTI, Ma-rzec 2009.

[17] Brain Computer Interface, Praca dyplomowa ma-gisterska (w opracowaniu).

[18] http://bciop.sf.net – Brain Computer Inter-face Open Protocol

26

Page 27: Brain Computer Interface · Studenckie Koło Naukowe Cybernetyki, Politechnika Warszawska prof. dr hab. Antoni GRZANKA (opiekun naukowy) inż. Tomasz Bolesław CEDRO (koordynator/bci)

[19] http://stm32primer2swd.sf.net – Implemen-tacja Serial Wire Debug w procesorach ARM Cor-tex.

[20] http://libswd.sf.net – Otwarta Biblioteka Se-rial Wire Debug.

[21] http://www.mathworks.com

[22] http://www.gnu.org/software/octave

[23] http://www.scilab.org

[24] http://www.mathworks.com/products/daq/

[25] http://www.mathworks.com/access/helpdesk/help/pdf_doc/daq/daqug.pdf

[26] http://www.mathworks.com/access/helpdesk/help/toolbox/instrument/

[27] http://www.bci2000.org/

[28] http://www.bci2000.org/wiki/

[29] http://www.bci2000.org/wiki/index.php/Programming_Reference:Contents

[30] http://www.libsdl.org/

[31] http://www.shifz.org/brainbay/

[32] http://openeeg.sourceforge.net/doc/sw/NeuroServer/

[33] http://openeeg.sourceforge.net/

[34] http://openvibe.inria.fr/

[35] http://brain.fuw.edu.pl/edu/EEG:Skrypt

[36] http://www.gnu.org/licenses/gpl.html

[37] http://www.gnu.org/licenses/lgpl.html

[38] http://www.gnu.org/

[39] http://www.gnuarm.com/

[40] http://www.freertos.org/

[41] http://www.libusb.org/

[42] http://openocd.sourceforge.net/

[43] http://urjtag.sourceforge.net/

[44] http://en.wikipedia.org/wiki/JTAG

[45] http://www.arm.com/products/system-ip/debug-trace/coresight-soc-components/serial-wire-debug.php

27