Brain Computer Interface (BCI) pentru [620433]

Universitatea “Politehnica” din București
Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Brain Computer Interface (BCI) pentru
sinteză vocală

Lucrare de dizertație
prezentată ca cerință parțială pentru obținerea titlului de
Master în domeniul Electronică Telecomunicații și Tehnologia
Informației
programul de studii de masterat Electronică și Informatică Medicală

Conducător științific, Absolvent: [anonimizat]. Ovidiu GRIGORE Ana-Luiza DUMITRESCU

2017

2

3
Cuprins
Introducere ………………………….. ………………………….. ………………………….. ………………………….. ……. 7
1. Producerea semnalului vocal ………………………….. ………………………….. ………………………….. 11
2. Producerea, modelarea și analizarea activității electrice a creierului ………………………….. … 13
3. Electroencefalografia (EEG) ………………………….. ………………………….. ………………………….. 17
3.1. EEG de suprafață ………………………….. ………………………….. ………………………….. ……….. 17
3.2. EEG de profunzime ………………………….. ………………………….. ………………………….. ……. 19
4. Stadiul actual al sistemelor de recunoaștere vocală bazate pe EEG ………………………….. ….. 21
5. Desfășurarea lucrării ………………………….. ………………………….. ………………………….. …………. 23
5.1. Sistemul de achiziție a semnalelor ………………………….. ………………………….. ……………. 23
5.2. Baza de date ………………………….. ………………………….. ………………………….. ………………. 24
5.3. Subiecți ………………………….. ………………………….. ………………………….. …………………….. 25
5.4. Preprocesare ………………………….. ………………………….. ………………………….. ……………… 25
5.5. Analizarea semnalelor pe baza corelației ………………………….. ………………………….. …… 28
5.6. Extragerea trăsăturilor ………………………….. ………………………….. ………………………….. … 32
5.6.1 Extragerea trăsăturilor în domeniul frecvență ………………………….. ……………………… 32
5.6.2 Extragerea trăsăturilor în domeniul timp ………………………….. ………………………….. … 32
5.6.3 Extragerea trăsăturilor bazate pe entropie ………………………….. ………………………….. . 32
5.7. Clasificare ………………………….. ………………………….. ………………………….. …………………. 34
5.7.1 Reațeaua neuronală MLP ………………………….. ………………………….. ……………………… 34
5.7.2 Rețeaua neuronal ă RBF ………………………….. ………………………….. ……………………….. 38
6. Rezultate ………………………….. ………………………….. ………………………….. …………………………. 43
6.1. Trăsături în domeniul frecvență ………………………….. ………………………….. ……………….. 43
6.2. Trăsături în domeniul timp ………………………….. ………………………….. ………………………. 43
6.3. Trăsături bazate pe entropie ………………………….. ………………………….. …………………….. 44
6.4. Analizarea ca nalelor obținute în urma corelației ………………………….. ……………………… 44
Concluzii ………………………….. ………………………….. ………………………….. ………………………….. …….. 47
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …. 49
Anexa 1 – Aplicația utilizată în achiziționarea semnalelor ………………………….. ……………………… 51
Anexa 2 – Segmentarea semnalelor în intervale de 4s ………………………….. ………………………….. .. 55
Anexa 3 – Salvarea semnalelor segmentate în intervale de 4s ………………………….. …………………. 57
Anexa 4 – Segmentarea semnalului vocal pe baza energiei ………………………….. …………………….. 59
Anexa 5 – Verificarea manuală a segmentării ………………………….. ………………………….. …………… 63
Anexa 6 – Corelația semnalelor pe fiecare rostire ………………………….. ………………………….. ……… 65
Anexa 7 – Extragerea trăsăturilor în frecvență ………………………….. ………………………….. ………….. 69

4
Anexa 8 – Calculare SEF ………………………….. ………………………….. ………………………….. …………… 71
Anexa 9 – Extragere trăsături domeniul timp ………………………….. ………………………….. ……………. 73
Anexa 10 – Extragerea trăsăturilor pe baza entropiei ………………………….. ………………………….. …. 75
Anexa 11 – Multilayer Perceptron ………………………….. ………………………….. ………………………….. . 77
Anexa 12 – Rețeaua Neuronale cu Bază Radială ………………………….. ………………………….. ………. 81

5
Lista acronimelor:

AC – Acuratețe
BCI – Brain Computer Interface (Interfață Creier -Mașină)
ECoG – Electrocorticogramă
EEG – Electroencefalogramă
ERP – Event Related Potential (Potențial Corelat cu Evenimentul)
MLP – Multilayer Perceptron ( Rețea neuronală de tip Perceptron Multistrat)
RBF – Radial Basis Function (Rețea neuronală cu Funcții de Bază Radială)
sEEG – stereo -electro Encefalografie
SEF – Spectral Edge Frequency (Frecv ența de Margine a Spectrului)
SVM – Suport Vector Machine (Suport Vector Mașină)

6

7
Introducere
Brain Computer Interface (BCI) este un sistem bazat pe calculator care achiziționează semnalele
electrice de la nivelul neuronilor, le analizează și le transpu ne în comenzi acționate de dispozitivul
dorit. Astfel că, un sistem BCI funcționează precum sistemul nervos uman, cu mențiunea că ramura
motorie alcătuită din nervi periferici și mușchi este înlocuită cu un dispozitiv care are rolul de a realiza
acțiunea d orită [1]. Aceste sisteme folosesc, de obicei, o combinație de prelucrare a semnalelor cu
tehnici de inteligență artificială pentru a identifica acțiunea dorită care este apoi transpusă în comenzi
cu ajutorul unei interfețe cu utilizatorul. Aceste sisteme au început să trezescă interesul cercetătorilor
deoarece pot fi utilizate ca tehnologie de asistare pentru pacienții care suferă de afecțiuni locomotorii
precum Scleroză Laterală Amiotrofică, sindromul locked -in sau alte afecți uni neurologice [2].
Cele mai utilizate aplicații ale BCI sunt cele ce utilizează ca sistem de achiziționare a datelor
electroencefalografia (EEG) neinvazivă, deoarece riscurile unor astfel de aplicații sunt minime.
Aplicațiil e realizate sunt în general bazate pe mișcarea cursorului, comunicare, proteze și orteze ale
membrului superior, braț robotic, mișcarea scaunelor cu rotile etc.
Pentru o mai bună rezoluție spațială și spec trală a semnalelor electrice înregistrate la nivelu l
creierului, în aplicațiile BCI se mai poate utiliza și electrocorticograma (ECoG). Aceasta înregistrează
semnalele de la nivelul cortexului și în consecință, presupune implantarea subdurală sau epidurală a
unei matrice de electrozi. Semnalele de la acest nivel au o amplitudine mai mare decât a semnalelor
EEG și oferă mai multe informații [1].
Comenzile transmise de la nivelul creierului ajută la modificarea tractului vocal prin acționarea
mușchilor și articulațiilor implicate în crearea sunetelor, obițându -se astfel rostirea cuvintelor necesare
în comunicare. Vorbirea este una dintre cele mai complexe acțiuni pe care le executăm. Cu toate
acestea, o mare parte dintre noi o învățăm fără efort. Producerea discursului fluent neces ită mișcări
precise și coordonate a unui număr mare de articulații, precum limba, maxilarul, buzele și laringele
într-un moment de timp scurt [3]. Ținând cont de aceste lucruri, se poate susține că în aceeași manieră
în care se pot recunoaște mișcările brațelor sau a picioarelor analizând semnalele corticale achiziționate
cu ajutorul electroencefalogramei , se pot recunoaște și mișcările date de poziția limbii, a buzelor sau a
maxilarului. Astfel, cercetătorii au început să anali zeze mișcările ce se pot observa pe EEG în timpul
discursului silențios. În timpul discursului silențios, creierul transmite către articulațiile utilizate în
producerea vorbirii intenția mișcări i, motiv pentru care, semnalele transmise pot fi observate ana lizând
activitatea electrică a creierului.
Articulațiile utilizate în producerea vorbirii au mișcări diferite în vederea rostirii diferitelor
foneme. De exemplu, în cazul consoanelor plozive, precum b, d, g, au loc ocluzii tranzitorii ale
tractului vocal, date de buze sau diferite părți ale limbii. Diferența dintre consoana b și consoana d este
dată de faptul că în rostirea consoanei b au loc închideri tranzitorii ale buzelor, în timp ce consoana d
este obținută prin ocluzii tranzitorii ale tractului vocal cu ajutorul limbii [3]. Fig. 1 evidențiază
poziționarea articulaților în rostire a literelor b, d și g, pentru o înțelegere mai bună a mecanismului
fonației.

Fig. 1 – Reprezentarea poziționării articulațiilor în timpul rostiri i consoanelor
/b/,/d/ și /g/

8
Scopul principal al acestei lucrări este de a investiga dacă recunoașterea vorbirii gândite este
fezabilă. Pornind de la ipoteza care susține că pentru realizarea acțiunii motorii de rostire a unui cuvânt ,
creierul trebuie să comande mușchii implicați în procesul de articulare a l acestuia , cercetătorii din
domeniu au demonstrat posibilitatea ca analizând semnalele electrice corticale să se poat ă recunoaște
rostirea anumitor sunete sau cuvinte. Lucrarea prezentă își propune vali darea acestei ipoteze prin
identificarea unei metode de analiză a semnalelor EEG capabilă să extragă informațiile estențiale din
semnal și să le clasifice cu o acuratețe cât mai ridicată.
Pentru a ne atinge scopul dorit, în acea stă lucrare au fost preluate semnale EEG de la trei subiecți
diferiți atât în timpul rostirii cu voce tare a unui set de cuvinte cât și în timp ul discursului silențios al
setului respectiv de cuvinte.
În această lucrare se urmărește analizarea a trei subtask -uri diferite. Primul sub task presupune
recunoașterea cuvintelor analizând semnalele EEG în timpul rostirii cu voce tare a cuvintelor din
corpus. Această etapă are ca scop evidențierea faptului că există pattern -uri în datele EEG achiziționate
în timpul vorbirii normale, pattern -uri ce pot fi recunoscu te și în timpul rostirii silențioase . În
continuare, se dorește validarea metodei de recunoaștere a cuvintelor utilizată în etapa anterioară pe
semnale le EEG preluate în timpul rostirii silențioase. U ltimul subtask își propune să inve stigheze dacă
utilizând doar un număr redus de canale determinat e de zona în care se găsește valoarea cea mai mare a
corelației dintre rostirile aceluiași cuvânt, se obțin performanțe ridicate ale sistemului .
Recunoașterea discursului silențios poate avea numeroase aplicații. Însă principala motivație a
cercetătorilor pentru dezvoltarea unui astfel de sistem este dată de îmbunătățirea calității vieții
subiecți lor ce prezintă afecțiuni locomotorii precum scleroza laterală amiotrofică sau ischemie
cerebrală care nu le permite comunicarea nevoilor deoarece nu își mai pot controla voluntar corpul .
Comunicarea este una dintre cele mai importante proprietăți ale relațiilor interumane. Comunicarea
ajută persoanele să își exprime ideile, gândurile, sentimentele și n evoile pentru îmbunătățirea relațiilor
cu persoanele din jur. Avantajul dezvoltării unui astfel de sistem pentru subiecții ce suferă de afecțiuni
locomotorii este, pe lângă posibilitatea exprimării nevoilor fizice și fiziologice, exprimarea nevoilor
emoțio nale, comunicarea într -o astfel de situație fiind singura interacțiune interumană posibilă.
Pentru îndeplinirea scopului propus au fost urmați o serie de pași esențiali. Inițial, a fost realizat
un protocol pentru achiziționarea semnalelor. Protocolul dezv oltat presupune a rosirea odată la 4s a unui
cuvânt din corpus, cuvât ce apărea pe un ecran sub formă de imagine cu scris negru pe font alb.
Subiectul a fost rugat să rostească prima dată în gând cuvântul prezent pe ecran, apoi să îl rostească cu
voce tare . După ce toate cuvintele au fost afișate pe ecran, a existat un moment de pauză , tot de 4s, în
care subiectul a fost rugat să se relaxeze. Afișarea imaginilor pe ecran odată la 4s a fost posibilă
datorită implementării unei interfețe grafice. Cu ajutorul i nterfeței grafice a fost achiziționat și semnalul
vocal odată cu semnalul EEG . Semnalele achiziționate astfel au fost introduse într -o etapă de
preprocesare ce a avut ca scop eliminarea zgomotelor (frecvența de 50Hz) și segmentarea semnalului
vocal împreun ă cu semnalul EEG. A urmat o etapă de extragere a trăsăturilor în care au fost abordate
mai multe metode cu scopul de a compara rezultatele obținute. Prima metodă de extragere a trăsăturilor
a constat din calcularea energiei pe benzile de frecvență ale sem nalelor EEG: delta, theta, alpha, beta și
gamma, l -a care s -a adă ugat și extragerea frecvenței la care spectrul atinge 80%, 90% și 95% din
puterea totală a acestuia. A doua metodă a constat din calcularea energiei semnalului în timp, a unor
parametrii stat istici precum minimul, maximul, media, varianța etc. Trăsături la care s -a adăugat
valoarea maximă a funcției de corelație dintre canale și întarzierea acesteia. Ultima metodă a constat
din încercarea unei noi abordări în ceea ce privește caracterizarea se mnalelor EEG cu scopul de a
diferenția cuvintele rostite și anume calcularea entropiei, a entropiei spectrale pe benzile EEG și a
entropiei aproximate, trăsături extrase din articolul [4] care utilizează aceste informații pentr u
diferențierea subiecților ce suferă de schizofrenie față de subiecții sănătoși, de control. În această
lucrare s -a urmărit și determinarea ferestrei optime de analiză a semnalelor EEG, încercându -se pentru

9
fiecare dintre cele trei tipuri de trăsături enu marate anterior mai multe dimensiuni ale ferestrei de
analiză: 200ms cu suprapunere de 100ms, 80ms cu suprapunere de 60ms și 40ms cu suprapunere de
20ms.
Odată extrase informațiile principale din semnal, în sistem a fost introdusă și o etapă de
clasificare a cuvintelor utilizând două rețele neuronale: Multilayer Perceptron (MLP) și rețeaua cu bază
radială (RBF).
Unul dintre obiectivele urmărite a constat și din investigarea posibilității de a utiliza doar o parte
din electrozi, prin calcularea coeficientulu i de corelație dintre toate rostirile fiecărui cuvânt și utilizarea
canalelor din zona în care corelația era maximă .
Rezultatele obținute în urma calculării entropiei, a entropiei spectrale și a entropiei aproximate în
etapa de extragere de trăsături sunt încurajatoare, obținându -se o performanță medie pe subiecți în
cazul utilizării rețelei MLP de 91.66 % pentru recunoașterea discursului vorbit și o acuratețe medie de
92.5% pentru recunoașterea discursului silențios.
Această lucrare și -a atins scopul dorit, anume acela de a recunoaște cuvintele din corpus
analizând semnalele EEG atât în timpul discursului silențios cât și în timpul discursului vorbit,
obținându -se performanțe ridicate pentru ambele tipuri de analiză.

10

11
1. Producerea semnalului vocal
Producere a semnalului vocal este un mecanism complex ce presupune activarea la nivelul
cortexului a mai multor arii specifice pentru mișcarea articulațiilor de la nivelul gurii, modificarea
respirației pentru exprimarea anumitor foneme, acționarea mușhiilor limbii și a gurii și controlarea
glotei. Pentru a pronunța corect sunetele, buzele, limba, gura și laringele trebuie să realizeze mișcări
precise la momentul de timp respectiv. Ținând cont de toate aceste mișcări fine necesare în timpul
vorbirii, se poate explica de ce zona gurii este atât de larg reprezentată în homunculusul cortexului
primar motor [5].
Pentru a înțelege mai bine mecanismul producerii semnalului vocal, s -a urmărit implicarea
tuturor structurilor participante, pornind de la conceperea rostirii până la articularea propriu -zisă a
acesteia.
Numerose studii realizate au confirmat faptul că lobul temporal ocupă un rol important în
reprezentarea lingvist ică și înțelegerea conceptelor. Astfel că, odată realizată reprezentarea lingvistică,
aceasta trebuie să urmeze un mecanism ce transpune gândurile în cuvinte rostite. Articulațiile utilizate
în rostire necesită planificare, inițiere, modificare și execuție, realizate în principal de aria Broca. Pe
lângă aria Broca, noile studi i au demonstrat că în planificarea articulației pentru rostire par ticipă insula
anterioară, pentru inițierea mișcărilor articulare participă aria motorie secundară, iar pentru execuția
mișcărilor articulare participă cortexul motor primar facial și cortexu l premotor. Ganglionul bazal și
cerebelul se activează pentru modificarea pitch -ului, a volumului și a ritmului vorbirii. În Fig 1.1 sunt
reprezentate ariile corticale necesare pentru producerea și execuția vorbirii [6].

