You are on page 1of 17

Biosig4OctMat - Einfhrung

Einfhrung in die

EEG-Analyse mit Biosig for Octave and Matlab


Version 1.02 19. Apr 2010

Do . Dr. A!ois "ch!#g! e-$ai!% a!ois.sch!oeg!&'iosig-consu!ting.co$(

)his resource is pro*ided to +ou under a ,reati*e ,o$$ons Attri'ution-"hare A!i-e ..0 !icense. /!ease fee! free to distri'ute and share it 0ith +our co!!eagues.

)he fi!e is a*ai!a'!e fro$ http%11'iosig-consu!ting.co$1'iosig1doc12ntroBiosig.doc http%11'iosig-consu!ting.co$1'iosig1doc12ntroBiosig.pdf

Biosig4OctMat - Einfhrung

Table of Contents
EE3-Ana!+se $it 4Biosig for Octa*e and Mat!a'5...................................................................................1 61 Ein!eitung...................................................................................................................................... 62 Vorauset ungen ............................................................................................................................. 6. 2nsta!!ation ...................................................................................................................................7 64 Daten in den Mat!a'-8or-space !aden.........................................................................................9 67 )rigger: Ereignisse: Mar-er und Annotationen ...........................................................................; 69 E*o ierte /otentia!e......................................................................................................................< 6; "tatisti-: t-test ..............................................................................................................................9 6< O*erf!o01"=ttigungsartefa-te ....................................................................................................10 69 >=u$!iche ?spatia!6 @i!ter ?Mono: ,A>: Aap!ace: /,A: ,"/: ...6 ...........................................11 610 Borre-tur *on EO3-Artefa-ten ...............................................................................................12 611 Dete-tion *on Mus-e!artefa-ten..............................................................................................1. 612 Missing Va!ues ........................................................................................................................14 61. "ing!e )ria! B!assifi-ation .......................................................................................................17 614 Bopp!ungsana!+se ...................................................................................................................19 617 Anhang% ...................................................................................................................................1;

1)

Einleitung

Biosig ist eine 4@reie5 "oft0are'i'!iothe- ur Verar'eitung *on 'io$edi inischer "igna!daten ?-ur % 'iosigna!e6: 0ie .'. das E!e-troen epha!ogra$$ ?EE36 und das E!e-tro-ardiogra$$ ?EB36. 5@reiC 'e ieht sich nicht auf den /reis: sondern auf fo!gende *ier @reiheiten ?06 Das /rogra$$ u Dede$ E0ec- aus ufhren: ?16 Das /rogra$$ u studieren und u *er=ndern: ?26 Das /rogra$$ u *er'reiten: ?.6 Das /rogra$$ u *er'essern und u *er'reiten: u$ da$it einen Fut en fr die 3e$einschaft u er eugen. G$ diese @reiheit auch fr die Eu-unft u ge0=hr!eisten: ist Biosig $it der 43FG 3enera! /u'!ic Aicence5 ?3/A6 !i ensiert. Biosig 'esteht aus $ehreren )ei!en: 0ie .'. Biosig4OctMat: Biosig4,HH: "igVie0er: u.a. 4Biosig4OctMat5 unterstt t die Biosigna!*erar'eitung $it Mat!a' und auch Octa*e. Octa*e ist eine @reie A!ternati*e u Mat!a' 0e!che 0eitgehende -o$pati'!e u Mat!a' ist. Biosig -ann auch $it Octa*e *er0endet 0erden. 2$ fo!genden 0erden ins'esondere die 0ichtigesten @un-tionen *on Biosig4OctMat 'eschrei'en. Die Beschrei'ung ist -eines0egs *o!!st=ndig sondern hat den E0ec- den Einstieg in die Ver0endung *on Biosig u er!eichtern.

2)

Vorausetzungen

Tabelle 1: Voraussetzungen fr die verschiedenen Biosig-Module. Beschrei'ung Biosig4OctMat Biosig4,HH "igVie0er rtsB,2 Biosig4/+thon Biosigna!ana!+se $it Octa*e oder Mat!a' !i''iosig: $eI"AOAD: Daten-on*erter Vie0ing und "coring "oft0are Echt eitdatenauf eichnung 2$portfi!ter fr /+thon Vorausset ungen Mat!a' ?*9.7 oder h#her6 oder Octa*e ?*2.9 oder h#her6 M" 8indo0s oder AinuI oder MaIO"J M" 8indo0s oder AinuI oder MaIO"J Mat!a': "i$u!in-: und >)8too!'oI: Biosig4OctMat

