SPECIALIZAREA: INGINERIE MEDICALĂ PROIECT DE DIPLOMĂ Dispozitiv portabil pentru detectarea somnului Conducător științific, Absolvent, Șl. dr. ing…. [603451]
UNIVERSITATEA TEHNICĂ DIN CLUJ- NAPOCA
FACULTATEA DE INGINERIE ELECTRICĂ
SPECIALIZAREA: INGINERIE MEDICALĂ
PROIECT DE DIPLOMĂ
Dispozitiv portabil pentru detectarea somnului
Conducător științific, Absolvent: [anonimizat]. Anca Iulia NICU Adrian Ciprian POPU
CUPRINS
INTRODUCERE ……………………………………………………………………………………………………………….. 5
1.CREIERUL ÎN TIMPUL SOMNULUI ……………………………………………………………………………. 7
2.EEG.SOMNOLENȚĂ.DETECȚIA SOMNULUI ȘI A OBOSELII …………………………………. 11
3.CONTRIBUȚII PERSONALE ȘI OBIECTIVE ……………………………………………………………… 15
4.METODA DE PROIECTARE ……………………………………………………………………………………….. 18
4.1 Echipamentul ……………………………………………………………………………………………………………. 18
4.1.1. Modulul EEG ……………………………………………………………………………………………………… 18
4.1.2 Modulul de procesare a semnalelor ………………………………………………………………………… 19
4.1.3 Modulul de alarmă ……………………………………………………………………………………………….. 20
4.1.4 Modulul de bluetooth……………………………………………………………………………………………. 21
4.1.4 Modulul indicator LED ………………………………………………………………………………………… 22
4.1.6 Concluzii despre echipament …………………………………………………………………………………. 22
4.2 Programul …………………………………………………………………………………………………………………. 25
4.3 Integrare …………………………………………………………………………………………………………………… 29
5.TESTE ȘI REZULTATE ……………………………………………………………………………………………….. 33
5.1 Teste ………………………………………………………………………………………………………………………… 33
5.2 Rezultate ………………………………………………………………………………………………………………….. 33
5.2.1 Date de probă ………………………………………………………………………………………………………. 33
5.2.2 Eficacitatea algoritmului ……………………………………………………………………………………….. 35
6.CONCLUZII …………………………………………………………………………………………………………………. 39
ANEXE ……………………………………………………………………………………………………………………………. 41
LISTA ABREVIERILOR …………………………………………………………………………………………………. 64
LISTA FIGURILOR ………………………………………………………………………………………………………… 67
BIBLIOGRAFIE ……………………………………………………………………………………………………………… 68
5
INTRODUCERE
Scopul lucrării este realizarea unui dispozitiv de detectare a somnului, care utilizează o cască
EEG (electroencefalograf ) cu un singur electrod uscat și cu un sistem de alarmă. Proietare
dizpozitivului permite utilizatorului să obțină o avertizare auditivă în momentul când acesta începe să
adoarmă. Sistemul este destinat în special piloților de aeronavă sau șoferilor de camion care se
deplasează pe distanțe lungi, iar cu ajutorul acestui dispozitiv se pot preveni viitoarele accidente din
a se întâmpla. Dispozitivul proiectat în acest studiu înregistrează un simgur semnal EEG care mai apoi
este filtrat, rezultând banda de frecvențe a undelor alfa scăzută (7,5 – 9,25 Hz), alfa ridicată (10 –
11,75 Hz), beta scăzută (13 – 16,75 Hz) și beta ridicată (18 – 29,75 Hz). Când dispozitivul
înregistrează banda de frecvență corespunzătoare primei etape de somn, alarma se declanșează,
producând o avertizare sonoră.
România este pe locul 10 în topul accidentelor rutiere produse pe fondul ațipirii la volan.
Statisticile privind somnolența la volan explică gravitatea deciziei de a conduce obosit. În 100.000 de
accidente care se înregistrează anual în lume, 71.000 de persoane sunt rănite, iar 1.500 mor din cauza
ațipitului la volan. Somnolența este prima cauză a accidentelor mortale pe autostrăzi, în condițiile în
care un accident din trei este atribuit oboselii și somnolenței, conform Centrului de Informare și
Îmbunătățire a Calității Vieții pentru Bolnavii de Distrofie Musculară și Pacienții Asistați Respirator
(ASCID). Probabilitatea de a avea un accident rutier crește de 4,5 ori în cazul celor care dorm mai
puțin de cinci ore pe noapte [1]. A conduce după ce ai fost treaz 18 ore este echivalent cu a conduce
cu o alcoolemie de 0,05%, accidentele provocate pe fondul oboselii au o probabilitate dublă de a fi
fatale . Dacă șoferul a fost treaz timp de 24 de ore și conduce este ca și când ar avea o alcoolemie de
0,10%, potrivit Fundației Naționale a Somnului . În 2018, șoferii care au adormit la volan au provocat
190 de accidente rutiere grave care s-au soldat cu 227 de victime, cele mai multe dintre accidente
având loc în weekenduri, pe drumurile naționale (153 de accidente), arată datele Inspectoratului
General al Poliției Române .Oboseala afectează abilitatea conducătorilor auto și le reduce capacitatea
de concentrare și atenție, încetinind timpul de reacție și afectând abilitatea șoferilor de a lua decizii [2].
Starea de somnolență și oboseala sunt o îngrijorare chiar și pentru piloții de aeronavă. Un
exemplu fiind accidentul aviatic din 2009, al cursei 3407 de către Colgan Air . Potrivit Comitetului
Siguranței Naționale a Transporturilor , “performanța piloților a fost afectată din cauza oboselii ”.
Adrian Ciprian POPU INTRODUCERE
6
Conform Fundației Naționale a Somnului , “unul din cinci piloți admit că au făcut o greșeală serioasă
și unul din șase operatori de tren și șoferi de camion admit că aproape au cauzat un accident datorită
somnolenței ”. Unele dintre aceste accidente puteau fi evitate dacă șoferii și piloții ar fi fost avertizați
cu mult timp înainte de debutul oboselii și a somnolenței.
În prezent, există două modalități majore de detectare a somnolenței șoferilor: detecție bazată
pe tiparul sau modelul de conducere a șoferului și detectarea închiderii ochilor. Detecția bazată pe
modelul de conducere este de încredere, dar se concentrează pe efectle adormirii la volan. Până când
aceste efecte devin vizibile, este posibil să fie prea târziu pentru a preveni un accident. Detecția bazată
pe închiderea ochilor depinde ca un sistem de vedere să poată să urmărească ochii șoferului, pentru a
determina dacă ei sunt închiși. Acest sistem de permite o detecție mai rapidă a stării de somnolență,
față de detecția bazată pe modelul de conducere, dar este limitată de precizia sistemului de vedere
folosit pentru a determina închiderea ochilor.
Dezavantajele preciziei slabe și a timpului de reacție insuficient de rapid ale actualelor
sisteme de detecție a somnolenței șoferului, au dus la explorări de noi tehnici bazate pe schimbări în
fiziologia corpului în funcție de oboseală. O metodă promițătoare este utilizarea semnalelor
înregistrate de electrozi plasați pe scalp, care măsoară tiparele schimbării activității electrice în creier,
atunci când cineva trece de la o stare de alertă totală la starea de somnolență. Procesul înregistrării
acestor semnale poartă numele de Electroencefalografie ( EEG).
Electroencefalograful a fost folosit în detectarea etapelor somnului încă din anul 1930
[Loomis, Harvey, & Hobart,1937] . De asemenea a fost utilizat clinic pentru a monitoriza somnolența
șoferilor și a piloților . Cu toate acestea, dispozitivele EEG de grad medical, nu sunt practice în
detectarea somnolenței șoferlui, deoarece acestea necesită uitlizarea de echipamente costisitoare și o
preparare complicată a pielii cu gel conductiv, pentru o monitorizare eficientă.
În această lucrare am folosit casca Neurosky Mindwave Mobile 2 ca și modul EEG. Este o
cască bluetooth 1, prevăzută cu un singur electrod uscat care se plasează pe frunte și un electrod de
împănântare care este prins și fixat de lobul urechii stângi. Acest dispozitiv nu are precizia unui EEG
clinic, dar poate să detecteze tipare generale a activității cerebrale. Prin dimensiunea lor și prin faptul
că utilizează electronzi uscați, ele devin mult mai practice în detectarea somnolenței șoferilor, decât
echipamentele EEG clinice. Dispozitivul s-a dovedit a fi eficient în proporție de 75% la detectarea
somnului, dint-un grup mic de probe. Toate eșecurile au avut loc din cauza alarmelor false, alarma
auditivă declanșându-se cu mult timp înainte ca utilizatorul să devină adormit.
1 bluetooth- este un standard tehnologic fără fir, utilizat pentru schimbul de date între dispozitivele fixe și mobile
7
1.CREIERUL ÎN TIMPUL SOMNULUI
Inainte de anii ’ 50, s-a crezut că somnul este o activitate pasivă în care corpul si creierul
erau inactive. “ Se pare insă că in timpul somnului, creierul este implicat într-o serie de activități
necesare vieții, care sunt legate în profunzime de calitatea vieții ”, susține medicul neurolog Mark Wu,
expert în problema somnului în cadrul universității “ Hohns Hopkins” .
În timpul somnului se produce un tipar, creierul trecând în mod repetat prin două tipuri
diferite de somn: somnul REM (mișcare rapidă a ochiului) și somul Non- REM (NREM). Ciclul se
repeat la fiecare 90 de minute. Somnul NREM este alcătuit din 4 etape: Prima etapă o reprezintă
somnul ușor, care face tranziția din starea de veghe la somn. În această etapă o personă nu este
conștientă că doarme, dar poate să fie trezită foarte ușor. În timpul primei etape ale somnului,
semnalele EEG sunt reduse în amplitudine și au o frecvență joasă. În cea de-a doua etapă, somnul se
instalează, se produce detașarea de mediul exterior, temperatura corpului scade și bătăile inimii
încetinesc. În a doua etapă a somnului, undele alfa sunt întrerupte periodic de niște izbucniri ale
activității oscilatorii neurale. Aceste izbucniri ale activității cerebrale durează cel puțin o jumătate de
secundă, la frecvențe de 12-14 Hz. Etapele trei și patru reprezintă somnul cel mai profund și
reconfortant. În aceste etape, tensiunea arterială scade, respirația încetinește, mușchii se relaxează,
crește alimentarea cu sânge către mușchi, se produce regenerarea țesuturilor, nivelul de energie se
reface. Tot in aceste etape, sunt eliberați hormonii de creștere, esențiali pentru dezvoltare, inclusiv
pentru dezvoltarea musculară. Dupa cea de-a patra etapă, urmează somnul REM, prima oară se
produce la 90 de minute după ce adormim și reapare ulterior la fiecare 90 de minute, iar mai târziu în
noapte, somnul REM devine mai de durată. În timpul somnului, creierul elimină toxinele acumulate
în starea de veghe. Creierul este foarte activ pe tot parcursul nopții, mai ales în timpul somnului REM,
când este aproape la fel de activ ca în perioada în care suntem treji. Somnul REM furnizează energie
către creier și corp, susține performanțele zilnice, creierul este activ și apar visele, corpul devine imobil
și relaxat (aproape paralizat), deoarece mușchii sunt în repaus. În somnul REM, ochii se mișcă rapid
în spatele pleoapelor închise, iar undele cerebrale sunt similare cu cele din starea de veghe [3]. Un
exemplu al acestor etape poate fi văzut în Figura 1 .
Adrian Ciprian POPU CAPITOLUL I
8
În timpul tranziției de la starea de veghe la somn, majoritatea activității cerebrale are loc în
lobii frontali și occipitali. Tot în timpul tranziției de la veghe la somn, activități ale undelor alfa fac
tranziția de la lobul occipital la lobul frontal. Undele alfa au rolul de a face legătura subconștientului
cu conștientul, fiind ritmul normal în care se desfășoară majoritatea activităților creierului unui adult.
Ele derivă din activitatea substanței albe, cea care leagă lobii creierului și conectează regiunile acestuia
între ele. Undele alfa pot fi resimțite și captate cel mai bine în zona occipitală și în zona cortexului
frontal. Activitatea ridicată a lobului occipital este asociată cu starea de veghe relaxată. Undele beta
au amplitudine mică și au frecvența cea mai crescută dintre toate tipurile de unde. Frecvențele undelor
beta variază între 15 și 40 de cicluri pe secundă și sunt caracteristice activităților intense ale creierului.
În etapele 2-4, activitatea undelor delta crește în lobul frontal, iar activitatea undelor theta crește în
lobul occipital [Finelli, Borbély, & Achermann, 2001] . Undele theta sunt unde “ lente”, cu amplitudine
mare și frecvență redusă și sunt asociate cu procesele creative, intuiția, reveria, aducând la suprafață
Adrian Ciprian POPU CAPITOLUL I
9
amintiri, emoții și senzații. Ele sunt întâlnite și la granița dintre vis și realitate și reprezintă legătura
cu subconștientul, din acest motiv fiind rar întâlnite în starea de veghe la adulți, însă pot fi întâlnite la
copii, și în condiții normale în timpul somnului. Undele Delta sunt cele mai joase unde, ele pot fi
întâlnite în timpul somnului profund mai ales în cel non- REM atunci când pot atinge cele mai joase
frecvențe [4]. Metode de detectare a somnului pot fi create, prin observarea acestor caracteristici ale
creierului în momentul trecerii de la starea de veghe la somn. Un exemplu al undelor creierului poate
fi vizualizat în Figura 2, iar o diagramă a lobilor creierului poate vizualizată în Figura 3.
Adrian Ciprian POPU CAPITOLUL I
10
Diviziunile din creier sunt vizibile cu ușurință , mai ales cele două emisfere, deoarece există
canale care le împart clar. Fiecare emisferă prezintă la rândul ei zone ușor diferențiate datorită altor
fisuri și canale. Grație studierii atente a lobilor creierului, s-a descoperit că fiecare dintre aceștia
îndeplinește o serie de sarcini specifice. Lobul frontal este situat în partea din față a creierului , după
cum sugerează și numele, acesta se află în spatele osului frontal al craniului. În plus, este unul dintre
cei mai mari lobi ai creierului.La celălalt capăt al creierului, găsim lobul occipital. Acesta este localizat
în partea din spate a craniului, aproape de gât. Între acest lob și lobul frontal, se află lobul parietal.
Lobii temporali sunt situați în apropierea tâmplelor , între lobul frontal și cel occipital. Deși lobii nu
reprezintă diviziuni exacte, milimetrice, acestora li se atribuie funcții precum vorbirea, mișcarea sau
raționamentul. Lobul frontal intervine în controlul impulsurilor și în comportamentul social. Lobul
parietal este cel mai implicat în
procesarea informațiilor . În plus, acesta are un rol esențial în obținerea
de informații spațiale. Cu alte cuvinte, ne permite să identificăm mărimea, forma și distanța la care se
află obiectele.
Lobii temporali sunt asociați cu limbajul și memoria auditivă, dar și recunoașterea
facială și înțelegerea vorbirii. Sunt lobii corelați cu sistemul auditive, drept urmare, lobii temporali
sunt cei mai afectați de tulburările epileptice. Lobul occipital este responsabil de simțul vederii. El
îndeplinește diverse funcții pentru interpretarea și recunoașterea imaginilor.
Lobul occipital ne
permite să distingem atât culoarea, cât și mișcarea și servește, de asemenea, la recunoașterea spațială.
Studierea lobilor cerebrali ne permite să aprofundăm cunoștințe și să identificăm părțile creierului [5].
11
2.EEG.SOMNOLENȚĂ.DETECȚIA SOMNULUI ȘI A OBOSELII
Electroencefalografia nocturnă sau EEG-ul de somn este o investigație complexă care are ca
scop monitorizarea funcționării creierului in timpul somnului. Această investigație are la bază captarea
și înregistrarea curenților electrici emiși de creier. Este o metodă neinvazivă, care nu are riscuri și nu
produce durere. Pentru ca pacientul să aibă confortul necesar somnului, electroencefalografia nocturnă
se realizează în încăperi special adaptate. În tot timpul investigației, pacientul este monitorizat video
de un sistem de camere în infraroșu, care permite înregistrarea imaginilor cu lumina stinsă.
Concomitent cu activitatea cerebrală, se pot înregistra și alți parametrii biologici, cum ar fi: activitatea
inimii, mișcările picioarelor, contracțiile musculaturii feței precum și funcția respiratorie.
Electroencefalografia nocturnă monitorizează etapele și ciclurile somnului, cu scopul de a identifica
momentul apariției tulburărilor de somn. Un dispozitiv clinic video EEG de ultimă generație poate
diagnostica o serie de afecțiuni datorate somnolenței, precum: întreruperea temporară a respirației în
timpul somnului (apnee de somn), mișcări involuntare la nivelul membrelor inferioare, cum ar fi cele
din cadrul sindromului “ picioarelor neliniștite ”, în caz de somnolență excesică în timpul zilei, în care
o persoană acuză oboseală excesivă, care poate duce uneori până la adormire în momente nepotrivite,
cum ar fi, la volanul unei mașini sau la locul de muncă, parasomnii asociate cu somnul REM, paralizia
de somn recurentă izolată care constă într-o perioadă de incapacitate de a efectua mișcări voluntare
care apar la adormire sau la trezire, fie în timpul nopții, fie al dimineții.
Somnul este o stare fiziologică relativă de inconștiență, pe perioada căreia activitatea
creierului este aparent abolită, cu excepția menținerii unor funcții de bază, vitale, cum este respirația.
Somnul poate fi detectat cu ajutorul electroenecefalogramei, etapele sale diferite pot fi recunoscute
prin apariția a diferitelor tipuri de unde [6].
În annual 1986, Morrow și Casey au conturat o metodă pentru detectarea în timp real a
somnului, concentrându-se pe trei parametri critici în înregistrările EEG: amplitudinea formei de undă,
frecvența formei de undă și durata de sincronizare a formei de undă. Acest ultim parametru este
esențial pentru ca forma de undă a amplitudinii să poată atinge un prag de tensiune predefinit pentru
o bandă de frecvență cu perioade scurte de timp, dar acest lucru nu indică neapărat somnul, decât dacă
Adrian Ciprian POPU CAPITOLUL al II-lea
12
îndeplinește pragul pentru o anumită durată. Morrow a utilizat un prag de tensiune predefinit de 50
μV. Frecvențele de focalizare au fost 8-12 Hz (Alfa) și 11,5-15 Hz (Beta scăzut). Au fost utilizate
două contoare pentru a detecta pragul de trecere a semnalului EEG, cu un contor pentru numărul de
potriviri secvențiale indicative ale somnului și celălalt contor pentru numărul de nepotriviri
secvențiale. Când o frecvență și o amplitudine s-au potrivit cu frecvențele și pragurile de focalizare,
contorul de potrivire a fost incrementat. Când acestea nu s-au potrivit, contorul de nepotrivire a fost
incrementat. Somnul a fost indicat, când contorul de potrivire a juns la 3, iar când contorul care nu se
potrivește a ajuns la 8, trezirea a fost indicată. Această metodologie poate fi aplicabilă detectării
somnului din etapa 1, Morrow a fost capabil să atingă o fiabilitate de 97,9%.
În anul 2004, Merica și Fortune au constatat că tranziția dintre somn și veghe a fost o
tranziție treptată . Atunci când compară undele delta și undele beta cu puterea totală a semnalului EEG
, s-a observat o creștere treptată a undelor delta împreună cu o creștere treptată a undelor beta.
Merica a comentat că “ somnul a fost mai mult unul de retragere din starea de veghe, decât din invazia
stării adormite ”.
În general, frecvențele de la 1 Hz la 16 Hz cresc în timp ce ne apropiem de somn, în timp
ce frecvențele de 17 Hz și mai mari, scad. Acest model continuă după debutul somnului, cu excepția
faptului că puterea în intervalul 8-11 Hz începe să crească și ea. Schimbarea în semnalul de 8-11 Hz
se observă mai ales în regiunea occipitală, unde semnalul se diminuează și are loc tranziția către lobul
frontal.
Cu această tranziție treptată către somn în minte, [Lal, Craig, Boord, Kirkup și Nguyen
2007], au documentat crearea unui algoritm pentru detectarea somnolenței la șoferi. Algoritmul
clasifica semnalele EEG de somnolență/oboseală în mai multe stagii: tranziționale (faza de oboseală
precoce), tranziționale – post tranziționale (faza de oboseală medie), post tranziționale (faza de
oboseală extremă și prima etapă a somnului) și faze excitante (apariția somnolenței). Semnalul a fost
separat în undele delta, theta, alfa și beta. O linie de bază a semnalului EEG a fost înregistrată înainte
ca subiectul să devină somnolent. Din acest prag de referință, valoarea medie și deviația standard
pentru fiecare dintre benzile de frecvență au fost calculate. Algoritmul a inclus coeficienți pentru a
permite reglarea precisă a pragului pentru fiecare bandă de frecvență. Un prag maxim a fost, de
asemenea, codificat pentru a elimina valorile exterioare. Datele au fost analizate în blocuri de treizeci
de secunde și acest algoritm a demonstrat o rată de eroare de 10% în detectarea somnului.
Există multe sisteme comerciale care pot detecta schimbarea tiparelor de conducere ale
șoferilor obosiți, cum ar fi sistemul de alertă a șoferului produs de Ford, sistemule de asistență la
Adrian Ciprian POPU CAPITOLUL al II-lea
13
atenție a celor de la Mercedes , sistemul de alertă a șoferului de la Volkswagen , sau controlul de
avertizre a șoferului și de părăsire a benzii de mers oferit de cei de la Volvo [Compania de motoare
Ford, 2011; Taylor, 2008; Volkswagen, 2012; ZerCustoms, 2007] . Fiecare dintre aceste sisteme
monitorizează schimbările făcute de șoferii somnolenți, în timpul condusului, cum ar fi, mișcări de
direcție sacadate sau deviații repetate în afara linilor benzii de mers. Când se întâmplă acest lucru, se
produce un avertisment sonor și vizual. Sistemul de alertă al celor de la Ford include chiar și scenarii
în care, dacă avertismentul este ignorat prea mult timp, acesta poate fi întrerupt doar prin oprirea și
ieșirea din mașină.
“Pilotul Anti-Somn ” este un produs danez, care nu
doar monitorizează modelele de conducere, dar este
necesar ca șoferul să apese cât mai repede pe un buton
de pe dispozitiv, în momentul când este atenționat,
pentru a verifica dacă timpul de răspuns al șoferului
este adecvat.
Alte sisteme precum sistemul de urmărire a oochilor de la Fraunhofer sau sistemul de
monitorizare a șoferului de la Toyota, care monitorizează ochii șoferului pentru a confirma că aceștia
urmăresc drumul [Coxworth, 2010; Williams, 2008] . Șoferul poate fi avertizat dacă nu urmărește
drumul atunci când un obstacol este înainte. Șoferul este avertizat și dacă ochii lui se închid pentru o
perioadă lungă de timp. Fiecare dintre aceste sisteme au puncte pro și contra. Sistemele de detectare
neregulată a conducerii pot monitoriza toate formele de conducere neregulată, care includ și
conducerea distrasă. Dezavantajul lor este un răspuns lent în timp, astfel încât, dacă conducerea devine
neregulată, s-ar putea să fie prea târziu pentru a preveni un accident. Sistemele de monitorizare a
șoferului au potențialul de a detecta somnolența șoferului înainte de an avea loc un accident, dar se
bazează pe posibilitatea de a monitoriza ochii unui șofer pentru a stabili dacă aceștia sunt deschiși.
Potrivit lui Barr, Howarth, Popkin și Carroll [2006] , „Pentru lumea reală, în aplicațile vehiculelor
lumina soarelui poate interfera cu iluminarea cu infraroșu, reflexiile din ochelari pot crea pete
luminoase în apropierea ochilor și ochelarii de soare tind să perturbe lumina infraroșie și să facă ca
pupilele ochiilor să arate foarte slabe”. Un dispozitiv bazat pe EEG ar putea detecta debutul
Adrian Ciprian POPU CAPITOLUL al II-lea
14
somnului, înainte începerii condusului neregulat și are avantajul de a nu solicita o vedere nestingherită
asupra ochilor șoferului.
Dispozitivele EEG cu costuri scăzute nu au mai fost pe piață de mult timp și relativ puține
cercetări au fost făcute pentru ele. Cea mai mare parte a literaturii limitate implică detectarea atenției
utilizatorului. În cele mai multe cazuri, aceste dispozitive EEG de costuri scăzute s-au dovedit a fi
înlocuitori adecvați pentru gradul medical de dispozitive EEG, pentru analiza unor semnale de nivel
scăzut. Deoarece au de obicei mai puțini senzori decât echipamente de grad medical, nu fac o treabă
bună în a localiza anumite semnale specifice din creier.
Într-un test cu un dispozitiv EEG de cost scăzut, Crowley, Sliney și Murphy [2010] au
realizat două teste psihologice ( testul de inferență al cuvântului- culoare Stroop [1935] și testul
Turnul Hanoiului [Hinz, 1989] ), pentru a induce stresul și a corela rezultatele cu semnalele de atenție
și meditație măsurate, înregistrate cu ajutorul căștii Neurosky Mindset . Bazându-se pe tendințele
semnalului, au putut detecta când emoțiile unui subiect s-au schimbat. Într-un alt test , Haapalainen,
Kim, Forlizzi și Dey [2010] , au colectat date de la mai mulți senzori bio, inclusiv un Neurosky Mindset
și le-au comparat capacitatea de a evalua sarcina cognitivă. Semnalului de atenție de pe acest
dispozitiv i-a fost atribuit rangul de al treilea cel mai bun prezicăctor de sarcină cognitivă ridicată
după fluxul de căldură și electrocardiogramă ( ECG), peste toate experimentele cognitive efectuate.
Tan [2012] a folosit o cască Neurosky Mindset pentru a înregistra semnale EEG pentru adulți
și copii care citesc secțiuni ușoare sau dificile de text pentru a determina dacă un utilizator a avut
dificultăți în citirea textului. Ei au putut distinge împerecheri de text ușor/greu cu o precizie de 70%
pentru adulți și 64% pentru copii. Această teză a comentat că Neurosky Mindset s-a dovedit a fi
„capabilă să colecteze informații de calitate ".
În studiul realizat de Choi [2012] , principalul domeniu de focalizare a fost analiza
domeniului de frecvență al semnalelor EEG, colectate de la dispozitivul EEG cu senzor uscat
Neurosky . Conținutul de frecvență al semnalelor a fost divizat în benzi de frecvență relevante clinic,
undele alfa (8-13 Hz), undele beta (14-30 Hz) și undele theta (4-7 Hz). Era de așteptat că, la fel ca în
studiile clinice, undele alfa și beta să scadă când somnolența și valorile theta ar crește în somnul din
etapa 1. În studiul folosind semnalele EEG obținute de la dispozitivul Neurosky , undele alfa și beta au
scăzut atunci când a fost detectată somnolența, dar valorile undei theta au rămas constante.
În concluzie, aceste rezultate au sugerat că semnalele EEG obținute de la dispositive EEG
de cost scăzut, precum Neurosky se pot dovedi o țintă utilă pentru procedeele de detectare a
somnolenței.
15
3.CONTRIBUȚII PERSONALE ȘI OBIECTIVE
Această lucrare propune folosirea căștii Neurosky Mindwave Mobile 2 [Neurosky Brain
Computer Interface Technologies, 2009] , un dispozitiv EEG de cost scăzut care folosește un singur
electrod uscat pentru a înregistra undele creierului, care este plasat pe frunte în poziția Fp1, mai multe
detalii puteți observa în Figura 5 și un electrod de împământare care se fixează de lobul urechii stângi.
Partea fizică , casca în sine , vine cu un suport comod și reglabil pentru toate mărimile scalpului,
utilizarea ei necesită o conectivitate bluetooth. Este un model care validează un sistem autonom de
detecție în timp real al somnului din prima etapă. Un astfel de sistem ar putea fi folosit, în special de
șoferii de camion sau piloții de aeronavă, ca să detecteze și să avertizeze somnolența șoferului, cât și
neatenția, cu un răspuns rapid în timp. Acest sistem nu o să fie nevoit să monitorizeze tiparele de
condus ale șoferului și nici nu o să aibe nevoie de o vedere nestingherită asupra ochilor șoferului.
Acest sistem va înregistra un singur semnal EEG cu ajutorul electrodului uscat plasat pe frunte, iar
niște filtre o să fie aplicate semnalului pentru a obține frecvențele undelor delta (0,5 – 2,5 Hz), theta
(3,5 – 6,75 Hz), alfa scăzut (7,5 – 9,25 Hz), alfa ridicat (10 – 11,75 Hz), beta scăzut (13 – 16,75 Hz),
beta ridicat (18 – 29,75 Hz), gama scăzut (31 – 39,75 Hz) și gama mediu (41 – 49,75 Hz).
Analiza timp-frecvență va fi implementată ca să monitorizeze schimbările în frecvență, după
o perioadă de timp. Somul din prima etapă este indicat atunci când amplitudinea semnalului nefiltrat
este scăzută și puterea semnalului din frecvențele mai mari a fost atenuată. Când tranzițiile semnalului
EEG seamănă cu cele ale somnului din prima etapă, dispozitivul ca produce o alrmă auditivă.
Adrian Ciprian POPU CAPITOLUL al III-lea
16
Din toată literatura de specialitate studiată, algoritmul creat de Rattan Lal [2007] a oferit
abilitatea de a detecta fiecare etapă a somnului, inclusiv prima etapă a somnului. Algoritmul furnizat
de Morrow și Casey [1986] a putut detecta epoci 2 alfa cu un grad ridicat de precizie, dar epocile alfa
apar în timpul celei de-a doua etape ale somnului. Pentru a reduce numărul de falsuri pozitive 3, ar
trebui să fie implementate contoare, ca cele folosite de Morrow și Casey . Combinarea acestor metode
permite un algoritm capabil să detecteze somnul în prima etapă, reducând în același timp
probabilitatea apariției unui fals pozitiv.
Pentru a proiecta și testa dispozitivul, mi-am propus respectarea anumitor obiective
specifice:
1. Datele vor fi eșantionate de la casca Neurosky Mindwave Mobile 2 la frecvența de 512 Hz,
împreună cu estimările de putere a benzilor de frecvențe alfa scăzut, alfa ridicat, beta scăut,
beta ridicat.
2. Aceste date vor fi transmise prin bluetooth la plăcuța de dezvoltare cu microprocesor, Arduino
Uno R3.
3. Datele vor fi colectate astfel: cel puțin 30 de secunde de referință, timp în care utilizatorul este
în stare de veghe, iar după, în timp ce utilizatorul începe să adoarmă, datele sunt colectate în
mod continuu.
4. Datele din benzile de frecvență vor fi analizate pentru a vedea unele schimbări și pentru a
observa diferențele valorilor puterii medii și a variației.
5. Aceste valori vor fi folosite pentru a stabili praguri de diferențiere dintre starea de veghe și
prima etapă a somnului.
6. Un contor pentru starea de veghe sau pentru prima etapă a somnului va crește când un prag de
putere pentru o anumită frecvență va fi atins.
7. O alarmă sonoră se va produce în momentul atingerii valorii maxime a contorului.
8. Câteva criterii de proiectare al acestui dispozitiv:
a. declanșarea alarmei audio în termen de 30 de secunde de la debutul somnului
b. volumul alarmei audio stabilit la cel puțin 70 dB
c. 7 găuri perforate în cutia metalică făcută special pentru plăcuța de proiectare
Arduino Uno R3
2 epoci- ferestre de timp specifice, extrase din semnalul EEG continuu
3 fals pozitiv- reprezintă o greșeală în raportarea datelor, în care un rezultat al testului indică în mod necorespunzător
prezența unei afecțiuni, când în realitate aceasta nu este prezentă
Adrian Ciprian POPU CAPITOLUL al III-lea
17
d. 5 dintre aceste găuri au fost folosite pentru montarea LED-urilor, iar celelalte
două pentru alarma sonoră
e. o deschizătură a fost perforată pentru a avea o mai bună conectare cu modulul de
bluetooth. Mărimea cutiei metalice este de 327,25 cm3.
De asemenea, pot exista și unele provocări de proiectare, există multe probleme care pot
afecta detecția cu succes a primei etape a somnului. O problemă discutată de Balkin, Horrey, Graeber,
Czeisler și Dinges [2011] , sunt alarmele false. Într-un studiu de detectare a oboselii șoferilor folosind
EEG, sistemul a avut o rată de alarmă falsă de 14%. Această rată mare de alarmă falsă este
nesustenabilă pentru un dizpozitiv autonom care detectează somnolența șoferului, deoarece, în aceste
condiții ar putea împiedica acceptanța de către consumator a dispozitivului respectiv. Va afecta
încrederea utilizatorului în dispozitiv și va fi cu siguranță o distragere. Multă grijă trebuie luată în
echilibrarea răspunsului rapid cu precizia datelor, fără alarme false. Dispozitivul va maximiza, atât
sensibilitatea, cât și specificitatea, în plus va furniza un avertisment auditiv și vizual în cazul unui eșec
neașteptat, cum ar fi un semnal slab sau pierderea totală a semnalului.
Cea mai mare provocare prevăzută acestui dispozitiv, este găsirea echilibrului dintre un nivel
ridicat de sensibilitate și specificitate, pentru a reduce potențialele alarme false. Dacă sistemul nu
poate determina în mod sigur că o persoană adoarme, nu o să fie o soluție practică. Probabil, cu cât
sunt înregistrate și analizate mai multe eșantioane, cu atât rezultatele sunt mai bune. Un semnal de
referință trebuie înregistrat în timp ce utilizatorul este treaz, încât fiecare subiect să aibă control
propriu asupra datelor în timp real . Numărul de eșantioane necesare trebuie să fie echilibrat cu viteza
de răspuns. În concluzie, dispozitivul nu va fi folositor dacă identifică când o persoană a adormit, doar
la câteva minute după ce prima etapă a somnului a început. Probabil, în acel moment, va fi deja prea
târziu pentru un șofer sau un pilot.
18
4.METODA DE PROIECTARE
4.1 Echipamentul
4.1.1. Modulul EEG
Casca Neurosky Mindwave Mobile 2 utilizează tehnologia bluetooth pentru a trimite datele
înregistrate către echipamentul de analizare. Deoarece, dispozitivul folosește un senzor uscat, nu
necesită soluție salină sau gel pentru a asigura contactul corect cu suprafața frunții și pentru a asigura
un semnal EEG lipsit de zgomote. Contactul cu electrodul uscat este obținut prin apăsarea electrodului
pe fruntea subiectului, iar casca facilitează acest lucru. Casca este prevăzută cu filtre proprii pentru a
elimina zgomotul mișcărilor musculare și a interferențelor electrice. De asemenea, include un filtru
oprește-bandă, pentru a elimina zgomotul de 60 Hz de la sursa de alimentare. Deoarece nu există fire
care să atașeze electrodul de un dispozitiv de analiză, interferențele datorate lungimii firului
electrodului sunt mult mai reduse.
Adrian Ciprian POPU CAPITOLUL al IV-lea
19
Casca Neurosky Mindwave Mobile 2 poate eșantiona datele până la 512 eșantioane pe
secundă. În plus, pe lângă înregistrarea datelor EEG neprelucrate, măsoară și caluclează spectrul de
puteri ale undelor delta (0,5 – 2,75Hz), theta (3,5 – 6,75Hz), alfa scăzută (7.5 – 9.25Hz), alfa ridicată
(10 – 11.75Hz), beta scăzut (13 – 16.75Hz), beta ridicat (18 – 29.75Hz), gama scăzut (31 – 39.75Hz) și
gamma mediu (41 – 49.75Hz), precum și rezistența la clipire. De asemenea, poate să producă
semnalele de atenție și meditație, care au rolul să identifice când subiectul acordă atenție sau este
relaxat. Semnalele de atenție și meditație nu vor fi folosite pentru această lucrare. Aceste semnale de
atenție și meditație sunt create folosind date din alte benzi de frecvențe (ex.: alfa, beta, gama, etc.).
Aceste semnale nu fac parte din semnalele standard EEG și nu reprezintă benzi de frecvență specifice.
4.1.2 Modulul de procesare a semnalelor
Plăcuța de proiectare Arduino Uno R3 a fost aleasă ca principală sursă de procesare,
prelucrare și analizare a semnalelor. Constă într-o platformă de mici dimensiuni, construită în jurul
unui procesor de semnal și poate prelua date. Această plăcuță are la bază microcontroller4-ul
ATmega328 . Are 20 de pini de intrare/ieșire digitali, dintre care 6 pot fi folosiți ca ieșiri PWM 5 și 6
pot fi folosiți ca intrări analogice), un oscilator de 16 MHz, o conexiune USB 6, poate fi conectat și la
o priză de curent, are abilitatea de a porgrama microcontroller-ele ( ICSP 7) și un buton de reset [7].
4 microcontroller- un circuit integrat compact conceput pentru a conduce o operațiun specifică într-un sistem încorporat
5 PWM- modulația lățimii impulsului (Pulse Width Modulation)
6 USB- Universal Serial Bus
7 ICSP- programare serială în circuit (In Circuit Serial Programming)
Adrian Ciprian POPU CAPITOLUL al IV-lea
20
Arduino Uno R3 conține tot ce este necesar pentru a susține microcontroller-ul. Modulul de
procesare a semnalului este utilizat pentru a calcula frecvența semnalului EEG analogic. Frecvența
determinată este apoi utilizată pentru a clasifica nivelul de conștientizare al utilizatorului. Portul USB
de la Arduino a fost folosit în scopuri de depanare. Arduino Uno R3 a fost alimentat de un adaptor de
alimentare USB de 5V, care poate fi utilizat într-o mașină.
4.1.3 Modulul de alarmă
O sirenă 8 activă a fost folosită ca și principală sursă de avertizare sonoră. Această sirenă
activă are o sursă internă oscilantă și va suna în momentul când este energizată. Sirena activă este
utilizată pe scară largă în computere, imprimante, copiatoare, alarme, jucării electronice, electronice
auto, telefoane, cronometre și alte produse electronice care necesită un dispozitiv sonor. Diferența
dintre o sirenă activă și una pasivă este că, sirena pasivă nu are o sursă oscilantă [8].
Modulul de alarmă este folosit pentru a avertiza utilizatorul în momentul când acesta începe
să adoarmă, respectiv când prima etapă a somnului a fost înregistrată de către casca Neurosky
Mindwave Mobile 2. Acest dispozitiv de avertizare sonoră primește două semnale de intrare de la
modulul de procesare a semnalelor, primește un semnal în momentul în care prima etapă a somnului
a fost atinsă și un semnal de avertizare dacă casca Neurosky Mindwave Mobile 2 nu este fixată
corespunzător pe suprafața scalpului, respectiv poziția electrozilor nu este corectă. Cât timp
utilizatorul este treaz, alarma nu o să se declanșeze. În momentul când prima etapă a somnului este
înregistrată, alarma se declanșează și va rămâne așa până când este deconectată de la sursa de
alimentare.
8 sirenă- aparat care produce sunete de mare intensitate
Adrian Ciprian POPU CAPITOLUL al IV-lea
21
4.1.4 Modulul de bluetooth
Pentru partea de conectivitate și transfer de date
între modulul EEG și modulul de procesare a semnalelor a
fost ales modulul bluetooth HC-05. Modulul bluetooth HC-
05 este un modul ușor de utilizat, proiectat pentru
configurarea conexiunii seriale transparente fără fir de până
la maxim 10 metri. Acesta utilizează banda de frecvențe de
2,45 GHz și o rată de transfer a datelor de 1 Mbps [9]. Pentru
a permite conexiunea cu casca Neurosky Mindwave Mobile
2, modulul bluetooth HC-05 a fost conectat la plăcuța de dezvoltare Arduino Uno R3, urmând a fi
stabilit ca să poată intra în modul de comandă AT 9, pentru a putea fi configurat. Pentru a intra în
modul de comandă, butonul de pe bluetooh trebuie apăsat pentru câteva secunde, în timp ce este pornit.
Acesta reușind să intre în modul de comadă atunci când LED-ul clipește doar între intervale mai mari
de timp. Comenzile de configurare a bluetooth-ului s-au realizat cu ajutorul programului de caluclator
Arduino Ide 10, acest program a fost folosit și pentru încărcarea codului de programare pe plăcuța de
dezvoltare Arduino Uno R3. Instrucțiunile de control a bluetooth-ului pot fi vizualizate în Anexa B.
9 modul de comandă AT- stabilește instrucțiunile de control a bluetooth-ului, AT reprezintă abrevierea de la ATenție
10 Arduino Ide- este un mediu de dezvoltare integrat cu aplicații pe mai multe platforme (Windows, Linux etc.), care
utilizează un limbaj de programare foarte asemănător cu C/C++
Adrian Ciprian POPU CAPITOLUL al IV-lea
22
4.1.5 Modulul indicator LED
Acest modul a fost realizat ca și principală sursă
de avertizare vizuală, având la bază 5 diode emițătoare de
lumină (LED), două LED-uri roșii, două LED-uri galbene
și un LED verde. Aceste LED-uri indică când conexiunea
la casca Neurosky Mindwave Mobile 2 a fost stabilită, dar
indică și un semnal de avertizare vizual, prin aprinderea
a doar 3 dintre LED-uri, în cazul în care casca Neurosky
Mindwave Mobile 2 nu a fost fixată corespunzător, iar
electrozii nu sunt plasați la locul potrivit.
După scurgerea celor 30 de secunde de referință în care utilizatorul trebuie să rămână treaz,
LED-urile vor indica progresia către prima etapă a somnului în funcție de datele determinate de
contorul de somn. În timp ce utilizatorul începe să adoarmă, LED-urile se vor aprinde treptat, iar în
momentul când toate LED-urile sunt aprinse, modulul de alarmă va declanșa o avertizare sonoră.
4.1.6 Concluzii despre echipament
În concluzie, toate modulele, respectiv dispozitivele prezentate mai sus reprezintă
echipamentele cele mai importante și esențiale în realizarea acestui dispozitiv. Nu s-au întâmpinat
greutăți în realizarea acestui dispozitiv, toate modulele funcționând la capacitate optimă. În opinia
mea, cea mai dificilă parte din realizarea dispozitivului a fost perforarea găurilor în cutia metalică care
încorporează modulele, deoarece aceste găuri realizate cu ajutorul unui burghiu trebuie să fie foarte
precise. Pe lângă modulele prezentate mai sus, s-au mai folosit și alte echipamente, precum: suporturi
de fixare a LED-urilor, scut de prototipare 11Arduino echipat cu Breadboard 12, cablurile de conectare,
rezistențe de 220 Ohm pentru fiecare dinitre cele 5 LED-uri, cablu USB A-B de 1 metru pentru
Arduino, carcasă metalică pentru Arduino Uno R3.
11 scut de prototipare- plăci care pot fi conectate pe partea de sus a Arduino-ului extinzându-i capabilitățile
12 breadboard- este o bază de construcție pentru prototiparea de electronice
Adrian Ciprian POPU CAPITOLUL al IV-lea
23
O diagramă de conectare care arată fiecare componentă poate fi văzută în Figura 12 .
În momentul când dispozitivul este pornit, modulul de alarmă oferă indicația audio când
somnul este detectat. Zgomotul alarmei produce un sunet înalt de 4000 Hz la 70 dB măsurat la 12
centimetri de carcasa dispozitivului. LED-urile oferă indicație când conectarea la Neurosky Mindwave
Mobile 2 a fost stabilită. O diagramă funcțională a echipamentului poate fi văzută în Figura 13 .
După ce conexiunea a fost stabilită, LED-urile indică progresia către somnul din etapa întâi,
conform contorului de somn. În cazul în care este sesizată o conexiune slabă cu casca Neurosky
Mindwave Mobile 2 sau la contactul slab cu scalpul după înregistrarea liniei de bază, alarma este
activată pentru a avertiza utilizatorul că dispozitivul nu mai monitorizează somnolența. Unitatea
complet asamblată este de 327,25 centimetri cubi. Detalii suplimentare despre echipament pot fi găsite
în Anexa A. O fotografie a dispozitivului realizat poate fi văzută în Figura 14 .
Adrian Ciprian POPU CAPITOLUL al IV-lea
24
Adrian Ciprian POPU CAPITOLUL al IV-lea
25
4.2 Programul
Metoda de crearea a algoritmului de detectare se bazează pe lucrările lui Rattan Lal [2007] .
Fundația acestei analize este un semnal de 30 de secunde în timp ce subiectul este treaz. Din această
înregistrare de 30 de secunde (15360 de eșantioane), a fost calculate o medie și o abatere standard
pentru fiecare bandă de frecvențe. Cu aceste date de referință, un prag este stabilit pentru fiecare bandă
de frecvență de forma:
𝐴𝐿𝑆𝑇 = 𝑎𝐿𝑆1𝐴𝐿𝑀 + 𝑎𝐿𝑆2𝐴𝐿𝑆𝐷
Unde 𝐴𝐿𝑆𝑇 este pragul alfa scăzut la care o tendință ce sugerează somnul este indicate, 𝐴𝐿𝑀 și 𝐴𝐿𝑆𝐷
reprezintă valoarea medie de referință alfa scăzută și deviația standard alfa scăzută, și 𝑎𝐿𝑆1 și 𝑎𝐿𝑆2 sunt
constante de proporționalitate care definesc ponderarea asociată cu valoarea medie de referință și
deviația standard. Aceste constante de proporționalitate sunt derivate experimental prin compararea
semnalului de bază cu amplitudinea semnalului atunci când somnul este indicat prin punctare vizuală.
Pentru a puncta vizual un EEG, datele au fost revizuite pentru punctul în care linia de tendință a
amplitudinii este aproape de valoarea ei cea mai mică, iar panta liniei de tendință este aproape zero
pentru o perioadă continuă mai mare de zece secunde. Constanțele de proporționalitate sunt
determinate prin corelarea mediei și a deviației standard a unui semnal de referință la amplitudinea
semnalului atunci când somnul este indicat prin punctare vizuală. Aceste constante de
proporționalitate sunt reglate bine în timpul depanării pentru a îmbunătăți timpul de răspuns și limita
apariția unui fals pozitiv. După ce aceste valori de proporționalitate au fost determinate, acestea au
fost utilizate pentru fiecare subiect fără modificări. Cu alte cuvinte, aceste valori trebuiau să fie bine
reglate pentru configurarea specifică a echipamentului și a programului, dar nu au necesitat o ajustare
suplimentară, chiar dacă a fost testat un subiect diferit. În Figura 15 este descries fluxul procesului
pentru determinarea constantelor de proporționalitate folosind ca exemplu constanta de
proporționalitate a undei beta ridicată în timpul somnului.
Adrian Ciprian POPU CAPITOLUL al IV-lea
26
Datele experimentale au fost utilizate pentru a stabili inițialele constante de proporționalitate,
pentru a identifica tendințele și pentru a determina corelația cu prima etapă a somnului, pentru fiecare
dintre semnale . Toate formulele și definițiile variabilelor pentru acest algoritm pot fi văzute în Figura
16 și Figura 17 . Folosind valorile definte de incrementare și decrementare, somnul a fost indicat când
contorul de somn a atins valoarea 35. Această valoarea a fost aleasă deoarece a fost suficient de mare
pentru a limita alarmele false din cauza scăderilor tranzitorii de semnal, dar nu a fost destul de mare
încât să aibe un efect negativ asupra sensibilității detectării. O diagramă funcțională a
comportamentului progamului poate fi văzută în figura Figura 18 .
Adrian Ciprian POPU CAPITOLUL al IV-lea
27
Fiecare prag are un efect diferit asupra contorului de somn. De exemplu, dacă pragul de
somn al undei alfa scăzut este traversat, contorul de somn crește cu 1. Fiecare termen afectează
contorul de somn simultan. Dacă și pragul de veghe beta scăzut ar fi fost traversat, atunci contorul ar
fi decrementat cu 2, rezultând o modificare netă a contorului de -1.
Praguri de Veghe/Somn Valori de referință
𝐴𝐿𝑆𝑇 = prag de somn alfa scăzut 𝐴𝐿𝑀= valoarea mediea alfa scăzut
𝐴𝐿𝑊𝑇 = prag de veghe alfa scăzut 𝐴𝐿𝑆𝐷= deviația standard alfa scăzut
𝐴𝐻𝑆𝑇= prag de somn alfa ridicat 𝐴𝐻𝑀= valoarea medie alfa ridicat
𝐴𝐻𝑊𝑇= prag de veghe alfa ridicat 𝐴𝐻𝑆𝐷= deviația standard alfa ridicat
𝐵𝐿𝑆𝑇= prag de somn beta scăzut 𝐵𝐿𝑀= valoarea medie beta scăzut
𝐵𝐿𝑊𝑇= prag de veghe beta scăzut 𝐵𝐿𝑆𝐷= deviația standard beta scăzut
𝐵𝐻𝑆𝑇= prag de somn beta ridicat 𝐵𝐻𝑀= valoarea medie beta ridicat
𝐵𝐻𝑊𝑇= prag de veghe beta ridicat 𝐵𝐻𝑆𝐷= deviația standard beta ridicat
𝑅𝑊𝑇= prag de veghe nefiltrat 𝑅𝑀= valoarea medie nefiltrată
𝑅𝑆𝑇𝑀= pragul mediu de somn nefiltrat 𝑅𝑆𝐷= deviația standard nefiltrată
Constantele de Proporționalitate
𝑎𝐿𝑆1= alfa scăzut-somn
Constantă de proporționalitate 1 𝑏𝐿𝑊1= beta scăzut-veghe
Constantă de proporționalitate 1
𝑎𝐿𝑆2= alfa scăzut-somn
Constantă de proporționalitate 2 𝑏𝐿𝑊2= beta scăzut-veghe
Constantă de proporționalitate 2
𝑎𝐿W1= alfa scăzut-veghe
Constantă de proporționalitate 1 𝑏𝐻𝑆1= beta ridicat-somn
Constantă de proporționalitate 1
𝑎𝐿W2= alfa scăzut-veghe
Constantă de proporționalitate 2 𝑏𝐻𝑆2= beta ridicat-somn
Constantă de proporționalitate 2
𝑎𝐻𝑆1= alfa ridicat-somn
Constantă de proporționalitate 1 𝑏𝐻𝑊1= beta ridicat-veghe
Constantă de proporționalitate 1
𝑎𝐻𝑆2= alfa ridicat-somn
Constantă de proporționalitate 2 𝑏𝐻𝑊2= beta ridicat-veghe
Constantă de proporționalitate 2
Adrian Ciprian POPU CAPITOLUL al IV-lea
28
𝑎𝐻W1= alfa ridicat-veghe
Constantă de proporționalitate 1 𝑟𝑊1= constanta de proporționalitate
nefiltrată-veghe 1
𝑎𝐻W2= alfa ridicat-veghe
Constantă de proporționalitate 2 𝑟𝑊2= constanta de proporționalitate
nefiltrată-veghe 2
𝑏𝐿𝑆1= beta scăzut-somn
Constantă de proporționalitate 1 𝑟𝑆1= constanta de proporționalitate
nefiltrată-somn 1
𝑏𝐿𝑆2= beta scăzut-somn
Constantă de proporționalitate 2 𝑟𝑆2= constanta de proporționalitate
nefiltrată-somn 2
Valorile Semnalului
𝐴𝐻= semnal alfa ridicat 𝐵𝐻= semnal beta ridicat
𝐴𝐿= semnal alfa scăzut 𝐵𝐿= semnal beta scăzut
𝑅= semnal nefiltrat –
Figura 17 :Definirea termenilor formulei
Adrian Ciprian POPU CAPITOLUL al IV-lea
29
Elementele marcate cu verde sunt bazate pe muca lui Rattan Lal [2007] și J.D. Cook [Cook, 2008].
Deoarece o mare parte din acest algoritm se bazează pe calculul pragului de referință, trebuie să se
acorde o mare atenție pentru a asigura că pragul de referință este o reprezentare precisă a activității
cerebrale în starea de veghe. Dacă puterea semnalului este prea slabă, datorată contactului slab cu
pielea sau prea mare din cauza activității anormale, pragul de referință ar putea fi distorsionat. Casca
Neurosky Mindwave Mobile 2 are un sistem încorporat de detectare pentru a marca semnalele
zgomotoase, care poate fi folosite pentru a asigura faptul că numai semnalele fără zgomot sunt utilizate
în creearea unui prag de referință. Rattan Lal [2007] a folosit o limită maximă pentru a înlătura
semnalele care au o magnitudine neobișnuit de mare. Atât un monior de semnal slab cât și un prag
maxim au fost utilizate pentru a reduce cantitatea de date proaste folosite în creearea pragului de
referință. Testarea inițială a algoritmului s-a realizat folosind un model bazat pe computer cu o
interfață serială bluetooth care citește datele înregistrate de casca Neurosky Mindwave Mobile 2 . După
aproximativ 30 de secunde de înregistrare a eșantioanelor (aproximativ 15360 de eșantioane), valorile
de referință au fost înregistrate. După ce înregistrarea valorilor de referință a fost realizată,
magnitudinile undelor alfa scăzut, alfa ridicat, beta scăzut și beta ridicat calculate de către casca
Neurosky Mindwave Mobile 2 , au fost eșandtionate o dată pe secundă. Semnalul EEG nefiltrat a fost
eșantionat în fiecare secundă, iar valoarea medie a semnalului EEG nefiltrat din ultima secundă a fost
calculată. Toate aceste date au fost utilizate ca o intrare pentru algoritmul de somn care a rulat o dată
la fiecare secundă.
4.3 Integrare
Odată asamblat echipamentul, a avut loc integrarea dintre partea de program și partea de
echipament. Portul USB de pe Arduino a fost folosit pentru depanarea și ajustare a algoritmului.
Principala diferență între modelul de computer și modelul Arduino a fost gestionarea memoriei.
Deoarece Arduino are mult mai puțină memorie RAM 13 decât un computer, valoarea medie și cea a
deviației standard nu au putut fi calculate într-o manieră tipică. De obicei, fiecare valoare este stocată
într-o mulțime, iar apoi, valoarea medie și deviația standard este calculată din această mulțime. Din
cauza limitărilor de memorie, o valoare medie de rulare și deviația standard au fost utilizate pe baza
calculelor retalizate de către J.D. Cook [Cook, 2008].
13 RAM- este forma scurtă pentru “Random Access Memory” sau memorie de acces aleatoriu, este o memorie volatilă
Adrian Ciprian POPU CAPITOLUL al IV-lea
30
Acest lucru a permis calculul valorii medii și al devației standard să se facă fără a fi necesară stocarea
de lungă durata a semnalelor EEG. Algoritmul pentru calcularea valorii medii de rulare și deviația
standard a fost următorul:
M reprezintă valoarea medie și s2 este variația.
M1 = x1 and S 1 = 0
Pentru x-uirle ulterioare, se folosesc formulele de recurență:
Mk = Mk-1+ (xk – Mk-1)/k
Sk = Sk-1 + (xk – Mk-1)*(xk – Mk).
Pentru 2 ≤ k ≤ n , estimarea k a variației este s2= Sk/(k – 1).
Pentru a facilita ajustarea codului de programare, măsurile semnalului nefiltrat, a valorii
medii nefiltrate, alfa scăzut, alfa ridicat, beta scăzut, beta ridicat au fost trimise prin portul USB la
aproximativ o dată pe secundă – la acceași viteză la care detecția somnului a fost efectuată. Semnalul
nefiltrat reprezintă mărimea semnalului EEG nefiltrat în momentul în care a fost citit semnalul.
Măsurarea valorii medii nefiltrate a fost mărimea semnalului valorii medii nefiltrate pentru ultimele
512 eșantioane. Măsurătorile undelor alfa scăzut, alfa ridicat, beta scăzut și beta ridicat au fost
mărimea fiecărei benzi de frecvență, așa cum a fost calculată de Neurosky Mindwave Mobile 2 .
Valorile pragului de referință pentru valoarea medie nefiltrată, deviația standard nefiltrată, valoarea
medie alfa scăzut, deviația standard alfa scăzut, valoarea medie alfa ridicat, deviația standard alfa
ridicat, valoarea medie beta scăzut, deviația standard beta scăzut, valoarea medie beta ridicat și
deviația standard beta ridicat au fost, de asemenea, trimise prin portul USB după pargul de referință
de 30 de secunde.
Odată ce algoritmul de somn a funcționat, valoarea contorului de somn a fost trimisă prin
USB, precum și informații despre factorii care au fost adăugați sau scăzuți la contorul de somn în
ultima secundă, așa cum se vede în Figura 16 . Folosind aceste informații, valorile contorului de somn
ar putea fi corelate cu semnalele pentru a determina când trebuie să se oprească alarma. Aceste valori
au fost reintroduse înapoi în algoritm pentru a regla performanța.
Adrian Ciprian POPU CAPITOLUL al IV-lea
31
Aceste valori trebuie să fie bine ajustate pentru configurarea specifică a echipamentului și a
programului, dar nu au avut nevoie de modificări suplimentare ulterior, chiar dacă un subiect diferit a
fost testat. Similar cu Rattan Lal [2007] , o limită maximă a fost folosită pentru a înlătura semnalele
care au o mărime neobișnuit de mare. Valorile finale sunt cele prezentate în Figura 19.
Valorile constantelor de proporționalitate și Valaorea maximă a semnalului
𝑎𝐿𝑆1 = 0.7 𝑏𝐿𝑊1 = 0.9
𝑎𝐿𝑆2 = 0 𝑏𝐿𝑊2 = 0
𝑎𝐿𝑊1 = 0.8 𝑏𝐻𝑆1 = 1
𝑎𝐿𝑊2 = 0 𝑏𝐻𝑆2 = -0.53
𝑎𝐻𝑆1 = 0.6 𝑏𝐻𝑊1 = 0.9
𝑎𝐻𝑆2 = 0 𝑏𝐻𝑊2 = 0
𝑎𝐻𝑊1 = 0.7 𝑟𝑊1 = 3
𝑎𝐻𝑊2 = 0 𝑟𝑊2 = 0
𝑏𝐿𝑆1 = 1 𝑟𝑆1 = 0.6
𝑏𝐿𝑆2 = -0.57 Limita Maximă = 300
Figura 19: Valori folosite în algoritmul somnului
Din testarea inițială cu modelul computerizat, s-a remarcat că alfa scăzut și alfa ridicat au
fost foarte slab corelate cu somnul. Din această cauză, somnul era indicat dacă semnalele alfa erau
suficient de scăzute față de valoarea medie. Valorile beta scăzut și beta ridicat s-au corelat mult mai
puternic cu somnul, la aproximativ o jumătate de deviație standard sub valoarea medie.
O schimbare bruscă, respective de trei ori valoarea medie a semnalului EEG nefiltrat a fost
dată ca indicație a trezirii. Pentru a evita căderea semnalului tranzitoriu de la oprirea detectării
semnalului de somn nefiltrat, valoarea medie de 512 eșantioane a fost folosită (eșantionate la 512 Hz).
Dacă această valoare medie este mai mică de 60% din valoarea medie a pragului de referință, somnul
este indicat.
Se poate observa că, deoarece toate semnalele scad în magnitudine în momemntul când se
apropie de somn, pragurile au fost stabilite pentru a indica somnul atunci când valoarea este sub pragul
de somn și starea de veghe când valoarea este peste pragul de veghe. Toate valorile au fost bine reglate
Adrian Ciprian POPU CAPITOLUL al IV-lea
32
în timpul testării integrării pentru a evita falsele pozitive, asigurând în același timp un timp de răspuns
rapid. În Figura 20 este prezentat modul în care algoritmul a funcționat pentru un exemplu de semnal
beta scăzut. Pentru mai multe informatii despre codul de programare, a se vedea Anexa C.
Când semnalul crește peste valoarea 𝐁𝐋𝐖𝐓, contorul decrementează, iar când semnalul scade sub
valoarea 𝐁𝐋𝐒𝐓 , contorul incrementează.
33
5.TESTE ȘI REZULTATE
5.1 Teste
Testele au fost efectuate pe trei subiecți, în două poziții diferite de somn: culcat și așezat pe
scaun. Au fost luate în considerare doar testele în care subiecții au început să adoarmă și testele
încheiate într-un somn fals pozitiv. Dacă subiectul nu a reușit să doarmă și alarma nu a reușit să
activeze, testul a fost respins. Subiectul a fost încurajat să se facă confortabil într-o poziție în care
credeau că somnul este posibil. Ei au fost informați că trebuie să stea treji câteva minute pentru a
înregistra valorile pragului de referință. Odată ce a fost înregistrat acest prag, puteau încerca să doarmă
dacă doreau. În timpul unor teste, subiectul a încercat imediat să doarmă. În timpul altor teste,
subiectul a continuat să citească sau să rămână intenționat treaz pe o perioadă de timp, după care au
încercat să doarmă. În cinci din cele douăzeci de teste efectuate, alarma s-a declanșat chiar înainte ca
subiectul să încerce să adoarmă, restul testelelor finalizându-se cu succes.
5.2 Rezultate
5.2.1 Date de probă
Primele date despre somn au fost culese de la casca Neurosky Mindwave Mobile 2 pentru a
evalua viabilitatea acestor date și pentru a înceape să determine coeficienții algoritmului de detectare
a somnului. Aceste date au fost capturate și analizat pentru tendințele anterioare și în timpul primelor
etape ale somnului. Un exemplu al acestor date pot fi văzut în Figura 21 . Aceste date arată schimbări
ale activității în fiecare frecvență de bandă și semnalul EEG nefiltrat în timpul debutului somnului din
etapa 1. Starea de somnolență și starea de veghe sunt marcate pe fiecare grafic. Aceste rezultate
reprezintă munca lui Bryan Van Hal [2013].
Adrian Ciprian POPU CAPITOLUL al V-lea
34
Aceste date au arătat că majoritatea modificărilor au avut loc în spectrul de frecvență a
undelor alfa scăzut, alfa ridicat, beta scăzut, beta ridicat și semnal nefiltrat per total. Acest lucru este
în concordanță cu somnul din etapa 1. Prima etapă a somnului este indicată atunci când amplitudinea
semnalului nefiltrat este scăzută, iar frecvențele mai mari au scăzut și ele. În Figura 21 , tranziția de
la starea de veghe la starea de somnolență este estimată a fi de aproximativ 60 de secunde din cauza
scăderii puterii în semnalele beta mari și mici nefiltrate. Acest grafic arată că puterea semnalului din
fiecare bandă scade în timpul tranziției la somn. Acest lucru se potrivește cu o tendință de scădere a
puterii comparativ cu valoarea pragului de referință pentru alfa ridicat, beta scăzut, beta ridicat și
Adrian Ciprian POPU CAPITOLUL al V-lea
35
semnalul nefiltrat. Această scădere se observă cel mai mult în semnalele nefiltrate și beta. Semnalul
alfa scăzut poate atinge un nivel ridicat în timp ce subiectul este treaz, dar, de asemenea, prezintă
izbucniri periodice după ce somnul a fost atins. Aceasta este probabil cauzată de epocile alfa cu arc.
Deoarece scopul este de a detecta debutul somnului, și nu debutul somnului profund, aceste epoci alfa
cu arc nu ajută la detectarea somnului din etapa 1. Datele din Figura 21 au fost utilizate pentru a
stabili constante de proporționalitate inițiale. Semnalul nefiltrat a fost corelat cel mai mult cu somnul,
așa că i-a fost dat cea mai mare ponderare în ceea ce privește creșterea sau reducerea contorului de
somn. Undele beta scăzut și beta ridicat a avut a doua cea mai mare corelație. Undele alfa scăzut și
alfa ridicat au fost slab corelate cu prima etapă a somnului.
5.2.2 Eficacitatea algoritmului
Adrian Ciprian POPU CAPITOLUL al V-lea
36
Din 20 de teste efectuate, somnolența a fost detectată cu succes în 15 teste sau în mod
corespunzător, 75% din cazuri. În 10 cazuri, algoritmul a indicat somnul cu o medie de aproximativ
8,4 secunde după ce a fost identificat somnul din etapa 1 cu punctaj vizual estimat. În 5 cazuri,
algoritmul a indicat somnul în medie de aproximativ 40 de secunde înainte ca somnul din etapa 1 să
fi fost identificat cu scor vizual estimat. În 5 cazuri, algoritmul a indicat somn înainte ca subiectul să
înceapă să încerce să adoarmă. Aceste cazuri au fost considerate fals pozitive.
În Figura 22 este prezentat contorul de somn și corelația acestuia cu fiecare semnal. Folosind
scorul vizual estimativ, somnul în prima etapă a avut loc în jurul secundei 641. Algoritmul a indicat
somnul la secunda 647, șase secunde mai târziu.
Când alarmele false au avut loc folosind algoritmul, acestea au apărut aproape imediat după
ce a fost înregistrat pragul de referință.
Figura 23 arată valoarea medie
nefiltrată și valoarea semnalului nefiltrat corelat
la valoarea contorului de somn a unui rezultat
fals de alarmă. Această cifră arată semnalul
nefiltrat care scade la mai puțin de o șesime din
putere maximă în câteva secunde. Acest lucru a
arătat o indicație falsă că subiectul dormea. În
fiecare caz în care a fost indicată o alarmă falsă,
semnalul a pornit relativ ridicat imediat după
pragul de referință și a scăzut brusc după aceea,
în timp ce subiectul era încă treaz. De
asemenea, în fiecare dintre aceste cazuri,
valorile medii ale pragului de referință și
valorile deviației standard au fost mai mari
decât în cazurile unde nu a existat o alarmă
falsă. În unele cazuri, subiectul a raportat că nu
a fost chiar adormit. Întrucât un indicator major
al primei etape de somn îl reprezintă
neconștientizarea somnului de către subiect.
Adrian Ciprian POPU CAPITOLUL al V-lea
37
Pentru a valida algoritmul, trei seturi de date despre somn au fost utilizate de la un electrod
plasat pe poziția Fp0, [Goldberger, 2010] . Aceste date privind studiul somnului au fost revizuite, iar
fiecare etapă a somnului fusese marcată. Aceste date au fost filtrate în benzile de frecvență ale undelor
alfa scăzut, alfa ridicat, beta scăzut, beta ridicat și au fost trecute prin algoritmul de somn. Aceste
rezultate au reflectat rezultatele obținute prin testare integrării programului. Algoritmul este adaptat
să detecteze debutul somnolenței și ocazional poate să producă alarme false. În Figura 24 este
prezentată o comparație între un rezultat clinic și un rezultat oferit de algoritm. Algoritmul nu ratează
începutul somnului din prima etapă. În schimb, acesta avertizează somnolența la secunda 516 pentru
5 secunde și in secunda 968 pentru restul duratei de eșantionare. Conform punctajului vizual clinic,
prima etapă a somnului a apărut în secunda 1226. Algoritmul a indicat somnul sau somnolența extremă
la 11,8 și 4,3 minute înainte ca punctajul vizual clinic să identifice somnul din prima etapă.
Adrian Ciprian POPU CAPITOLUL al V-lea
38
Pentru fiecare dintre cele trei seturi de date validate utilizate, a fost detectat somnul. În
fiecare caz, algoritmul a indicat somnul o dată la câteva minute, înainte ca rezultatele clinice să indice
acest lucru. În medie, algoritmul a indicat somnul cu aproximativ 120 de secunde înainte de rezultatele
clinice. În Figura 25 este ilustrat răspunsul în timp a fiecărui set de date dintre cele trei utilizate pentru
validare.
Debutul primei etape ale somnului (în seunde)
Algoritm Rezultate Clinice Diferența
Set de date 1 968 1226 258
Set de date 2 1046 1106 60
Set de date 3 724 766 42
Figura 25: Rezultatele algoritmului în comparație cu rezultatele clinice
În revizuirea valorilor pragului de referință pentru fiecare set de date înregistrat, valorile de
prag pentru seturile de date care au rezultat o alarmă falsă au fost mai mari decât pentru un caz de
detectare a somnului cu succes. A fost de asemenea interesant de menționat că pragurile care au dus
la detectarea precisă a somnului au variat foarte puțin unul față de celălalt. Sa calculat o medie a
tuturor valorilor de referință, iar majoritatea semnalele se aflau la 8% din aceste valori medii agregate.
39
6.CONCLUZII
Cea mai mare provocare în proiectarea acestui dispozitiv a fost obținerea unui prag de
referință precis în timp ce subiectul este treaz. Acest prag a variat mai mult decât a fost de așteptat,
depinzând de mai mulți factori, cum ar fi: sarcina efectuată în timpul înregistrării acestei valori de
referință, postura subiectului, așezat pe scaun sau culcat în pat și somnolența inițială a subiectului
reprezintă un factor important care poate crea dificultăți în înregistrarea cu accuratețe a valorii de prag.
A fost adăugată o limită maximă de semnal pentru a elimina o parte din izbucnirile de semnal care se
por produce din cauza mai multor ecenemiente, precum strănutul în timpul înregistrării pragului de
referință. Dacă semnalul a fost dispersat din cauza excesului de mișcare sau din cauza altei activități
tranzitorii în timpul înregistrării pragului, dar se află tot sub limita maximă, algoritmul va indica un
somn prematur. Dimpotrivă, dacă subiectul este deja foarte obosit la înregistrarea liniei de bază, acesta
va afecta sensibilitatea algoritmului și poate împiedica algoritmul din a mai detecta somnul vreodată.
La revizuirea cazurilor în care somnul a fost detectat cu exactitate și comparândule cu
alarmele false, s-a observat că pragurile de referință care au dus la detectarea precisă a somnului au
variat foarte puțin între ele. Atunci când valorile medii de prag pentru toate testele au fost mediate pe
persoană, s-a constatat că cel mai bun răspuns a fost atunci când valorile de prag au fost mai apropiate
de aceasta caloare de bază agregată. Cu alte cuvinte, cu cât durata înregistrării activității pragului de
referință este mai lungă, cu atât mai bune devin estimările valorii medii și a deviației standard. Aceste
estimări noi au îmbunătățit direct detectarea debutului somnului.
Dacă datele de prag nu variază mult în timp și valori de referință mai lungi par a fi mai
exacte, ar putea fi benefic ca în lucrările viitoare să fie eliminată această înregistrare de referință de
30 de secunde. În schimb, trebuie adăugat un mod de învățare care să ia un prag de referință pentru
mai multe minute. Această prah de referință ar trebui realizat în caz de utilizare normală. Cu alte
cuvinte, dacă dispozitivul urmează să fie utilizat în timpul conducerii, pragul de referință ar trebui să
înregistreze câteva minute de activitate standard în timpul condusului. Această valoare de referință va
fi stocată în într-o memorie de stocare non-volatilă, mai degrabă decât folosirea memoriei RAM, astfel
încât înregistrarea să poată fi salvată după ce dispozitivul a fost închis. Când utilizatorul folosește
ulterior dispozitivul pentru detectarea somnolenței, valoarea de prag pre-înregistrată din modul de
Adrian Ciprian POPU CAPITOLUL al VI-lea
40
învățare va fi utilizată, reprezentând o metodă mult mai eficentă decât înregistrarea unui prag de
referință nou.
Salvarea valorilor de prag ar avea avantaje suplimentare. Acest lucru ar face dispozitivul un
pic mai ușor de utilizat și ar reduce unele falsuri pozitive. Acesta ar avea avantajul suplimentar de a
fi în stare să detecteze somnolența imediat ce dispozitivul este pornit și înregistrează datele. Dacă
șoferul este deja somnolent când activează dispozitivul, dispozitivul ar putea indica faptul că este
afectat imediat. Momentan, se presupune că șoferul nu este somnolent atunci când pragul de referință
este înregistrat.
Întrucât pragul de referință este înregistrat pe parcursul mai multor minute și nu a treizeci de
secunde, filtrul de limită maxim s-ar putea să nu fie necesar. După o perioadă bună de timp , semnalele
exterioare (precum strănutul) nu vor mai influențează detectarea somnului. Acest lucru ar pune un
mare accent pe modul de calibrare. Dacă o activitatea neobișnuit de înaltă sau scăzută a creierului a
avut loc în timpul înregistrării valorii de prag, fiecare utilizare ulterioară a dispozitivuluiar ar fi
suspectă. De exemplu, dacă valoarea de prag a fost luată în timp ce subiectul era aproape adormit, ar
fi foarte dificil să detectăm somnolența.
Un următor pas în îmbunătățirea dispozitivului ar fi accentuarea testelor. Ar trebui efectuate
mai multe teste pe sistem, în special folosind conducere simulată. În toate testele efectuate pentru
această lucrare, subiectul a încercat să adoarmă. Nu a existat un timp adecvat pentru a efectua testarea
pe subiecți lipsiți de somn care încearcă să rămână treji, dar dacă acest dispozitiv sau unul ca acesta
trebuie să fie utilizat într-un automobil sau o aeronavă, teste trebuie să fie efectuate pentru a asigura
abilitatea dispozitivului de a detecta acest tip de somn necontrolat și somnolența.
Dispozitivele EEG cu costuri scăzute, precum Neurosky Mindwave Mobile 2 pot fi utilizate
pentru a detecta somnolența șoferului. Chiar și cu o capacitate a echipamentului limitată și un singur
electrod, dispozitivul utilizat în acest studiu s-a dovedit a fi eficient în proporție de 75% la detectarea
somnolenței într-un grup mic de teste. În 50% din cazuri, algoritmul a indicat somnul din prima etapă,
cu o medie de 9 secunde după ce somnul din etapa 1 a fost indicat cu punctaj vizual estimat. În 25%
din cazuri, algoritmul a indicat somnul între 30 de secunde și până la 20 de minute înainte ca etapa 1
somnului să fie indicată cu scor vizual estimat. Restul de 25% din cazuri au fost fals pozitive în care
algoritmul a indicat somn, dar subiectul încă nu încerca să doarmă. Cu câteva modificări, un astfel de
sistem ar fi potrivit pentru piloții de aeronave sau șoferii de camioane să primească un avertisment
auditiv atunci când încep să devină somnoroși. Există dificultăți în compararea valorilor curente cu o
valoare de prag. Mare grijă trebuie luată la înregistrarea valorilor de prag .
41
ANEXE
ANEXA A – ECHIPAMENTUL
16 fire de conectare
5 LED-uri de 5 mm ( 2 galben , 2 roșu , 1 verde )
5 suporți de fixare de plastic pentru LED-uri 5 mm
5 rezistențe de 220 Ω
1 Neurosky Mindwave Mobile 2
1 placă de dezvoltare Arduino Uno R3 + cablu conectare USB A-B de 1 m
1 Scut de prototipare Arduino Uno R3 cu breadboard
1 carcasă Arduino UNO R3 327,25 cm3
1 HC-05 modul bluetooth
1 modul buzzer activ
ANEXA B – CONFIGURARE BLUETOOTH
Comenzi AT:
AT+NAME=”HC-05”
AT+UART=”57600,0,0”
AT+ROLE=”1”
AT+PSWD=”0000”
AT+CMODE=”0”
AT+BIND=”C464,E3,E7DA59” – reprezintă numărul unic de identificare al Neurosky
AT+IAC=”9E8B33”
AT+CLASS=”0”
AT+INQM=”1,9,4
Adrian Ciprian POPU ANEXE
42
Comenzi de verificare :
AT
OK
AT+UART?
+UART:57600,0,0
OK
AT+ROLE?
+ROLE:1
OK
AT+PSWD?
+PSWD:0000
OK
AT+CMODE?
+CMODE:0
OK
AT+BIND?
+BIND: c4:64:e3:e7:da:59
OK
AT+IAC?
+IAC:9E8B33
OK
AT+INQM?
+INQM:1,9,48
OK
Adrian Ciprian POPU ANEXE
43
ANEXA C – CODUL DE PROGRAMARE
#define buzzer 8
#define LED9 9
#define LED10 10
#define LED11 11
#define LED12 12
#define LED13 13
#define BAUDRATE 57600
#define DEBUGOUTPUT 0
// neuro data variables //
byte errorRate = 200;
byte attention = 0;
byte meditation = 0;
byte blinkstrength = 0;
bool NewData = false;
short raw;
unsigned int rawpwr;
unsigned int delta;
unsigned int theta;
unsigned int alpha1;
unsigned int alpha2;
unsigned int beta1;
unsigned int beta2;
unsigned int gamma1;
unsigned int gamma2;
Adrian Ciprian POPU ANEXE
44
// system variables //
unsigned long lastReceivedPacket = micros();
unsigned long totalTime = 0;
boolean newRawData = false;
boolean bigPacket = false;
const int MaxValue = 40;
const int MinValue = 0;
const int Threshold = 35;
const int RawLimit = 300;
bool IsBaseline = true;
bool FirstRun = true;
bool IsAsleep = false;
const int BaselineSize = 15360;
const int BufferSize = 512;
const int FlushLimit = 1024;
int bufffill = 0;
int SleepCounter = 0;
int HeartBeatCounter = 0;
const int HeartBeatPeriod = 512;
int BaselineRawMean;
int BaselineRawStdDev;
int BaselineAlpha1Mean;
int BaselineAlpha1StdDev;
int BaselineAlpha2Mean;
int BaselineAlpha2StdDev;
int BaselineBeta1Mean;
int BaselineBeta1StdDev;
int BaselineBeta2Mean;
int BaselineBeta2StdDev;
Adrian Ciprian POPU ANEXE
45
class RunningStat
{
public:
RunningStat(): m_n(0) {}
void Clear()
{
m_n = 0;
}
void Push(unsigned int x)
{
m_n++;
if (m_n == 1)
{
m_oldM = m_newM = double(x);
m_oldS = 0.0;
}
else
{
m_newM = m_oldM + (x – m_oldM)/m_n;
m_newS = m_oldS + (x – m_oldM)*(x – m_newM);
// set up for next iteration //
m_oldM = m_newM;
m_oldS = m_newS;
}
}
int NumDataValues() const
{
return m_n;
}
Adrian Ciprian POPU ANEXE
46
double Mean() const
{
return (m_n > 0) ? m_newM : 0.0;
}
double Variance() const
{
return ( (m_n > 1) ? m_newS/(m_n – 1) : 0.0 );
}
double StandardDeviation() const
{
return sqrt( Variance() );
}
private:
int m_n;
double m_oldM, m_newM, m_oldS, m_newS;
};
RunningStat RawStats;
RunningStat Alpha1Stats;
RunningStat Alpha2Stats;
RunningStat Beta1Stats;
RunningStat Beta2Stats;
//////////////////////////////////////
// Microprocessor Setup //
/////////////////////////////////////
void setup() {
pinMode( LED9, OUTPUT );
pinMode( LED10, OUTPUT );
pinMode( LED11, OUTPUT );
Adrian Ciprian POPU ANEXE
47
pinMode( LED12, OUTPUT );
pinMode( LED13, OUTPUT );
Serial.begin( BAUDRATE ); // USB
}
/////////////////////////
//MAIN LOOP//
///////////////////////
void loop() {
ReadData();
#if !DEBUGOUTPUT
if(bigPacket) {
bigPacket = false;
}
#endif
if (NewData)
{
AnalyzeBrainWaves();
if (HeartBeatCounter == HeartBeatPeriod)
{
HeartBeat();
HeartBeatCounter = 0;
}
HeartBeatCounter++;
}
}
Adrian Ciprian POPU ANEXE
48
void SerialSleepNumber()
{
Serial.println(SleepCounter, DEC);
}
void SerialPrintBaseline()
{
Serial.println(" Baseline:");
Serial.println(" RawMean,RawStdDev,Alpha1Mean,Alpha1StdDev,Alpha2Mean,Alpha2StdDev,Bet
a1Mean,Beta1StdDev,Beta2Mean,Beta2StdDev ");
Serial.print(BaselineRawMean, DEC );
Serial.print(",");
Serial.print(BaselineRawStdDev, DEC);
Serial.print(",");
Serial.print(BaselineAlpha1Mean, DEC );
Serial.print(",");
Serial.print(BaselineAlpha1StdDev, DEC );
Serial.print(",");
Serial.print(BaselineAlpha2Mean, DEC);
Serial.print(",");
Serial.print(BaselineAlpha2StdDev, DEC );
Serial.print(",");
Serial.print(BaselineBeta1Mean, DEC );
Serial.print(",");
Serial.print(BaselineBeta1StdDev, DEC );
Serial.print(",");
Serial.print(BaselineBeta2Mean, DEC );
Serial.print(",");
Serial.println(BaselineBeta2StdDev, DEC);
}
Adrian Ciprian POPU ANEXE
49
bool IsHeaderPrinted = false;
String debugtext = "";
void SerialPrintData()
{
if (!IsHeaderPrinted)
{
Serial.println(" Raw,RawMean,Alpha1,Alpha2,Beta1,Beta2,SleepCounter ");
IsHeaderPrinted = true;
}
Serial.print(",");
Serial.print(rawpwr, DEC);
Serial.print(",");
Serial.print( int(RawStats.Mean()), DEC);
Serial.print(",");
Serial.print(alpha1, DEC);
Serial.print(",");
Serial.print(alpha2, DEC);
Serial.print(",");
Serial.print(beta1, DEC);
Serial.print(",");
Serial.print(beta2, DEC);
Serial.print(",");
Serial.println(SleepCounter, DEC);
}
/////////////////////////////////////////////////
// Read data from Serial UART //
///////////////////////////////////////////////
byte ReadOneByte() {
int ByteRead;
Adrian Ciprian POPU ANEXE
50
while(!Serial.available());
ByteRead = Serial.read();
#if DEBUGOUTPUT
Serial.print(( char)ByteRead); // echo the same byte out the USB serial (for debug purposes)
#endif
return ByteRead;
}
///////////////////////////////////////////////////////////////
// Reading data from Neurosky bluetooth //
/////////////////////////////////////////////////////////////
byte lastchecksum = 0;
void ReadData() {
static unsigned char payloadData[256];
byte generatedChecksum;
byte checksum;
byte vLength;
int payloadLength;
int powerLength = 3 ; // defined in MindSet Communications Protocol
int k;
// Look for sync bytes //
if (ReadOneByte() == 170) {
if (ReadOneByte() == 170){
do { payloadLength = ReadOneByte(); }
while (payloadLength == 170);
Adrian Ciprian POPU ANEXE
51
if (payloadLength > 170) { //Payload length can not be greater than 170
return;
}
generatedChecksum = 0;
for(int i = 0; i < payloadLength; i++) {
payloadData[i] = ReadOneByte(); //Read payload into memory
generatedChecksum += payloadData[i];
}
checksum = ReadOneByte(); //Read checksum byte from stream
generatedChecksum = 255 – generatedChecksum; //Take one's compliment of generated
checksum
if(checksum != generatedChecksum) {
// checksum error
}
else {
for(int i = 0; i < payloadLength; i++) { // Parse the payload
switch (payloadData[i]) {
case 2:
bigPacket = true;
i++;
errorRate = payloadData[i];
break ;
case 4:
i++;
attention = payloadData[i];
break ;
case 5:
i++;
Adrian Ciprian POPU ANEXE
52
meditation = payloadData[i];
break;
case 0x16:
i++;
blinkstrength = payloadData[i];
break;
case 0x80: // raw data
newRawData = true;
i++;
vLength = payloadData[i];
raw = 0;
for (int j=0; j<vLength; j++) {
raw = raw | ( payloadData[i+vLength-j]<<(8*j) ); // bit-shift little-endian
}
i += vLength;
rawpwr=abs(raw);
break;
case 0x83: // power data
i++;
vLength = payloadData[i];
k = 0;
// parse power data starting at the last byte
gamma2=0; // mid-gamma (41 – 49.75Hz)
for (int j=0; j<powerLength; j++)
{
gamma2 = gamma2 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
gamma1 = 0; // low-gamma (31 – 39.75Hz)
for (int j=0; j<powerLength; j++)
{
Adrian Ciprian POPU ANEXE
53
gamma1 = gamma1 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
beta2 = 0; // high-beta (18 – 29.75Hz)
for (int j=0; j<powerLength; j++)
{
beta2 = beta2 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
beta1 = 0; // low-beta (13 – 16.75Hz)
for (int j=0; j<powerLength; j++)
{
beta1 = beta1 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
alpha2 = 0; // high-alpha (10 – 11.75Hz)
for (int j=0; j<powerLength; j++)
{
alpha2 = alpha2 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
alpha1 = 0; // low-alpha (7.5 – 9.25Hz)
for (int j=0; j<powerLength; j++)
{
alpha1 = alpha1 | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
theta = 0; // theta (3.5 – 6.75Hz)
for (int j=0; j<powerLength; j++)
{
theta = theta | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
Adrian Ciprian POPU ANEXE
54
}
delta = 0; // delta (0.5 – 2.75Hz)
for (int j=0; j<powerLength; j++)
{
delta = delta | ( payloadData[i+vLength-k]<<(8*j) ); // bit-shift little-endian
k++;
}
i += vLength;
break;
default:
break;
} // switch
} // for loop
} // checksum success
} // sync 2
} // sync 1
//Check if data read is actually new .
if (checksum !=lastchecksum)
{
NewData= true;
lastchecksum=checksum;
}
else
{
NewData=false;
}
} // ReadData
void HeartBeat()
{
Adrian Ciprian POPU ANEXE
55
if (attention == 0)
{
LEDWrite(errorRate, 200, true);
if (!FirstRun & !IsBaseline)
{
SoundTheAlarm();
}
Serial.print("P/S:");
Serial.println(errorRate, DEC);
}
else
{
LEDWrite(SleepCounter, Threshold, false);
SerialPrintData();
debugtext = "";
}
}
void LEDWrite( int value, int max, bool countdown)
{
if (countdown)
{
switch (value / (max / 5) )
{
case 0:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, HIGH);
break;
Adrian Ciprian POPU ANEXE
56
case 1:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, LOW);
break;
case 2:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, LOW);
digitalWrite( LED9, LOW);
break ;
case 3:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, LOW);
digitalWrite( LED10, LOW);
digitalWrite( LED9, LOW);
break;
case 4:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, LOW);
digitalWrite( LED11, LOW);
digitalWrite( LED10, LOW);
digitalWrite( LED9, LOW);
break;
case 5:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, LOW);
digitalWrite( LED11, LOW);
Adrian Ciprian POPU ANEXE
57
digitalWrite( LED10, LOW);
digitalWrite( LED9, LOW);
break;
}
}
else
{
switch (value / ((max / 5) – 1) )
{
case 0:
digitalWrite( LED13, LOW);
digitalWrite( LED12, LOW);
digitalWrite( LED11, LOW);
digitalWrite( LED10, LOW);
digitalWrite( LED9, LOW);
break;
case 1:
digitalWrite( LED13, LOW);
digitalWrite( LED12, LOW);
digitalWrite( LED11, LOW);
digitalWrite( LED10, LOW);
digitalWrite( LED9, HIGH);
break;
case 2:
digitalWrite( LED13, LOW);
digitalWrite( LED12, LOW);
digitalWrite( LED11, LOW);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, HIGH);
break;
case 3:
digitalWrite( LED13, LOW);
Adrian Ciprian POPU ANEXE
58
digitalWrite( LED12, LOW);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, HIGH);
break;
case 4:
digitalWrite( LED13, LOW);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, HIGH);
break;
case 5:
digitalWrite( LED13, HIGH);
digitalWrite( LED12, HIGH);
digitalWrite( LED11, HIGH);
digitalWrite( LED10, HIGH);
digitalWrite( LED9, HIGH);
break;
}
}
}
void AsleepAlgorithm()
{
if ((beta1 < (BaselineBeta1Mean – (0.57 * BaselineBeta1StdDev))))
{
SleepCounter = (SleepCounter < (MaxValue – 1)) ? SleepCounter + 2 : MaxValue;
Serial.print(" b1+");
}
else if (beta1 > (0.9 * BaselineBeta1Mean))
{
Adrian Ciprian POPU ANEXE
59
SleepCounter = (SleepCounter > (MinValue + 1)) ? SleepCounter – 2 : MinValue;
Serial.print(" b1-");
}
if ((beta2 < (BaselineBeta2Mean – (0.53 * BaselineBeta2StdDev))))
{
SleepCounter = (SleepCounter < (MaxValue – 1)) ? SleepCounter + 2 : MaxValue;
Serial.print(" b2+");
}
else if (beta2 > (0.9 * BaselineBeta2Mean))
{
SleepCounter = (SleepCounter > (MinValue + 1)) ? SleepCounter – 2 : MinValue;
Serial.print(" b2-");
}
if ((alpha1 < (0.7 * BaselineAlpha1Mean)))
{
SleepCounter = (SleepCounter < (MaxValue)) ? SleepCounter + 1 : MaxValue;
Serial.print(" a1+");
}
else if (alpha1 > (0.8 * BaselineAlpha1Mean))
{
SleepCounter = (SleepCounter > (MinValue)) ? SleepCounter – 1 : MinValue;
Serial.print(" a1-");
}
if ((alpha2 < (0.6 * BaselineAlpha2Mean)))
{
SleepCounter = (SleepCounter < (MaxValue)) ? SleepCounter + 1 : MaxValue;
Serial.print(" a2+");
}
else if (alpha2 > (0.7 * BaselineAlpha2Mean))
{
SleepCounter = (SleepCounter > (MinValue)) ? SleepCounter – 1 : MinValue;
Serial.print(" a2-");
Adrian Ciprian POPU ANEXE
60
}
if ((rawpwr > (3 * BaselineRawMean)))
{
SleepCounter = (SleepCounter > (MinValue + 6)) ? SleepCounter – 7 : MinValue;
Serial.print(" r-");
}
else if ((RawStats.Mean() < (0.6 * BaselineRawMean)))
{
SleepCounter = (SleepCounter < (MaxValue – 6)) ? SleepCounter + 7 : MaxValue;
Serial.print(" r+");
}
if ((SleepCounter > Threshold))
{
IsAsleep = true;
}
else
{
IsAsleep = false;
}
}
void AnalyzeBrainWaves()
{
if (attention == 0 & meditation == 0)
{
if (bufffill != 0)
bufffill = bufffill – 1;
}
if (!FirstRun & (attention > 0 | meditation > 0) & (rawpwr < RawLimit) )
{
Adrian Ciprian POPU ANEXE
61
RawStats.Push(rawpwr);
Alpha1Stats.Push(alpha1);
Alpha2Stats.Push(alpha2);
Beta1Stats.Push(beta1);
Beta2Stats.Push(beta2);
}
if (bufffill == BufferSize – 1 & !FirstRun & !IsBaseline)
{
bufffill = 0;
if (attention > 0 | meditation > 0)
{
AsleepAlgorithm();
}
ClearAll();
if ((IsAsleep))
{
//Sound the alarm
SoundTheAlarm();
}
else
{
QuietTheAlarm();
}
}
if (bufffill == BaselineSize – 1 & !FirstRun & IsBaseline)
{
IsBaseline = false;
bufffill = 0;
CreateBaseline();
SerialPrintBaseline();
ClearAll();
Adrian Ciprian POPU ANEXE
62
}
if (bufffill == FlushLimit – 1 & FirstRun)
{
FirstRun = false;
bufffill = 0;
ClearAll();
}
bufffill = bufffill + 1;
}
void ClearAll()
{
Alpha1Stats.Clear();
Alpha2Stats.Clear();
Beta1Stats.Clear();
Beta2Stats.Clear();
RawStats.Clear();
}
void CreateBaseline()
{
BaselineRawMean = RawStats.Mean();
BaselineRawStdDev = RawStats.StandardDeviation();
BaselineAlpha1Mean = Alpha1Stats.Mean();
BaselineAlpha1StdDev = Alpha1Stats.StandardDeviation();
BaselineAlpha2Mean = Alpha2Stats.Mean();
BaselineAlpha2StdDev = Alpha2Stats.StandardDeviation();
BaselineBeta1Mean = Beta1Stats.Mean();
BaselineBeta1StdDev = Beta1Stats.StandardDeviation();
Adrian Ciprian POPU ANEXE
63
BaselineBeta2Mean = Beta2Stats.Mean();
BaselineBeta2StdDev = Beta2Stats.StandardDeviation();
}
void SoundTheAlarm()
{
tone(buzzer, 4000);
}
void QuietTheAlarm()
{
noTone(buzzer);
64
LISTA ABREVIERILOR
% – procent
Ω -Ohm
μV – microvolt
𝑎𝐻𝑆1 -alfa ridicat-somn constantă de proporționalitate 1
𝑎𝐻𝑆2 -alfa ridicat-somn constantă de proporționalitate 2
𝑎𝐻W1 -alfa ridicat-veghe constantă de proporționalitate 1
𝑎𝐻W2 -alfa ridicat-veghe constantă de proporționalitate 2
𝑎𝐿𝑆1 -alfa scăzut-somn constantă de proporționalitate 1
𝑎𝐿𝑆2 -alfa scăzut-somn constantă de proporționalitate 2
𝑎𝐿W1 -alfa scăzut-veghe constantă de proporționalitate 1
𝑎𝐿W2 -alfa scăzut-veghe constantă de proporționalitate 2
𝑏𝐻𝑆1 -beta ridicat-somn constantă de proporționalitate 1
𝑏𝐻𝑆2 -beta ridicat-somn constantă de proporționalitate 2
𝑏𝐻𝑊1 -beta ridicat-veghe constantă de proporționalitate 1
𝑏𝐻𝑊2 -beta ridicat-veghe constantă de proporționalitate 2
𝑏𝐿𝑆1 -beta scăzut-somn constantă de proporționalitate 1
𝑏𝐿𝑆2 -beta scăzut-somn constantă de proporționalitate 2
𝑏𝐿𝑊1 -beta scăzut-veghe constantă de proporționalitate 1
𝑏𝐿𝑊2 -beta scăzut-veghe constantă de proporționalitate 2
cm3 – centimeru cub
dB – decibel
𝑟𝑆1 -constanta de proporționalitate nefiltrată-somn 1
𝑟𝑆2 -constanta de proporționalitate nefiltrată-somn 2
𝑟𝑊1 -constanta de proporționalitate nefiltrată-veghe 1
𝑟𝑊2 -constanta de proporționalitate nefiltrată-veghe 2
m -metru
s -secun
Adrian Ciprian POPU LISTA ABREVIERILOR
65
𝐴𝐻 -semnal alfa ridicat
𝐴𝐿 -semnal alfa scăzut
𝐴𝐻𝑀 -valoarea medie alfa ridicat
𝐴𝐻𝑆𝐷 -deviația standard alfa ridicat
𝐴𝐻𝑆𝑇 -prag de somn alfa ridicat
𝐴𝐻𝑊𝑇 -prag de veghe alfa ridicat
𝐴𝐿𝑀 -valoarea mediea alfa scăzut
𝐴𝐿𝑆𝐷 -deviația standard alfa scăzut
𝐴𝐿𝑆𝑇 -prag de somn alfa scăzut
𝐴𝐿𝑊𝑇 -prag de veghe alfa scăzut
ASCID -Centrul de Informare și Îmbunătățire a Calității Vieții pentru Bolnavii de Distrofie
Musculară și Pacienții Asistați Respirator
AT -Attention
𝐵𝐻 -semnal beta ridicat
𝐵𝐿 -semnal beta scăzut
𝐵𝐻𝑀 -valoarea medie beta ridicat
𝐵𝐻𝑆𝐷 -deviația standard beta ridicat
𝐵𝐻𝑆𝑇 -prag de somn beta ridicat
𝐵𝐻𝑊𝑇 -prag de veghe beta ridicat
𝐵𝐿𝑆𝑇 -prag de somn beta scăzut
𝐵𝐿𝑀 -valoarea medie beta scăzut
𝐵𝐿𝑆𝐷 -deviația standard beta scăzut
𝐵𝐿𝑊𝑇 -prag de veghe beta scăzut
EEG – Electroencefalografie
Fp1 – Pre-frontal 1
Fp0 – Pre-frontal 0
Hz – Hertz
ICSP – In Circuit Serial Programming
Ide -Integrated development environment
LED – Lighting Emitting Diode
M -valoarea medie
Adrian Ciprian POPU LISTA ABREVIERILOR
66
Mbps -Megabits per second
MHz -MegaHertz
NREM – Non-Rapid Eye Movement
PWM -Pulse-Width Modulation
𝑅 -semnal nefiltrat
𝑅𝑀 -valoarea medie nefiltrată
𝑅𝑆𝐷 -deviația standard nefiltrată
𝑅𝑆𝑇𝑀 -pragul mediu de somn nefiltrat
𝑅𝑊𝑇 -prag de veghe nefiltrat
RAM -Random Access Memory
REM -Rapid Eye Movement
S -variația
USB -Universal Srial Bus
67
LISTA FIGURILOR
Figura 1: Etapele somnului……………………………………………………………………8
Figura 2: Undele creierului……………………………………………………………………9
Figura 3: Cei patru lobi ai cortexului cerebral al creierului…………………………………10
Figura 4: Anti Sleep Pilot……………………………………………………………………13
Figura 5: Schema de plasare a electrozilor după sistemul international 10-20………………15
Figura 6: Casca Neurosky Mindwave Mobile 2……………………………………………..18
Figura 7: Arduino Uno R3……………………………………………………………………19
Figura 8: Sirenă activă……………………………………………………………………….20
Figura 9: Bluetooth HC-05…………………………………………………………………..21
Figura 10: Schemă de conectare HC-05 Bluetooth………………………………………….21
Figura 11: Modul indicator LED…………………………………………………………… 22
Figura 12: Diagrama de conectare………………………………………………………….. 23
Figura 13: Diagrama funcțională a echipamentului…………………………………………24
Figura 14: Dispozitiv portabil pentru detectarea somnului………………………………….24
Figura 15: Procesul de determinare a unei constante de proporționalitate…………………..26
Figura 16: Formule folosite în algoritmul somnului…………………………………………26
Figura 17: Definirea termenilor formulei……………………………………………………27
Figura 18: Diagrama funcțională a comportamentului programului…………………………28
Figura 19: Valori folosite în algoritmul somnului……………………………………………31
Figura 20: Exemplu de funcționare a algoritmului pe un semnal Beta scăzut………………32
Figura 21: Exemplu de date privind somnul obținute de la Neurosky Mindwave Mobile 2..34
Figura 22: Date corelate la valorile contorului de somn…………………………………….35
Figura 23: Semnalul nefiltrate și valoarea medie corelate cu contorul de somn, pentru o
alarmă falsă…………………………………………………………………………………..36
Figura 24: Un exemplu al rezultatelor algoritmului în comparație cu rezultatele clinice……37
Figura 25: Rezultatele algoritmului în comparație cu rezultatele clinic……………………..38
68
BIBLIOGRAFIE
Articole de specialitate:
1. Balkin, T. J., Horrey, W. J., Graeber, R. C., Czeisler, C. a, & Dinges, D. F. (2011). The
challenges and opportunities of technological approaches to fatigue management. Accident;
analysis and prevention , 43(2), 565–72. doi:10.1016/j.aap.2009.12.006
2. Barr, L., Howarth, H., Popkin, S., & Carroll, R. J. (2006). A Review and Evaluation of
Emerging Driver Fatigue, 1–27.
3. Choi, H. S., College, S. M., & Schwartz, G. (2012). Using Brain-Computer Interfaces to
Analyze EEG Data for Safety Improvement.
4. Cook, J. D. (2008) Accurately computing running variance. Retrieved February 5, 2013,
from: http://www.johndcook.com/standard_deviation.html
5. Coxworth, B. (2010). Eyetracker watches drivers’ eyes for signs of drowsiness. gizmag.
Retrieved November 12, 2012, from :
http://www.gizmag.com/fraunhofer-eyetracker-driver-monitoring-system/16643/
6. Coxworth, B. (2011). Anti Sleep Pilot detects drowsy drivers. gizmag.
Retrieved November 12,2012, from :
https://newatlas.com/anti-sleep-pilot-monitors-driver-fatigue/17439/
7. Crowley, K., Sliney, A. and Murphy, I.P.D. (2010). Evaluating a Brain-Computer Interface
to Categorise Human Emotional Response. In Proceedings of the 10th IEEE International
Conference on Advanced Learning Technologies, 5-7 July, 2010, 276-278.
8. Finelli, L. a, Borbély, a a, & Achermann, P. (2001). Functional topography of the human
nonREM sleep electroencephalogram. The European journal of neuroscience , 13(12),
2282–90. Retrieved from: http://www.ncbi.nlm.nih.gov/pubmed/11454032
Adrian Ciprian POPU BIBLIOGRAFIE
69
9. Ford Motor Company (2011). Ford’s Wake-Up Call for Europe’s Sleepy Drivers.
Retrieved November 12, 2012, from:
http://media.ford.com/article_display.cfm?article_id=34562
10. Goldberger, AL, Amaral, LAN, Glass, L, Hausdorff, JM, Ivanov, PCh, Mark, RG, Mietus,
JE,Moody, GB, Peng, C-K, Stanley, HE. PhysioBank, PhysioToolkit, and PhysioNet:
Components of a New Research Resource for Complex Physiologic Signals. Circulation
101(23):e215-e220 [Circulation Electronic Pages;
http://circ.ahajournals.org/cgi/content/full/101/23/e215 ]; 2000 (June 13).
11. Haapalainen, E., Kim, S., Forlizzi, J.F. and Dey, A.K. (2010). Psycho-physiological
easures for assessing cognitive load. In Proceedings of the 12th ACM International
Conference on Ubiquitous Computing, 2010, 301-310.
12. Hinz, A. (1989). The Tower of Hanoi. Enseignement Mathematique 35, 239-321.
13. Lal, S. K. L., & Craig, A. (2002). Driver fatigue: electroencephalography and
psychological assessment. Psychophysiology , 39(3), 313–21.
doi:10.1017.S0048577201393095.
14. Lal, S. K. L., Craig, A., Boord, P., Kirkup, L., & Nguyen, H. (2007). Development of
an algorithm for an EEG-based driver fatigue countermeasure, 34(2003), 321–328.
doi:10.1016/S0022-4375(03)00027-6.
15. Loomis, A. L., Harvey, E. N., & Hobart, Garret A, I. (1937). Cerebral States During
Sleep, as Studied by Human Brain Potentials. Journal of Experimental Psychology ,
21(2), 127–144.
16. Merica, H., & Fortune, R. D. (2004). State transitions between wake and sleep, and
within the ultradian cycle, with focus on the link to neuronal activity. Sleep medicine
reviews , 8(6), 473–85. doi:10.1016/j.smrv.2004.06.006.
Adrian Ciprian POPU BIBLIOGRAFIE
70
17. Morrow, T. J., & Casey, K. L. (1986). A microprocessor device for the real-time
detection of synchronized alpha and spindle activity in the EEG. Brain research bulletin ,
16(3), 439–42. Retrieved from: http://www.ncbi.nlm.nih.gov/pubmed/2939925
18. National Sleep Foundation. (2012a). Sleepy Pilots Train Operators and Drivers.
Retrieved November 11, 2012, from drivingdrowsy.org
19. National Sleep Foundation. (2012b). Facts and Stats. Retrieved November 11, 2012,
from drivingdrowsy.org
20. National Transportation Safety Board. (2010). Loss of Control on Approach Colgan
Air, Inc. Operating as Continental Connection Flight 3407 Bombardier DHC-8-400,
N200WQ Clarence Center, New York February 12, 2009. Aircraft Accident Report .
21. Neurosky Brain Computer Interface Technologies. Neurosky Mindset [Photograph].
Retrieved April 24, 2013 from:
http://www.neurosky.com/Images/LocalizedImage?PageName
=/PRODUCTS/MINDSE.ASPX&ImageName=Left2
22. Neurosky Brain Computer Interface Technologies (2009). NeuroSky MindSet
Instruction Manual .
23. Neurosky Brain Computer Interface Technologies. (2010a) Interfacing the MindSet
with Arduino .
24. Neurosky Brain Computer Interface Technologies. (2010b). MindSet Communications
Protocol.
25. Stroop, J.R. (1935). Studies of Interference in Serial Verbal Reactions. Journal of
Experimental Psychology 18(6), 643-662.
26. Tan, B. H. (2012). Using a Low-cost EEG Sensor to Detect Mental States, (August).
Adrian Ciprian POPU BIBLIOGRAFIE
71
27. Taylor, M. (2008). No Doze: Mercedes E-Class alerts drowsy drivers. Autoweek .
Retrieved November 12, 2012, from:
http://www.autoweek.com/article/20081224/FREE/812249991
28. Volkswagen. Driver Alert System. Retrieved November 12, 2012, from:
http://www.volkswagen.co.uk/new/passat-alltrack-
gp/explore/experience/driverassistance/driver-alert-system
29. Williams, M. (2008). Toyota Cars to Monitor Driver’s Eyes for Safety. PCWorld .
Retrieved November 12, 2012, from:
http://www.pcworld.com/article/141603/article.html
30. ZerCustoms (2007). Volvo-Driver-Alert-Control-and-Lane-Departure-Warning .
Retrieved November 12, 2012, from :
http://www.zercustoms.com/news/Volvo-Driver-Alert-Controland-Lane-Departure-Warning.html
31. Van Hal, Bryan, "Real-time Stage 1 Sleep Detection and Warning System Using a
Low-Cost EEG Headset" (2013).Masters Theses. 54.
http://scholarworks.gvsu.edu/theses/54
Articole Web:
[1] Wall-Street (2018), România este pe locul 10 in topul accidentelor rutiere produse pe
fondul ațipirii la volan .
https://www.wall-street.ro/articol/Auto/208922/romania-este-pe-locul-10-in-topul-
accidentelor-rutiere-produse-pe-fondul-atipirii-la-volan.html#gref
Adrian Ciprian POPU BIBLIOGRAFIE
72
[2] Alexandra Scarlat (2019), România,2018: 190 de accidente grave din cauza oboselii la
volan . Revista Biz .
https://www.revistabiz.ro/romania-2018-190-de-accidente-grave-din-cauza-oboselii-
la-volan/
[3] Regina Maria ( 2019), „Ce se întâmplă în corpul nostru când dormim”.
https://www.reginamaria.ro/articole-medicale/ce-se-intampla-corpul-nostru-cand-
dormim
[4] nervocalmin.ro,(2019), „Undele cerebrale”.
http://nervocalmin.ro/infocalmin/Undele-cerebrale-p6-a152.htm
[5] dozadesanatate.ro, (2020), “Ce sunt lobii cerebrali și ce funcție au ?”.
https://dozadesanatate.ro/ce-sunt-lobii-cerebrali-si-ce-functii-au/
[6] Dr. Damian Popescu, (2017), „EEG-ul de somn-inivestigația de ultimă generație care
dentifică tulburările de somn”, SfatulMedicului.ro.
http://www.sfatulmedicului.ro/Investigatii/eeg-ul-de-somn-investigatia-de-ultima-
generatie-care-identifica-tulburar_16194
[7] Pololu Robotic’s & Electronic’s, „Ardunio Uno R3”.
https://www.pololu.com/product/2191
[8] Manorshi, (2019) , „Difference between active buzze’s and passive buzzer’s”.
https://www.manorshi.com/What-s-the-difference-between-active-buzzers-and-
passive-buzzers-id3333285.html
[9] „ HC-05 Bluetooth Module User’s manual V1.0”.
https://www.gme.cz/data/attachments/dsh.772-148.1.pdf
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: SPECIALIZAREA: INGINERIE MEDICALĂ PROIECT DE DIPLOMĂ Dispozitiv portabil pentru detectarea somnului Conducător științific, Absolvent, Șl. dr. ing…. [603451] (ID: 603451)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