Fig 1.1 – Reprezentarea ariilor responsabile cu planificarea, inițierea și transmiterea semnalelor motorii din
creier [7]
Un număr mare de organe sunt implicate în efectuarea propriu -zisă a rostirii. Aceste organe sunt
flexibile, iar forma și mărimea lor se modifică în funcție de comanda motorie primită de la creier pentru
a realiza un anumit sunet. Formarea sunetului începe din plămâni, aceștia oferind forța de a er necesară
pentru generarea sunetului sub formă de undă acustică. Aerul trece de tractul vocal, corzile vocale,
glotă, epiglotă și alte organe pentru a ajunge în final în cavitatea bucală sub formă de undă acustică.
În momentul vorbirii, aerul expulzat d in plămâni urcă prin trahee și intră în laringe. În laringe,
aerul este restricționat de corzile vocale reprezentate de două membrane importante ale aparatului
vocal, care influențează înălțimea sunetului produs. Corzile vocale sunt fixate la unul din cape te, iar la
celălalt capăt sunt atașate de cartilajul aritenoid (posterior) și cartilajul tiroid (anterior). În general,

12
bărbații au o voce joasă dată de o lungime mai mare a laringelui, iar femeile au voce înaltă, dată de o
lungime mai mică a laringelui. L ungimea corzilor vocale pentru bărbați variază între 17 și 25 mm, iar
la femei între 12.5 și 17.5 mm. Corzile vocale vibrează pentru a produce semnalul vocalizat și
restricționează trecerea aerului pentru a produce semnalul nevocalizat. De fapt, există o v arietate de
semnale sonore numite foneme pentru care corzile vocale se deschid sau se închid diferit pentru a lăsa
aerul să treacă în partea superioară a tractului vocal. Tractul vocal este reprezentat de un tub care
pornește de la glotă și se ramifică în continuare formând două deschideri: cavitatea nazală și cavitatea
bucală. După trecerea aerului prin tractul vocal, acesta ajunge în cele două cavități care oferă rezonanța
necesară a sunetului prin amplificarea anumitor frecvențe și atenuarea celorlalte. Alte organe precum
dinții, limba, buzele, mandibula își modifică forma permițând aerului să treacă modulând sunetul
pentru a da forma și amplitudinea necesară. Deoarece există diferențe de mărime și formă a organelor
care produc sunetele, vorbirea fiecărui individ este unică [8]. În Fig 1.2 sunt reprezentate structurile
utilizate în producerea semnalului vocal.

Fig 1.2 – Reprezentarea structurilor utilizat e în producerea semnalului vocal [6]

13
2. Producerea, modelarea și analizarea activității electrice a creierului
Encefalul reprezintă partea superioară a sistemului nervos central ce cuprinde emisferele
cerebrale, trunchiul cerebral, diencefalul și cerebelul. În Fig 2.1 este reprezentat encefalul împreună cu
părțile sale componente.

Fig 2.1 – Reprezentarea encefalului [9]
Emisferele cerebrale sunt în număr d e două și reprezintă cea mai mare regiune a creierului
uman. Cele două emisfere acoperă aproximativ 85% din masa totală a creierului. Suprafața emisferelor
cerebrale prezintă o serie de cute alungite și sinuase numite circumvoluții și șanțuri superficiale numite
scinzuri. Pe lângă aceste cute și șanțuri superficiale, emisferele cerebrale mai prezintă și o serie de
fisuri adânci care separă regiunile mari ale creierului.
Emisferele cerebrale sunt implicate atât în procesarea informației senzorială și motorie , cât și în
realizarea funcției intelectuale și conștiință. Cortexul exterior este alcătuit din materia cenușie, materie
ce conține corpurile neuronale și axonii nemielinizați aranjați în șase straturi discrete. Deși are o
grosime cup rinsă între 2mm și 4 mm, această regiune cuprinde aproximativ 40% din masa totală a
creierului. Profund, sub cortexul exterior, se găsește substanța albă ce conține tracturile axonilor
mielinizați. Sub substanța albă, se află o materie cenușie subcorticală ce corespunde nucleilo r bazali.
Acești nuclei joacă un rol important în controlarea mușchilor scheletali.
Emisferele cerebrale sunt împărțite în regiuni specifice, fiecare dintre ele ocupând un rol
important în realizarea funcțiilor organismului ( Fig 2.2). Aceste regiuni si funcțiile corespunzăto are
sunt prezentate în Tabel 2.1, localizarea lor fiind evidențiată în Fig 2.3.

14
Regiune Funcție
Lobul front al Regiune a creierului localizată sub osul frontal; conține cortexul motor primar
și este implicat în învățarea complexă.
Lobul parietal Regiune situată sub osul parietal; conține cortexul senzorial primar și este
implicat în învățarea limbilor.
Lobul o ccipital Regiune localizată sub osul occipital; procesează informațiile vizuale și este
implicat în înțelegerea cuvintelor scrise.
Lobul temporal Regiune localizată sub osul temporal; procesează informațiile asociate cu
echilibrul și auzul.
Insula Reil Regiune a encefalului situată în scizura laterală; procesează informațiile
asociate cu auzul sau echilibrul.
Nucleul caudat Regiune a nucleului bazal; inițiază mișcările voluntare și coordonează
contracțiile slabe ale mușchilor scheletici (postura și balan ța)
Putamen Regiune a nucleului bazal; inițiază mișcările voluntare și coordonează
contracțiile slabe ale mușchilor scheletici (postura și balanța)
Globus pallidus Regiune a nucleului bazal; inițiază mișcările voluntare și coordonează
contracțiile slabe ale mușchilor scheletici (postura și balanța)
Tabel 2.1– Regiunile emisferelor cerebrale și funcțiile acestora [10]

Fig 2.2 – Secți une transversală a encefalului ce prezintă regiunile majore ale emisferelor cerebrale [9]

Fig 2.3 – Localizarea regiunilor emisferelor cerebrale [11]

15
Diencefalul este înconjurat de emisferele cerebrale și formează miezul central al creierului. Este
constituit din trei mari structuri: talamus, hipotalamus și epitalamus. Acesta joacă un rol vital în
integrarea informațiilor senzoriale conștiente și inconșt iente și are rol important pentru comanda
motorie.
Trunchiul cerebral pornește de la talamus și se întinde aproximativ 7 cm, după care se întâlnește
cu măduva spinării. Această regiune a encefalului are rol esențial deoarece contribuie la realizarea
compor tamentelor programate și automatismelor necesare supraviețuirii. Poziționat între emisferele
cerebrale și măduva spinării, trunchiul cerebral oferă, de asemenea, și o cale pentru trecerea fibrelor ce
coboară de la centrele superioare ale creierului către c entrele inferioare.
Cerebelul este localizat în partea posterioară a creierului, și reprezintă aproximativ 11% din masa
totală a encefalului. Acesta are două emisfere majore, una fiind alcătuită din substanță cenușie (cortexul
exterior), iar cealaltă din s ubstanță albă. Prin procesarea informațiilor provenite de la cortexul cerebral
motor, diverși nuclei ai trunchiului cerebral și receptori senzoriali, cerebelul oferă o contracție a
mușchilor scheletici pentru mișcări ușoare și coordonate și agilitatea nece sară activităților zilnice.
Activitatea cerebelului se face în subconștient, adică nu este conștientizată [9].
Țesutul nervos este alcătuit din două tipuri de celule: neuroni și celule gliale. Neuronii sunt
implicați în funcții le de comunicare și de calculare pe care sistemul nervos le oferă. Aceștia pot fi
excitați electric și pot transmite semnale către celulele țintă. Celulele gliale sunt cunoscute ca având un
rol important pentru suportul țesutului nervos. Cu toate că neuron ii realizează cele mai importante
funcții ale sistemul nervos, fără suportul celulelor gliale, ei nu ar fi capabili să își îndeplinească funcția.
Neuronii joacă un rol important în transmiterea impulsurilor electrice. Aceștia transmit
impulsurile electrice ce conțin informații senzoriale și ajută la transmiterea răspunsului către organele
efectoare în urma stimulului primit. O mare parte din această importantă funcție a neuronilor este
datorată structurii și formei acestora. Forma tridimensională a acestor celule ajută la realizarea unui
număr mare de conexiuni din interiorul sistemului nervos.
Neuronul este alcătuit din corp (soma), axon și dendrite. Corpul neuronului conține nucleul și
oraganitele celulare, însă, ceea ce deosebește neuronul de alte celule, este prezența prelungirilor din
membrana celulară, prelungiri denumite axon și dendrite. În general, neuronul conține un singur axon,
care se ramifică în zona terminală, pentru a comunica simultan cu mai multe celule. Axonul este
responsabil cu propagarea impulsului nervos către alte celule. Dendritele au rolul de a primi informația
de la alți neuroni cu ajutorul unor regiuni de contact numite sinapse. Informația se transmite prin
neuron începând de la dendrite, trecând prin corpul neuronului și ajungând î n axon. Acest lucru oferă
neuronului polaritate, adică informația se transmite într -o singură direcție. În Fig 2.4 este prezentată
anatomia neuronului ce cuprinde corpul celular, axonul și dendritele.

Fig 2.4 – Structura neuronului [12]

16
O mare parte din axoni sunt înveliți într -un material izolator numit mielină, material ce este
compus din celule gliale. Teaca de mielină are, din loc in loc, întreruperi pe ntru a permite trecerea
impulsului electric. Aceste întreruperi din teaca de mielină se numesc noduri Ranvier. Lungimea
axonului cuprins între două noduri Ranvier se numește segment de axon. La finalul axonului se află
axonul terminal, parte a axonului ce se ramifică, pentru a ajuta comunicarea simultană cu mai multe
celule, iar fiecare ramificație se numește bulb sinaptic terminal. Acest bulb realizează conexiunea
efectivă a neuronului cu o altă celulă țintă [12].
Apariția unui potențial de acțiune într -o zonă a membranei neuronale determină apariția unui nou
potențial de acțiune în zona vecină. Așadar, apariția unui potențial de acțiune într -un anumit punct al
membranei axonale este consecința depolarizării produse de un potenț ial de acțiune anterior. Coducerea
la nivelul axonului, se poate realiza în două moduri: fie prin conducerea impulsului la nivelul axonilor
amielinici, unde potențialul de acțiune poate să apară în orice zonă a axonului, fie conducerea
impulsului la nivelu l axonilor mielinizați, unde datorită proprietăților izolatoare ale mielinei,
potențialul apare la nivelul nodurilor Ranvier și sare de la un nod la altul. Acest tip de conducere
permite viteze mult mai mari, 100 m/s, față de 10 m/s în cazul fibrelor amiel nice [11].
Există, în principal, două mari tipuri de sinapse: electrică și chimică. Transmiterea electrică
implică prezența unui circuit local eficient, care să permită trecerea curentului de la o celulă la alta,
suficient cât să o stimuleze. În cadrul acestui tip de transmisie, nu au loc modificări esențiale la nivelul
sinapselor și respectă proprietatea de funcționare a sinapselor, și anume transmiterea impulsului electric
într-o singură direcție.
Transmiterea chimică a impuls ului presupune un mecansim mai complex decât transmiterea
electrică. Astfel, sinapsa chimică implică prezența unei discontinuități la nivelul contactului dintre
celule și continuarea transmiterii impulsului cu ajutorul mediatorilor chimici. Un agent chimic
stimulant este sintetizat și înmagazinat în interiorul terminațiilor nervoase și este eliberat doar la
apariția unui impuls electric. Când substanța este eliberată în fanta sinaptică, aceasta se atașază de o
proteină specifică numită receptor postsinaptic . Această legătură realizată între mediatorul chimic și
receptorul postsinaptic conduce la modificarea potențialului membranar al celulei ce conține receptorii
și determinarea unei depolarizări la nivelul acesteia. Când depolarizarea ajunge la un prag sufi cient de
mare, se declanșază un nou potențial de acțiune care traversează apoi neuronul în aceeași manieră
prezentată anterior [13].

17
3. Electroencefalografia (EEG)
Electroencefalografia (EEG) reprezintă studiul și analiza câmpur ilor electrice ale creierului
înregistrate prin amplificarea diferențelor de potențial dintre electrozii plasați pe scalp sau cortexul
cerebral și creier. În funcție de locul de înregistrare a semnalului, EEG -ul este cunoscut ca fiind EEG
de suprafață sau EEG cu electrozi de profunzime.
3.1. EEG de suprafață
Semnalul EEG măsurat pe suprafața scalpului apare ca rezultat al activității neuronilor
piramidali în cortexul cerebral.
Transmiterea impulsului de -a lungul neuronilor se realizează cu ajutorul unui curent n umit
curent primar, curent ce determină apariția unor curenți secundari, adică un flux de ioni în fluidul
extracelular care încearcă să restabilească concentrația de ioni. În Fig 3.1 (a), sunt evidențiate cele două
tipuri de curen ți: primar și secundar de -a lungul neuronilor piramidali. Acești curenți secundari se
comportă ca o sursă de curent ce se transmite perpendicular pe suprafața cortexului. Chiar dacă sursele
de curent se află în aceași regiune a cortexului, datorită naturii complexe și prezența striurilor de la
nivelul țesutului creierului, orientarea acestor surse de curent poate diferi comple t, fenomen reprezentat
în Fig 3.1 (b), iar câmpul electric rezultat în urma acestui curent va avea orientar ea sursei (asemeni
câmpului magnetic).
Câmpul electric măsurat pe suprafața scalpului se datorează a zeci de mii de neuroni excitați,
lucru reprezentat în linii mari cu ajutorul imaginii din Fig 3.1 (c).

Fig 3.1 – Reprezentarea modului de înregistrare a curenților electrici pe scalp începând de la celulele
piramidale; (a) neuroni piramidali și fluxul de ioni ce se crează în timpul transmiterii impulsului electric; (b)
organizarea neur onilor în interiorul cortexului; (c) simularea activității electrice la nivelul scalpului [14]
Înregistrarea semnaleleor EEG cu electrozi de suprafață se realizează cu ajutorul electrozilor
fixați pe scalp. De -a lungul timpului , s-a urmărit poziționarea acostora sub o formă standardizată,
pentru a asigura integritatea și repetabilitatea înregistrărilor [14].
În anul 1958, Federația Internațională de Electroencefalografie și Neurofiziologie Clinică a
adoptat o poziționare standard a electrozilor, numită sistemul 10 -20. Acest sistem a realizat atât
standardizarea poziționării electrozilor pe scalp, cât și denumirea acestora. Astfel, sistemul presupune
împărțirea scalpului în două părți proporționale și simetrice, urmărind o serie de repere mari (linia
nasului, punctele preauriculare, inionul), pentru a acoperi întreaga suprafață. Noțiunea de 10 -20 provine
de la distanțele proporționale, exprimate în procente, dintre nas și ureche, unde sunt alese punctel e de
poziționare a electrozilor. Electrozii sunt denumiți conform regiunilor scalpului în care sunt poziționați:

18
F (frontal), C (central), T (temporal), P (parietal), O (occipital). La aceste litere care descriu regiunea,
se mai adaugă numere pare, pe part ea dreaptă a liniei de separație și impare, pe partea stângă [15].
În 1991, Societatea Americană de EEG a eliberat un ghid de poziționare a electrozilor, bazat pe
sistemul 10 -20, dar care permitea poziționarea până la 75 de ele ctrozi pe scalp. Acest ghid conținea atât
poziționarea spațială a tuturor electrozilor, cât și denumirile adăugate, de exemplu: CP reprezintă
electrodul poziționat între C și P sau electrodul dintre Fp și F a fost notat cu AF. Plasarea standard
recomandat ă este pentru utilizarea a 21 de electrozi, însă, acest sistem a fost proiectat să permită
utilizarea a mai multor electrozi, cu o plasare ușor de repetat și predictibilă. În Fig 3.2 este reprezentat
sistemul 10 -20 după adaptarea de către Societatea Americană de EEG [16][17].

Fig 3.2 – Sistemul 10 -20 adaptat de către Societatea Americană de EEG
Se pot utiliza două tipuri de mont aje pentru achiziționarea datelor EEG: motaj bipolar și montaj
monopolar.
În general, pentru înregistrarea biopotențialelor se folosesc montajele monopolare. Acestea
prezintă avantajul de a utiliza rejecția de mod comun între doi electrozi pereche. Rejecți a de mod
comun presupune utilizarea unui electrod de referință a cărui voltaj va fi scăzut din electrodul de
măsurat. Electrodul de referință este poziționat într -o zonă în care să nu poată înregistra biopotențialul
urmărit, pentru a fi aproximat cu zgomot ul. Astfel, prin scăderea celor doi electrozi, se va realiza
eliminarea zgomotului, presupunându -se că ce este comun între aceștia este zgomot. În realitate,
electrodul de referință nu se poate poziționa într -un loc complet neutru, însă, în general se folo sește
lobul urechii sau mastoida, aceste poziționări fiind cel mai aproape de efectul dorit.
Montajul bipolar presupune înlocuirea electrodului de referință cu un electrod care înregistrează
semnal EEG [14].
EEG -ul reprezintă o metodă atat de diagnostic a diferitelor neuropatologii, cât și de monitorizare
a acestora. Principalele aplicații în care se utilizează această tehnică, sunt:
– Monitorizarea persoanelor aflate în comă sau moarte cerebrală,
– Localizarea zonelor afectate în u rma traumatismelor craniene, atac cerebral, tumori etc
– Testarea căilor aferente (cu ajutorul potențialelor evocate)
– Monitorizarea cognitivă
– Controlarea anesteziei
– Investigarea epilepsiilor și localizarea focarului epileptic