3rund-enntnisse in Matri enrechnung ?Matri en$u!tip!i-ation6 0erden *orausgeset t. Die ein e!nen Biosig-Modu!e ha'en unterschied!iche Vorausset ungen ?siehe )a'e!!e 16. @r die Ver0endung *on 4Biosig4OctMat5 0ird ent0eder Mat!a' oder Octa*e 'en#tigt. @a!!s -eine Mat!a'.

Ai en ur Verfgung: ist Octa*e eine gute A!ternati*e. Octa*e fr 8indo0s ist auf http%11octa*e.sourceforge.net1 *erfg'ar oder -ann auch 'er c+g0in http%11000.c+g0in.co$1 insta!!iert 0erden. Octa*e ist auch fr a!!e g=ngigen AinuI-"+ste$en *orhanden. @r eine Einhrung in Octa*e1Mat!a' sind eine >eihe *on Einfhrungen i$ 888 *erfg'ar. Kier ist eine -ur e Aus0ah!. Mat!a'1Octa*e /ri$er http%11peop!e.sc.fsu.edu1Lsachins1$at!a'.pri$er.pdf 3etting "tarted 0ith Mat!a' http%11000.$ath0or-s.co$1access1he!pdes-1he!p1pdfMdoc1$at!a'1getstart.pdf A 'eginners 3uide to Mat!a' http%11000.e*ergreen.!o+o!a.edu1LcIenophontos1pu's1other1BeginnersMguideMtoMMA)AAB.pdf 2ntroduction to 3FG Octa*e http%11$ath.Daco's-uni*ersit+.de1o!i*er1teaching1iu'1resources1octa*e1octa*e-intro1octa*e-intro.ht$! 3FG Octa*e - An 2ntroduction http%11!inuIga ette.net11091odono*an.ht$!

3)

Installation
1. Do0n!oad 5'iosig4oct$at-2..9. ipC *on http%11'iosig.sourceforge.net1do0n!oad.ht$! N 2. Entpac-e die Datei 'iosig4oct$at-2..9. ip in das Ver eichnis c%O'iosigO oder ein 'e!ie'iges anderes Ver eichnisN 2$ fo!genden 0ird dieses Ver eichnis $it PB2O"23D2>P 'e eichnen. .. "tarte Mat!a' und 0echs!e $it de$ Befeh! 5cdC in das Ver eichnis PB2O"23D2>P N 4. QO/)2OFAAR Bonfiguriere den MeI-,o$pi!er $it de$ Befeh! mex -setup 7. @hre den Befeh! 5biosig_installerC ausN Da'ei 0erden die *erschiedenen Gnter*er eichnisse in den /fad einge'unden ?siehe )a'e!!e 16. Des 0eiteren 0ird *ersucht ein e!ne $eI-@un-tionen neu u -o$pi!ieren: u$ 3esch0indig-eits*ortei!e u erha!ten. @a!!s mex nicht -onfiguriert ist: 0erden !angsa$ere $-scripts *er0endet: und Biosig4OctMat ist e'enfa!!s fun-tionsf=hig. 9. Biosig4OctMat ist -orre-t intsta!!iert.

Tabelle 2: Verzeichnisse welche von Biosig4 ctMat verwendet werden.


Verzeichnis 'iosig1de$o 'iosig1doc 'iosig1t200M@i!eAccess 'iosig1t270MArtifact/re/rocessingSua!it+ ,ontro! 'iosig1t.00M@eatureEItraction 'iosig1t.10ME>D"Maps 'iosig1t400M,!assification Q'iosig1t470MMu!tip!e)est"tatisticR 'iosig1t490ME*a!uation,riteria 'iosig1t700MVisua!i ation 'iosig1t701MVisua!i e,oup!ing FaF1inst FaF1src tsa freet'4$at!a'1signa! freet'4$at!a'1statistics1distri'utions freet'4$at!a'1statistics1tests Funktionsbezeichnung Einige de$o-@un-tionen Dateien ur Do-u$entation 2$portfi!ter u$ Aaden *on *erschiedenen Datenfor$aten @un-tionen ur Sua!it=ts-ontro!!e der Daten: Artefa-t'ear'eitung: und einige Vor*erar'eitungsfun-tionen ? .B. )riggerung6 "igna!*erar'eitung und Mer-$a!seItra-tion E>D Ana!+se "ing!e tria! B!assifi-ation Mu!tip!e )est "tatistiE*a!uierung-riterien Visua!isierung Visua!isierung *on Bopp!ungsana!+sen "tatisti-- und B!assifi-ationsfun-tionen fr Daten $it und ohne 5Missing Va!uesC Verschiedene $eI-Dateien fr die FaF-too!'oI )oo!'oI ur Eeitreihen Ana!+se ?)"A T )i$e "eries Ana!+sis6 )oo!'oI fr "igna!*erar'eitung )oo!'oI fr "tatistische Vertei!ungen )oo!'oI fr "tatistische )ests