19
– Monitorizarea eficienței medica mentelor în cazul epilepsiei
– Monitorizarea eficienței medicamentelor în cazul convulsiilor
– Investigarea tulburărilor somnului [15]
3.2. EEG de profunzime
Înregistrările intracerebrale realizate pe oameni au fost introduse în jurul a nilor 1940, pentru
diagnosticul și tratamentul persoanelor bolnave de epilepsie. Inițial, aceste tipuri de întregistrări se
limitau doar la electrocorticografie (ECoG), însă, o serie de studii bazate pe electrozi de profunzime
ofereau o alternativă la ECoG clasic [18].
ECoG reprezintă o tehnică de înregistrare a potențialelor corticale de pe suprafața cortexului, în
sala de operație. Această tehnică înregistrează aceleași tipuri de biopotențiale ca EEG -ul, cu excepția
faptului că aceste potențiale nu se mai dispersează și nu mai sunt atenuate de către scalp sau craniu.
Astfel, tehnica invazivă de ECoG oferă semnale care au un raport SNR (signal -to-noise ratio) foarte
mare, o susceptibilitate mai mică la artefacte față de EEG și o rezoluție spațială și temporală foarte
bună. Studiile au arătat că amplitudinea ECoG în diferte benzi poartă informații substanțiale legate de
activitatea rezolvării sarcinilor, cum ar fi execuția și planificarea mișcăriilor motorii, procesarea
auditivă și atenția vizuală și spațială. ECoG -ul ajută, în general, la înțelegerea pe scară largă a
proceselor corticale. Cu toate avantajele oferite de această tehnică, semnalele ECoG sunt greu de
obținut din cauza limitărilor date de procedura invazivă pe care o implică și din cauza faptului că nu se
poate realiza decât în spații clinice amenajate (sala de operație) [19][20].
În Fig 3.3 este realizată o mapare a răspunsurilor cort icale în urma apl icării anumitor stimuli.
Fig 3.3 A și B evidențiază electrozii ECoG, montați pe scalp (B) și în urma realizării unei rad iografii
laterale (A). În Fig 3.3 C și D sunt reprezentați stimuli i aplicați pentru mapare: voce, tonuri și limbaj, și
zonele de răspuns ale cortexului în urma aplicării stimulilor.

Fig 3.3 – Maparea răspunsurilor corticale în urma aplicării unor stimuli; A. Reprezentarea electrozilor
ECoG montați pe scalp în urma realizării unei radiografii laterale; B. Reprezentarea electrozilor ECoG montați
pe scalp; C. Reprezentarea tipurilor de stimuli aplicați și zonele de răspuns ale corexului; D. Reprezentarea
zonelor de răspuns a c ortexului pe un model 3D a creierului [20]

20
După câțiva ani de la descoperirea ECoG, două mari descoperiri au fost realizate în domeniul
înregistrărilor intracraniene. Prima descoperire a constat în realizarea atlaselor care of ereau coordonate
spațiale pentru majoritatea structurilor telencefalice, odată cu dezvoltarea tehnicilor neurochirurgicale
care au permis accesul la acele zone. A doua mare descoperire s -a referit la utilizarea informațiilor
electroclinice obținute în timp ul crizelor spontane nu numai pentru a studia activitatea din timpul crizei.
Această abordare, denumită corelația anatomo -electro -clinică, s -a bazat pe presupoziția că apariția
crizei într -o anumită zonă a cortexului determină o organizare spațiotemporală a descărcărilor din
timpul crizelor în creier. Astfel, prin combinarea corelației anatomo -electro -clinice cu plasarea
stereotactică a electrozilor intracranieni, Bancaud și Talairach au eleborat tehnica numită stereo -electro
encefalografie (sEEG). Scopul a cestei tehnici a fost de a determina cu precizie originea și extinderea
descărcării focarului epileptic, pentru extirparea chirurgicală exactă a zonei corticale afectate [18].
Astfel, electrozii de profunzime prezintă avantaju l de a extrage semnalul EEG din profunzimea
cortexului cerebral, motiv pentru care aceștia sunt des folosiți în tratarea bolnavilor de epilepsie, prin
extirparea exactă a zonei epileptice afectate, pentru o distrugere cât mai mică a țesutului sănătos.
Pentru o mai buna caracterizare a disfuncționalităților neurologice, cât și pentru o mai bună
analiză a semnalului înregistrat, se utilizează în medicină analiza a cinci unde ale EEG -ului, unde ce
reprezintă filtrarea semnalului în diferite benzi de frecvență. Caracteristicile acestor unde, cât și
frecvențele corespunzătoare sunt reprezentate în Tabel 3.1.

Undele EEG Frecvența Caracteristici
delta 0.1-4 Hz Sunt unde de frecvență foarte mică, care au o amplitudine mare, și
apar în tim pul somnului profund
theta 4-8 Hz Este caracterizată ca activitate lentă și reprezintă tranziția dintre
starea de somn și starea de veghe
alpha 8-12 Hz Sunt asociate, în general, cu starea de relaxare
beta 12-30 Hz Sunt unde de amplitudine mică și sunt asociate cu activitatea
intelectuală și concentrarea pe un anumit lucru
gamma >30 Hz Activitatea rapidă a creierului; este asociată cu atenția focusată și
conexiunea iformațiilor din diferite zone ale creierului
Tabel 3.1 – Undele ce caracterizează semanul EEG și caracteristicile acestora [21]

21
4. Stadiul actual al sistemelor de recunoaștere vocală bazate pe EEG
Comunicarea reprezintă o parte foarte importantă din viața cotidiană , însă, o parte din populație
nu o poate realiza din cauza unor afecțiuni precum s clecroză laterală amiotrofică, sindromul locked -in
sau atrofie spinal musculară care afectează gradual abilitățile motor ii, cu toate că abilitățile cognitive
rămân intacte. Acest lucru a declanșat motivația cercetătorilor de a dezvolta sisteme de comunicare
specifice acestor subiecți. Sistemele dezvoltate se bazează pe achiziția semnalelor electrice de la nivel
cerebral, deoarece se poate susține că pentru a realiza mișcările nece sare modificării articulațiilor în
vederea rostirii cuvintelor, este necesară comandarea acestora de către centrii nervoși. Pornind de la
această ipoteză, a apărut un nou concept bazat pe imaginarea discursului , concept care susține că nu
este nevoie să se producă propriu -zis sunetul pentru ca centrii vorbirii să se declanșeze atunci când
subiectul se gândește la rostirea unui cuvânt.
Cercetări în ceea ce privește decodarea gândurilor datează încă din anii 1960, când au fost
realizate încercări de transmit ere a literelor utilizând codul Morse prin analiza semnalelor EEG [22].
De-a lungul timpului, cercetătorii au încercat mai multe abordări pentru a face posibilă
comunicarea dintre subiecții ce suferă de afecțiuni motorii cu sc opul de a îmbunătăți calitătatea vieți i
acestora. Astfel, o serie de cercetători au pornit de la ideea că alfabetul poate fi utilizat pentru a
compune cuvinte și în consecință, a purta o conversație. Motiv pentru care aceștia au dezvoltat un
sistem BCI pen tru sinteză vocală pornind de la crearea unei interfețe ce afișază într -un spațiu 2D întreg
alfabetul (o matrice de 6×5 ce conține toate cele 26 de litere ale alfabetului). Această abordare
presupune învățarea pacien tului să miște pe ecran un cursor în toa te cele patru direcții: stânga, dreapta,
sus și jos, alegând în acest mod litera dorită. Avantajul acestei metode este reprezentat de faptul că
pacientul poate învăța și controla ușor sistemul, putând purta o conversație. Dezavantajele unui astfel
de siste m constau din imposibilitatea utilizării în timp real a aplicației și prezența în permanență a unui
computer ce conține interfața grafică, acest lucru făcând imposibilă m obilitatea dispo zitivului [23].
O variantă evoluată a sis temelor BCI ce utilizează selectarea literelor pentru a creea cuvinte, este
reprezentată de P300 Speller [24]. Metoda presupune afișarea pe un display a unei matrici 6×6 alcătuită
din literele alfabetului și numerele de la 0 l a 9. Linile și coloanele matrici i sunt luminate succesiv.
Atunci când coloana sau linia ce conține litera aleasă este luminată, are loc apariția unui potențial
corelat cu evenimentul – ERP (event related potențial). Astfel sistemul poate decide litera aleas ă,
pacientul putând compune din litere cuvântul dorit.
Utilizând alfabetul pentru a sintetiza vorbirea este o metodă lentă și nu reprezintă o cale naturală
de a purta o conversație. În schimb, această metodă este ușor de învățat și controlat, iar sunetul creat se
poate apropia de cel natural datorită sistemelor avansate existente de transformare a textului în cuvinte.
Această metodă funcționează în ciuda semnalelor de dimensiuni mici, cu rezoluție mică și o lărgime de
bandă redusă.
Pentru a verifica ipote za ce susține că semnalul vocal poate fi decodat din semnale EEG , au fost
realizate o serie de studii, precum studiul [25], în care au fost analizate semnale E CoG pentru
identificarea vocalelor și a unor sunete nevocalizate din limba Engleză, având un succes de 43%
acuratețe pentru recunoașterea vocalelor și de 38% pentru recunoașterea consoanelor. Pentru obținerea
acestor rezultate, cercetătorii au analizat frecvențele undelor gamma cuprinse între 70 și 170Hz și
frecvențele cup rinse între 8 și 12Hz, utilizându -se pentru diferen țierea vocalelor și consoanelor
clasificatorul Naive Bayes.
În anul 2014, o serie de cercetători din India [26] au încercat dezvoltarea unui sistem BCI pentru
recunoașterea voc alelor din limba engleză, „a”, „e”, „i”, „o” și „u”. Aceștia au extras din semnalul EEG
o serie de parametrii statistici, precum media, varianța, dispersia și media puterii spectrale ca informații
ce definesc semnalele specifice vocalelor analizate . Pentru diferențierea celor 5 vocale, cercetătorii au
utilizat o rețea neuronală Back Propagation ce conține două straturi ascunse. Studiul a urmărit

22
realizarea unui sistem generalizat, care a fost antrenat pe 10 subiecți și a fost testat pe 3 subiecți diferiți
de cei utilizați pentru antrenare , obținându -se o acuratețe medie de 44%.
O altă abordare utilizată pentru recunoașterea discursului silențios a fost dezvoltată în Columbia ,
de către o serie de cercetători care au utilizat un algoritm de recunoaștere a form elor cu ajutorul
algoritmului suport vector mașină (SVM) capabil să clasifice și să recunoască semnalele preluate în
timpul discursului silențios corespunzătoare a două vocal e prezente în limba Spaniolă: „a ” și „e”.
Rezultatele obținute utilizând această a bordare sunt satisfăcătoare, atingând o rată de recunoaștere de
85.29% utilizând doar șase electrozi [27].
Studii privind recunoașterea discursului silențios au fost realizate și în Statele Unite ale Americii
într-un centru di n California, unde cercetătorii a u utilizat spectrul Hilbert pentru a analiza semnalele
EEG în domeniul timp -frecvență și clasficatorul Bayes pentru diferențierea a două silabe: „ba” și „cu”.
Aceștia au obținut o performanță medie de recunoaștere pe toți s ubiecții de 4 2% [28] .
În studiul [29], Guenther et al. utilizează o metodă de sintetizare a semnalului vocal implantând
un electrod neurotrofic în zona cortexului motor ce determină vorbirea, bazân du-se pe ipoteza că
structurile neuronale din interiorul cortexului codifică rostirea intenționată a cuvintelor. Conform
modelului neurocomputational al controlului motor, neuronii din regiunea în care a fost implantat
electrodul, cortexul premotor ventral sâng, transmit semnalul sonor ce se dorește a fi rostit sub formă
de traiectorii ale formanților, iar proiecțiile ce pornesc de la acești neuroni către cortexul motor primar
transformă formanții în comenzi motorii către articulațiile implicate în vorbire. Frecvențele formanților
prezintă valori continue, ce corespund diferitelor picuri din reprezentarea spectrală a semnalului
acustic, care, la rândul lor picurile sunt în strânsă legătură cu poziția spațială a articulațiilor implicate în
vorbire, în aceeași manieră în care se poate determina poziția spațială a degetelor în funcție de corp și
determinată de unghiurile date de încheietura mâinii și a cotului. Continuând cu această analogie,
vorbirea poate fi caracterizată ca o traiectorie de mișcare în spațiul de frecvențe ale formanților (în
cazul acestui studiu fiind determinat de un spațiu 2D caracterizat de primii doi formanți: F1 și F2),
asemenea caracterizării unei prinderi ale mâinii într -un sistem cartezian 3D.
Principalul avantaj al acestei metode dez voltate de Guenther et al. este posibilitatea realizării
sistemului în timp real, acesta putând fi și ușor de purtat. De asemenea, formanții oferă informații
semnificative și de dimensiuni mici (2D) asupra configurației tractului vocal, acesta reprezentând un
plus al sistemului. Un alt avantaj al metodei este reprezentat de faptul că transpunerea semnalului
cortical în formanți este o abordare convenabilă ținând cont de faptul că sinteza vocală bazată pe
formanți a fost intens studiată și sunt disponibile s ofturi ce necesită un timp computațional scăzut.
Un dezavantaj al aplicației realizate pe bază de formanți este necesitatea implantării electrodului,
aceasta fiind o procedură invazivă.

23
5. Desfășurarea lucrării
Obiectivul principal al acestui studiu presupu ne dezvoltarea unui sistem inteligent de diferențiere
a unui set de cuvinte rostite și gândite bazat pe analiza semnalelor EEG de suprafață. Pentru realizarea
sistemului, au fost urmăriți o serie de pași esențiali, începând de la stabilirea corpusului, rea lizarea
bazei de date corespunzătoare scopului dorit, etapă urmată de preprocesare, extragerea trăsăturilor și
dezvoltarea algoritmului de clasificare, ajungându -se în f inal la evaluarea ratei de recunoaștere . Pe
parcursul dezvoltării sistemului, au fost î ncercate mai multe variante de extragere a trăsăturilor pentru
îmbunătățirea rezultatelor, astfel, fiind prezentat în acest studiu și o comparație a metodelor utilizate.
Un alt obiectiv pe care această lucrare și -l propune este de a investiga posibilitatea utilizării a unui
număr redus de canele, determinate de zona în care corelația dintre rostiri este maximă. De asemenea,
au fost testate în etapa de clasificare două tipuri de rețele neuronale, rețeaua neuronală Multilayer
Perceptron (MLP) precum și rețeau a neuronală cu Bază Radială (RBF) urmărindu -se performanțele
acestora. Schema de principiu urmărită pentru dezvoltarea sistemului este prezentată în Fig 5.1.

Fig 5.1 – Schema general utilizată pentru dezvoltarea sistemului BCI pentru inteză vocală
5.1. Sistem ul de achiziție a semnalelor
Sistemul de achiziție utilizat pentru această aplicație este Neurofax µ EEG -9100. Acest sistem
conține propria unitate centrală, o unitate de alimentare cu izolare, o cutie de joncțiune pentru electrozi
și un software standard.
În Fig 5.2 este reprezentat sistemul de achiziție a datelor cu unitatea centrală și cutia de joncțiune
pentru electrozi.
Înregistrările au fo st realizate utilizând sistemul de achiziție Neurofax, capabil să achiziționeze
semnale EEG, împreună cu un laptop ce conține o aplicație realizată în MatLab aplicație utilizată atât
pentru afișarea imaginilor ce conțin cuvintele prezente în corpus cât și pentru achiziționarea simultană
cu semnalul EEG a semnalului vocal.

24
Semnalele au fost achiziți onate cu o frecvență de eșantionare de 200Hz pentru primul subiect și
500Hz pentru ceilalți subiecți analizați.

Fig 5.2 – Unitatea centrală și cutia de joncțiune pentru electrozi a sistemului de achiziție a datelor EEG
5.2. Baza de date
Baza de date constituie un element important în dezvoltarea sistemului, lăsându -și amprenta încă
de la început în performanțele finale ale acestuia. În timpul achiziției, este important ca subiectul să se
concentreze doar pe rostirea cuvintelor ce alcătuiesc corpusul bazei de date, fără a fi extras de la
această activitate. De asemenea, subiectul a fost instruit să nu realizeze nicio mișcare motorie în timpul
achiziționării, pentru a putea înregistra doa r semnalele motorii declanșate de mișcarea articulațiilor
specifice semnalului vocal.
În această lucrare, pentru achiziționarea semnalelor EEG împreună cu semnalul vocal a fost
realizată o inte rfață grafică în MatLab, cu scopul de a avea un control cât mai mare asupra timpilor de
rostire a cuvintelor. De asemenea, această aplicație permite și înregistrarea semnalului vocal odată cu
semnalul EEG pentru a putea determina cu exactitate momentul ros tirii. Aplicația constă din afișarea
unor imagini ce conțin cuvintele prezente în corpus scrise cu font negru pe fundal alb, imagini ce se
modifică odată la patru secunde , prezentând la final o imagine ce nu conține niciun cuvânt ci o imagine
în timpul căr eia subiectul a fost instruit să se relaxeze . Deoarece în imagine se modifică doar textul,
fundalul rămânând același, nu există un impact vizual puternic care ar putea să activeze centrii
corticali. În figura Fig 5.3 este prezenta tă interfața grafică utilizată pentru achiziționarea semnalelor.
Codul utilizat pentru dezvoltarea aplicației este prezentat în A nexa 1.

Fig 5.3 – Interfața grafică utilizată pentru achiziționarea semnalelor

25
Corpusul a fost creat astfel încât să urmărească trei linii mari:
1. Importanța vocalelor din cuvinte, astfel au fost alese cuvinte în care se modifică un singur sunet
vocalizat, precum: MARE, MERE, MURE, MIRE , MOLII .
2. Diferențierea sunetelor nevocalizate, ros tite diferit: SARE, TARE.
3. Cuvinte ce conțin silabe repetitive: MAMA, PAPARUDĂ, PEPENE, TITIREZ, BUBURUZĂ,
TEME.
În total au fost analizate 13 cuvinte , urmate de un timp de pauză.

Pașii urmăriți în timpul achiziționării datelor:
1. Subiectul a fost rugat să se relaxeze.
2. Instructorul pornește achiziționarea datelor apăsând s imultan pe butonul corespunzăto r
achiziției semnalelor EEG și butonul de start al aplicației dezvoltate.
3. Apariția primului cuvânt după o pauză de 10s .
4. Rostire silențioasă a cuvântului din i magine.
5. Rostire cu voce tare a cuvântului din imagine.
6. Apariția următorului cuvânt după o pauză de 4s.
7. Imaginile se modifică astfel încât fiecare cuvânt să fie rostit de 10 ori.
8. Instructorul oprește înregistrarea semnalelor EEG în momentul în care aplicați a se oprește.
5.3. Subiecți
Subiecții au participat voluntar în cadrul acestui proiect de cercetare, dându -și acordul
înregistrării atât a semnalului vocal cât și a semnalelor electroencefalografice.
În această lucrare au fost analizați trei subiecți , doi subi ecți de sex feminin și un subiect de sex
masculin. Doi dintre subiecți prezintă lateralitate dreaptă , iar unul lateralitate stângă . Subiecții nu
prezintă nicio afecțiune neurologică cunoscută . În Tabel 5.1 sunt reprezentate inform ațiile necesare în
cadrul acestui studiu în ceea ce privește subiecții utilizați pentru achiziționarea datelor.
Pentru primul subiect nu au fost achiziționat semnale în timpul discursului silențios.
ID SEX VÂRSTĂ LATERALITATE NR. ROSTIRI NR. ROSTIRI
UTILE DISCURS
SILENȚIOS
S001 F 25 Dreaptă 650 650 Nu
S002 F 24 Dreaptă 1300 1158 Da
S003 M 27 Stângă 780 720 Da
Tabel 5.1 – Informații despre subiecții utilizați în studiu
5.4. Preprocesare
În etapa de preprocesare, semnalele au fost filtrate utilizând un filtru Notch pentru a elimina
frecvența de 50Hz corespunzătoare rețelei de curent .
Semnalele achiziționate au fost inițial împărțite în segmente de patru secunde, știind că în acest
interval de patru secunde este ro stit un cuvânt. În continuare, semnalele EEG au fost segmentate
alegând zona în care a fost rostit semnalul vocal adăugând 50ms înainte de debutul acestuia , deoarece
se presupune că activarea neuronală începe înainte de rostirea propriu -zisă a cuvântului . Segmentarea
semnalelor s -a realizat urmărind energia semnalului vocal pe ferestre de 20ms. În Fig 5.4 se poate
observa energia calculată pe ferestre și suprapusă peste semnalul vocal, iar în Fig 5.5 se po ate observa
segmentarea semnalului vocal.

26
În A nexa 2 este prezentat codul utilizat pentru segmentarea semnalului în intervale de 4s, în
Anexa 3 este prezentat codul utilizat pentru salvarea într -un folder a semnalelor segmentate în intervale
de 4s, iar în Anexa 4 este reprezentat codul utilizat pentru segmentarea semnalului vocal utilizând
energia acestuia.

Fig 5.4 – Vizualizarea energiei calculată pentru semnalul vocal de 4s

Fig 5.5 – Vizualizarea semnalului segmentat utilizând valorile energiei

27
După ce toate semnalele au fost segmentate, a urmat o etapă de verificare manuală a segmentării.
În cazul în care semnalul vocal nu a fost segmentat corect utilizând metoda automatizată, se dorea
introducerea de la tastatură a debutului și finalului acestuia pentru a fi extrasă manual zona rostirii .
Codul utilizat pentru verific area segmentării este prezentat în Anexa 5.
În Fig 5.6 este reprezentat semnalul vocal de 4s împreună cu semnalul EEG, în care se
evidențiază segmentarea simultană a celor două semnale.

Fig 5.6 – Reprezentarea semnalului vocal și al semnalului EEG evidențiindu -se zona segmentată din
semnal
În ceea ce privește determinarea discursului silențios, au fost ex trase segmente din semnalul
EEG, segmente ce preced semnalul vocal determinat util izând energia acestuia având dimensiunea
semnalului vocal rostit în decursul înregistrării respective . În Fig 5.7 este reprezentată delimitarea atât a
semnalului vocal cât și a semnalului în timpul discursului silențios.

Fig 5.7 – Reprezentarea segmentării semnalului vocal și al semnalului EEG atât în timpul discursului
vorbit cât și în timpul discursului silențios (magenta – discurs silențios, roșu discurs vorbit)

28
Figura Fig 5.8 afișază rezultatul obținut în urma segmentării atât în timpul discursului vorbit cât
și în timpul discursului silențios.

Fig 5.8 – Reprezentarea semnalului vocal segmentat, a semnalului EE G în timpul discursului vorbit și a
semnalului EEG în timpul discursului silențios
5.5. Analizarea semnalelor pe baza corelației
Coeficientul de corelație reprezintă o mărime care măsoară (cuantifică) relația de similitudine
dintre două variabile aleatoare. Ace sta poate fi calculat cu ajutorul ecuației:

(5.1)
Unde reprezintă covariația dintre două semnale și este caracterizată de ecuația:
(5.2)
Iar și reprezintă mediile variabilelor aleatoare și , și și reprezintă varianța
variabilelor aleatoare și .
În funcție de rezultatul corelației, putem caracteri za interdependenț a dintre cele două variabile
aleatoare astfel:
– Dacă valoarea coeficientului de corelație dintre ξ 1 și ξ 2 este pozitiv, atunci valorile
variabilei aleatoare ξ 2 cresc odată cu valorile variabilei ξ 1
– Dacă valoarea coeficientului de corelație între ξ 1 și ξ2 este nega tiv, atunci valorile variabilei
aleatoare ξ 2 scad odată cu valorile variabilei ξ 2
– Dacă valoarea coeficientului de corelație este 0, atunci între cele două variabile aleatoare, ξ 1
și ξ2 nu există nicio legătură
Semnalele EEG segmentate au fost analizate ut ilizând coeficientul de corelație pentru a investiga
dacă rostirile aceluiași cuvânt prezintă un grad mare de similitudine. Pentru realizarea acestui obiectiv,
semnalele segmentate anterior în etapa de preprocesare au fost descompuse în componente de frecv ență
utilizând transformata Fourrier, după care a fost calculată corelația dintre toate rostirile unui cuvânt cu
toate rostirile aceluiași cu vânt pe toate cele 19 canale. Coeficientul de corelație a fost realizat utilizând
transformata Fourrier pentru a el imina erorile ce ar fi putut fi introduse de nesincronizarea semnalelor.

29
După calcularea coeficientului de corelație pentru toate rostirile, s -a realizat o medie a coeficienților de
corelație pe canale, pentru fiecare cuvânt pentru a putea fi inspectate vi zual. Rezultatele obținute în
urma corelației sunt prezentate în figurile Fig 5.9 pentru subiectul 1, Fig 5.10 pentru subiectul 2 și Fig
5.11 pentru subiectul 3.
Codul utilizat pentru calcularea corelației este prezentat în Anexa 6.

Fig 5.9 – Media coeficientul de corelație între rostirile aceluiași cuvânt reprezentat pentru toate canale le
pentru S001

Fig 5.10 – Media coeficientul de corelație între rostirile aceluiași cuvânt reprezentat pentru toate canalele
pentru S002

30

Fig 5.11- Media coeficien tul de corelație între rostirile aceluiași cuvânt reprezentat p entru toate canalele
pentru S003
În urma acestei analize , s-a putut observa că există o corelație puternică între rostirile aceluiași
cuvânt. Acest lucru dovedește că în timpul rostirii unui cu vânt, centrii corticali se activează în aceeași
manieră la fiecare rostire, existând o puternică legătură între acestea .
Se poate observa cu ușurință că în cazul tuturor subiecților analizați, canalele ce prezintă corelație
maximă sunt canalele din zona f rontală, centrală și temporală, reprezentate de electrozii: F3, F4, C3, C4
F7, T3, F8, T4, Fz și Cz. . În figurile Fig 5.12, Fig 5.13, Fig 5.14 sunt reprezentate mediile canalelo r pe
cuvinte și poziționarea acestora pe scalp.
De asemenea, se poate observa că pentru primii doi subiecți, canalele ce prezintă cea mai mare
corelație sunt reprezentate de canalele din regiunea dr eaptă a creierului, în timp ce pentru subiectul
S003, zona ce prezintă corelație mai ridicată pentru un număr mai mare de canale este zona
corespunzătoare regiunii stângi . Acest lucru poate fi explicat prin faptul că subiecții S001 și S002 au
lateralitate dreaptă, în timp ce subiectul S003 prezintă lateralitate s tângă .

Fig 5.12 – Mediile coeficienților de corelație pe canale și poziționarea acestora pentru S001

31

Fig 5.13 – Mediile coeficienților de corelație pe canale și p oziționarea acestora pentru S002

Fig 5.14 – Mediile coeficienților de corelație pe canale și poziționarea acestora pentru S003

32
5.6. Extragerea trăsăturilor
În această etapă se urmărește extragerea celor mai impo rtante informații din semnal capabile să
diferențieze cuvintele prezente în corpus analizând doar semnalele EEG. Au fost testate mai multe
metode de extragere de trăsături cu scopul de a analiza care dintre parametrii extrași oferă rezultate mai
bune în re cunoașterea cuvintelor din corpus utilizând această bază de date.
Rezultatul acestor experimente de extragere a informațiilor din semnal ar trebui să ofere
informații despre parametrii optimi utilizați pentr u a obține rezultate în recunoașterea cuvintelor .
5.6.1 Extragere a trăsături lor în domeniul frecvență
Prima metodă abordată a presupus calcularea energi ei, mediei și varianței pe bezile EEG din
semnal. În realizarea acestui scop, s -a urmărit filtrarea semnalul EEG în benzi le: delta (0.1 – 4 Hz),
theta (4 – 8 Hz), alpha (8 – 12 Hz), beta (12 – 30 Hz) , low gamma (30 – 70) și high gamma (7 0 – 96
Hz) și calcularea energiei în aceste benzi inițial pe ferestre de 20 0ms, cu suprapunere de 10 0ms, apoi
pe ferestre de 80ms cu suprapunere de 60ms .
La aceste trăsături ex trase au fost adăugate și frecvența la care energia spectrală (Spectral Edge
Frequency – SEF) a semnalului atinge 80%, 90% și 95% din energia totală (SEF80, SEF90, SEF95) .
Numărul de trăsături extrase utilizând această metodă pentru o fereastră este de 21 trasaturi x nr.
canale.
Codul utilizat pentru calcularea energiilor pe benzi este prezentat în Anexa 7 , iar în Anexa 8 este
reprezentat codul pentru calcularea SEF80, SEF90 și SEF95.
5.6.2 Extragere a trăsături lor în domeniul timp
O altă metodă de extragere a tră săturilor abordată în această lucrare este reprezentată de
calcularea energiei semnalului pe ferestre de 2 00ms cu suprapunere de 1 00ms și ferestre de 80ms cu
suprapunere de 60ms, împreună cu o serie de parametrii statistici precum valoarea minimă a semnalu lui
pe fereastra respe ctivă, valoarea maximă, media, varianța și numărul de picuri din semnal , la care au
fost adăugate și valorile maxime ale funcției de corelație dintre toate canalele și pozițile la care funcția
de corelație este maximă.
Codul utilizat pentru extragerea trăsăturilor în domeniul timp este prezentat în Anexa 9.
5.6.3 Extragerea t răsături lor bazate pe entropie
În continuare, s -a urmărit analizarea semnalelor EEG prin extragerea a trei tipuri de trăsături
bazate pe entropie: entropia lui Shannon ( Hsh), entropia spectral ă (Hsp) și entropia aproximată (H ap).
Aceste trăsături au fost utilizate pentru caracterizarea semnalelor EEG în lucrarea de cercetare realizată
de [4] și au fost utilizate pentru diferențierea semnalelor EEG a subiecților ce suferă de schizofrenie
față de semnalele EEG a unor subiecți sănătoși, de control, unde au prezentat rezultate încurajatoare ,
atingând o acuratețe medie realizată pe toți subiecții de 89%.
Cele trei tipuri de trăsături au fost extrase de asemenea pe ferestre de 2 00ms cu suprapunere de
100ms și ferestre de 80ms cu suprapunere de 60ms adăugându -se și ferestre de 40ms cu suprapunere de
20ms, astfel:

Entropia lui Shannon
Entropia introdusă de Shannon poate fi interpretată ca o măsură a gradului de dezordine al unui
semnal și este descrisă de formula matematică:

(5.3)
Unde i parcurge toate amplitudinile semnalului, iar Pi reprezintă probabilitatea ca semnalul să
aibă amplitudinea ai.

33
În această lucrare , Pi a fost calculată ca probabilitatea de apariție a amplitudinii semnalului pe
interval e de 5 µV, pornind de la valoarea minimă a semnalului până la valoarea maximă a acestuia.

Entropia spectrală
Entropia spectral ă este bazată pe puterea spectral ă a und elor EEG: delta, theta, alpha, beta și low
gamma și descrie gradul de dezordine a spectrului semnalului. Entropia spectral ă, notată cu H sp, este
definită astfel:

(5.4)
Unde P reprezintă densitatea spectr ală de putere pentru o bandă de frec vență a semnalului, f l și fh
reprezintă limita de frecvență înferioară și superioară a benzii , iar puterea este normaliz ată astfel încât:

(5.5)
Entropia aproximată
Entropia aproximată este o altă proprie tate statistică care poate fi utilizată pentru cuantificarea
complexității sau neregularității unui semnal și descrie rata de producere a unei noi inform ații [4].
Se presupune existența unui semnal ce evoluează în timp:

Unde N reprezintă numărul de puncte al secvenței semnalului.
Se definesc de către utilizator parametrii: m și r (toleranța).
Entropia aproximată (H ap) este estimată utilizând următorul algoritm:
1. Se definește vectorul X astfel:
(5.6)
Acest vector X, reprezintă m valori consecutive ale semnalului începând cu punctul i.
2. Se calculează distanța dintre x(i) și x(j), d[x(i),x(j)], definită ca valoarea maximă absolută dintre
diferența compon entelor scalare ale lui Xi și Xj:
(5.7)
3. Pentru un x(i), se caută numărul de valori x(j), j=1,..,N -m+1, astfel încât d[x(i),x(j)] ≤ r și se
notează cu Nm(i). Apoi, pentru i=1,..,N -m+1 se calcu lează:

(5.8)
4. măsoară frecvența patternurilor similare cu cele date de fereastra de lungime m, având o
toleranță r.
5. În continuare, se calcule ază logaritmul natural al fiecărui și se mediază.
6. Se crește dimensiunea lui m cu o unitate. Se repetă pașii 1 -4.
Codul utilizat pentru extragerea trăsăturilor pe baza entropiei este prezentat în Anexa 10.

(5.9)