4)

Daten in den Matlab-Workspace laden

Biosig unterstt t an die 40 *erschiedenen Datenfor$ate: das ist $ehr a!s Dede andere EE3-"oft0are. Da'ei 0erden die *erschiedenen @or$ate auto$atisch er-annt. De$ Benut er 0ird eine einheit!iche "chnittste!!e ur Verfgung geste!!t. Der a-tue!!e "tand fr die Gnterstt ung *erschiedener @or$ate ist hier http%11'iosig-consu!ting.co$1'iosig1)E")ED u finden. Es gi't 0ei M#g!ich-eiten u$ Daten in den Ar'eitspeicher ?0or-space6 u !aden. sload !=dt die gesa$te Datei. Fach M#g!ich-eit greift sload auf die die $eI-@un-tion mexSLOAD urc-. [d,HDR]=sload dateiname!" Mit sopen#sread#sclose ist es $#g!ich ein e!ne A'schnitte *on Daten u !aden. Dies hat den Vortei!: dass auch sehr groUe Dateien: 0e!che nicht a!s gan es in den Ar'eitsspeicher passen: 'ear'eitet 0erden -#nnen. HDR=sopen dateiname,$r$!" [d,HDR]=sread dateiname, %umberO&Seconds, Start'osition!" HDR = sclose HDR!" 2n 'eiden @=!!en 0ird die Keaderstru-tur HDR und eine Daten$atriI d urc-ge!iefert. HDR enth=!t *erschiedene @e!der 0ie A'tastrate ?HDR(SampleRate6: Bana!'e eichnungen ?HDR(Label6: "-a!ierungsfa-toren: 2nfor$ationen 'er @i!tereinste!!ungen ?HDR()ilter6: so0ie Ereignisse und Annotationen ?HDR(*+*%,6. Eine u$fassende Do-u$entation ist in der Datei biosig#doc#-eader(txt u finden. Die Daten$atriI d enth=!t HDR(S'R.HDR(%Rec A'tastpun-te ?Eei!en6 und HDR(%S Ban=!e ?"pa!ten6.

5)

rigger! Ereignisse! Marker und "nnotationen

Ereignisse sind in HDR(*+*%, gespeichert. Da'ei enth=!t HDR(*+*%,('OS die ?"tart-6/osition der ein e!nen Mar-er entha!ten. HDR(*+*%,(,/' enth=!t die Bodierung des Ereignist+ps. Optiona! -#nnen noch die @e!der HDR(*+*%,(D0R und HDR(*+*%,(1H% *orhanden sein: 0e!che die Dauer eines Ereignisses und eine Bana! uordnung 'e eichnen. Eine Aiste *on *ordefinierten Ereignist+pen fr die Bodes in HDR(*+*%,(,/' ist in der Datei biosig#doc#e2entt3pes(txt u finden. Da'ei ist er Bereich *on )V/T1..277 fr 'enut erspe ifische Ereignisse: 0e!che nicht durch andere )+pen 'eschrie'en 0erden -ann: *orgesehen. K=ufig sind die Ereignisse *on 2 oder $ehrern Versuchs'edingungen u eItrahieren: und die Daten in ein e!ne )ria!s u seg$entieren. Dies -ann fo!gender$assen durchgefhrt 0erden% t4 = HDR(*+*%,('OS HDR(*+*%,(,/' == -ex5dec $6664$!!" 7 ,riggerpun8te 2on +ersuc-sbedingung 4 t5 = HDR(*+*%,('OS HDR(*+*%,(,/' == -ex5dec $6665$!!" 7 ,riggerpun8te 2on +ersuc-sbedingung 5

2n $anchen @=!!en $ssen die )rigger aus eine$ eigenen )rigger-ana! eItrahiert 0erden. t6 = gettrigger d 9,triggerc-annel!!" Die )riggerung ?"eg$entierung6 der Daten -ann dann $it fo!gende$ Befeh! durchgefhrt 0erden% [:4,sx4] = trigg d, t4, 'R*, 'S, [, ;A']! J hat HDR(%S Eei!en ?N6 und lengt- t4!. 'S,-'R*<4<;A'! Spa!ten. Mit de$ Befeh! res-ape :4,sx4! 0erden die Daten in eine .-di$onsiona!e MatriI $it den Di$ensions [%S, 'S,-'R*<4<;A'!, lengt- t4!] u$ge0ande!t.

#) E$ozierte %otentiale
Fachde$ die Daten getriggert sind: -ann eine Mitte!0ert'i!dung 'er a!!e )ria!s durchgefrhrt 0erden u$ die E*o ierten /otentia!e u erha!ten. *' = mean res-ape :4,sx4!,=!" [/(S*>,/(>*A%] = sem permute res-ape :4,sx4!,[5,4,=]!,=!" /(, = ['R*9'S,]#HDR(SampleRate" /(datat3pe = $>*A%<S,D$" /(Label = HDR(Label" plota /!"

Da$it 0ird das e*o ierte /otentia! *on a!!en Ban=!e fr den Ereignist+p 1 dargeste!!t. Die @un-tion e2o8ed_potential(m fhrt a!!e diese Ar'eitsschritte durch. R = e2o8ed_potential &ilename, 1HA%, t_start, t_end, *2ent,3p!" plota R!"

<

&)

'tatistik! t-test

G$ einen statistischen t-test durch ufhren: stehen die 'eiden @un-tionen t_test und t_test_5 ur Verfgung. ['+AL, ,, D)] = t_test ['+AL, ,, D)] = t_test_5 :, >, AL,! :, /, AL,! 7 gepaarter ,-,est 7 ungepaarter ,-,est

G$ die e*o ierten /otentia!e *on 0ei Versuchsgruppen auf unterschiede u testen: -#nnte $an fo!genden Bode *er0enden /4 = res-ape :4,sx4!" /5 = res-ape :5,sx5!" p = repmat %a%,sx 495!!" &or 84=49sx4 4!, &or 85=49sx4 5!, p 84,85! = t_test_5 /4 84,85,9!, /5 84,85,9!, $?@$!" end" end"

()

)$er*lo+,'-ttigungsarte*akte