34
5.7. Clasificare
În etapa de clasificare au fost utilizate două tipuri de rețele neuronale: rețeaua neuronal ă
Multilayer Perceptron (MLP) și rețeaua neuronală cu bază radială (RBF).
5.7.1 Reațeaua neuronală MLP
Multilayer Perceptron este o rețea neuronală de tip Feed -Forword alcătuită dintr -un număr de
unități (neuroni) conectate prin ponderi.
Rețelele neuronale multistrat sunt alcătuite din unități, corespunzătoare neuronilor, ordonate în
mai multe straturi. Primul strat este numit strat de intrare, ultimul este numit strat de ieșire, iar straturile
intermediare poartă denumirea de straturi ascunse [30].
Stratul de intrare primește un vector de activare extern, pe care îl transmite mai departe
următorului strat de neuroni cu ajutorul ponderilor, ce reprezintă conexiunile din tre straturi. Aceștia
procesează informația primită și o transmit mai departe următorului strat. Mai exact spus, vectorul de
intrare se propagă de -a lungul rețelei neuronale, determinând obținerea unui răspuns la ieșire, toată
funcționarea rețelei bazându -se pe conexiunile dintre neuroni date de ponderi. Topologia unei astfel de
rețele cu un singur strat ascuns este prezentată în Fig 5.15.

Fig 5.15 – Topologia unei rețele neuronale de tip MLP
Fiecare neuron i din rețea reprezintă o unitate de procesare simplă, care calculează funcția de
activare a vectorului de intrare xj, cu ajutorul ponderilor astfel:

(5.10 )
Unde n reprezintă numărul d e neuroni din stratul anterior neuronului i, wij reprezintă ponderile ce
fac legătura dintre unitatea j și unitatea i, iar wi0 reprezintă bias -ul neuronului i. Pentru o reprezentare
omogenă, wi0 este înlocu it cu o pondere care are intrarea constantă 1. Ace st lucru înseamnă că bias -ul
poate fi considerat o pondere.

35
Activarea unității i se realizează prin trecerea valorii obținute în urma calculării net printr -o
funcție de activare neliniară, în general aceasta este reprezentată de o funcție sigmoidă. Astfel, ieșirea yi
este calculată după formula :

(5.11)
O proprietate importantă a acestei funcții este că poate fi derivată ușor, forma derivativă fiind:

(5.12)
Învățarea supervizată presupune modificarea ponderilor din rețea astfel încât acestea să ofere
ieșirea dorită la aplicarea unui anumit vector de intrare prin găsirea patternului corespunzător.
Fiecare vector de intrare xp, este alcătuit dintr -o serie de caracteristici și are o ieșire din rețea
corespunzătoare țintei tp. După antrenarea rețelei, când o intrare xp este prezentată, rezultatul yp al ieșirii
din rețea ar trebui să fie egal cu vectorul țintă tp. Distanța dintre țintă și vectorul de ieșire reprezintă
eroarea rețelei, denumită și funcția cost, și se calculează astfel:

(5.13 )
Unde M este numărul de unități din stratul de ieșire și N numărul de vectori aplicați la intrare.
Împlinirea s copului presupune găsirea unui minim global E.
Algoritmul de propagare inversă a erorii, presupune modificarea ponderilor începând de la ieșire
către intrare cu scopul de a minimiza eroarea rețelei . Acest lucru poate fi realizat utilizând regula
Widrow -Hoff.
Regula Widrow -Hoff reprezintă un algoritm de gradient negativ care are rolul de a minimiza
eroarea medie pătratică prin ajustarea ponderilor. Astfel, se presupune intrarea alcătuită dintr -un singur
vector X, de n caracteristici, intrare având ieșirea corectă notată cu D (D fiind un scalar), iar ponderile
curente notate cu W (W fiind un vector de n valori) pentru un singur neuron . Atunci, eroarea este dată
de formula:
(5.14 )
Această ecuație mai poate fi scrisă și sub formă de suma astfel:

(5.15 )
Iar gradientul este dat de ecuația X și respectiv X:

(5.16 )

(5.17 )
Unde , n fiind numărul de intrări în rețea.
Deoarece trebuie specificat pasul, η, pentru gradientul negativ, valoarea 2 din ecuația 5.17 poate
fi introdus ă în rata de învățare η. Ținând cont de faptul că gra dientul negativ presupune avansarea în
direcția – , forma finală a algoritmului devine:
(5.18 )
Unde W(t+1) reprezintă ajustarea ponderii pentru următoarea iterație.

36
Această procedură de ajustare a ponderilor se mai numeș te și regula delta deoarece, în general,
eroarea se notează cu δ.
Ecuația 5.18 presupune adaptarea ponderilor la momentul t+1 ținând cont de semnul diferenței
dintre ieșirea corectă și ieșirea oferită de rețea. Astfel, dacă această diferență este negativă, adică dacă
ieșirea dorită este mai mică decât ieșirea dată de rețea, atunci ponderea următoare se va obține prin
scăderea din ponderea curentă a diferenței dintre cele două ieșiri înmulțită cu rata de învățare, ajustând
în acest mod pondere a în sensul minimizării erorii [31].
În cazul rețelei neuronale multistrat, eroarea pătratică pentru un lot de învățare de dimensiunea L,
este:

(5.19 )

În acest caz, δ h și δo sunt:
(5.20 )

(5.21 )
Una dint re problemele acestui algoritm presupune alegerea ratei de învățare corespunzătoare. O
alegere bună depinde de forma funcției eroare. O rată de învățare mică va determina un timp mare de
convergență, în timp ce o rată mare de învățare va duce la oscilații ale erorii, împiedicând scăderea
acesteia sub o anumită valoare. De asemenea, se poate demonstra că, deși în anumite circumstanțe
rețeaua converge către un minim local, nu se poate garanta că algoritmul va găsi minimul global al
funcției eroare. În Fig 5.16 este evidențiată descreșterea erorii medii pătratice odată cu modificarea
ponderilor, în sensul gradientului negativ.

Fig 5.16 – Scăderea erorii medii pătratice în sensul gradientu lui negativ

37
Implementarea s -a realizat utilizând varianta icrementală (secvențială) a algoritmului
Backpropagation, astfel:
1. Inițializarea aleatoare a ponderilor
2. Repetă
FOR l = 1,L DO
% Etapa FORWARD (propagarea înainte a vectorului de intrare)
% Cal cularea potențialului de activare a neuronilor din stratul ascuns

(5.22 )

% Calcularea funcției de activare a neuronilor din stratul ascuns
(5.23 )

% Calcularea potențialului de activare a neuronilor din stratul de ieșire

(5.24 )

% Calcularea funcției de activare a neuronilor din stratul de ieșire
(5.25 )
% Etapa BACK WARD (propagarea erorii)
% Calcularea erorii rețelei față de ieșirea dorită
(5.26 )
%Calcularea erorii propagată către neuronii din stratul ascuns

(5.27)
% Etapa de ajustare a ponderilor
(5.28 )

(5.29 )

END FOR

% Calcularea erorii
E = 0

FOR l=1,L DO
%Etapa FO RWARD

(5.30 )
(5.31 )

38

(5.32 )
(5.33 )

%Sumarea erorii

(5.34 )

END FOR
E = E/(2L)
(5.35 )
p = p+1
(5.36 )

CAT TIMP p > p max SAU E < E*

În continuare, s-a dorit clasificarea datelor de intrare pe baza trăsăturilor extrase . Numărul total
de vectori au fost împărțiți in două seturi: set ul de antrenare, reprezentând 70 % din numărul total de
vetori și setul de testare, reprezentând 30 %. Alocarea vectorilor către cele două seturi a fost aleatoare.
În această lucrare, a fost utilizat un singur strat ascuns în care au fost introduși 150 de neu roni, iar
rata de invățare corespunzând valorii de 0.001. Numărul de neuroni din stratul ascuns, precum și rata
de învățare au fost determinate empiric realizându -se mai multe încercări.
Codul utilizat pentru clasificarea datelor utilizând rețeaua neuronal ă MLP este prezentat în Anexa
11.
5.7.2 Rețeaua neuronală RBF
Reteaua neuronala cu funcții de bază radială se bazează pe aplicarea unei transformări neliniare
asupra spaț iului de i ntrare astfel încât în noul spațiu datele să fie liniar separabil e. Neu ronii din stratul
ascuns au rolul de a realiza această transformare asupra spaț iului de intrare, iar neuronii de ie șire
utilizează datele obținut e în urma transform ării neliniare.

39
Arhitectura rețelei RBF

Fig 5.17 – Arhitectura rețelei RBF
În Fig 5.17 este reprezentată arhitectura tipică a unei rețele neuronale de tip RBF. Aceasta constă
dintr -un strat de intrare, un strat de neuroni cu funcție de activare cu bază radială și un strat de ie șire cu
un neuron corespunzând fiecărei clase a setului de date.

Stratul de intrare
Stratul de intrare este reprezentat de un vector n -dimensional care se dorește a fi clasificat.

Stratul ascuns
Fiecare neuron din stratul ascuns conține un centroid, . Vectorul de intrare este comparat cu
fiecare centroid din stratul ascuns, rezultând valori de ieșire cuprinse între 0 și 1 reprezentând
similaritatea dintre vectorul d e intrare și neuronul respectiv . Dacă intrarea este egală cu centroidul,
atunci ieșir ea din neuronal RBF va fi 1. Cu cât crește distanța dintre intrare și centroid, răspunsul
neuronului scade către 0.

Stratul de ieșire
Ieșirea din rețeaua neuronală constă dintr -un set de neuroni, unul pentru fiecare clasă
corespunzătoare setului de date. Fiecare neuron calculează un scor pentru categoria asociată. În general,
decizia de clasificare este luată conform scorului maxim.
Scorul este calculat prin însumarea ponderată a valorilor de activare obținute în urma trecerii
vectorului de intrare prin fi ecare neuron RBF.

Funcția de activare de tip RBF
Fiecare neuron cu bază radială calculează o măsură a similiarității dintre intrare și centroid.
Există mai multe posibilități de calculare a similarității, dar în această lucrare funcția de activare a
neuronilor din stratul ascuns este descrisă de ecuația 5.37:

(5.37 )

40
Unde x reprezintă intrarea, reprezintă media (centroidul) , iar reprezintă deviația standard
(varianța).
În Fig 5.18 este rep rezentată o funcția cu bază radială .

Fig 5.18 – Funcție cu bază radială
Această funcție este utilă în calcularea similarității dintre vectorul de intrare și centroid. Dacă
vectorul de intrare este egal cu cen troidul, atunci răspunsul funcției va fi 1. Cu cât vectorul se
îndepărtează de centroid, valoarea similarității scade.

Antrenarea rețelei RBF
În această lucrare, centroizii pentru neuronii din stratul ascuns sunt determinați utilizând
algoritm ul KMeans (B asic Isodata) . Odată cunoscuți centrozii este calculată varianța pentru fiecare
centroid, și determinată ieșirea din stratul ascuns utilizând e cuația funcției cu bază radială. În
continuare, algoritmul presupune calcularea ponderilor pentru stratul de ieș ire utilizând algoritmul de
gradient negativ .

I. Algoritmul KMeans

Algorimul K -Means este o metodă automată de clusterizare a datelor similare. Cu alte cuvinte, se
dă un set de date:
(5.38)
Unde este n dimensional.
Și se d orește gruparea datelor într -un număr k de clustere.
Algoritmul K -Means este o procedură iterativă care începe prin alegerea aleatoare a unor
centroizi, urmând ca aceștia să fie adaptați prin atribuirea vectorilor către cel mai apropiat centroid și
recalc ularea centroizilor în funcție de vectorii care le -au fost atribuiți.
Pașii parcurși în realizarea algoritmului sunt:
1. Inițializarea centroizilor
2. Repretă pentru fiecare vector din set:
a) Se calculează distanțele sale la mediile tuturor claselor

(5.39 )

41
b) Se stabilește clasa de apartenență (ce va fi utilizată la iterația viitoare) a vectorului
c) Reactualizarea mediilor
3. Dacă (față de iterația anterioară) nic i un vector nu a fost mutat în altă clasă (sau media unei
clase nu s -a modificat, algoritmul se încheie. Atfel, se reia algoritmul de la pasul 2.

II. Calcularea parametrului
Odată cunoscuți centroizii și clasele de aparteneță a vectorilor de intrare pentru fiecare
centroid, se poate determina parametrul astfel:

(5.40)
Unde reprezintă varianța și poate fi calculat utilizând următoarea ecuație:

(5.41)
III. Calcularea ponderilor pentru stratul de ie șire
În urma aplicării funcției de activare cu bază radială pentru vectorii de intrare, utilizând
ecuația 1.2, se obține ieșirea din stratul ascuns. Valorile obținute astfel reprezintă intrări pentru
stratul de ieșire.
Funcția de activare pentru neuronii d in stratul de ieșire poate este o funcție liniară de forma:
(5.42 )

În aceas tă lucrare dimensiunea stratului ascus a fost de 65 de neuroni, stratul de ieșire fiind egal
cu 13 neuroni corespunzători fiecărei clase de aparteneță, respectiv fiecăr ui cuvânt analizat.
Asemănător rețelei de tip MLP, setul de date a fost împărțit aleator în date de antrenare și date de
testare, datele de antrenare corespunzând a 70% din vectori în timp ce datele de testare au reprezentat
30% din numărul total de vector i.
Anexa 12 cuprinde codul utilizat pentru dezvoltarea algoritmului RBF.

42

43
6. Rezultate
În această lucrare s -a urmărit diferențierea semnalelor EEG atât în timpul discursului vorbit cât și
în timpul discursului silențios. Pentru a se atinge scopul dorit, au fost încercate mai multe metode de
extragere a informațiilor din semnalul EEG. Prima metodă a constat din an alizarea semnalelor EEG în
domeniul frecvență, prin calcularea energiei pe benzile cunoscute: delta, theta, alpha, beta, low gamma
și high gamma, î n continuare, s -a urmărit extragerea în domeniul timp a unui set de trăsături bazat pe
calcularea energi ei la care s -au adăugat informații precum valoare a maximă a funcției de corelație
dintre canale și întâ rzierea determinată în urma acestei corelații. În final, s -a încercat extragerea
trăsăturilor bazate pe entropie, abordare utilizată în articolul [4] pentru diferențierea semnalelor
preluate de la subiecții ce suferă de schizofrenie față de subiecții de control. Un alt obiect iv al lucrării a
fost de a investiga posibilitatea reducerii numărului de canale utilizând doar semnalele ce prezintă cea
mai mare corelație dintre rostirile aceluiași cuvânt. În continuare vor fi discutate rezultatele obținute în
urma aplicării celor patru abordări investigate pe setul de date disponibil.
6.1. Trăsături în domeniul frecvență
Rezultatele obținute în urma calculării energiei în benzile de frecvență ale semnalelor EEG
(Tabel 6.1) nu sunt satisfăcătoare, cele mai bune rezu ltate obținându -se analizând ferestre de 200ms cu
suprapunere de 100ms utilizând clasificatorul RBF rezultând o acuratețe medie a sistemului realizată p e
cei trei subiecți de 16.66%. Î n cazul utilizării acestei metode de extragere de trăsături, se poate ob serva
că se obțin rezultate mai bune analizând ferestre de 200ms, comparativ cu analizarea semnalului pe
ferestre de 80ms.
Această metodă nu prezintă rezultate satisfăcătoare pe semnalele EEG obținute în timpul
discursului vorbit, motiv pentru care nu a fo st testată și pentru semnalele achiziționate în timpul
discursului silențios.
Ferestre 0.2s Ferestre 0.08s
MLP [%] RBF [%] MLP [%] RBF [%]
S001 16 24 8 11
S002 11 16 9 26
S003 8 10 14 8
MEDIE 11.66 16.66 10.33 15
Tabel 6.1 – Rezultatele obținute utilizând trăsăturile extrase în domeniul frecvență reprezentând rata de
recunoaștere (acuratețea) sistemului
6.2. Trăsături în domeniul timp
Asemănător rezultatelor obținute în domeniul frecvență, trăsăturile extras e în domeniul timp nu
au oferit rezultate încurajatoare pentru recunoașterea cuvintelor rostit e analizând semnalele
electroencefalografice. Cele mai bu ne rezultate au fost obținute utilizând rețeaua RBF, atingând o
acuratețe medie pe cei trei subiecți de 1 9.33%, după cum poate fi observat și în tabelul Tabel 6.2.
Ferestre 0.2s Ferestre 0.08s
MLP [%] RBF [%] MLP [%] RBF [%]
S001 12 11 10 20
S002 15 23 17 26
S003 10 8 10 12
MEDIE 12.33 14 12.33 19.33
Tabel 6.2 – Rezultatele obținute utilizând trăsăturile extrase în domeniul timp reprezentând rata de
recunoaștere (acuratețea) sistemului

44
6.3. Trăsături bazate pe entropie
În urma calculării entropiei, a entropiei spectrale și a entropiei aproximate rezultatele obținute
sunt încurajatoare, atât în ceea ce privește recunoașterea discursului vorbit cât și în ceea ce privește
recunoașterea discursului silențios. Cea mai bună rată de recunoaștere a sistemului în ceea ce privește
analizarea semn alelor EEG în timpul discursulu i vorbit este de 91.66 % pentru extragerea trăsăturilor pe
ferestre de 80ms cu suprapunere de 60ms utilizând rețeaua neuronală de tipul MLP. Se poate observa
că au fost obținute performanțe asemănătoare utilizând ferestre de 4 0ms cu suprapunere de 20ms.
Cele mai bune rezultate pe acest set de date au fost obținute utilizând rețeaua neuromală MLP,
pentru toate dimensiunile ferestrelor.
În urma analizării rezultatelor, se poate observa că fereastra optimă de analiză este de 80m s cu
suprapunere de 60ms.
Rezultatele acestei etape pot fi observate în tabelul Tabel 6.3.
Ferestre 0.2s Ferestre 0.08 Ferestre 0.04 s
MLP [%] RBF [%] MLP [%] RBF [%] MLP [%] RBF [%]
S001 79 71 86 80 83 88
S002 84 92 98 90 95 92
S003 94 89 91 91 92 84
MEDIE 85.66 84 91.66 87 90 91.33
Tabel 6.3 –Rezultatele obținute în urma extrageri trăsăturilor bazate pe entropie în timpul discursului
vorbit reprezentând rata de recunoaștere (a curatețea) sistemului
În ceea ce privește discursul silențios, se poate observa conform tabelului Tabel 6.4, că rezultatele
obținut e depășesc o valoare medie a acurateții de 81 % pentru toate metodele analizate. Analizând
rezultate le obținute pentru diferite dimensiuni ale fer estrelor, se poate susține că pentru discursul
silențios ferea stra optimă de analiză este de 40ms cu suprapunere de 2 0ms, cu toate nu există diferențe
considerabile între cele două .
Cele mai bune rezultate au f ost obținute utilizându -se rețeaua neuronala MLP pentru ferestre de
analiză de 40ms.
Ferestre 0.08 Ferestre 0.04s
MLP [%] RBF [%] MLP [%] RBF [%]
S002 88 76 92 89
S003 93 87 93 87
MEDIE 90.5 88 91 88.5
Tabel 6.4 – Rezultatele obținute în urma extrageri trăsăturilor bazate pe entr opie în timpul discursului
silențios reprezentând rata de recunoaștere (acuratețea) sistemului
6.4. Analizarea canalelor obținute în urma corelației
Numărul mare de electrozi plasați pe suprafața scalpului poate fi incomod pentru subiecții ce
utilizează sistemul, necesită un timp mare de calcul de extragere a informației din semnale și nu toate
semnalele preluate de pe scalp pot aduce informații esențiale în ceea ce privește discursul. Astfel, s -a
încercat reducerea numărului de canale utilizate în recunoașterea vorbirii prin selectarea zonei corticale
în care semnalele prezentau cea ma i mare corelație dintre rostiri.
În cazul tuturor subiecților analizați, canalele pentru care s -a obț inut corelație maximă sunt
prezente în zonele frontală, centrală și temporală și sunt reprezentate de electrozii: F3, F4, C3, C4, F7,
T3, F8, T4, Fz și Cz. Aceste semnale au fost utilizate în continuare în etapa de clasificare a cuvintelor
utilizând un num ăr redus de canale.

45
În această etapă s-a utilizat metoda de extragere de trăsături bazată pe entropie utilizând ferestre
de analiză de 80ms cu suprapunere de 60ms deoarece pentru această metodă au fost obținute cele mai
bune rezultate.
În urma analizării rezultatelor, prezentate și în tabelele Tabel 6.5 și Tabel 6.6, s-a putut observa
că rata de recunoaștere a cuvintelor nu se modifică considerabil . Cea mai bună acuratețe medie pe cei
trei subiecți este obținută în urma utilizării rețelei neuronale MLP în etapa de clasi ficare și atinge o
valoare de 91% în cazul discursului vorbit și 92.5% în cazul discursului silențios.
Ferestre 0.08
MLP [%] RBF [%]
S001 83 72
S002 94 87
S003 96 92
MEDIE 91 83.66
Tabel 6.5 – Rezultatele obțiute în urma extrageri trăsăturilor bazate pe entropie în timpul discursului
vorbit analizând canalele obțiute în urma corelației
Ferestre 0.08
MLP [%] RBF [%]
S002 92 86
S003 93 88
MEDIE 92.5 87
Tabel 6.6 – Rezultatele obțiute în urma extrageri trăsăturilor bazate pe entropie în timpul discursului
silențios analizând canalele obțiute în urma corelației

46

47
Concluzii
Această lucra re și-a propus diferențierea semnalelor EEG atât în timpul discursului vorbit cât și
în timpul discursului silențios.
Pentru realizarea scopului dorit, au fost urmărite o serie de etape, pornind de la determinarea
corpusului și realizarea unui protocol de achiziție, continuând cu preprocesarea datelor achiziționate,
extragerea trăsăturilor și ajungând la clasificarea semnalelor.
Protocolul de achiziție a constat din dezvoltarea unei aplicații grafice care afișază odată la 4s unul
dintre cuvintele prezente î n corpus sub formă de imagine. De asemenea, aplicația dezvoltată a permis și
înregistrarea semnalului vocal odată cu înregistrarea semnalelor EEG , prin începerea simultană a celor
două achiziții de semnal.
Având informații despre momentul rostirii semnalul ui vocal, în etapa de preprocesare au fost
segmentate semnalele EEG urmărind momentul rostirii semnalului vocal. În cazul discursului silențios,
a fost extras din semnalul EEG regiunea imediat precedentă debutului semnalului vocal, regiune ce
avea dimensiu nea semnalului vocal rostit.
În etapa de extragere a trăsăturilor, au fost testate trei abordări diferite. Prima abordare a constat
din calcularea energiei pe benzile de frecvență delta, theta, alpha, beta, low gamma și high gamma,
împreună cu frecvența la care spectrul atinge 80%, 90% și 95% din puterea sa totală. În continuare, au
fost extrase trăsături în domeniul timp, trăsături precum energia pe ferestre și parametrii statistici
determinați pe fereastra respectivă, la care s -a adăugat și valoarea maxim ă a coeficientului de corelație
dintre toate canalele și întârzierea acesteia.
Ultima metodă abordată constituie o noutate în domeniul recunoaș terii cuvintelor analizând
semnalele EEG, această metodă fiind utilizată în alte aplicații precum clasificarea su biecților
schizofrenici de subiecții de control. Această metodă a constat din calcularea entropiei pe fer estre de
semnal, a entropiei spectrale și a entropiei aproximate.
Unul dintre obiectivele acestei lucrări a constat din investigarea posibilității de a utiliza doar o
parte din electr ozii cu ajutorul cărora au fost achiziționate semnalele. Pentru realizarea acestui obiectiv,
a fost calculat coeficientul de corelație în domeniul frecvență pentru a elimina erorile introduse de
decalarea semnalelor dintre t oate rostirile aceluiași cuvânt. S -a putut observa că primii doi subiecți
prezintă o corelație mai mare în regiunea dreaptă a cortexului, în timp ce ultimul subiect prezintă o
corelație mai mare în regiunea stângă. Acest lucru poate fi explicat de faptul c ă subiectul S003, spre
deosebire de subiecții S001 și S002 prezintă lateralitate stângă.
În etapa de clasificare au fost utilizate două tipuri de rețele neuronale: rețeaua neuronală MLP și
rețeaua neuronală RBF.
Rezultatele obținute utilizând primele două metode de extragere de trăsături s-au dovedit a fi
slabe în ceea ce privește rata de recunoaștere a cuvintelor, cea mai bună rată de recunoaștere fiind de
19.33% în cazul extragerii trăsăturilor în domeniul timp. Metoda bazată pe calcularea energiei în ben zi
de frecvență, a oferit rezultate mai bune în literatura de specialitate, ajungân d la o acuratețe medie de
43%, însă trebuie ținut cont de faptul că în lucrarea realizată de X. Pei et al. [25], obiectivul a fost de a
recunoaș te 5 vocale, iar semnalele au fost achiziționate utilizând ECoG.
Cele mai bune rezultate au fost obținute utilizând metoda de extragere a trăsăturilor pe baza
entropiei. Performanțele sistemului în acest caz sunt ridicate atât pentru discursul vorbit cât ș i pentru
discursul silențios. Cele mai bune rezultate au atin s valori medii pe subiecți de 91.66 % rată de
recunoaștere pentru ferestre de analiză de 80ms cu suprapunere de 60ms utilizând rețeaua neuronală
MLP în cazul discursului vorbit și 9 2.5% rată de re cunoaștere pentru ferestre de an aliză de 4 0ms și
rețeaua MLP în cazul discursului silențios.
Un motiv pentru care au fost obținute rezultate mai bune pentru semnalele EEG preluate în
timpul discursului silențios poate fi faptul că extrăgând doar 50ms înain tea rostirii nu este suficient,
informațiile transmise de creier fiind la momente de timp mai mari de 50ms.

48
În ceea ce privește rezultatele privind clasificarea utilizând un număr redus de canale, se poate
susține că acestea nu s -au modificat considerail, cele mai bune rezultate atingând o valoare medie de
91% pentru discursul vorșit și 9 2.5 % pentru discursul silențios.
Fereastra optimă de analiză s -a demonstrat a fi de 80ms cu suprapunere de 20ms, pentru aproape
toate metodele de extragere de trăsături.
De a semenea, se poate observa cu ușurință că rezultatele obținute cu ajutorul rețelei MLP sunt
mai bune decât în cazul rețelei RBF.

49
Bibliografie

[1] J. J. Shih, D. J. Krusienski și J. R. Wolpaw, „Brain computer interface in medicine,” Mayo Clinic
Proceedings, vol. 87, nr. 3, pp. 268 -279, 2012.
[2] B. K. M. Sumit Soman, „Using Brain Computer Interface for Synthesized Speech Communication
for the Physically Disabled,” Procedia Computer Science, vol. 46, p. 292 – 298, 2015.
[3] N. M. K. J. a. E. F. C. Kristofer E. Bouchard, „Functional Organization of Human Sensorimotor
Cortex for Speech Articulation,” Nature, vol. 495, p. 327 –332, 2013.
[4] M. Sabeti, S. Katebi și R. Boostani, „Entropy and complexity measures for EEG signal
classific ation of schizophrenic and control participants,” Artificial Intelligence in Medicine, vol.
47, pp. 263 -274, 2009.
[5] J. O. Nina Dronkers, „Brain areas involved in speech production,” Brain, vol. 127, nr. 7, pp. 1461 –
1462, 2004.
[6] P. B. B. Neil J. Smelser, International Encyclopedia of the Social & Behavioral Sciences,
Pergamon, 2001.
[7] M. George, „The Neuroscience of Sapience”.
[8] H. C. Mahendru, „Quick Review of Human Speech Production Mechanism,” International
Journal of Engineering Rese arch and Development, vol. 9, nr. 10, pp. 48 -54, 2014.
[9] K. H. Elaine M. Marieb, Human anatomy and Physiology, Pearson, 2012.
[10] K. Hoy, „Explainer: The brain,” The conversation, 2012.
[11] C. S. B. V. C. T. N. R. C. Dan Cristescu, Manual pentr u clasa a XI -a, Editura Corint, 2006.
[12] U. R. Colegiul OpenStax, Anatomy & Physiology, Textbook Equity, 2014.
[13] B. Katz, „Mechanisms of synaptic transmission,” Reviews of Modern Physics, vol. 31, nr. 2, pp.
524-530, 1959.
[14] M. Saab, „Basi c Concepts of Surface Electroencephalography and Signal Processing as Applied to
the Practice of Biofeedback,” Biofeedback, vol. 36, nr. 4, pp. 128 -133, 2009.
[15] M. Teplan, „Fundamentals of EEG measurement,” Measurement science review, vol. 2, p. 6, 2 002.
[16] F. L. D. S. Ernst Niedermeyer, Electroencephalography: Basic Principles, Clinical Applications
and Related Fields, Lippincott Williams and Wilkins, 2005.
[17] R. J. B. R. C. R. J. D. N. F. M. R. N. R. T. Pivik, „Guidelines for the recording and quantitative
analysis of electroencephalographic activity in research contexts,” Psychophysiology, vol. 30, pp.
547-558, 1993.
[18] L. M. D. H. J. -P. L. P. R. Philippe Kahanea, „Invasive EEG in the definition of the seizure onset
zone: depth electr odes.,” Handbook of Clinical Neurophysiology, vol. 3, pp. 109 -133, 2003.
[19] D. Keene, S. Whiting și E. Ventureyra, „Electrocorticography,” Epileptic Disorders, vol. 2, nr. 1,
pp. 57 -64, 2000.
[20] N. J. Hill, D. Gupta, P. Brunner, A. Gunduz, M. A. Adamo, A. Ritaccio și G. Schalk, „Recording
Human Electrocorticographic (ECoG) Signals for Neuroscientific Research and Real -time
Functional Cortical Mapping,” Journal of Visualized Experiment, vol. 64, 2012.
[21] D. C. Hammond, „What is neurofeedback: An update,” Journal of Neurotherapy, vol. 15, nr. 4,
pp. 305 -336, 2011.
[22] D. E. M., „Occipital alpha rhythm eye position and lens,” Nature, vol. 214, nr. 5092, pp. 975 -977,
1967.

50
[23] P. R. Kennedy, R. A. E. Bakay, M. M. Moore, K. Adams și J. Gold waithe, „Direct control of a
computer from the human central nervous system,” IEEE Transactions on Rehabilitation
Engineering, vol. 8, pp. 198 -202, 2000.
[24] N. ”. ,. V. 5. N. 1. F. -M. 2. p. 3. –. 3. G.N.Jayabhavani, „Brain enabled mechanized speech
synthesizer using Brain Mobile Interface,” International Journal of Engineering and Technology,
vol. 5, nr. 1, pp. 333 -339, 2013.
[25] X. Pei, D. L. Barbour, E. C. Leuthardt și G. Schalk, „Decoding vowels and consonants in spoken
and imagined words using electrocorticographic signals in humans,” Journal of Neural
Engineering, vol. 8, nr. 4, pp. 28 -46, 2011.
[26] K. R., R. R., M. R. M. și S. D. S, „Imagined Speech Classification using EEG,” Advances in
Biomedical Science ans Engineering, vol. 1, nr. 2, p p. 20 -32, 2014.
[27] D. A. Rojas și O. L. Ramos, „Recognition of spanish vowels through imagined speech by using
spectral analysis and SVM,” Journal of Information Hiding and Multimedia Signal Processing,
vol. 7, nr. 4, pp. 889 -897, 2016.
[28] S. Den g, R. Srinivasan, T. Lappas și M. D’Zmura, „EEG classification of imagined syllable
rhythm using Hilbert spectrum methods,” Journal of Neural Engineering, vol. 7, nr. 4, 2010.
[29] F. H. Guenther, J. S. Brumberg, E. J. Wright, A. Nieto -Castanon, J. A. T ourville, M. Panko, R.
Law, S. A. Siebert, J. L. Bartels, D. S. Andreasen, P. Ehirim, H. Mao și P. R. Kennedy, „A
wireless brain -machine interface for real time speech synthesis,” Plos One, vol. 4, nr. 12, 2009.
[30] D. Svozil, V. Kvasnicka și J. Pospic hal, „Introduction to multi -layer feed -forward neural
networks,” Chemometrics and Intelligent Laboratory Systems, vol. 39, nr. 1, pp. 44 -45, 1997.
[31] S. I. Gallant, „Neural network learning and expert systems,” MIT Press, pp. 125 -126, 1993.
[32] H. C. Mahendru, „Quick Review of Human Speech Production Mechanism,” International
Journal of Engineering Research and Development, pp. Vol. 9, Nr. 10, pag . 48 -54, Ianuarie 2014.
[33] J. S. Brumberg, P. R. Kennedy și F. H. Guenther, „Artificial speech sy nthesizer control by brain –
computer interface,” în International Speech Communication Association , Brighton, 2009.

51
Anexa 1 – Aplicația utilizată pentru achiziționarea semnalelor
function [varargout, y] = BCIspeech(varargin)

% Begin initializa tion code – DO NOT EDIT
gui_Singleton = 1;
gui_State = struct( 'gui_Name' , mfilename, …
'gui_Singleton' , gui_Singleton, …
'gui_OpeningFcn' , @BCIspeech_OpeningFcn, …
'gui_OutputFcn' , @BCIspeech_OutputFcn, …
'gui_LayoutFcn' , [] , …
'gui_Callback' , []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui _State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT

% – Executes just before BCIspeech is made visible.
function BCIspeech_OpeningFcn(hObject, eventdata, handles, varargin)

% Choose default command line output for BCIspeech
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% – Outputs from this function are returned to the command line.
function varargout = BCIspeech_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command li ne output from handles structure
varargout{1} = handles.output;

% – Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved – to be define d in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
timp = 4;
rec = audiorecorder(44100,16,1);
record(rec)

pause(10)

for i=1:10

52
I1 = imread( 'mama.png' );
axes(handles.axes1);
imshow(I1);

pause(timp)

I2 = imread('mare.png' );
axes(handles.axes1);
imshow(I2);

pause(timp)

I3 = imread( 'mere.png' );
axes(handles.axes1);
imshow(I3);

pause(timp)

I4 = imread( 'mure.png' );
axes(handles.axes1);
imshow(I4);

pause(timp)

I5 = imread( 'mire.png' );
axes(handles.axes 1);
imshow(I5);

pause(timp)

I6 = imread( 'molii.png' );
axes(handles.axes1);
imshow(I6);

pause(timp)

I7 = imread( 'sare.png' );
axes(handles.axes1);
imshow(I7);

pause(timp)

I8 = imread( 'tare.png' );
axes(handles.axes1);
imshow(I8);

pause(timp)

I9 = imread( 'teme.png' );
axes(handles.axes1);
imshow(I9);

pause(timp)

I10 = imread( 'paparuda.png' );
axes(handles.axes1);
imshow(I10);

pause(timp)

53

I11 = imread( 'pepene.png' );
axes(handles.axes1);
imshow(I11);

pause(timp)

I12 = imread( 'titirez.png ');
axes(handles.axes1);
imshow(I12);

pause(timp)

I13 = imread( 'buburuza.png' );
axes(handles.axes1);
imshow(I13);

pause(timp)

I14 = imread( 'pauza.jpg' );
axes(handles.axes1);
imshow(I14);

pause(timp)

end

stop(rec)
y = getaudiodata(rec);
axes(handles.axes1);
plot(y);

save('speech_VasilescuAlin_10_06' , 'y')

guidata(hObject,handles)

% – Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
handles. stop_now = 0;
guidata(hObject, handles);

54

55
Anexa 2 – Segmentarea semnalelor în interval e de 4s
Fs = 44100;
nr_cuv = 14;
nr_repetari = 10;
inceput = 10 * Fs;
dim_fer = (length(y) – inceput)/(Fs*nr_cuv*nr_repetari);
cuvinte = [];
cuvinte_EEG = [];

[cuvinte] = segmCuvSemnalVocal(y, Fs, nr_cuv, nr_repetari, dim_fer);

Fs_EEG = 500;
semnal_EEG = EEG.data;
[cuvinte_EEG] = segmentareCuvEEG(semnal_EEG, Fs_EEG, nr_cuv, nr_repetari, dim_fer);

function [cuvinte, dim_fer] = segmCuvSemnalVocal(y, Fs, dim_fer)

fer_cuv = dim_fer * Fs;

k = 1;
for i=inceput:fer_cuv:size(y,1) -fer_cuv-1
cuvinte(:,k) = y(i:i+fer_cuv -1);
k = k+1;
end

end

function [cuvinte_EEG] = segmentareCuvEEG(semnal_EEG, Fs, dim_fer)

fer_cuv = dim_fer * Fs;
final = ((dim_fer * nr_cuv * nr_repetari) * Fs) + inceput;
semnal_EEG = filtruNotchFFT (semnal_EEG,500);

k = 1;
for i=inceput:fer_cuv:final -fer_cuv
cuvinte_EEG{k,1} = semnal_EEG(:,i:i+fer_cuv);
k = k+1;
end

end

function [filtered_signal] = filtr uNotchFFT(x,Fs)

Fx = [];
for i=1:size(x,1)
Fx(i,:) = fft(x(i,:));
end

filter_points = (Fs/50);
f_sig2 = zeros(size(x));

for i=50:50:450
gauss_points = 1:size(x,2);
Hz_points = round((i*size(x,2))/Fs);
diff_points = (1*size(x,2))/Fs;

56
for j=1:size(x,1)
[maxim, mean_points] = max(Fx(j,Hz_points –
diff_points:Hz_points+diff_points));
mean_points = mean_points + Hz_points -diff_points;
sigma_points = (0.5*size(x,2))/Fs;

if i==250
sigma_points = (1*size(x,2))/Fs;
end

w2 = exp( -((gauss_points) -mean_points).^2/(2*sigma_points^2));

filtered_signal2 = Fx(j,:).*w2;
f_sig2(j,:) = Fx(j,:) – (filtered_signal2);
Fx(j,:) = f_sig2(j,:);
end
end

semnal_filtrat2 = [];
for i=1:size(x,1)
filtered_signal(i,:) = real(ifft((f_sig2(i,:))));
end

end

57
Anexa 3 – Salvarea semnalelor segmentate în intervale de 4s

k = 61;
j = 0;

for i=1:140

cuvant = cuvinte(:,i);
cuvant_EEG = cuvinte_EEG{i,1};
Fs = 44100;
N1 = length(cuvant);
N2 = size(cuvant_EEG,2);
t1 = [1:N1]/Fs;
t2 = [1:N2]/500;

audioObj = audioplayer(cuvant ,Fs);
play(audioObj)

figure, subplot(2,1,1), plot(t1,cuvant)
subplot(2,1,2), plot(t2,cuvant_EEG(8,:))

pause(4)

close all

path = '';

j = j+1;

if k<10
if j < 10
nume = [path 'S002_R0' num2str(k) '_C0' num2str(j)];
else
nume = [path 'S002_R0' num2str(k) '_C' num2str(j)];
end
else
if j < 10
nume = [path 'S002_R' num2str(k) '_C0' num2str(j)];
else
nume = [path 'S002_R' num2str(k) '_C' num2str(j)];
end
end

signal{1,1} = cuvant_EEG;
signal{1,2} = cuvant;

cd(path)

save(nume, 'signal')

if mod(i,14) == 0
k = k + 1;
end

if mod(i,14) == 0
j = 0;
end
end

58

59
Anexa 4 – Segmentarea semnalului vocal pe baza energiei
clear all; clc; close all

v = 'y';
for m = 1:100

if m<10
semnale1 = dir([ '\S002_R0' num2str(m) '*.mat']);
else
semnale1 = dir([ '\S002_R' num2str(m) '*.mat']);
end

Fs= 44100;

for j=1:size(semnale1,1) -1

cd('\S002')

load(semnale1(j).name);

speech = signal{1,2};
window = 0.02 * Fs;
bf_speech = 0.05 * Fs;
af_speech = 0.02 * Fs;

for i=1:size(speech,1) -window
win_word = speech(i:i+window -1);
pw = sum(win_word.^2);
energy(i) = pw;
end

figure, plot(speech)
hold on, plot(energy, 'r')

% Segmentarea semnalului vocal

segm_speech = find(energy>0.001);
consecutive_nr = diff(segm_speech)==1;
diferenta = diff(segm_spee ch);
zgomot = [0 1 find(consecutive_nr==0)];
for i=1:size(zgomot,2) -1
suma(i) = sum(diferenta(zgomot(i)+1:zgomot(i+1) -1));
if suma(i)<0.06*Fs
energy(segm_speech(zgomot(i)+1:zgomot(i+1))) = 0;
end
end

segm_speech = find(energy>0.1);
consecutive_nr = diff(segm_speech)==1;
diferenta = diff(segm_speech);

test = diferenta(find(consecutive_nr==0));

for i=1:length(test)
if test(i)<0.15*Fs

60
consecutive_nr(find(test(i)==diferenta)) = 1;
end
end

zero = [1 find(consecutive_nr==0) size(consecutive_nr,2)];
diferenta = diff(zero);
energ_word = [];
for ii = 1:size(diferenta,2)
idx_max = ii;

if segm_speech(zero(idx_max)+1) -bf_speech <= 0 &&
segm_speech(zero(idx_max+1))+af_speech <= size(energy,2)
word01 = energy(1:segm_speech(zero(idx_max+1))+af_speech);
else
if segm_speech(zero(idx_max)+1) -bf_speech <= 0 &&
segm_speech(zero(idx_max+1))+af_speech > size(energy,2)
word01 = energy(1:size(energy,2));
else
if segm_speech(zero(idx_ma x)+1)-bf_speech > 0 &&
segm_speech(zero(idx_max+1))+af_speech >= size(energy,2)
word01 = energy(segm_speech(zero(idx_max)+1) –
bf_speech:size(energy,2));
else
if segm_speech(zero(idx_max)+1) -bf_speech > 0 &&
segm_speech(zero(idx_max+1))+af_speech < size(energy,2)
word01 = energy(segm_speech(zero(idx_max)+1) –
bf_speech:segm_speech(zero(idx_max+1))+af_speech);
end
end
end

end

energ_word(ii) = sum(word01.^2);
end

[maxim, idx_max] = max(energ_word);

if segm_speech(zero(idx_max)+1) -bf_speech <= 0
word = spe ech(1:segm_speech(zero(idx_max+1))+af_speech);
else
word = speech(segm_speech(zero(idx_max)+1) –
bf_speech:segm_speech(zero(idx_max+1))+af_speech);
end

figure, plot(word)

EEG = signal{1,1};
debut = ceil(((segm_speech(zero(idx_max)+1) -bf_speech)/Fs)*200);
final = ceil(((segm_speech(zero(idx_max+1))+af_speech)/Fs)*200);

if debut<=0
debut = 1;
end
EEG_word = EEG(:,debut:final);

if debut-size(EEG_word,2) > 0

61
EEG_word_silent = EEG(:,debut -size(EEG_word,2):final -size(EEG_word,2));
word_silent = speech(segm_speech(zero(idx_max)+1) -bf_speech –
length(word):segm_speech(zero(idx_max+1))+af_speech -length(word));
else
EEG_word_silent = EEG(:,1:final -size(EEG_word,2));
word_silent = speech(1:segm_speech(zero(idx_max+1))+af_speech –
length(word));
end

semnal{1,1} = EEG_word;
semnal{1,2} = word;

semnal_s ilent{1,1} = EEG_word_silent;
semnal_silent{1,2} = word_silent;

figure, subplot(3,1,1), plot(word)
subplot(3,1,2), plot(EEG_word(1,:))
subplot(3,1,3), plot(EEG_word_silent(1,:))

path = '';
cd(path)
nume = [path semnale1(j).name];
nume2 = [path semnale1(j).name(1:12) '_silent.mat' ];

save(nume, 'semnal' )
save(nume2, 'semnal_silent' )

close all
end
end

62

63
Anexa 5 – Verificarea m anual ă a segmentării
clear all; clc

cuvant1 = 1;
if cuvant1<10
semnale1 = dir([ 'S002_*_C0' num2str(cuvant1) '.mat']);
else
semnale1 = dir([ 'S002_*_C' num2str(cuvant1) '.mat']);
end

for i=1:size(semnale1,1)

Fs = 44100;

bf_speech = 0.05 * Fs;
af_speech = 0.02 * Fs;

cuv1_EEG = load(semnale1(i,1).name);
speech1 = cuv1_EEG.semnal{1,2};
EEG1 = cuv1_EEG.semnal{1,1};

figure, plot(speech1)
audioObj = audioplayer(speech1,Fs);
play(audioObj)

i
N = size(EEG1,2)

prompt = 'Corect? ' ;
x = input (prompt);

if x==3
play(audioObj)
prompt = 'Corect? ' ;
x = input(prompt);
end

if x==2
prompt = 'Inceput: ' ;
inceput = input(prompt);

prompt = 'Sfarsit: ' ;
sfarsit = input(prompt);

debut = ceil(((inceput -bf_speech)/Fs)*200);
final = ceil(((sfarsit+af_speech)/Fs)*200);

if final>size(EEG1,2)
final = size(EEG1,2);
end

semnal = [];
semnal{1,1} = EEG1(:,debut:final);

if sfarsit+af_speech>length(speech1)

64
sfarsit = length(speech1);
end

semnal{1,2} = speech1(inceput -bf_speech:sfarsit);

save_path = '';
filename = semnale1(i,1).name;

save([save_path filename], 'semnal' );
end

end

65
Anexa 6 – Corelația semnalelor pe fiecare rostire
clear all; clc; close all;
subiect = 1;

for m = 1:13
cuvant1 = m;

if cuvant1<10
semnale1 = dir([ ' \S00' num2str(subiect) '\S00*_C0' num2str(cuvant1) '.mat']);
else
semnale1 = dir([ '\S00' num2str(subiect) '\S00*_C' num2str(cuvant1) '.mat']);
end

t = 68;

for n = 1:19
canal = n;

cuvinte = { 'MAMA', 'MARE', 'MERE', 'MURE','MIRE', 'MOLII', 'SARE', 'TARE', 'TEME',
'PAPARUDA' , 'PEPENE' , 'TITIREZ' , 'BUBURUZA' , 'PAUZA'};

for i=1:size(semnale1,1)
cuv1_EEG = load(semnale1(i,1).name);
EEG1 = cuv1_E EG.semnal{1,1};
EEG1 = EEG1(1:19,:);
fft_EEG1 = abs(fft(EEG1(canal,:),1024));

for j=1:size(semnale1,1)
cuv2_EEG = load(semnale1(j,1).name);
EEG2 = cuv2_EEG.semnal{1,1};
EEG2 = EEG2(1:19,:);
fft_EEG2 = abs(ff t(EEG2(canal,:),1024));

R = corrcoef(fft_EEG1,fft_EEG2);

c11_corr_matrix(i,j) = R(1,2);
end

end

figure, imagesc(c11_corr_matrix,[0 1]), colorbar
title(['Corelatia cuvantului ' cuvinte{1,cuvant1} ' interinregistrari pe canalul '
num2str(canal)])
xlabel([ 'Inregistrarile cuvantului ' cuvinte{1,cuvant1}])
ylabel([ 'Inregistrarile cuvantului ' cuvinte{1,cuvant1}])

save_path = '';

saveas(gcf,[save_path '\intertrial images S00' num2str(subiect) '\intertrial_word_'
cuvinte{1,cuvant1} '_channel' num2str(canal) '.png'])

suma = 0;
k = 0;
for i=1:size(c11_corr_matrix,1)
for j=1:size(c11_corr_matrix,2)

66
if i<j
suma = suma + c11_corr_matrix(i,j);
k = k+1;
end
end
end

media = su ma/k;

varianta = 0;
k = 0;
for i=1:size(c11_corr_matrix,1)
for j=1:size(c11_corr_matrix,2)
if i<j
varianta = varianta + ((c11_corr_matrix(i,j) -media).^2);
k = k+1;
end
end
end

varianta = varianta/k;

filename = [ '\intertrial_data_segmentat_S00' num2str(subiect) '.xlsx'];

if canal < 13
if canal == 1
cell_medie = 'A' + canal;
else
cell_medie = 'A' + (2 * canal) – 1;
end

cell_varianta = cell_medie + 1;
cell_cuvant = cu vant1 + 2;

cell_medie_final = [char(cell_medie) num2str(cell_cuvant)];
cell_varianta_final = [char(cell_varianta) num2str(cell_cuvant)];

xlswrite(filename,media,1,cell_medie_final)
xlswrite(filename,varianta,1,cell_varianta_final)

else
if canal == 13
cell_medie_final = [ 'Z' num2str(cell_cuvant)];
cell_varianta_final = [ 'AA' num2str(cell_cuvant)];

xlswrite(filename,media,1,cell_medie_final)
xlswrite(filename,varianta,1,cell_varianta_final)
else

if canal == 14
cell_medie_final = [ 'AB' num2str(cell_cuvant)];
cell_varianta_final = [ 'AC' num2str(cell_cuvant)];

xlswrite(filename,media,1,cell_medie_final)
xlswrite(filename ,varianta,1,cell_varianta_final)
else

67
cell_medie = t;
cell_varianta = cell_medie + 1;

cell_medie_final = [ 'A' char(cell_medie) num2str(cell_cuvant)];
cell_varianta_final = [ 'A' char(cell_var ianta) num2str(cell_cuvant)];

xlswrite(filename,media,1,cell_medie_final)
xlswrite(filename,varianta,1,cell_varianta_final)

t = t+2;
end
end
end

close all

end
end

68

69
Anexa 7 – Extragere a trăsături lor în frecvență
clear all; clc; close all

% canale = [4 6 8 17 18];
subiect = 2;
if subiect == 1
Fe = 200;
else
Fe = 500;
end
if subiect == 1
canale = [1:18];
else
canale = [1:19];
end

fereastra = 0.08*Fe;
pas = 0.02*Fe;
benzi = [0.1 4; 4 8; 8 12; 12 30; 30 70; 70 98];
puncte_fft = 1024;
trasaturi_finale = [];
trasaturi_finale = zeros(1300,45000);
v = 1;
path = [ '\S00' num2str(subiect)];
cd(path)

for i=1:13
if i<10
semnale = dir([ '\S00' num2str(subiect) '\S00*_C0' num2str(i) '.mat']);
else
semnale = dir([ '\S00' num2str(subiect) '\S00*_C' num2str(i) '.mat']);
end

for j = 1:size(semnale,1)
load(semnale(j).name);
extracted_caract01 = [];
extracted_caract = [] ;

for k = 1:length(canale)
final_charact = [];
EEG = semnal{1,1}(canale(k),:);
characteristics = [];

for l = 1:pas:size(EEG,2) -fereastra

trasaturi = [];

signal = EEG(1,l:l+fereastra -1);

frecv_benzi = ceil((benzi * puncte_fft)/Fe);

FX = abs(fft(signal,puncte_fft));

for m = 1:size(frecv_benzi,1)
banda = frecv_benzi(m,:);

70
FX01 = FX(banda(1):banda(2));
trasaturi_banda(m, 1) = mean(FX01);
trasaturi_banda(m, 2) = std(FX01) ;
trasaturi_banda(m, 3) = sum(FX01.^2)/length(FX01);
end

for n = 1:size(trasaturi_banda,2)
trasaturi = [trasaturi trasaturi_banda(:,n)'];
end

characteristics = [characteristics trasaturi];
end
final_charact = [final_charact characteristics];

extracted_caract(k,:) = final_charact;
end

for o = 1:size( extracted_caract,1)
extracted_caract01 = [extracted_caract01 extracted_caract(o,:)];
end
trasaturi_finale(v,1:size(extracted_caract01,2)) = extracted_caract01;
trasaturi_finale(v,size(trasaturi_finale,2)) = i;
v = v+1;
end
fprintf( 'Esti la cuvantul %d \n',i);
end

71
Anexa 8 – Calculare SEF
clear all; clc; close all

subiect = 2;
if subiect == 1
canale = [1:18];
else
canale = [1:19];
end
if subiect == 1
Fe = 200;
else
Fe = 500;
end
fereastra = 0.08*Fe;
pas = 0.02*Fe;
benzi = [0.1 4; 4 8; 8 12; 12 30; 30 70; 70 96];
puncte_fft = 1024;
trasaturi_finale = [];
trasaturi_finale_SEF = zeros(1300,75);
SEF_80 = zeros(1300,200);
SEF_90 = zeros(1300,200);
SEF_95 = zeros(1300,200);
out= [];
m = 1;

for i=1:13
path = [ '\S00' num2str(subiect)];
cd(path)

if i<10
semnale = dir([ ' \S00' num2str(subiect) '\S00*_C0' num2str(i) '.mat']);
else
semnale = dir([ '\S00' num2str(subiect) '\S00*_C' num2str(i) '.mat']);
end

V(i) = size(semnale,1);

for j = 1:size(semnale,1)
load(semnale(j).name);
extracted_caract01 = [];
extracted_caract = [];

for k = 1:length(canale)
final_charact = [];
EEG = semnal{1,1}(canale(k),:);
characteristics = [];

FX = abs(fft(EEG,puncte_fft));
FX = FX(1:puncte_fft/2);

putere = sum(FX.^2);

suma = 0;
for l = 1:puncte_fft/2
suma = suma + FX(l).^2;

72

if suma>(0.9*putere)
SEF_90(m,k) = l;
break;
end
end
%
suma = 0;
for l = 1:puncte_fft/2
suma = suma + FX(l).^2;

if suma>(0.8*putere)
SEF_80(m,k) = l;
break;
end
end

suma = 0;
for l = 1:puncte_fft/2
suma = suma + FX(l).^2;

if suma>(0.95*putere)
SEF_95(m,k) = l;
break;
end
end
end
m = m+1;
out = [out; i];
end
end

trasaturi_finale_SEF = [SEF_80 SEF_90 SEF_95];
trasaturi_finale_SEF(sum(trasaturi_finale_SEF,2)==0,:)=[];

73
Anexa 9 – Extragere trăsături domeniul timp
clear all; clc;

subiect = 1;
if subiect == 1
canale = [1:18];
else
canale = [1:19];
end
if subiect == 1
Fe = 200;
else
Fe = 500;
end
trasaturi_finale = [];
fereastra = 0.2*Fe;
overlap = 0.1*Fe;
max_fer = 50;
energ = zeros(size(canale,2),max_fer);
minim = zeros(size(canale,2),max_fer);
maxim = ze ros(size(canale,2),max_fer);
medie = zeros(size(canale,2),max_fer);
dev = zeros(size(canale,2),max_fer);
maxim_corr = zeros(max_fer,500);
idx = zeros(max_fer,500);
nr_picuri = zeros(size(canale,2),max_fer);
Hsh = zeros(size(canale,2),max_fer);

for i=1:13
path = [ 'S00' num2str(subiect)];
cd(path)

if i<10
semnale = dir([ ' \S00' num2str(subiect) '\S00*_C0' num2str(i) '.mat']);
else
semnale = dir([ ' \S00' num2str(subiect) '\S00*_C' num2str(i) '.mat']);
end

for j = 1:size(semnale,1)
load(semnale(j).name);
sgn = semnal{1,1}(1:size(canale,2),:);
[M, N] = size(sgn);
l = 1;
t(j) = length(1:overlap:N -fereastra);
energ = zeros(size(canale,2),max_fer);
minim = zeros(size(canale,2),max_fer);
maxim = zeros(size(canale,2),max_fer);
medie = zeros(size(canale,2),max_fer);
maxim_corr = zeros(max_fer,500);
idx = zeros(max_fer,500);
nr_picuri = zeros(si ze(canale,2),max_fer);

for k=1:overlap:N -fereastra
fer_sgn = sgn(:,k:k+fereastra -1);
energ(:,l) = sum(fer_sgn.^2,2);
minim(:,l) = min(fer_sgn,[],2);
maxim(:,l) = max(fer_sgn, [],2);

74
medie(:,l) = mean(fer_sgn,2);
s = 1;
for p=1:size(canale,2)
dev(p,l) = std(fer_sgn(canale(p),:));
for r=1:size(canale,2)
if p<r
[cross_corr, lag] =
xcorr(fer_sgn(canale(p),:),fer_sgn(canale(r),:));
[maxim_corr(l,s), idx01] = max(cross_corr);
idx_lag = lag(idx01);
idx(l,s) = idx_lag/Fe;
s = s+1;
end
end

end
for o = 1:size(canale,2)
count = 0;
for n=2:size(fer_sgn,2) -1
if fer_sgn(canale(o),n -1)<fer_sgn(canale(o),n) &&
fer_sgn(canale(o),n+1)<fer_sgn(canale(o),n)
count = count+1;
end
end
nr_picuri(o,l) = count;
end

l = l+1;
trasaturi = [];
for m = 1:size(energ,1)
trasatur i = [trasaturi energ(m,:) minim(m,:) maxim(m,:) medie(m,:)
dev(m,:) nr_picuri(m,:)];
end
for u = 1:size(maxim_corr,1)
trasaturi = [trasaturi maxim_corr(u,:) idx(u,:)];
end

MLP
end
trasaturi_finale = [trasaturi_finale; trasaturi i];
fprintf( 'Intr: %d, Cuv: %d \n', j, i)
end
end

trasaturi_finale(:,sum(trasaturi_finale)==0)=[];

75
Anexa 10 – Extragerea trăsăturilor pe baza entropiei
clear all; clc;

Fe = 500;
nr_canale = 6;
nr_max_fer = 140;
trasaturi_finale = [];
fereastra = 0.08*Fe;
overlap = 0.02*Fe;
trasaturi_finale_corr = [];
canale = [4 6 8 17 18 19];
% canale = [1:nr_canale];
trasaturi_finale_H = [];
Hsh = zeros(nr_canale,nr_max_fer);
benzi = [0.1 4; 4 8; 8 12; 12 30; 30 70];
puncte_fft = 1024;
frecv_benzi = ceil(benzi *(puncte_fft/Fe));
interval_entr = 5;
H_sp = zeros(nr_max_fer,length(benzi)*nr_canale);
ApEn = zeros(nr_max_fer,3*nr_canale);

for i=1:13
if i<10
semnale = dir([ '\S003_*_C0' num2str(i) '.mat']);
else
semnale = dir([ '\S003_*_C' num2str(i) '.mat']);
end

for j = 1:size(semnale,1)
load(semnale(j).name);
sgn = semnal{1,1};

[M, N] = size(sgn);
l = 1;
t(j) = length(1:overl ap:N-fereastra);
for k=1:overlap:N -fereastra
fer_sgn = sgn(:,k:k+fereastra -1);
N1 = size(fer_sgn,2);
for q=1:length(canale)

r = std(fer_sgn(canale(q),:))*0.2;
fer_sgn_canal = fer_sgn(canale(q),:);
fer_sgn_canal = resample(fer_sgn_canal,500,200);
minim_a = min(fer_sgn_canal);
maxim_a = max(fer_sgn_canal);
ij = 1;
P = zeros(length(mini m_a-1:interval_entr:maxim_a),1);
for w=minim_a -1:interval_entr:maxim_a
for ii = 1:size(fer_sgn_canal,2)
if fer_sgn_canal(ii)>w && fer_sgn_canal(ii)<w+interval_entr
P(ij) = P(ij)+1;
end
end
ij = ij+1;
end
P = P./sum(P);
P(P==0) = [];

76
Hsh(q,l) = -sum(P.*log(P));
end

f_fer_sgn = abs(fft(fer_sgn_canal,puncte_fft));
for w = 1:length(frecv_benzi)
banda = frecv_benzi(w,:);
sp = f_fer_sgn(banda(1):banda(2));
p_sp = (sp.^2)./siz e(sp,2);
p_sp = p_sp./sum(p_sp);
H_sp01(q,w) = -sum(p_sp.*log(p_sp));
end

for m=1:3
ic = zeros(1,N1 -m);
it = zeros(1,N1 -m);
for iii=1:N1 -m
for iij=1:N1 -m
diff1 = max(abs(fer_sgn_canal(iii:iii+m -1)-
fer_sgn_canal(iij:iij+m -1)));
if diff1<r
ic(iii) = ic( iii)+1;
end
diff2 = max(abs(fer_sgn_canal(iii:iii+m) –
fer_sgn_canal(iij:iij+m)));
if diff2<r
it(iii) = it(iii)+1;
end
end
end
ApEn01(q,m) = ( -1*(sum(it./ic)))/(N1 -m);
end

ApEn02 = [];
H_sp02 = [];

for ii = 1:size(H_sp01,1)
H_sp02 = [H_sp02 H_sp01(ii,:)];
ApEn02 = [ApEn02 ApEn01(ii,:)];
end

H_sp(l,:) = H_sp02;
ApEn(l,:) = ApEn02;
l = l+1;
end

trasaturi = [];
for m = 1:size(Hsh,1)
trasaturi = [trasaturi Hsh(m,:) H_sp(:,m)' ApEn(:,m)'];
end

trasaturi_finale = [trasaturi_finale; trasaturi i];
fprintf( 'Intr: %d, Cuv: %d \n', j, i)
end
end

trasaturi_finale(:,sum(trasaturi_finale)==0)=[];

77
Anexa 11 – Multilayer Perceptron

nr_antrenare = ceil(0.7*size(trasaturi_finale,1));
rnd = randperm(size(trasaturi_finale,1));
antrenare_mat = trasaturi_finale(rnd(1:nr_antrenare),:);
testare_mat = trasaturi_finale(rnd(nr_antrenare+1:size(trasaturi_finale,1)),:);

X = antrenare_mat;

X_antrenare = X(:,1:size(X,2) -1);
X_antrenare = X_antrenare';
y_antr = antrenare_mat(:,size(antrenare_mat,2));
y_antrenare = y_antr';

idx_rnd = randperm(size (X,1));
X_antrenare = X_antrenare(:,idx_rnd);
y_antrenare = y_antrenare(:,idx_rnd);

nr_caract = size(X_antrenare,1);

% Stabilirea parametrilor de intrare
% Numarul de straturi ascunse
straturi_ascunse = 1;
% Numarul de neuroni din stratul ascuns
nr_strat_ascuns = 150;
% Numarul de intrari din retea
nr_strat_intrare = nr_caract;
% Numarul de neuroni din stratul de iesire
nr_strat_iesire = 13;
% Rata de invatare
eta=0.001;
% Numarul maxim de iteratiinaaa
pmax=100000;
% Eroarea setului de antrenare
Emin = 0 .0001;

% Dezvoltarea Algoritmului

% Initializarea ponderilor
[Wh, Wo] = initializarePonderi(nr_strat_intrare, nr_strat_ascuns, nr_strat_iesire);

% Stabilirea iesirilor din retea
[y_antr] = iesireRetea(y_antrenare, nr_strat_iesire);

E = 0;
p = 0;
L = size(X_antrenare,2);
figure, plot(E)

while (p < pmax) || (E < Emin)

% Realizarea Algoritmului
[yh, yo] = etapaFORWARD(X_antrenare, Wh, Wo);
[deltah, deltao] = etapaBACKWARD(y_antr, Wo, yh, yo);
[Wh, Wo] = ajustarePONDERI(Wh, Wo, eta , deltah, deltao, X_antrenare, yh);

78

[yh, yo] = etapaFORWARD(X_antrenare, Wh, Wo);

E = calculEroare(E, y_antr, yo, L);

if E < Emin
fprintf( 'Converge la epoca: %d \n',p);
break;
end

fprintf( 'Esti la epoca: %d \n',p);
fprintf( 'Eroarea este: %d \n',E);

hold on, plot(p,E)

p = p+1;

end

fprintf( 'Eroarea medie patratica dupa 200 de iteratii este: %d \n',E);

Ecl = eroareClasificare(y_antrenare, yo, L);

fprintf( 'Ecl este: %d \n',Ecl);

function [Wh, Wo] = initializarePonderi(nr_strat_intrare, nr_strat_ascuns,
nr_strat_iesire)

epsilon = 0.5;

Wh = rand(nr_strat_intrare+1, nr_strat_ascuns).*2.*epsilon – epsilon;
Wo = rand(nr_strat_ascuns+1, nr_strat_iesire).*2.*epsilon – epsilon;

end

function [y_antr] = iesireRetea(y_antrenare, nr_strat_iesire)

y_antr = zeros(nr_strat_iesire, length(y_antrenare));
for i=1:nr_strat_iesire
y_antr(i,find(y_antrenare==i)) = 1;
end

end

function [yh, yo] = etapaFORWARD(X_antrenare, Wh, Wo)

X_antrenare = [ones(1,size(X_antrenare,2)); X_antrenare];
neth = Wh'*X_antrenare;
yh = sigmoidal(neth);
yh = [ones(1, size(yh,2)); yh];
neto = Wo'*yh;
yo = sigmoidal(neto);

end

79
function [deltah, deltao] = etapaBACKWARD(y_antr, Wo, yh, yo)

deltao = (y_antr-yo).*yo.*(1 -yo);
deltah = yh.*(1 -yh).*(Wo*deltao);

end

function [Wh, Wo] = ajustarePONDERI(Wh, Wo, eta, deltah, deltao, X_antrenare,yh)

X_antrenare = [ones(1,size(X_antrenare,2)); X_antrenare];
Wh = Wh + (eta*(deltah(2:end,:)*X_antrenare'))';
Wo = Wo + (eta*(deltao*yh'))';

end

function E = calculEroare(E, y_antr, yo, L)

E = E + sum(sum([(y_antr – yo).^2]));

E = E/(2*L);

end

function Ecl = eroareClasificare(y_antrenare, yo, L)

e = zeros(size(y_antrenare));
Ecl = 0;

[maxim, e] = max(yo);
Ecl = sum(e~=y_antrenare)/L;

end

80

81
Anexa 12 – Rețeaua Neuronale cu Bază Radială

X = antrenare_mat(:,1:size(antrenare_mat,2) -1);
y = antrenare_mat(:,size(antrenare_mat,2));

m = size(X, 1);

nr_clase = length(unique(y));
nr_clustere = 5;

centrii = [];
beta = [];

for i=1:nr_clase
Xc = X((y==i),:);
[apartenenta_c, centroizi_c] = kmeans(Xc,nr_clustere);
beta_c = calcVarianta(Xc,centroizi_c,apartenenta_c);
centrii = [centrii; centroizi_c];
beta = [beta; beta_c] ;
end

X_rbf = [];
z = [];
for i=1:size(X,1)
X_train = X(i,:);

for j=1:size(centrii,1)
u = sqrt(sum((X_train – centrii(j,:)).^2));
z(j,:) = exp( -beta(j).*(u.^2));
end

X_rbf(i,:) = z';
end

out = zeros(size(y,1),n r_clase);

for i=1:nr_clase
out(y==i,i) = 1;
end

N = size(X_rbf,1);
% Calculare neto
neth = [ones(N,1) X_rbf];
W = rand((nr_clustere*nr_clase)+1,nr_clase).*2.*0.2 – 0.2;
E = 100;
pmax = 1000000;
p = 1;
eta = 0.0001;

figure,

while E<0.01 || p<pm ax

yo = neth*W;
err = (out -yo)'*neth;
W = W + (eta*err');

82

E = 1/2*(sum(sum((out -yo).^2)));
E = E/N;

fprintf( 'Esti la epoca: %d \n',p);
fprintf( 'Eroarea este: %d \n',E);

hold on, plot(p,E)

p=p+1;
end

function beta = calcVarianta(X,centroizi,apa rtenenta)

k = size(centroizi,1);

for i = 1:k
centroid = centroizi(i,:);
puncte = X(apartenenta==i,:);
varianta(i,:) = mean(sqrt(sum((puncte –
repmat(centroid,size(puncte,1),1)).^2,2)));
end

beta = 1 ./ (2 .* (varianta .^ 2));

end

Similar Posts