Vie!e Datenfor$ate unterstt en -eine auto$atische O*erf!o0dete-tion: da die entsprechenden "=ttigungs0erte nicht i$ Datenfor$at gespeichert 0erden. G$ die entsprechenden "=ttigungs0erte effi ient u 'esti$$en: -ann die eine Kistogra$$-Methode ?"ch!#g! et a! 199916 *er0endet 0erden. A = eeg5-ist &ilename,$manual$!" 7 manual selection o& t-res-old clear H" H()ile%ame = A()ile%ame"

H(,HR*SHOLD = A(,HR*SHOLD" [HDR]=sopen H,$r$,6!"[s,HDR]=sread HDR!"HDR=sclose HDR!"

1 http%11000.'iosig-consu!ting.co$1pu'!ications1neuroph+s1999M2197.pdf

10

.)

/-u0lic1e 2spatial) 3ilter 2Mono! 4"/! 5aplace! %4"! 4'%! 666)

>=u$!iche @i!ter sind ein 0ichtiges 8er- eug ur Vor*era'eitung *on EE3-Daten. B = spatial&ilter (((!" Be-annte >=u$!iche @i!ter sind 5'ipo!areC A'!eitungen: 5co$$on a*erage referenceC ?,A>6: und Aap!ace fi!ter. A'er auch Kaupt-o$ponentenana!+se ?/,A6 und 52ndependent ,o$ponent Ana!+sisC ?2,A6 =h!en da u. "o'a!d die Boeffi ienten des >=u$!ichen @i!ters 8 er$itte!t sind: -ann das @i!ter durch eine einfache Matri en$u!tip!i-ation auf die Daten ange0andt 0erden. D = d.B"

11

17) 8orrektur $on E)9-"rte*akten


Ein Va!idierung durch EIperten -onnte eigen dass $it $u!tip!er >egression 'ei 0ei 'ipo!aren EO3Ban=!en et0a <0W der EO3 Artefa-te entfernt 0erden -#nnen ?"ch!#g! et a!. 200;62. Feuere Erge'nisse eigen -eine Vortei!e *on 2,A gegen'er dieser >egressions$ethode. eogc-an=identi&3_eog_c-annels &ilename!" eegc-an=&ind HDR(1HA%,/'==$*$!" 7 exclude an3 non-eeg c-annel( R = regress_eog s,eegc-an,eogc-an!" s = s.R(r6" 7 reduce *O; arti&acts

2 http%11000.'iosig-consu!ting.co$1pu'!ications1sch!oeg!200;eog.pdf

12

11) Detektion $on Muskelarte*akten

[C%C,S,*] = detectmuscle d , )s, >ode!"

Es sind *ier Methoden i$p!e$entiert. A!!erdings 0urde die 3enauig-eit dieser Methoden noch nicht e*a!u!iert. Daher 0ird e$pfoh!en: Mus-e!artefa-te $anue!! ? .B. $it "ig*ie0er6 u $ar-ieren: und diese Mar-ierungen

1.

12) Missing Values


Artefa-te -#nnen ung!tige 8erte *erursachen: 0e!che in der Ana!+se nicht 'erc-sichtigt 0erden so!!en. Biosig *erfo!gt den Ansat so!che 8erte a!s 5$issingC u $ar-ieren: Da'ei 0ird die Bodierung fr 5not-a-nu$'erC ?FaF6 des 2EEE;74 "tandards fr @!ieU-o$$a ah!en *er0endet. Die $eisten "tandardfun-tionen *on Mat!a' ha'en a!s Erge'nis ein FaF so'a!d ein 8ert in den Eingangsdaten FaF ?$issing6 ist. Biosig enth=!t eine >eihe *on @un-tionen: 0e!che die 5$issingC 8erte ignorieren: und das Erge'nis aus den *er'!ei'enden g!tigen 8erten er$itte!t. Da u 0erden ins'esondere die "tatisti--fun-tionen der FaF-too!'oI *er0endet: a'er auch einige andere @un-tionen ? .B.6 MVA>.M -#nnen Daten $it 5$issing *a!uesC *erar'eiten. FaFs -#nnen auch hi!freich sein u$ uner0nschte >andeffe-te u *er$eiden: 0enn Datenseg$ente usa$$engeset t 0erden. )rigg.$ und "AOAD.M 0erden diese )echni-. Bei$ Aaden der Daten 0ird auch ?nach M#g!ich-eit6 eine auto$atische "=ttigungsdete-tion durchgefhrt. 8erte 0e!che u einer X'ersteuerung des Aufnah$es+ste$s fhren: 0erden e'enfa!!s a!s 5$issing *a!uesC $ar-iert.

14

13) 'ingle rial 8lassi*ikation


Ein De$o-Ana!+se fr die "ing!e-)ria! B!assifi-ation 'efindet sich in biosig#demo#demo5(m 2n eine$ ersten "chritt sind chara-teristische Mer-$a!e u eItrahieren. Da "ing!e-tria! B!assifi-ation h=ufig $it der Eie!richtung einer On!ine1Echt eitana!+se eingeset t 0ird: sind adapti*e Methoden *on Bedeutung. 7 ,ime Domain 'arameters & = tdp S,p,01!" 7 Adapti2e Autoregressi2e 'arameter &or c- = 49lengt- eegc-an!, : = t2aar s 9,eegc-an c-!!,>OD*(>O',>OD*(01!" : = t2aar s 9,eegc-an c-!!,:!" &5 = [&5,:(AAR,log :('*!]" end" 7 Dandleistung log46bp = bandpoEer :, )s, bands, smoot-ing, mode!" Aus den eItrahierten Mer-$a!e 0erden in der @o!ge ein B!assifi-ator 'erechnet. 1 = train_sc D,classlabel,,/'*! Dieser B!assifi-ator -ann dann 0ieder an neuen Daten getestet 0erden. R = test_sc 11,D,,/'* [,target_1lasslabel]! G$ die /erfor$an eines B!assifi-ators und die )renn'ar-eit der Daten u er$itte!n: so!!te eine Breu *a!idierung der Daten durchgehrt 0erden. Da$it 0ird aus 5O*erfittingC /ro'!e$ *er$ieden. [R,11] = x2al D,classlabel!

17

G$ die /erfor$an u Yuantifi ieren: gi't es *erschiedene E*a!uierungs-riterien: 0ie .B. @eh!erratge: ,ohenZs Bappa Boeffi ient: Mutua! infor$ation und 2nfor$ationstransferraten. [8ap,sd,H,F,A11,sA11,>C] = 8appa d4,d5!"

14) 8opplungsanal:se

demoG(m [AR,R1,'*] = m2ar /,'!" > = siFe AR,4!" 7 number o& c-annels A = [e3e >!,-AR]" D = e3e >!" 1 = '* 9,>.'<49>. '<4!!" [S,-,'D1,1OH,D,),D1,p1OH,dD,),&&D,),p1OH5,'D1),co-,;;1,A&,;'D1] = m2&reHF D,A,1,&,)s! R = t&m2ar s,,RC;,,,>O',&,)s! plota R!" plot_coupling tI64#main(m elpos elpos= 7 demo

compute and s-oE :/ position o& electrodes s-oE =d electrode positions

19

15) "n1ang;
a=49J b=[I9K]$ c=[4,5"=,J] b$ c 4,9! c 9,5! -elp -elp -elp plot siFe lengtE-os

1;

You might also like