Sunteți pe pagina 1din 74

Universitatea Politehnică Bucureşti

Facultatea de Automatică şi Calculatoare


Departamentul de Automatică şi Ingineria Sistemelor

LUCRARE DE DIPLOMĂ

Sistem wireless inteligent de


modelare a semnalelor biologice

Absolvent:
Daniela-Ştefania Burchi

Coordonator:
Prof. Dr. Ing. Valentin Sgârciu
Consultant:
SI. Dr. Ing. Grigore Stamatescu

Bucureşti, 2013
CUPRINS

1. Introducere 2
2. Clasificarea senzorilor 3
2.1. Terminologie 3
2.2. Senzori inteligenţi 4
2.3. Senzori biologici 6
2.4. Senzori chimici, fizici şi biosenzori 6
2.5. Aspecte ale senzorilor 6
2.6. Aplicabilitate 7
2.7. Elemente sensibile ale senzorilor 7
3. Reţele wireless de senzori 10
3.1. Caracteristici 10
3.2. Cercetare şi interes comercial 10
3.3. Aplicabilitate 11
3.4. Provocări tehnice 12
3.5. Surse de alimentare 13
3.6. Elaborarea de protocoale eficiente energetic 14
3.7. Capacitatea de trafic 14
3.8. Rutare 15
3.9. Modelare 15
3.10. Legături wireless 15
3.11. Distribuția nodurilor și mobilitate 16
3.12. Conectivitate 16
3.13. Asigurarea calităţii 17
4. Studiu de caz: Senzor MindWave 18
4.1. Introducere 18
4.2. Abordare tehnică 19
4.3. Algoritmi 20
5. Concluzii 39
6. Bibliografie 47
7. Anexă A: Grafice Matlab 48
8. Anexă B: Cod Matlab 60

1
1. Introducere

Avansarea în ştiinţă este stâns legată de cea în medicină, fiind caracterizată de un salt
episodic imaginativ, care are efecte vizibile asupra umanităţii. Acest salt este reprezentat de
apariţia senzorilor folosiţi la nivelul corpului uman. Senzori şi noduri de senzori formează
reţele care colectează, analizează şi procesează semnale biologice.

Medicina modernă, pornind de la prevenire până la intervenţii complexe, se bazează


pe diagnosticarea precoce, corectă și completă, urmată de o monitorizare atentă a rezultatelor,
eliminând distorsiunile aparute în diagnosticare.

Descoperirea genomului uman a demonstrat egalitatea între indivizi, confirmând însă


şi faptul că fiecare persoană are caracteristici unice la niveluri care includ susceptibilitatea la
diferite boli sau un raspuns individual la stimuli externi. Acest aspect a condus la apariţia
conceptului de medicină personalizată, care promite să revoluţioneze abordarea medicală din
prezent. Pentru a atinge acest nivel, este nevoie de informaţii individuale precise, obţinute
într-o manieră continuă, fără a interfera invaziv cu individul şi fără a îi altera calitatea vieţii.
Un alt aspect este legat de cost. Dispozitivele de monitorizare vor trebui să fie eficiente,
economice si accesibile, acest lucru fiind rezolvat datorită progresului la nivel hardware.

Apariţia de senzori de dimensiuni din ce în ce mai mici a condus la dezvoltarea


nodurilor de senzori cu aplicabilitate în diferite domenii. În medicină, senzorii individuali sau
cei incluşi în noduri, formează reţele capabile să preleveze şi să prelucreze semnal biologic,
astfel fiind permis accesul constant la informaţie. Datorită participării în mod activ a reţelelor
de senzori într-o manieră neinvazivă, caliatea vieţii pacienţilor suferă o îmbunatăţire
considerabilă.

Lucrarea îşi propune găsirea unor soluţii inovative de prelucrare a semnalelor


biologige, în deosebi a semnalului produs de undele cerebrale. Creierul reprezintă centrul de
comandă al organismului, acesta fiind alcătuit din aproximativ 100 de miliarde de neuroni.

Neuronul este o celulă excitabilă electric, care procesează şi transmite informaţie cu


ajutorul semnalelor electirce şi chimice, prin sinapse. Gradienţii de tensiune sunt pastraţi de-a
lungul membranei celulare prin intermediul unor pompe ionice actionate metabolic, care duc
la apariţia unor diferenţe de potenţial. Prin interconectarea neuronilor, se obţin reţele neurale.

Ca şi în cazul senzorilor, există celule nervoase cu rol specificat, care trimit sau
primesc impulsuri electrice catre sau de la creier. Neuronul este alcătuit dintr-un corp celular,
numit somă, dendrite, care pornesc din corpul celular şi se ramifică, şi axon, care reprezintă o
extensie celulară specifică. În sinapse, semnalul este transmis de la axonul unui neuron către
dendrita altui neuron. Modelul de funcţionare neuronală este definit de procesarea sinaptică de
semnal. Permeabilitatea electrică a neuronilor depinde de membrana acestora. Fiecare neuron
este înconjurat de o membrană plasmatică şi de un bistrat lipidic cu structură proteică.
Bistratul lipidic este un puternic izolator electric, dar structura proteică a membranei
neuronale este activă din punt de vedere electric. Datorită permeabilităţii membranei
neuronale, canalele ionice permit pătrunderea ionilor încărcaţi electric prin membrană, iar
pompele ionice transportă activ ioni în exteriorul membranei. Interacţiunea dintre canalele
ionice şi pompe produce o diferenţă de tensiune de-a lungul membranei. Acestă diferenţă are
două funcţii: furnizarea unei surse de putere pentru o varietate de mecanisme proteice
dependente de tensiune în cadrul membranei şi furnizarea unei baze pentru transmisia
semnalului între diferite părţi ale membranei. Comunicararea între neuroni se face cu ajutorul
sinapselor chimice şi electrice în cadrul unui proces numit transmisie. Procesul fundamental
2
care activează transmisia este potentialul de acţiune, reprezentat de propagarea electrică a
semnalului, care este generată prin exploatarea membranei excitabile electric a neuronului.
Acest proces este cunoscut sub numele de depolarizare.

Datorită activităţii electrochimice la nivel neuronal, apar câmpuri electrice, numite


unde cerebrale, care pot fi măsurate prin metode electrofiziologice de explorare a sistemului
nervos. La nivelul creierului uman, se formează mai multe tipuri de unde cerebrale, dintre
care cele mai importante sunt: alfa, beta, delta si theta, fiind corespunzătoare stărilor
creierului. Semnalul cerebral descrie frecvenţa pe care vibrează anumite zone ale creierului în
decursul unor activităţi specifice, în funcţie de care undele de un anumit tip sunt mai mult sau
mai puţin evidenţiate.

Undele alpha sunt asociate unei stări de calm, în care atenţia poate fi focalizată fie pe
rezolvarea unor situaţii exterioare, fie pe o stare de meditaţie dinamică. Frecvenţa undelor de
tip alpha este cuprinsă între 8-12 Hz.

Undele beta corespund stării de veghe, în care atenţia este concentrată asupra
acţiunilor exterioare, acestea fiind amplificate în condiţii de stres sau anxietate şi avînd o
frecventă cuprinsa între 12-30 Hz.

Undele delta se manifestă în condiţii de relaxare psihosomatică profundă, fiind cele


mai lente unde cerebrale. Ele apar în timpul somnului profund, fără vise sau în stările de extaz
puternic, în care activitatea cardiacă este diminuată considerabil, frecvenţa lor fiind cuprinsă
între 0.1-3 Hz.

Undele theta sunt legate de partea imaginativă şi creativă a creierului, fiind asociate cu
activităţile artistice desfăşurate într-o stare de armonie. Ele se manifestă cu preponderenţă în
timpul somnului paradoxal (REM), în care apar visele, dar pot fi observate şi în starea de
veghe, în momente de concentrare profundă. S-a demosntrat că undele theta sunt prezente în
momentele de cunoaştere intuitivă sau cunoaştere a subconştientului, în momentele de fericire
şi împacare interioară sau sclipiri de genialitate, acestea fiind responsabile pentru schimbările
majore de stare ale individului. Frecvenţa undelor theta este cuprinsă între 4-7 Hz.

2. Clasificarea senzorilor

2.1. Terminologie

Un senzor este un dispozitiv care detectează sau masoară o proprietate fizică şi


inregistrează, indică sau răspunde într-un anumit fel la stimulul respectiv. Un senzor nu imită
modul de operare a simţurilor umane, dar redă comportamentul acestora, presupunând
masurarea unei marimi într-o manieră similară modului de observare al omului. Astfel,
definiţia senzorilor se poate extinde la descrierea unor ansambluri de dispozitive sensibile, de
dimensiuni mici, care permit determinarea unui camp de valori pentru o marime fizică într-o
maniera similara cu organele de simţ umane. Pentru a se putea obţine o informaţie
concludentă, câmpul de valori dobândit cu ajutorul senzorilor trebuie prelucrat în vederea
obţinerii unor raspunsuri logice din punct de vedere uman.

3
Senzorii se pot încadra în trei categorii:
- Senzori fizici, pentru măsurarea distanţei, masei, temperaturii, presiunii
- Senzori chimici, pentru măsurarea substanţelor chimice prin raspunsuri fizice sau
chimice
- Biosenzori, care măsoara substanţele chimice prin folosirea unui element biologic
senzitiv.

Pentru a se putea obţine un răspuns observabil, toate aceste dispozitive trebuiesc legate
la un traductor. Acesta este un dispozitiv care converteşte o schimbare observabilă (fizică sau
chimică) într-un semnal măsurabil, în esenţă, acesta reprezentând un convertor de energie.
Există şase clase diferite de semnale: mecanice, magnetice, termice, electrice, optice şi
chimice. Orice dispozitiv care converteşte semnale dintr-o clasă în alta poate fi considerat
traductor, dar termenul va fi atribuit doar dispozitivelor care oferă o iesire electrică.

Intrare Prelucrare Ieşire

Figura 2.1: Traductor

În practică, noţiunea de traductor este echivalentă cu cea de senzor, acesta


reprezentând nu doar partea sensibilă, ci şi circuitul asociat din care derivă semnalul. Astfel,
se poate considera că un senzor realizează aceeaşi funcţie ca şi un traductor, acesta percepând
starea unei mărimi fizice şi convertindu-o în semnal electric.

Deşi definiţiile celor doi termeni sunt similare, senzorii au câteva caracteristici
specifice:
- Miniaturizarea, care permite realizarea de măsurători punctuale ale mărimilor
investigate;
- Multiplicarea funcţională, reprezentată de multitudinea de elemente sensibile dispuse
liniar sau matriceal în structura unui senzor;
- Fuziunea senzorială, care presupune alcatuirea unui nod de senzori cu configuratie
unică.

2.2. Senzori inteligenţi

Un senzor inteligent reprezintă un dispozitiv bazat pe tehnici avansate de învăţare,


capabil să îsi modifice comportamentul intern în scopul optimizării colecţiilor de date
prelevate din exterior. Un senzor se numeste „inteligent” dacă are un mod adaptiv de
funcţionare şi un anumit procent de informaţii integrate.

Noţiunea de senzor inteligent se foloseste în contextul utilizării senzorilor prin


intermediul unor magistrale. Avantajul acestor senzori este reprezentat de modul lor de
organizare în jurul unei unităţi procesoare, cum ar fi un micorcontroller sau un microprocesor,
având capacitatea de a executa acţiuni predefinite în momentul în care detectează intrearea
adecvată.

4
Senzorii inteligenţi sunt definiţi de următoarele caracteristici:
- Furnizează un semnal digital;
- Au capacitatea de a comunica semnalul;
- Au capacitatea de a executa funcţii sau instrucţiuni logice, datorită unităţii procesoare.

Unitatea procesoare are rolul de a asigura comunicarea senzorilor prin intermediul


magistralei de camp şi efectuarea de operaţii specifice, cum ar fi:
- Funcţia de prelucrare, reprezentată prin operaţii matematice de calcul sau liniarizări
ale caracteristicilor statice ale elementelor sensibile;
- Autoetalonarea, utilizată pentru diminuarea erorilor aleatorii prin calculul unor valori
medii, eliminarea erorilor sistemice sau corecţii, realizate cu ajutorul unui circuit de
compensare;
- Autotestarea, efectuată la pornire sau periodic.

Un senzor inteligent este alcătuit din următoarele elemente:


- Element sensibil primar;
- Element pentru controlul excitaţiei;
- Amplificator;
- Filtru analog;
- Convertor de date;
- Element de procesare a informaţiei digitale;
- Element de comunicare a informaţiei procesate.

Amp.
Element Filtru Convertor
Sensibil analogic de date
Exc.

Procesare
Comunicare digitală

Figura 2.2: Arhitectura unui senzor inteligent

Abilităţile unui senzor inteligent:


- Autocalibrarea şi diagnosticarea, realizate datorită capacităţii de analiză a rezultatelor
obţinute;
- Compensarea, realizată prin ajustarea parametrică a caştigului cu ajutorul
amplificatoarelor;
- Proprietăţi de calcul pentru filtrarea şi conversia semnalului, efectuarea funcţiilor
logice, manipularea datelor, luarea deciziilor;
- Proprietăţi de integrare, care implică cuplarea elementelor sensibile şi de calcul la
nivelul chipului unităţii procesoare.

În practică, noţiunea de senzor inteligent a fost extinsă la orice dispozitiv care


cuprinde un senzor şi un microprocesor, care fac parte din aceeaşi entitate fizică.

5
2.3. Senzori Biologici

Organele de simţ umane sunt considerate a fi senzori biologici. Urechile, ochii si


pielea sunt considerate senzori fizici, pentru că detectează senzaţii fizice, precum sunet,
lumină sau căldură. Senzaţia detectată cu ajutorul nasului, mirosul, reprezintă cantităţi mici de
substanţe chimice. Nasul este un senzor foarte sensibil şi selectiv, fiind foarte greu de
reprodus artificial. Substanţele chimice trec prin membrana olfactivă, ajung la bulbii olfactivi,
care conţin receptori biologici ce ajută la detectarea substanţei. Raspunsul receptorilor este un
semnal electric, care este trimis creierului prin nervii olfactivi. Creierul converteste apoi
semnalul în senzaţia numită miros. Elementul sensibil este reprezentat de membrana olfactivă,
iar celula nervoasa olfactilă este traductorul, care trimite semnalul electric prin fibra nervoasă
până la creier, pentru a fi interpretat. Creierul se comportă ca un microprocesor, transformând
semnalul într-o senzaţie.

2.4. Senzori chimici, fizici şi biosenzori

Senzorii fizici măsoara cantităţi fizice.


Senzorii chimici reprezintă dispozitive care raspund la un anumit analit într-o manieră
selectivă, printr-o reacţie chimică, folosindu-se pentru determinarea calitativă şi cantitativă a
analitului. Un astfel de senzor se ocupă cu masurarea unei anumite substanţe sau grup de
substanţe.

Biosenzorii sunt o subclasă a senzorilor chimici. Un biosenzor poate fi definit ca un


dispozitiv care încorporează un element biosenzitiv cu un traductor. Analitul pe care un astfel
de senzor il poate detecta poate fi pur chimic, chiar anorganic. Diferenţa majoră este ca
elementul de recunoaştere este de natură biologică.

2.5. Aspecte ale senzorilor

Elementele de recunoaştere reprezintă componetele cheie ale oricarui dispozitiv.


Acestea garantează capacitatea de selecţie a senzorului asupra unui anumit analit, evitând
interferenţele cu alte substanţe. La biosenzori, cel mai frecvent element de recunoaştere este o
enzimă, dar poate fi reprezentat şi de anticorpi, acizi nucleici şi receptori.

Traductorul reprezinta dispozitivul de detecţie. Deşi metodele chimice analitice au la


bază traductoare fotometrice, majoritatea senzorilor includ traductoare electrochimice.
Traductoarele pot fi împărţite în următoarele categorii:
- Traductoare electrochimice potentiometrice, care implică masurarea potenţialului unei
celule la curent zero. Potenţialul este proporţional cu logaritmul concentraţiei de
substanţă;
- Traductoare electrochimice voltmetrice, pentru care se aplică un potenţial mai mare
sau mai mic celulei până când substanţa oxidează şi apare o creştere/cădere bruscă în
curent, pentru a obţine un curent de vârf. Acest curent este direct proporţional cu
concentraţia de material electroreactiv. Dacă se cunoaşte potenţialul de oxidare, iar
asupra materialului se aplică direct acea valoare, se poate observa curentul;
- Traductoare electrochimice conductometrice, care măsoară schimbările de
conductivitate electrică a substanţelor;
- Traductoare optice, care devin miniaturale şi au o flexibilitate mult mai mare odată cu
dezvoltarea fibrei optice. Tehnicile folosite includ spectroscopie cu absorbţie,
spectroscopie fluorescentă şi luminiscentă, spectroscopie cu reflexie internă sau
scanare luminoasă;

6
- Dispozitive piezo-electrice, care implică generarea curentului electric pornind de la un
cristal care vibreaza. Frecvenţa vibraţiilor este afectată de masa de material absorbită
la suprafată;
- Senzori termici, care măsoară căldura produsă sau absorbită în procesele chimice.
Această căldură poate fi măsurată de termistoare sensibile, putând fi corelată cu
cantitatea de substanţă analizată.

2.6. Aplicabilitate

Medicina este zona principală în care biosenzorii şi senzorii chimici au aplicabilitate.


Măsurarea nivelului sangelui, a gazelor, ionilor sau proceselor metabolice presupune folosirea
unei metode invazive de prelevare a probelor biologice care urmează a fi analizate, iar
rezultatele se obţin într-o perioada mare de timp. Folosirea unor senzori şi biosenzori permite
obţinerea rezultatelor în cateva minute, acest lucru făcând posibilă utilizarea dispozitivelor pe
scară largă.

2.7. Elemente sensibile ale senzorilor

Există diverse moduri în care senzorii pot recunoaşte un analit. Acestă recunoaştere ar
trebui să fie specifică fiecarui analit, dar uneori, senzorii răspund selectiv sau pot apărea
interferenţe. Există mai multe tipuri de sensibilitate: ionică, moleculară sau biologică.

2.7.1. Recunoaşterea ionică

Electrozii selectivi ionici sunt dispozitive potenţiometrice, în care schimbările de forţă


electromotoare sunt proporţionale cu logaritmul concentraţiei analitului. Aceşti electrozi
răspund la anumiţi ioni mai mult decât la alţii, acest lucru reprezentând o interferenţă. Nivelul
de interferenţă este masurat cu ajutorul coeficientului de selectivitate, iar masura interferenţei
este data de ecuaţia Nicolskii-Eisenman:
(2.1)

unde:
- n este încarcarea ionului primar de activitate ;
- z este ionul de interferenţă de activitate ;
- este coeficientul de selectivitate.

Este necesar să se evite sau sa se elimine interferenţele pentru obţinerea unor


măsuratori concrete. Coeficientul de selectivitate indică nivelul relativ al interferenţelor care
pot fi astfel îndepartate.

În practică, pot apărea diverşi ioni de interferenţă, a caror activitate trebuie


determinată. O abordare a problemei multi-ionice este crearea unei matice de electrozi
selectivi ionici, aleşi pentru fiecare ion din analit. Răspunsul fiecărui electrod este înregistrat,
iar problema se rezolvă prin furnizarea datelor măsurate pentru fiecare ion, luându-se în
considerare interferenţele mutuale dintre aceştia. Acestă aplicaţie, legată de analiza reţelelor
neurale, este folosită pentru a determina, de exemplu, amestecuri de potasiu, calciu, cupru şi
nitrati ionici.

7
2.7.2. Recunoaşterea moleculară

Termodinamica controlează constanta de echilibru dintre reactanţi şi produsele de


reacţie. Dacă acestă constantă este mare pentru un complex de analiţi, formează baza unei
metode selective:
(2.2)
unde:
[ ] [ ][ ] (2.3)

Acest principiu reprezintă baza analizei spectroscopice în regiunea vizibila UV,


putând fi adaptat şi pentru senzori, cu ajutorul unei membrane PVC. Răspunsul optic se
realizează printr-o schimbare florescentă sau absorbţie a analitului. Prin încorporarea
materialului ligand în suprafaţa electrodului, cum ar fi o pastă de carbon, se pot obţine senzori
amperometrici.

O serie de senzori optici folosesc principiul de schimbare a pH-ului. Un indicator de


pH care işi schimbă culoarea poate fi încorporat într-o membrană din PVC sau acetat de
celuloză. Dacă indicatorul are o incarcatură pozitivă în formă acidă şi este roşu, fiind apoi
neutarlizat bazic (albastru), se poate comporta ca un indicator de pH. Schimbarea de culoare
va fi detectată de un colorimetru sau spectrometru. Electroneutralitatea în membrană este
obţinută prin folosirea unui anion lipofilic, cum ar fi tetrafenilboratul.

Dimensiunea moleculară poate fi baza pentru selectivitate. Într-un mod foarte simplu,
site moleculare pot separa moleculele mari și mici. Calixarenele sunt molecule în formă de
cupă, proiectate cu o anumită dimensiune internă, în care au loc molecule specifice. Aceste
materiale au fost folosite în senzori, pentru calciu. Colorantul „Albastru de Nil ” este
încorporat într-o poli-membrană, cu un contra-ion anionic și un ligand calix-arenă
tetraphosphin. Acest lucru este folosit ca un optod, care reprezintă un senzor optic, ce măsoară
o substanţă specifică cu ajutorul unui traductor chimic. Optodul selectează calciu, ignorând
sodiul.

Figura 2.3: Calixarenă tipică ionoforă, în formă tridimensională, de energie minimă

Antibioticul valinomicină este un ionofor neutru, care va prelucra ionii de potasiu


selectiv, deoarece astfel de ioni se potrivesc bine în cavitatea creată în interiorul moleculei de
valinomicină.
8
Figura 2.4: Structura complexului valinomicină/potasiu

Analiza spectroscopică în recunoaşterea moleculară se foloseşte pentru identificarea


specifică a structurii diferiterol molecule. Energia internă a unei molecule poate fi exprimată
astfel:
(2.4)
Aceste energii corespund anumitor regiuni ale spectrului, iar când o radiaţie se exercită asupra
unei molecule, acesta va absorbi radiaţia la anumite lungimi de undă, astfel încât molecula are
un nivel de energie mai ridicat.

2.7.3. Recunoaşterea biologică

Sistemele biologice furnizează elementele selective folosite în biosenzori. Aceste


elemente reprezintă substanţe care au capacitatea de a se agaţa de o anumită substanţă de
interes. Această capacitate este regasită la patru grupuri de materiale:
- Enzime;
- Anticorpi;
- Acizi nucleici;
- Receptori.

Cele mai utilizate substanţe sunt enzimele. Acestea actionează precum catalizatori
biologici în anumite reacţii şi au capacitatea de a se lega de anumite substanţe.

Anticorpii se vor lega la antigenul specific, pe care il vor îndeparta din sfera lor de
actiune, fara efect catalitic. Anticorpii sunt capabili să dezvolte o sensibilitate ridicată în
biosenzori.

Acizii nucleici sunt foarte puţin utilizaţi. Aceştia operează selectiv, datorită
caracteristicilor pe bază de asociere. Potenţialul acizilor nucleici este de a identifica dereglari
genetice.
9
Receptorii reprezintă proteine cu proprietăţi de recunoaştere moleculară, care
traversează intreaga lăţime a membranei unei celule. Aceştia sunt dificil de izolat, dar au
capacitatea de a se lega de soluţii, având un grad de afinitate şi specificitate similar
anticorpilor.

3. Reţele wireless de senzori

Datorită avansării comunicaţiilor wireless, în ultimii ani a luat amploare dezvoltarea


reţelelor cu costuri scăzute şi economice din punct de vedere energetic. Aceste reţele folosesc
senzori multifuncţionali, de dimensiuni mici, care au capacitatea de a procesa datele colectate
şi de a comunica între ei prin canale de radiofrecvenţă. O reţea de senzori este realizată pentru
a detecta evenimente sau fenomene, pentru a colecta şi procesa date şi pentru a trimite
informaţia utilizatorilor.

3.1. Caracteristici

Caracteristicile principale ale reţelelor de senzori sunt:


- Capacitatea de auto-organizare;
- Comunicare broadcast pe rază scurtă şi rutare multihop;
- Desfasurare densă şi cooperare între nodurile de senzori;
- Schimbarea continuă a topologiei datorată degradarii nodurilor;
- Limitari de energie, putere de transmisie, memorie şi capacitate computaţională.
Aceste caracteristici fac ca reţelele de senzori să se comporte diferit faţă de alte reţele
wireless ad hoc sau mesh. Combinând senzori de dimensiune mică, computere economice din
punct de vedere energetic si echipamente radio, s-a creat o noua platformă tehnologică de o
deosebită importanţă şi aplicabilitate.

3.2. Cercetare şi interes comercial

Interesur comercial şi de cercetare în aria de dezvoltare a reţelelor de senzori wireless


este într-o continuă creştere. Investiţiile companiilor de profil reflectă interesul comercial pe
care îl presupune dezvoltarea acestor tehnologii, care se completează cu gasirea unor soluţii
hardware si software.

În comparaţie cu folosirea a cativa senzori scumpi, cu un grad mare de acurateţe,


strategia de implementare a unui numar mare de senzori ieftini are avantaje semnificative,
comparativ cu costul intregului sistem: rezolutie spatiala mult mai mare, robusteţe, acoperire
uniformă, fiabilitate, uşor de implementat, consum redus de energie şi durată mare de viaţă.
Idea esenţială este poziţionarea senzorilor aproape de sursa potenţialului fenomen de studiat,
unde datele achiziţionate să aiba cea mai mare acurateţe.

Detecția făcută la un nivel detaliat poate revoluționa modul în care sistemele fizice
complexe sunt înțelese. Adiția de actuatoare deschide o dimensiune complet nouă, permițând
gestionarea și manipularea mediului la o scară care oferă oportunităţi enorme pentru orice
disciplină științifică. Combinația de tehnologie de rețele de senzori cu sisteme
microelectromecanice și nanotehnologie va reduce considerabil dimensiunea nodurilor și va
spori capacitățile rețelelor.

10
3.3. Aplicabilitate

3.3.1. Inginerie:

- Maşini care cuprind o reţea de zeci de senzori şi actuatori, sunt legate într-un
sistem de sisteme pentru a imbunataţi eficienţa şi siguranţa în trafic.
- Tastaturi virtuale cu accelerometru tactil, care pot înlocui dispozitivele de
intrare convenționale pentru PC-uri.
- Detectarea și întreținerea în instalațiile industriale. Roboți industriali complexi
sunt echipați cu senzori care sunt conectați prin cabluri la un calculator
principal. Deoarece cablurile sunt costisitoare și supuse uzurii cauzate de
mișcarea robotului, companiile le înlocuiesc cu conexiuni wireless. Prin
montarea de bobine mici pe nodurile de senzori, principiul de inducție este
exploatat pentru a rezolvă problemă de alimentare.
- Reducerea fenomenului de frecare la aeronave poate fi realizată prin
combinarea senzorilor de debit cu actuatoare de suflare, care sunt instalate pe
aripile unui avion.
- Spații de birouri inteligente. Zonele sunt echipate cu senzori de lumină,
temperatură și mișcare, cu microfoane pentru activare vocală și senzori de
presiune în scaune. Fluxul de aer și temperatura pot fi setate local, pentru o
singură cameră.
- Studii sociale. Dotarea ființelor umane cu noduri de senzori permite studii
interesante ale interacțiunilor și comportamentului social.

3.3.2. Agricultură şi monitorizare a mediului:

- Agricultura de precizie. Există posibilitatea gestionării culturilor și animalelor,


sau controlul precis al concentrației de îngrășăminte.
- Explorare planetară. Se poate realiza explorare și supraveghere în medii ostile,
de la distantă, în regiuni geografice sau locații toxice.
- Monitorizare geofizică. Activitatea seismică poate fi detectată la o scară mult
mai fină folosind o rețea de senzori echipaţi cu accelerometre.
- Monitorizarea calității de apă dulce. Domeniul hidrochimiei are nevoie de
rețele de senzori, datorită variabilității spatio-temporale complexe a
parametrilor hidrologici, chimici și ecologici, aici survenind dificultăţi de
prelevare a probelor de apă, în special în locuri îndepărtate sau în condiții
nefavorabile.
- Proiectul Zebranet, din cadrul Universitatii Princeton, are ca scop urmărirea
mișcării de zebre din Africa.
- Monitorizarea habitatului. Cercetatorii de la UC Berkeley și Colegiul Atlantic
din Par Harbor au pus senzori pe Insula Great Duck, în Maine, pentru a măsura
umiditatea, presiune, temperatura, radiațiile infraroșii, radiația solară totală și
radiație fotosintetică activă.
- Detectarea dezastrelor. Incendiile forestiere și inundațiile pot fi depistate
precoce și cauzele pot fi localizate cu precizie prin amplasarea densa a rețele de
senzori.

11
3.3.3. Inginerie civilă:

- Monitorizarea structurilor. Senzorii vor fi plasaţi în poduri pentru a detecta și


avertiza în legătură cu problemele structural, în rezervoare de apă pentru a observa
materiale periculoase. Reacția clădirilor înalte la vânt și cutremure poate fi studiată
și uzura materialelor poate fi monitorizată îndeaproape.
- Planificare urbană. Planificatorii urbani vor urmări modele subterane sau cât de
mult dioxid de carbon emit oraşele.
- Recuperarea dupa dezastre. În clădirile dărâmate de un cutremur pot fi infiltraţi
roboți cu senzori pentru a localiza supravieţuitorii.

3.3.4. Aplicaţii militare:

- Monitorizarea și managementul activelor. Comandanții pot monitoriza starea și


locaţia trupelor, armelor și proviziilor pentru a îmbunătăți comanda militară,
controlul, comunicațiile și de calculele.
- Supravegherea și monitorizarea spațiului de luptă. Senzori de vibrație și magnetici
pot raporta mişcarea vehiculelor sau a persoanelor, permiţând o supraveghere
amanunţită a forțelor opozante.
- Război urban. Senzorii sunt utilizaţi în clădiri care au fost golite pentru a preveni
reocuparea lor.
- Protecție. Obiecte sensibile, cum ar fi centralele nucleare, poduri, ziduri de sprijin,
conducte de petrol și de gaze, turnuri de comunicare, depozitele de muniții și
comandamente militare pot fi protejate de câmpuri cu senzori inteligenţi, capabile
sa facă diferenţa între diferite clase de intruși. Atacuri biologice și chimice pot fi
detectate precoce sau chiar prevenite printr-o rețea de senzori care acționează ca
un sistem de avertizare.

3.3.5. Monitorizare medicală şi chirurgie:

- Detectare medicală. Date fiziologice, cum ar fi temperatura corpului, tensiunea


arterial sau pulsul sunt detectate și transmise în mod automat la un computer sau
un medic, putând fi utilizate pentru monitorizarea stării de sănătate și explorare
medicală. Bandaje cu senzori wireless pot avertiza asupra infecţiilor. Senzori
minusculi în fluxul sangvin, alimentaţi de un câmp electromagnetic extern, slab,
pot analiza continuu sângele și pot preveni coagularea și tromboza.
- Micro-chirurgia. Un roi de roboți microelectromecanici pot colabora pentru a
efectua operaţii microscopice și chirurgie minim invazivă.
Oportunitățile pentru reţele de senzori wireless sunt omniprezente. Cu toate acestea, o
serie de provocări formidabile trebuie să fie rezolvate înainte ca aceste aplicații sa poata
deveni realitate.

3.4. Provocari tehnice

Popularea lumii cu rețele de senzori necesită o înțelegere fundamentală a tehnicilor de


conectare și gestionare a nodurile de senzori cu o rețea de comunicații într-o maniera optimă,
scalabilă. În mod evident, rețelele de senzori aparțin clasei de rețele ad-hoc, dar au
caracteristici specific, care nu sunt prezente în rețelele generale ad-hoc.

Rețelele de senzori si cele ad-hoc împartăşesc o serie de provocări, cum ar fi


constrângerile de energie şi de rutare. Rețelele generale ad-hoc induc modele de trafic diferit
12
faţă de rețelele de senzori, au alte cerințe pe durata de viață și sunt adesea considerate a consta
în noduri mobile. În retelele de senzori wireless, majoritatea nodurilor sunt statice, cu toate
acestea, rețeaua de noduri de senzori de bază poate fi suprapusă peste senzori mobile (roboți)
mai puternici, care, ghidaţi de senzorii de bază, se pot deplasa sau chiar urmări obiecte de
interes.

Nodurile de rețea sunt dotate cu emițătoare şi receptoare wireless, folosind antene care
pot fi omnidirecționale (radiații izotrope), foarte direcționale (punct-la-punct), eventual
orientabile. În funcție de pozițiile nodului și de aria de acoperire a transmițătorului şi a
receptorului, nivelul de putere de transmisie și nivelul de interferență se modelează din
perspectiva unei conectivitati wireless, sub forma unui grafic multihop, aleator, între noduri.
Această topologie ad-hoc se poate schimba cu timpul, în funcţie de ajustările parametrilor
nodurilor la transmisie şi receptie.

Pentru că problema cea mai dificilă în rețelele de senzori este limitarea energetică,
multe eforturi de cercetare vizează îmbunătățirea eficienței energetice la diferite aspecte. În
rețelele de senzori, energia este consumată, în principal, din trei motive: transmisia datelor,
prelucrarea semnalelor şi operatiile hardware. Este de dorit să se dezvolte tehnici de
prelucrare eficiente energetic, care reduc la minimum necesarul de energie pentru toate
nivelurile şi în același timp reduc transmiterea mesajelor de control şi coordonare de la rețea.

3.5. Surse de alimentare


Cele mai dificile constrângeri în proiectarea de reţele de senzori wireless sunt cele
referitoare la consumul minim de energie necesară pentru funcţionarea circuitelor și
eventualelor dispozitive microelectromecanice. Problema energiei este agravată dacă sunt
prezente actuatoare, care pot fi consumatoare mai mari de energie decât senzorii.
La miniaturizarea nodurilor, densitatea de energie a sursei de alimentare este problema
principală. Tehnologia curentă produce baterii cu aproximativ 1 J / mm3 de energie, în timp ce
condensatorii pot realiza pana la 1 MJ / mm3. Dacă un nod este proiectat să aibă o durată de
viață relativ scurtă, de exemplu, de câteva luni, o baterie este o soluție logică. Cu toate
acestea, pentru nodurile care pot genera citirile senzorilor pentru perioade lungi de timp, este
preferabilă o metoda de încărcare. În prezent, grupuri de cercetatori investigheaza utilizarea
de celule solare pentru a încarca condensatoare cu photocurenti de la sursele de lumină
ambientală. Fluxul solar poate produce densități de putere de aproximativ 1 mW / mm2.
Eficiența energetică a unei celule solare variază între 10 și 30%, oferind 300 μW în lumina
soarelui pentru o celula solara de 1 mm2, la 1V. Celule solare aşezate în serie vor trebui să fie
utilizate pentru a furniza tensiuni corespunzătoare.

Achizițiile senzorului se pot realiza la 1 nJ pe eșantion, iar procesoarele moderne pot


efectua calcule la 1 nJ pe instructiune. Pentru comunicații wireless, tehnologiile principale
sunt bazate pe RF și tehnici de transmisie optică, fiecare având avantaje și dezavantaje. RF
reprezintă o problemă, deoarece nodurile pot oferi spațiu foarte limitat pentru antene.
Tehnicile curente de transmisie RF (de exemplu, Bluetooth) consumă aproximativ 100 nJ
pentru fiecare bit, pentru o distanță de la 10 la 100 m, ceea ce face comunicarea foarte
scumpă, comparativ cu achiziţia şi prelucrarea.

O alternativă este folosirea transmisiei optice free-space. Dacă o cale line-of-path este
disponibilă, un link optic free-space, cu un desing bun, are nevoie de energie semnificativ mai
mică decât omologul său RF, în prezent, aproximativ 1 nJ pe bit. Motivul pentru acest avantaj
energetic este faptul că transceiverele optice necesită numai circuite simple, cu bandă
analogică și circuite digitale, fără modulatoare, filtre active și demodulatoare. În plus,

13
lungimea de undă extrem de scurtă de lumină vizibilă face posibil ca un dispozitiv de scală
milimetrică să emită un fascicul îngust, ce corespunde unui câștig de aproximativ cinci la șase
ordine de mărime în comparatie cu un radiator izotrop. Cu toate acestea, un dezavantaj major
este că fasciculul trebuie fixat foarte precis catre receptor, ceea ce poate fi dificil de realizat.

În retelele wireless de senzori în care sunt implicate prelevarea de probe, prelucrarea,


transmiterea de date și acționarea, negocierea între aceste activități joacă un rol important în
consumul de energie. Echilibrarea acestor parametrii va fi punctul central al procesului de
proiectare de reţele wireless.

3.6. Elaborarea de protocoale eficiente energetic


Este cunoscut faptul că clustering-ul este o modalitate eficientă de a economisi energie
pentru reţelele statice de senzori. Clustering-ul are trei diferențe semnificative din schemele
de grupare convenționale. În primul rând, compresie de date sub formă de codificare sursă
distribuită este aplicată într-un grup pentru a reduce numărul de pachete de transmis. În al
doilea rând, proprietatea de centrare de date devine o identitate invechită pentru un nod de
sensori. Prectic, utilizatorul este frecvent interesat de fenomene care au loc într-o zonă
specifică, mai degrabă decât într-un nod individual de senzori. În al treilea rând, rotația
aleatoare a capetelor de grup asigura un echilibru de consum de energie.

O alta strategie de creștere a eficienței energetice este utilizarea arborilor de broadcast


şi multicast, care preiau proprietatea de broadcast a antenelor omnidirecționale. Dezavantajul
este că, complexitatea mare de calcul poate anula beneficiul realizabil. Pentru rețelele de
senzori, aceasta schema de comunicare unu-la-mulți este mai puțin importanta pentru că toate
datele trebuie să fie livrate la o singură destinație, schema de trafic (pentru traficul aplicaţiei)
este opusul, adică, mulți-la-unul. În acest caz, în mod cert, avantajul de wireless multicast
oferă beneficii mai puține, cu excepția cazului în care sunt puse în aplicare schemele de
traiectorie sau cele de diversitate de cooperare.

Exploatarea funcţiei sleep este imperativ necesară pentru a preveni nodurile de senzori
să irosească energie la primirea pachetele care nu le sunt adresate. În combinaţie cu
protocoale eficiente de acces la mediu, abordarea funcţiei sleep ar putea eficientiza consumul
energetic, fără degradarea transferului, dar cu penalităţi de întârziere.

3.7. Capacitatea de trafic

Doi parametri descriu capacitatea rețelei de a suporta trafic: capacitatea de transport și


de transfer. Primul parametru este o sumă de capacităţi de distanță ponderată, care permite
evaluarea performanțelor rețelei. Capacitate de transfer este o măsură a cantitatii maxime de
trafic care poate fi livrată de rețea. Într-o rețea de pachete, transferul poate fi definit ca
numărul așteptat de transmisii de pachete livrate cu succe de un anumit nod, pe unitatea de
timp.

Capacitatea rețelelor wireless, în general, este un domeniu activ de cercetare în


comunitatea de teoria informației. Rezultatele importante includ scalarea joasă pentru
codificarea punct-la-punct, ceea ce demonstrează ca transferul scade cu √ , pentru o rețea
cu N noduri. Noi rezultate permit codarea de rețea, producând un comportament de scalare
ușor mai optimist, deși complexitatea este ridicată. Cercetarile au arătat că mobilitatea poate
menține constantă capacitatea pe nod, pe măsură ce rețeaua crește, dar acest beneficiu vine cu
un cost de întârziere nelimitat.

14
Transferul este legat de rata de transmisie a fiecărui transmițător, care, la rândul său,
este delimitată de capacitatea de canal. Din punct de vedere pur teoretic, capacitatea este
calculate pe baza ipotezei canalului ergodic, adică cuvintele cod sunt comparate cu coerența
timpului canalului. Această capacitate de tip Shannon este numita capacitate de transfer. Cu
toate acestea, în rețelele practice, în special cu aplicaţii constranse de întarzieri, această
capacitate nu poate să ofere o indicație utilă a capacității canalului de a transmite cu o
probabilitate mica de eroare. Mai mult decât atât, în sisteme cu acces multiplu, strategiile
corespunzătoare de alocare de energie pentru capacitatea maxim realizabila favorizează
întotdeauna canalele "bune", conducând astfel la inechitate între noduri.

Pentru aplicații constranse de întarzieri, canalul este presupus a fi nonergodic, iar


capacitatea este o variabilă aleatoare, în loc de o constantă în definiția clasică a lui Shannon.
Pentru o legătură de intarziere D, canalul este adesea presupus a fi blocat, iar un model de
canal compozit este adecvat atunci când se specifică capacitatea. În mod corespunzător, având
în vedere puterea de zgomot, starea canalului și alocarea de putere, au fost propuse noi
definitii pentru sistemele cu constrangeri de întarziere.

3.8. Rutarea

În rețelele ad-hoc, protocoalele de rutare trebuie să implementeze trei funcții


principale: determinarea și detectarea schimbărilor topologice ale rețelei, menținerea
conectivitatii retelei și calcularea și de a găsi de căi adecvate. În rețele de senzori, mai putin
efort a fost alocat protocoalelor de rutare, deși este clar că un protocol de rutare ad-hoc
(precum vectorul secventa destinatie DSDV), algoritmi ordonati temporar de rutare (TORA),
rutare sursa dinamica (DSR) și vectorul ad-hoc de distanta la cerere (AODV) nu sunt
potrivite pentru rețelele de senzori, deoarece principalul tip de trafic în retelele wireless de
senzori este "mulți la unul", toate noduril raportând la o singura stație de bază sau centru de
fuziune. Cu toate acestea, unele merite ale acestor protocoale pot face referinta la
caracteristicile rețelelor de senzori, cum ar fi comunicare multihop și rutarea QoS. Rutarea
pote fi asociată cu compresia de date, pentru a spori scalabilitatea rețelei.
3.9. Modelare

Bazele de analiză, simulări și abordari analitice sunt modele exacte si usor de


manipulat. Modelele de rețea globală trebuie să includă numărul de noduri și distribuția lor
relativa, gradul și tipul de mobilitate, caracteristicile legăturilor wireless, volumul de trafic
injectat de surse și durata de viață a interacțiunilor lor, modele detaliate ale consumului de
energie.

3.10. Legaturi wireless

O atenuare proporțională cu dα, unde d este distanța între două noduri și α este un așa-
numit exponent de pierdere a traiectoriei, este acceptata ca un model pentru pierderea de
traiectorie. Alpha variaza între 2 și 4 sau chiar 5, în funcție de caracteristicile canalului
(mediu, poziția antenei, frecvență). Aceast model de pierderea a traiectorie, împreună cu
faptul că pachetele sunt transmise cu succes dacă raportul semnal-zgomot-și-interferențe
(SNIR) este mai mare decât un anumit prag, are ca rezultat un model determinist adesea
folosite pentru analiza rețelelor de pachete multihop. Astfel, raza de transmisie cu succes are o
valoare determinista, indiferent de starea canalului wireless. Dacă sunt considerate numai

15
interferentele la o anumită distanță de receptor, acest "model fizic" se transformă într-un
"model de disc".

Natura stochastica a canalului degradat și faptul că SINR este o variabilă aleatoare


sunt in mare parte neglijate. Cu toate acestea, volatilitatea canal nu poate fi ignorat în rețelele
wireless.

S-a demonstrat, de asemenea, inexactitatea modelelor disc, fiind ușor de demonstrate


experimental. In plus, acest "model de totul sau nimic" conduce la presupunerea că o
transmisie peste o cale multihop eșuează complet sau are o rata de succes de 100% , ignorând
faptul că probabilitatea de pierdere a pachetelor de tip “end-to-end” crește odată cu numărul
de hopuri. Deși degradarea a fost considerate în contextul rețelelor de pachete, impactul
acesteia asupra transferului rețelelor multihop și protocoalele de MAC și nivelelor superioare
este în mare măsură o problemă deschisă.

Un model de canal mai precis va avea un impact asupra celor mai multe dintre valorile
importante. În cazul degradării Rayleigh, primele rezultate arată că beneficiile de energie de
rutare peste multe hopuri scurte pot dispărea complet, în special dacă latența este luată în
considerare. Modelul de degradare Rayleigh nu numai că este mai precis decât modelul disc,
dar are, de asemenea, avantajul suplimentar de a permite separarea efectelor zgomotului și
cele de interferență, datorită distribuției exponențiale a puterii primite. În consecință, analiza
performanței poate fi ușor divizată în analiză cu interferenţă zero (analiză a zgomotului) și o
reţea cu zgomot zero (analiză a interferenţei).

3.11. Distribuția nodurilor și mobilitate

Graficele obişnuite și distribuțiile uniform aleatoare sunt utilizate pe scară largă


analitic pentru modelele maleabile. Aceasta din urmă poate fi problematică, deoarece noduri
pot fi arbitrar apropiate, ceea ce duce la atingerea unor nivele nerealiste de putere, în cazul în
care atenuarea traiectoriei se presupune a fi proporțională cu dα. Graficele cu variații
gaussiene pot fi mai precise. Modele de mobilitate generice pentru reţelele wireless de senzori
sunt dificil de definit, deoarece acestea sunt extrem de specifice pe aplicaţii.

3.12. Conectivitatea

Conectarea rețelelor este un aspect important, deoarece este esențial pentru cele mai
multe aplicații ca rețeaua să nu fie împărțită în părți disjuncte. Dacă pozițiile nodurilor sunt
modelate ca un punct Poisson în două dimensiuni (care, din motive practice, corespunde unei
distribuții uniform aleatore), problema de conectivitate a fost studiat folosind instrumente de
teorie de patrundere continuă. Pentru rețele mari, fenomenul de tranziție de fază ascuțită
poate fi observat: probabilitatea ca fenomenul de patrundere al reţelei să sară brusc de la
aproape 0 la aproape 1, imediat ce densitatea rețelei este mai mare decât o anumită valoare
critică. Cele mai multe astfel de rezultate sunt bazate pe abstracție geometrică circulară. Este
presupus, totuși, că și alte funcții de conectivitate duc la o conectivitate mai buna, cum ar fi
faptul ca discul este aparent cea mai grea formă de conectat. O consecință practică a acestei
conjuncturi este că rezultatele de degradare işi imbunatăţesc conectivitatea. O lucrare recentă
discută, de asemenea, impactul asupra interferențelor. Simplificarea ipotezelor necesare
pentru a obține aceste rezultate lăsa însă multe probleme deschise.

16
3.13. Asigurarea calităţii

Calitatea serviciilor se referă la capacitatea unei rețele de a oferi date fiabile și în timp
util. O cantitate mare a serviciilor, cum ar fi, capacitatea de transfer sau de transport, nu este
în general suficientă pentru a satisface cerintele de intarziere. În consecință, viteza de
propagare a informației poate fi la fel de important ca transferul. Astfel, în plus față de
capacitatea rețelei, o problemă importantă în multe reţele wireless de senzori este cea a
garanţiei calității serviciilor. Lucrări anterioare legate de calitatea rețelelor wireless s-au axat,
în mare parte, pe întârzieri. Asigurarea calităţii, într-un sens mai larg, este format din tripletul
(R, Pe, D), unde R reprezintă transferal, Pe denotă fiabilitatea, măsurată prin probabilitatea de
eroare de bit sau probabilitatea de pachete pierdute și D denotă întârziere. Pentru un anumit
R, fiabilitatea unei conexiuni ca o funcție de întârziere va urma curba generală.

Figura3. 1: Curba generală fiabilitate-întarziere

De reținut este că, capacitatea reprezinta numai un punct de pe curba fiabilitatea-


întârziere și prin urmare, nu este întotdeauna relevantă.
Deoarece calitatea este afectată de alegerile de design la nivel fizic, acces la mediu și straturi
de rețea, este necesară o abordare integrată a gestionării calităţii.

Rețele de senzori wireless au aplicabilitate în practică în toate domeniile științei și


inginerie, în medicină, industrie, armată, securitate, știința mediului, geologie, agricultură sau
studii sociale. În combinație cu actuatoare macroscopice sau microelectromecanice, permit
manipularea mediului într-un mod fără precedent. Cercetătorii și operatorii se confruntă în
prezent cu o serie de aspecte critice care trebuie să fie rezolvate înainte ca aceste aplicații să
devina realitate. Crearea de rețele wireless de prelucrare a datelor distribuite în aplicaţii
embedded necesită noi abordări de design de protocol și hardware / software inteligent.

17
4. Studiu de caz: Senzorul MindWave

4.1. Introducere

Ultimul secol de cercetare în domeniul neuroştiinţelor şi avansul tehnologic au permis


găsirea de noi metode de abordare a informaţiilor legate de creierul uman. Prin folosirea unor
metode neinvazive, cum ar fi plasarea unui sensor pe scalp, se pot afla modelele și frecvențele
semnalelor electrice de la nivelul creierului.

Gama MindTools propune o metoda interactivă de studiu, cu ajutorul unei căşti ce


conţine un sensor care implementează tehnologia NeuroSky TinkGear, care măsoară
semnalele electrice analogice, denumite unde cerebrale, prelucrandu-le în semnale digitale.

Figura 4.1: Cască cu sensor MindWave

Tabelul de mai jos oferă un rezumat al frecvențelor recunoscute de senzorul


Mindwave, care tind să fie generate de diferite tipuri de activitate la nivelul creierului:

Tipul undei cerebrale Gama de frecvenţă Activitate cerebrală


Delta 0.1 Hz - 3 Hz Somn profund, fară vise, stare de
inconştienţă
Theta 4 Hz – 7 Hz Stare intuitivă, creativă, imaginativă sau
vis
Alpha 8 Hz – 12 Hz Stare de conştienţă, relaxare, linişte
Beta 12 Hz - 30 Hz Stare de veghe, concentrare relaxată,
integrare, conştienţă sau uneori agitaţie
Gamma 30 Hz - 60 Hz Stare de percepţie conştientă

Tabel 4.1: Tipuri de unde cerebrale, cu frecvente caracteristice


18
Tehnologia ThinkGear permite dispozitivului să preia undele cerebrale ale individului.
Acesta include senzorul, care se plaseaza pe frunte, punctul de contact şi de referinţă, realizat
prin prinderea clipsului de lobul urechii şi chipul integrat care proceseaza datele. Undele
cerebrale în forma brută şi parametrii eSense, determinaţi prin starea de atenţie şi meditaţie,
sunt procesati cu ajutorul chipului ThinkGear.

eSense reprezintă un algoritm de caracterizare a stărilor mentale. Pentru a calcula


parametrii eSense, tehnologia NeuroSky ThinkGear amplifică semnalul brut şi îndepărtează
zgomotul ambiental şi miscarea musculară. Algoritmul eSense este implementat ulterior pe
semnalul filtrat. Valorile parametrice furnizate în urma implementării algoritmului nu
reprezintă valori numerice exacte, acestea făcând referinţă la o serie de activităţi cerebrale.

La fel ca în cazul exersării unui muschi necunoscut, va fi nevoie de antrenament


pentru a obţine control deplin asupra parametrilor eSense. În general, atenţia poate fi
controlată prin păstrarea concentrării la nivel vizual. Pentru a lucre cu acest parametru, se
recomandă păstrarea unui şir de gânduri îndreptat spre realizarea unui singur proces sau
imaginarea rezultatului dorit. În cazul stării de meditaţie, în general este de dorit o stare de
relaxare. Acest lucru se poate realiza prin atingerea unei stări de calm, în care mintea este
degajată de gânduri şi acţiuni care distrag atenţia. Pentru a ajunge la o stare meditativă,
experimentul este recondat să se realizeze cu ochii închişi. Răbdarea reprezintă un factor
esenţial în atingerea rezultatelor dorite.

4.2. Abordare tehnică

Frecvenţa de utilizare a senzorului MindWave este în jurul valorii de 50 Hz.


Frecvenţa de funcţionare RF pentru transmiterea wireless a datelor este cuprinsă între
2.420-2.471 GHz, având o putere maximă de 6 dBm. Rata de transmisie a datelor este de până
la 250 kbit/s. Raza RF maxima este de 10 m.

Datorita conexiunii wireless, apare o pierdere de pachete de date de până la 5%.

Gama de semnal EEG de intrare are un maxim de 1 mV pk-pk. Filtarea hardware a


semnalului este cuprinsa intre 3 si 100 Hz, iar rata de calcul eSense este de 1 Hz.

Convertorul analog-numeric are o rezoluţie de 12 bits, transformând tensiunea


măsurata în valori numerice digitale, reprezentând amplitudinea.

Pentru fiecare parametru eSense, există o scală cuprinsă între 1 şi 100. Pe acestă scală,
o valoare cuprinsă între 40 şi 60 este considerată neutră în sensul stabilit prin tehnicile de
măsurare convenţionale. O valoare cuprinsă între 60 şi 80 este considerată uşor crescută,
putând fi interpretată ca fiind un nivel mai mare decat cel normal. O valoare cuprinsă între 80
şi 100 este considerată ridicată, aceasta reprezentând un nivel superior al parametrilor eSense.
Similar, valori cuprinse între 20 şi 40 indică niveluri reduse ale parametrilor, iar valori
cuprinse între 1 şi 20 indică niveluri foarte scăzute. Aceste niveluri pot indica stări în care
atenţia este distrasă sau stări de agitaţie.

Motivul pentru care există o gamă relativ variată pentru fiecare interpretare este dat de
modul de învăţare dinamică al argoritmilor eSense. În anumite momente sunt folosiţi
algoritmi usor-adaptivi pentru ajustarea unor fluctuaţii naturale pentru diferiţi utilizatori.
Acest lucru compensează pentru faptul că undele cerebrale sunt supuse la limite normale,
variaţii şi fluctuaţii. Acesta este unul din motivele pentru care senzorii ThinkGear sunt atat de
versatili, putând fi utilizaţi pentru a obţine date precise indiferent de condiţii.
19
Atenţia este parametrul eSense care indică gradul de concentrare care apare în
momentul unei activităţi cerebrale. Valoarea acestui parametru variază între 0 şi 100. Nivelul
de atenţie este influenţat de anxietate, gânduri rătacitoare, pierderea concentrării sau orice alt
factor care distrage atenţia.

Meditaţia este parametrul eSense care indică gradul de relaxare sau calm. Valoarea
acestui parametru variază între 0 şi 100, reprezentând starea mentală a unei persoane. Cu toate
acestea, pentru majoritatea indivizilor, o relaxare la nivel fizic ajută atingerea unei stări de
calm la nivel psihic. Starea de meditaţie se referă la reducerea activităţilor cerebrale.
Închiderea ochilor reprezintă o modalitate rapidă de creştere a nivelului de meditaţie.
Distragerea atenţiei, anxietatea sau stimulii senzoriali pot conduce la scăderea nivelului
meditativ.

4.3. Algoritmi

Algoritmi fundamentali de tip FFT (Fast Fourier Transform):

Relaţia de calcul fundamental a procesoarelor de semnal:

[ ] [ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.1)

[ ] ∑ [ [ ] [ ] ] ∑ [ [ ]
[ ] ] ̅̅̅̅̅̅̅̅̅̅ (4.2)

- Se folosesc pentru obţinerea unei reduceri a efortului de calcul


- Utilizează proprietaţile armonicelor elementare ale semnalului

Caracteristici:
- Durata semnalului discret trebuie să fie o putere a lui 2 ( )
- Semnalul de intrare este identic cu cel original sau obţinut prin rearanjarea
eşantioanelor
- Semnalele intermediare reprezintă versiuni din ce în ce mai rafinate ale semnalului
iniţial
- Semnalul de ieşire este identic cu TFD sau obţinut prin rearanjarea eşantioanelor
- Calculele sunt organizate pe doua nivele ierarhice:
 Micro-nivel, în care există N/2 blocuri paralele de calcul
 Macro-nivel, în care există L trepte secventiale de calcul

Notaţii şi convenţii:

– Operatorul de întârziere cu un pas


– Numarul de eşantioane ale semnalului ( )
– Secvenţa discretă de semnal de analizat ( ̅̅̅̅̅̅̅̅̅̅)
– Transformata Fourier discretă asociată semnalului ̅̅̅̅̅̅̅̅̅̅
– Treapta unitară discretă
[ ] { – Impuls unitar periodic (4.3)

20
– Armonica elementară, unde: (4.4)

∑ ∑ ̅ [ ] (4.5)

Sinteza ITFD:

[ ] ∑ [ ]̅ ̅̅̅̅̅̅̅̅̅̅ (4.6)

TFD reduce numărul de operaţii necesare calculului în implementarea directă, folosind


proprietăţile armonicelor elementare.

4.3.1. Algoritmul lui Goertzel:

Algoritmul lui Goertzel reprezintă o tehnică de procesare a semnalelor digitale care


oferă o metodă eficientă de evaluare a Transformatei Fourier Discrete (TFD). Algoritmul
oferă posibilitatea evaluării unei componente frecvenţiale a semnalului discret.

Algoritmul lui Goertzel are forma unui filtru digital, structurat în cascadă. Prima etapă
a filtrului calculează o secvenţă intermediară în funcţie de secvenţa primită la intrare. Acestă
etapă acţionează ca un filtru cu raspuns infinit la impuls (IIR). A doua etapă preia secvenţa
intermediară şi o prelucrează cu ajutorul unui filtru cu răspuns finit la impuls (FIR) pentru a
obţine ieşirea dorită.

Analiza TFD:

[ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.7)

Exprimare echivalentă TFD:

[ ] ∑ [ ]̅ ̅̅̅̅̅̅̅̅̅̅ (4.8)

𝑥 𝑦𝑘 ≡ 𝑥 ∗ 𝑘
* 𝑘

Figura 4.2: Schema bloc de reprezentare a unui sistem

[ ] ̅ [ ] (4.9)

[ ] ∑ [ ] [ ] ∑ [ ]̅ ̅̅̅̅̅̅̅̅̅̅ (4.10)

[ ] [ ] ̅̅̅̅̅̅̅̅̅̅ (4.11)

Funcţia de transfer a sistemului este:

∑ [ ] ∑ ̅ ̅̅̅̅̅̅̅̅̅̅ (4.12)
̅

21
Ecuaţia recursivă a ieşirii:

[ ] ̅ [ ] [ ] (4.13)

[ ] [ ]
[ ] ̅ [ ] [ ]
(4.14)
[ [ ] ̅ [ ] [ ] ̅ [ ] [ ]

( ̅ ) [ ] [ ] ̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅ (4.15)

( ) [ ] ( ) [ ] ̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅ (4.16)

[ ] [ ] [ ] [ ] [ ] ̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅
(4.17)

Schema de calcul:
x 𝑦𝑘

𝑞 𝑘𝜋 𝑞
2cos
𝑁

𝑤𝑁𝑘
𝑞
-1

Figura 4.3: Schema inţială de calcul a Algoritmului lui Goertzel

Iniţializare: [ ] [ ] ̅̅̅̅̅̅̅̅̅̅ (4.18)

Pentru a calcula, vom folosi o varintă mai eficientă de calcul:


x 𝑣𝑘 𝑦𝑘

𝑘𝜋 𝑞
2cos
𝑁
𝑤𝑁𝑘

𝑞
-1

22
Figura 4.4: Schema eficientă de calcul a Algoritmului lui Goertzel

Algoritmul lui Goertzel:

[ ] [ ]

[ ] [ ] [ ] [ ] (4.19)

[ [ ] [ ] [ ]

[ ] [ ] [ ] [ ] ̅̅̅̅̅̅̅̅̅̅ (4.20)

În urma rulării Algoritmului lui Goertzel pentru seriile de timp care reprezintă
parametrii eSense, se obţin:

Figura 4.5: Evoluţia parametrilor eSense în timp

23
Figura 4.6: Seriile de timp FFT pentru parametrii eSense

Figura 4.7: Modelul ARMA al parametrilor eSense

24
Figura 4.8: Zgomotul alb pentru parametrii eSense

Figura 4.9: Zgomotul colorat pentru parametrii eSense

25
Figura 4.10: Densitatea spectrala de putere a parametrilor eSense

Figura 4.11: Goertzel pentru parametrii eSense

26
Figura 4.12: Faza Goertzel pentru parametrii eSense

Pentru undele cereberale, în urma rulării Algoritmului lui Goertzel, se obţine:

Figura 4.13: Evolutia undelor cerebrale in timp


27
4.3.2. Algoritmul FFT bazat pe segmentarea în timp:

Principiul segmentării în timp:

[ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.21)

[ ] ∑ [ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.22)

Pentru TFD2M se poate utiliza o pereche de TFDM, aplicată segmentelor par şi impar ale
segmentului original.

(4.23)

[ ] ∑ [ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.24)

[ ] ∑ [ ] (4.25)

[ ] ∑ [ ] (4.26)

În cazul în care N=4M, semnalul poate fi partajat în 4 segmente. În general, dacă


N=2L, semnalul poate fi partajat în 2L-1 segmente, fiecare segment avand 2 eşantioane.
Semnalul iniţial, , obţinut prin rearanjarea eşantioanelor lui x, este transformat succesiv în
semnale intermediare , , …, , obţinându-se în final semnalul , cu ajutorul TFDN.
[ ] [ ] ̅̅̅̅̅ (4.27)
pentru .
Pentru rearanjarea eşantioanelor lui în , se va realiza o inversare binară a indexului
iniţial.
̅̅̅̅̅̅̅̅̅̅
[ ] [ ] [ ]
[ [ ̅̅̅̅̅
[ ] [ ] [ ] ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
(4.28)

Schema generală de calcul:


𝑙
𝑣𝑙 [ 𝑙
𝑘 𝑚] 𝑣𝑙 [ 𝑘 𝑚]

𝑙 𝑙 𝑙 𝑙
𝑣𝑙 [ 𝑘 𝑚] 𝑣𝑙 [ 𝑘 𝑚]

Figura 4.14: Schema generală de calcul a Algoritmului FFT cu segmentare în timp

28
În urma rulării Algoritmului FFT cu segmentare în timp pentru seriile de timp care
reprezintă parametrii eSense, se obţin:

Figura 4.15: Modelul ARMA al parametrilor eSense

Figura 4.16: Zgomotul alb pentru parametrii eSense

29
Figura 4.17: Zgomotul colorat pentru parametrii eSense

Figura 4.18: Spectre zgomot colorat pentru Atenţie

30
Figura 4.19: Spectre zgomot colorat pentru Mediţatie

Figura 4.20: Densitatea spectrală de putere a parametrilor eSense

31
Figura 4.21: Densitatea spectralăa de putere a filtrului pentru parametrilor eSense

Figura 4.22: Eroarea spectrală a parametrilor eSense

32
Figura 4.23: FFT cu segmentare în timp pentru parametrii eSense

Figura 4.24: Faza FFT cu segmentare în timp pentru parametrii eSense

33
4.3.3. Algoritmul FFT bazat pe segmentarea în frecvenţă:

Principiul segmentării în frecvenţă:

[ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.29)

[ ] ∑ [ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.30)

[ ] ∑ [ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅ (4.31)

Pentru TFD2M se pot utiliză 2 segmente cu suport de lungime M.


(4.32)

[ ] ∑ [ ] [ ] ̅̅̅̅̅̅̅̅̅̅ (4.33)

[ ] [ ] [ ] ̅̅̅̅̅̅̅̅̅̅̅
[ (4.34)
[ ] [ ] [ ] ̅̅̅̅̅̅̅̅̅̅̅

[ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅̅
[ (4.35)
[ ] ∑ [ ] ̅̅̅̅̅̅̅̅̅̅̅

Pentru calculul TFD2M se poate utiliza o pereche TFDM aplicată semnalelor si .


În cazul în care N=4M, semnalul poate fi partajat în 4 segmente. În general, daca N=2L,
semnalul poate fi partajat în 2L-1 segmente, fiecare segment avand 2 eşantioane.
În cazul algoritmului FFT cu segmentarea semnalului în frecvenţă, intrările se inversează cu
ieşirile. Aranjarea semnalelor se face similar algoritmului FFT cu segmentare în timp.

[ ] [ ] [ ]
[
[ ] [ ] [ ]
̅̅̅̅̅̅̅̅̅̅
[ ̅̅̅̅̅̅̅̅̅̅̅ (4.36)
̅̅̅̅̅̅̅̅̅̅

Schema generală de calcul:


𝐿 𝑙
𝐿 𝑙
𝑣𝑙 [ 𝑘 𝑚]
𝑣𝑙 [ 𝑘 𝑚]

𝐿 𝑙 𝐿 𝑙
𝑣𝑙 [ 𝑘 𝑚] 𝐿 𝑙 𝐿 𝑙
𝑣𝑙 [ 𝑘 𝑚]

Figura 4.25: Schema generala de calcul a Algoritmului FFT bazat pe segmentarea in


frecventa

34
În urma rulării Algoritmului FFT cu segmentare în frecvenţă pentru seriile de timp
care reprezintă parametrii eSense, se obţin:

Figura 4.26: Modelul ARMA al parametrilor eSense

Figura 4.27: Zgomotul alb pentru parametrii eSense

35
Figura 4.28: Zgomotul colorat pentru parametrii eSense

Figura 4.29: Densitatea spectrala de putere a parametrilor eSense

36
Figura 4.30: Densitatea spectrala de putere a filtrului pentru parametrilor eSense

Figura 4.31: FFT cu segmentare in frecventa pentru parametrii eSense

37
Figura 4.32: Faza FFT cu segmentare in frecventa pentru parametrii eSense

38
5. Concluzii

Experimentul a fost efectuat pe o serie de timp preluată cu ajutorul senzorului


MindWave şi prelucrată cu OpenVibe. Acest program reprezintă o platformă software
dedicată creării şi testării interfeţelor cerebrale. Cu ajutorul unui Designer Tool, utilizatorul
are posibilitatea de a crea aplicaţii pe care le poate testa ulterior în timp real, prin conectarea
unui senzor care captează undele cerebrale la platforma software.

Senzorul MindWave se poate conecta la OpenVibe, printr-o conexiune RF, cu ajutorul


unui server de achiziţii, care preia semnalul cerebral.

Figura 5.1: Interfaţa de conectare a senzorului MindWave la OpenVibe prin Acquisition


Server

39
Figura 5.2: Preluare de semnal cerebral în timp real, cu ajutorul OpenVibe Designer

La o rată de eşantionare de 512 Hz, pe o perioada T=8.5 s, s-au obţinut 4250 de


eşantioane, la o perioadă de eşantionare Te=2 ms. Pe aceste eşantioane sunt observabile 9
schimbări semnificative ale parametrilor masuraţi, astfel:

40
-

41
-

42
Figura 5.3: Evoluţia Atenţiei şi Meditaţiei în timp

Figura 5.4: Evoluţia undelor cerebrale în timp

În intervalul T0-T1 se poate observa o creştere a parametrilor eSense. Cu ajutorul


acestor parametrii, putem deduce, teoretic, modul în care vor evolua undele cerebrale. Unda
Delta este caracterizată de o stare de inconştieinţă, iar unda Theta este caracterizată de o stare
43
intuitivă, creativă. Datorită creşterii nivelului de Atenţie, nivelurile undelor Delta şi Theta vor
scădea, ceea ce se poate observa experimental.

Unda Low Alpha este caracterizată de o stare de neatenţie, în timp ce High Alpha
denotă o stare de relaxare, conştienţă. Unda Low Beta este caracterizată printr-o stare de
veghe, concentrare relaxată, în timp ce High Beta este definită printr-o stare alertă, de agitaţie.
Pentru că Atenţia creşte, unda Low Alpha va scădea. Interesant este faptul că, pe acest
interval, şi Meditaţia creşte. Acest lucru duce la o stare de conştienţă şi concentrare relaxată,
astfel fiind puse în evidenţă undele High Alpha şi Low Beta , care cresc. Pentru că nivelul de
Meditaţie creşte, unda High Beta scade.

În ceea ce priveşte undele Gamma, există foarte multe teorii antitetice. În general,
aceste unde sunt considerate a fi implicate în crearea unei unităţi de percepţie conştientă, ele
pornind din talamus, care face legătura cu maduva spinării, emisferele cerebrale şi trunchiul
cerebral. În cazul în care talamusul suferă o leziune, undele Gamma se opresc, iar individul
intră în comă profundă. Astfel, s-a ajuns la concluzia că acest tip de undă ar oferi răspunsul la
problema lagăturii individului cu mediul şi modul în care creierul nostru are capacitatea de a
forma interfaţa între partea cognitivă, neuroştiinţă şi filosofia a minţii.

Pe acest prim interval, în care Atenţia şi Meditaţia cresc, nivelul undelor Low Gamma
şi Mid Gamma creşte, acest lucru putând fi explicat prin creşterea nivelului de conştienţă,
într-o manieră relaxată.

În intervalul T1-T2, Atenţia suferă în continuare o uşoara creştere, pe când Meditaţia


descreşte. Cu toate acestea, undele Delta şi Theta cresc. Acest lucru poate fi explicat usor,
urmărind nivelul de zgomot al parametrilor eSense. Deşi experimental, Atenţia creşte şi
Meditaţia descreşte, undele crebrale sugerează ceva diferit. O creştere a undelor Beta
sugerează o creştere usoară a Atenţiei, iar o creştere a undelor Delta şi Theta sugerează cel
puţin o stagnare a nivelului de Meditatie, lucru care este argumentat şi prin creşterea undelor
Alpha. În acest interval, nivelul undei Low Gama creşte, iar Mid Gamma descreşte.

În intervalul T2-T3, Atenţia suferă o creştere considerabilă, nivelul undelor Delta şi


Theta scăzând. Se subîntelege că şi nivelul undei Low Alpha va scădea, datorită creşterii
concentrării. Desi Meditaţia sufera o uşoară creştere, nivelul undei High Alpha scade, pentru
că nivelul de Atenţie creşte mult mai rapid, survenind o uşoară stare de agitaţie, care se
subliniază prin creşterea nivelului undei High Beta şi scăderea undei Low Beta.

În acest interval, se observă o scădere a undelor Gamma. Acest lucru ar putea fi


motivate prin creşterea nivelului de anxietate, care produce un dezechilibru interior.

În intervalul T3-T4, nivelul de Atenţie scade, iar Meditaţia creşte. Acest lucr are ca
efect creşterea nivelurilor undelor Delta şi Theta. Pentru că Atenţia scade, nivelul undei Low
Alpha va creşte, iar pentru că Meditaţia creşte şi odată cu aceasta şi relaxarea, nivelul undei
High Alpha va creşte. Deşi nivelul de relaxare creşte, concentrarea scade, ceea ce înseamnă că
undele Beta suferă o evoluţie descendentă.

În acest interval, nivelul de concentrare scade, iar cel de relaxare creşte. Acest lucru
influenţează unda Low Gamma descendent şi Mid Gamma ascendant.

În intervalul T4-T5, nivelul de Atentie continuă să scadă uşor, pe cand cel de Mediţatie
pare să ramană constant. În aceste condiţii, este de aşteptat ca parametrii să îsi continue
evoluţia din segmental de timp anterior. Dar undele Delta si Theta scad. Mai mult, scaderea
44
undei Low Alpha alaturi de creşterea complexului Beta şi a undei High Alpha sugerează o
creştere a parametrului de Atenţie. Acest lucru poate fi motivate prin apariţia unui zgomot
puţin mai acentuat pentru parametrul de Atentie.

Mai mult, scăderea undelor Gamma ar putea sugera creşterea nivelului de anxietate,
ceea ce argumentează presupunerea creşterii reale a nivelului de Atenţie.

În intervalul T5-T6, nivelul de Atenţie suferăa un puseu de creştere, iar Meditaţia, o


uşoară descreştere. Creşterea rapidă a nivelului de Atenţie duce la scăderea undelor Delta şi
Theta, iar concentrarea puternică duce la o stare de agitaţie, care ulterior contribuie la
scăderea complexului Alpha şi a undei Low Beta, precum şi la creşterea undei High Beta.
Complexul Gama suferă o evolutie ascendentă.

În intervalul T6-T7, nivelul de Atenţie scade, iar Meditaţia creşte, fiind firească
creşterea nivelurilor undelor Delta şi Theta. Deşi nivelul de Atenţie scade, acesta ramane în
continuare relativ ridicat, ca urmare nivelul undei Low Alpha fiind în continuare în scădere.
Datorită creşterii nivelului de relaxare, unda High Alpha evoluează ascendant. Deşi nivelul de
relaxare este în creştere, Atenţia este diminuată, ca urmare complexul Beta fiind în scădere iar
complexul Gamma fiind în creştere.

În intervalul T7-T8, creşterea nivelului de Atenţie şi scăderea celui de Meditaţie ar


trebui sa repete evoluţia descendentă a undelor Delta şi Theta. Însa lucrurile se schimbă
datorita unui detaliu: subiectul clipeşte. Astfel Delta scade, iar Theta creşte, sugerând o stare
imaginativă. Tiparul stabilit pana acum nu se mai pastrează, undele cerebrale începând să aibă
evoluţii diferite, până la deschiderea ochilor, care apare în intervalul T8-T9, în care stările de
Atenţie şi Meditaţie încep să descrească concomitent.

Evoluţia parametrilor eSense şi a undelor cerebrale este prelucrată şi pusă în evidenţă


cu ajutorul algoritmilor bazaţi de Fast Fourir Transform. Astfel, un semnal prelevat de la o
persoană este prelucrat cu ajutorul filtrelor software şi interpretat din punct de vedere
ingineresc pentru a putea face o legatura palpabilă între natură şi ştiinţă.

În abordarea experimentală, am considerat semnalul cerebral ca fiind un semnal


aleator. Pentru a putea realiza estimările cu ajutorul algoritmilor FFT, am folosit serii de timp
de lungime finită, N. Am considerat funcţia de autocovarianţă ca fiind zero în afara
intervalului, lucru care a condus la scurgeri spectrale şi limitări ale rezoluţiei în frecvenţă.

Compromisul facut prin utilizarea metodele neparametrice din cadrul algoritmilor FFT
este legat de rezoluţia de frecvenţă, care poate fi maxim egală cu lăţimea spectrală a ferestrei
rectangulare de lungime N. Densitatea spectrală de putere este obţinută prin netezirea funcţiei
de autocovarianţă, care duce la scăderea rezoluţii de frecvenţă odată cu scaderea dispersiei
estimatorului. Experimental, densitatea spectrală de putere obtinută cu ajutorul Algoritmului
FFT cu segmentare în timp este similară cu cea obţinută cu Algoritmul FFT cu segmentare în
frecvenţă.

În ceea ce priveste zgomotele aparute în semnal, în programul OpenVibe este


considerat acceptabil un semnal care are zgomot mai mic de 12.5%. În prelucrarea
algoritmică, zgomotul alb, caracterizat prin energie egala pe latime de banda constantă, este
minim în prelucrarea semnalului cu Algoritmul FFT cu segmentare în timp şi maxim în
prelucrarea cu Algoritmul lui Goertzel. Zgomotul colorat, caracterizat printr-un spectru
continuu într-un domeniu de frecvenţă specificat, este minim în urma rulării Algoritmului lui
Goertzel şi maxim în prelucrarea semnalului cu Algoritmul FFT cu segmentare în timp.
45
Eroarea specratlă obţinută pentru zgomotul colorat la o frecvenţă de 512 Hz este
aproximativ egală pentru Algoritmii FFT cu segmentare în timp şi frecvenţă.

În cadrul lucrării experimentale, pe viitor, se pot integra senzori care sa poată capta
semnal din mai multe unghiuri. În aceste condiţii, se poate observa modul în care undele
cerebrale interacţionează între ele şi lobii în care acestea se formează. O astfel de abordare
poate oferi, pe langa semnalul de o calitate superioară, o privire de ansamblu sub forma unei
mapari tridimensionale.

46
6. Bibliografie

Agardy F. J. şi Nemerow N. L. 2005, Environmental Solutions; p.60-310

Department of Neuroscience, Wikiversity 2010, Fundamentals of Neuroscience (curs)

Department of Neuroscience, Wikiversity 2010, Comparative Neuroscience (curs)

Dishing T. J. şi McGrant M. 2010, Wireless Sensors Networks for Healthcare


Applications; p. 14-138

Cheng E. şi Hudak P. 2009, Audio Processing and sound Synthesis in Haskell

Eggins B. 2009, Chemical Sensors and Biosensors. Analytical Techniques in the


Sciences; p. 22-180

Goertzel G. 1958, An Algorithm for the Evaluation of Finite Trigonometric


Series (American Mathematical Monthly)

Goodman J. I. şi Martinez D. 2008, Next-Generation Technologies to Enable Sensor


Networks

Haenggi M. 2008, Opportunities and Challenges in Wireless Sensor Networks

Ilyas M. şi Mahgoub I. 2010 Handbook of Sensor Networks: Compact Wireless and


Wired Sensing Systems; p. 15-180

Medgadget 2011, OpenViBE: See Your Brain in Action

MindWave User Guid (2011)

MIT Press Journal 2010, OpenVibe: An Open-Source Software Platform to Design,


Test and Use Brain-Computer Interfaces in Real and Virtual Environments,Vol. 19, p. 35–53

Ruiz L. B., Nogueira J. M., Laureiro A. A. 2008, Sensor Network Management

Sgârciu V. 2010, Traductoare şi Sisteme de Măsură (curs)

Ştefanoiu D. 2012, Prelucrarea Semnalelor (curs)

Yang G. 2005, Body Sensor Networks; p.63-110, 137-257

47
7. Anexă A: Grafice

7.1. Algoritmul lui Goertzel:

7.1.1. Atenţie:

Fig 7.1: Grafic Atenţie în funcţie de timp Fig 7.2: Seria de timp FFT

Fig 7.3: Model ARMA pentru Atenţie Fig 7.4: Zgomot alb pentru Atenţie

Fig 7.5: Zgomot colorat pentru Atenţie Fig 7.6: Metoda Poli-zerouri

48
Fig 7.7: Densitatea spectrala a seriei de timp Fig 7.8: Goertzel pentru Atentie

Fig 7.9: Faza FFT pentru Atentie Fig 7.10: Faza Goertzel pentru Atentie

7.1.2. Meditaţie:

Fig 7.11: Grafic Meditaţie în funcţie de timp Fig 7.12: Seria de tip FFT

49
Fig 7.13: Model ARMA pentru Meditaţie Fig 7.14: Zgomot alb pentru Meditaţie

Fig 7.15: Zgomot colorat pentru Meditaţie Fig 7.16: Metoda Poli-zerouri

Fig 7.17: Densitatea spectrală a seriei de timp Figura 7.18: Goertzel pentru Meditaţie

Fig 7.19: Faza FFT pentru Meditaţie Fig 7.20: Faza Goertzel pentru Meditaţie
50
7.2. Algoritmul FFT cu segmentare în timp:

7.2.1. Atenţie:

Fig. 7.21: Grafice Atenţie in funcţie de timp Fig. 7.22: Zgomote normalizate pentru Atenţie

Fig. 7.23: Metoda Poli-zerouri Fig. 7.24: Metoda Poli-zerouri cu filtrare

Fig. 7.25: Densitatea spectrală pentru Atenţie Fig. 7.26: Densitatea spectrală a filtrului

51
Fig. 7.27: Eroare spectrală pentru Atenţie Fig. 7.28: Eroare de fază pentru Atenţie

Fig. 7.29: Eroare spectrală zgomot colorat Fig. 7.30: Eroare de fază zgomot colorat

7.2.2. Meditaţie

Fig. 7.31: Grafice Meditaţie funcţie de timp Fig.7.32: Zgomote normalizate pentru
Meditaţie

52
Fig. 7.33: Metoda Poli-zerouri Fig. 7.34: Metoda Poli-zerouri cu filtrare

Fig. 7.35: Densitatea spectrală pentru Meditaţie Fig. 7.36: Densitatea spectrală a filtrului

Fig. 7.37: Eroare spectrală pentru Meditaţie Fig. 7.38: Eroare de fază pentru Meditaţie

53
Fig. 7.39: Eroare spectrală zgomot colorat Fig. 7.40: Eroare de fază zgomot colorat

54
7.3. Algoritmul FFT cu segmentare în frecvenţă:

7.3.1. Atenţie:

Fig. 7.41: Grafice Atenţie în funcţie de timp Fig. 7.42: Zgomote normalizate pentru Atenţi

Fig. 7.43: Metoda Poli-zerouri Fig. 7.44: Metoda Poli-zerouri cu filtrare

Fig.7.45:Densitatea spectrală pentru Atenţie Fig.7.46:Densitatea spectrală a filtrului

55
Fig.7.47:Eroare spectrală pentru Atenţie Fig.7.48:Eroare de fază pentru Atenţie

Fig. 7.49: Eroare spectrală zgomot colorat Fig. 7.50: Eroare de fază zgomot colorat

7.3.2. Meditaţie:

Fig. 7.51: Grafice Meditaţie în funcţie de timp Fig. 7.52: Zgomote normalizate pentru
Meditaţie

56
Fig. 7.53: Metoda Poli-zerouri Fig. 7.54: Metoda Poli-zerouri cu filtrare

Fig.7.55:Densitatea spectrală pentru Meditaţie Fig.7.56:Densitatea spectrală a filtrului

Fig.7.57:Eroare spectrală pentru Meditaţie Fig.7.58:Eroare de fază pentru Meditaţie

57
Fig. 7.59: Eroare spectrală zgomot colorat Fig. 7.60: Eroare de fază zgomot colorat

58
8. Anexă B: Cod Matlab

8.1. Algoritmul lui Goertzel:

Funcţia pentru algoritm:

function y=geortzel(x)

N=length(x);
x=[x 0];
y=[];
Wf=2*pi/N;
Wk=0;
for k=1:N
v1 = 0;
vkn = 0;
for n=1:(N+1)
v2 = vkn;
vkn = 2*cos(Wk)*vkn-v1+x(n);
v1 = v2;
end
y=[y vkn-v1*exp(-j*Wk)];
Wk=Wk+Wf;
end
end

Funcţia de apelare:
function seria

nr=input('Introduceti numarul seriei de timp: ');


if nr<10
eval(['Y0' int2str(nr)])
else
eval(['Y' int2str(nr)])
end

if (nr==1) disp('Numele seriei este: ')


open Y01
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==2) disp('Numele seriei este: ')


open Y02
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==3) disp('Numele seriei este:')


open Y03
disp(label)
disp(Ts)
disp(unit)
59
disp(ntime)
disp(yunit)
end

if(nr==4) disp('Numele seriei este:')


open Y04
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==5) disp('Numele seriei este:')


open Y05
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==6) disp('Numele seriei este: ')


open Y06
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==7) disp('Numele seriei este: ')


open Y07
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==8) disp('Numele seriei este: ')


open Y08
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==9) disp('Numele seriei este: ')


open Y09
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==10) disp('Numele seriei este: ')


open Y10
disp(label)
disp(Ts)
disp(unit)
60
disp(ntime)
disp(yunit)
end

%ARMA
dat=iddata(y,[],Ts);
na=13;
nc=10;
m=armax(dat,[na nc]);
eps=filter(m.a,m.c,y);
eps(1:round(na/2))=0;
yst=y-eps;
figure(3)
plot(ntime,yst); title('Model ARMA al sriei de timp');
end

N=length(y)
figure(1)
plot(ntime, y); title(label); xlabel(unit); ylabel(yunit)
figure(2)
yf=fft(y(1:N));
plot(ntime,20*log10(abs(yf))); title('Seria de timp FFT');

Ts=(ntime(2)-ntime(1));
for i=2:N-1
if (Ts>(ntime(i+1)-ntime(i)))
Ts=(ntime(i+1)-ntime(i));
end
end

%ARMA
dat=iddata(y',[],Ts);
na=13;
nc=10;
m=armax(dat,[na nc]);
eps=filter(m.a,m.c,y);
eps(1:round(na/2))=0;
yst=y-eps;
figure(3)
plot(ntime,yst); title('Model ARMA');

%Zgomotul alb
wn=wgn(N,1,1);
dat_wn=iddata(wn,[],Ts);
m_wn=armax(dat_wn,[na nc]);
eps_wn=filter(m_wn.a,m_wn.c,wn);
lambda=(eps*eps')/N;
figure(4)
plot(ntime,eps); title('Zgomotul alb')
figure(5)
plot(ntime,eps_wn); title('Zgomotul colorat')
figure(6)
zplane(m.a,m.c); title('Poli zerouri')
f=0:1/N:0.5;
h=freqz(m.a,m.c,f);
figure(7)
plot(f,abs(h)); title('Densitate spectrala a seriei de timp');
X=geortzel(y);
X=X(1:N);
figure(8)
plot(ntime,20*log10(abs(X))); title('Goertzel');
ayf=angle(yf);
figure(9)
61
plot(ntime,ayf); title('Faza FFT');
aX=angle(X);
figure(10)
plot(ntime,aX); title('Faza Goertzel');
end

8.2. Algoritmul FFT cu segmentare în timp:

Funcţia pentru algoritm:


function x=FFT_t(x)

n=length(x);
L=nextpow2(n);
N=2^L;
N1=2^(L-1);

if (abs(N1-n)<abs(N-n))
x=x(1:N1);
L=L-1;
else
if (abs(N1-n)>abs(N-n))
x=[x, zeros(1,(2^L)-n)];
end
end

x=bitrevorder(x);%inversarea bitilor

for l=0:L-1
lim=bitset(0,l+1);
put=bitshift(lim,1);
for m=1:lim
k=0:(bitset(0,L-l)-1);
a=x(put*k+m);
x(put*k+m)=a+exp(-j*2*pi*(m-1)/(put))*x(put*k+lim+m);
x(put*k+lim+m)=a-exp(-j*2*pi*(m-1)/(put))*x(put*k+lim+m);
end
end

end

Funcţia de apelare:
function FFT_TIMP

nr=input('Introduceti numarul seriei de timp: ');

if nr<10
eval(['Y0' int2str(nr)])
else
eval(['Y' int2str(nr)])
end

if (nr==1) disp('Numele seriei este: ')


open Y01
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end
62
if(nr==2) disp('Numele seriei este: ')
open Y02
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==3) disp('Numele seriei este:')


open Y03
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==4) disp('Numele seriei este:')


open Y04
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==5) disp('Numele seriei este:')


open Y05
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==6) disp('Numele seriei este: ')


open Y06
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==7) disp('Numele seriei este: ')


open Y07
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==8) disp('Numele seriei este: ')


open Y08
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end
63
if (nr==9) disp('Numele seriei este: ')
open Y09
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==10) disp('Numele seriei este: ')


open Y10
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

yt=y';
%Graficul seriei de timp
hold on
figure(1)
N = length(yt) ;
subplot(3,1,1)
plot(ntime,y) ;
title('Seria de timp');
ylabel('Date masurate');

%model ARMA
Ts=(ntime(2)-ntime(1));
for i=2:ntime-1
if (Ts>(ntime(i+1)-ntime(i)))
Ts=(ntime(i+1)-ntime(i));
end
end

data=iddata(yt,[],Ts);
na=abs(round(10 + (25-10).*rand(1,1)));
nc=abs(round(10 + (25-10).*rand(1,1)));
m=armax(data,[na nc]);
err=filter(m.a,m.c,yt);
err(1:round(na/2))=0;

y1=yt-err;
lambda=err'*err/N;
subplot(3,1,2)
plot(ntime,y1);
title(['Model ARMA[' int2str(na) ',' int2str(nc) ']']);
ylabel('Date simulate');

%Grafic zgomot alb


subplot(3,1,3)
plot(ntime, err);
title(['Zgomotul alb (\lambda^2=' sprintf('%g',lambda) ')']);
ylabel('Eroare de predictie');
xlabel(['Timp [Ts = 1 ' unit ']']);

%Zgomot alb - zgomot colorat


N=length(y);
za=randn(1,N);
na_za=abs(round(10 + (25-10).*rand(1,1)));
64
nc_za=abs(round(10 + (25-10).*rand(1,1)));
za_data=iddata(za',[],Ts);
za_arma=armax(za_data,[na_za nc_za]);
er=filter(za_arma.a,za_arma.c,za);
pause;
figure(2)
subplot(2,1,1)
plot(ntime,za);
title('Zgomotul alb');
xlabel('Normalizare');
ylabel('Amplitudinea zgomotului');
subplot(2,1,2)
plot(ntime,er);
title(['Zgomot colorat - ARMA [' int2str(na_za) ',' int2str(nc_za) ']']);
xlabel('Normalizare');
ylabel('Amplitudine normalizata');

%Grafic poli-zerouri model ARMA


pause;
figure(3);
subplot(1,3,2)
zplane(m.a,m.c)
title('Polii - zerourile model ARMA')

str1(1)={'Polinomul A'};
str1(2)={''};
str1(3)={m.a};
annotation('textbox','HorizontalAlignment','center','Position', [0.05 0.10 0.3 0.8],'String',str1);

str2(1)={'Polinomul C'};
str2(2)={''};
str2(3)={m.c};
annotation('textbox','HorizontalAlignment','center','Position', [0.65 0.10 0.3 0.8],'String',str2);

%Grafic poli-zerouri model ARMA


pause;
figure(4)
subplot(1,3,2)
zplane(za_arma.a,za_arma.c)
title('Polii - zerourile ARMA filtrat ')

str1(1)={'Polinomul A'};
str1(2)={''};
str1(3)={za_arma.a};
annotation('textbox','HorizontalAlignment','center','Position', [0.05 0.10 0.3 0.8],'String',str1);

str2(1)={'Polinomul C'};
str2(2)={''};
str2(3)={za_arma.c};
annotation('textbox','HorizontalAlignment','center','Position', [0.65 0.10 0.3 0.8],'String',str2);

%Densitatea spectrala de putere a seriei de timp


f=0:1/N:0.5;
y_psd=freqz(m.a,m.c,f);
pause;
figure(5)

plot(f,db(abs(y_psd)));
title('Densitatea spectrala de putere a seriei de timp');
xlabel('Frecventa normalizata');
ylabel('Putere spectrala [dB]');
65
%Densitatea spectrala de putere a unui zgomot colorat
za_psd=freqz(za_arma.a,za_arma.c,f);
za_psd=db(abs(za_psd));

figure(6)
plot(f,za_psd);
title('Densitatea spectrala de putere a filtrului');
xlabel('Frecventa normalizata');
ylabel('Putere spectrala [dB]');

n=length(y);
L=nextpow2(n);
N=2^L;
N1=2^(L-1);
if (abs(N1-n)<abs(N-n))
y2=y(1:N1);
else
if (abs(N1-n)>abs(N-n))
y2=[y, zeros(1,(2^L)-n)];
end
end

%Spectru FFT
a=abs(fft(y2));
a=db(a);
pause;
figure(7)
subplot(3,1,1)
plot(a);
title('Spectru FFT');
ylabel('Spectru [dB]');

%Spectru FFT_t
b=abs(FFT_t(y));
b=db(b);
subplot(3,1,2)
plot(b);
title('Spectru FFT_t');
ylabel('Spectru [dB]');

%Eroare Spectrala
subplot(3,1,3)
plot(b-a);
title('Eroare spectrala');
ylabel('Eroare [dB]');

%faza - FFT
a=fft(y2);
pause;
figure(8)
subplot(3,1,1)
plot(angle(a));
title('Faza FFT');
ylabel('Faza [rad]');

%faza - FFT_t
b=FFT_t(y);
subplot(3,1,2)
plot(angle(b));
title('Faza FFT_t');
66
ylabel('Faza [rad]');

%Eroare de faza
Y=angle(fft(y2));
subplot(3,1,3)
plot(angle(b)-Y);
title('Eroare de faza');
ylabel('Faza [rad]');

%Spectru zgomot colorat


pause;
figure(9)
er1=[er,zeros(1,(2^L)-n)];
zc_dit=FFT_t(er1);

zc_fft=fft(er1);
figure(9)
subplot(3,1,1)
plot(abs(zc_dit));
title('Spectru zgomot colorat - FFT_t');
ylabel('Spectru [dB]');
subplot(3,1,2)
plot(abs(zc_fft));
title('Spectru zgomot colorat - FFT');
ylabel('Spectru [dB]');
subplot(3,1,3)
plot(abs(zc_fft)-abs(zc_dit));
title('Eroarea spectrala - zgomot colorat');
ylabel('Eroare [dB]');

%Faza zgomot colorat


pause;
figure(10)
subplot(3,1,1)
plot(angle(zc_dit));
title('Faza zgomot colorat FFT_t');
ylabel('Faza [rad]');
subplot(3,1,2)
plot(angle(zc_fft));
title('Faza zgomot colorat FFT');
ylabel('Faza [rad]');
subplot(3,1,3)
plot(angle(zc_dit)-angle(zc_fft));
title('Eroare de faza - zgomot colorat');
ylabel('Eroare [rad]');
end

8.3.Algoritmul FFT cu segmentare în frecvenţă:

Funcţia pentru algoritm:


function x=FFT_frecventa(x)

n=length(x);
L=nextpow2(n);
N=2^L;
N1=2^(L-1);

if (abs(N1-n)<abs(N-n))
67
x=x(1:N1);
L=L-1;
else
if (abs(N1-n)>abs(N-n))
x=[x, zeros(1,(2^L)-n)];
end
end

for l=0:L-1
lim=bitset(0,L-l);
put=bitshift(lim,1);
for m=1:lim
k=0:(bitset(0,l+1)-1);
a=x(put*k+m);
x(put*k+m)=a+x(put*k+lim+m);
x(put*k+lim+m)=exp(-j*2*pi*(m-1)/(put))*(a-x(put*k+lim+m));
end
end

x=bitrevorder(x);

end

Funcţia de apelare:
function FFT_frecventa1
nr=input('Introduceti numarul seriei de timp: ');

if nr<10
eval(['Y0' int2str(nr)])
else
eval(['Y' int2str(nr)])
end

if (nr==1) disp('Numele seriei este: ')


open Y01
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==2) disp('Numele seriei este: ')


open Y02
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==3) disp('Numele seriei este:')


open Y03
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==4) disp('Numele seriei este:')


68
open Y04
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if(nr==5) disp('Numele seriei este:')


open Y05
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==6) disp('Numele seriei este: ')


open Y06
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==7) disp('Numele seriei este: ')


open Y07
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==8) disp('Numele seriei este: ')


open Y08
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==9) disp('Numele seriei este: ')


open Y09
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

if (nr==10) disp('Numele seriei este: ')


open Y10
disp(label)
disp(Ts)
disp(unit)
disp(ntime)
disp(yunit)
end

yt=y';
69
hold on
%Graficul seriei de timp
figure(1)
N = length(yt) ;
subplot(3,1,1)
plot(ntime,y) ;
title('Seria de timp');
ylabel('Date masurate');

%model ARMA
Ts=(ntime(2)-ntime(1));
for i=2:ntime-1
if (Ts>(ntime(i+1)-ntime(i)))
Ts=(ntime(i+1)-ntime(i));
end
end

data=iddata(yt,[],Ts);
na=abs(round(10 + (25-10).*rand(1,1)));
nc=abs(round(10 + (25-10).*rand(1,1)));
m=armax(data,[na nc]);
err=filter(m.a,m.c,yt);
err(1:round(na/2))=0;

y1=yt-err;
lambda=err'*err/N;
subplot(3,1,2)
plot(ntime,y1);
title(['Model ARMA[' int2str(na) ',' int2str(nc) ']']);
ylabel('Date simulate');

%Grafic zgomot alb


subplot(3,1,3)
plot(ntime, err);
title(['Zgomotul alb (\lambda^2=' sprintf('%g',lambda) ')']);
ylabel('Eroare de predictie');
xlabel(['Timp [Ts = 1 ' unit ']']);

%Zgomot alb - zgomot colorat


N=length(y);
za=randn(1,N);
na_za=abs(round(10 + (25-10).*rand(1,1)));
nc_za=abs(round(10 + (25-10).*rand(1,1)));
za_data=iddata(za',[],Ts);
za_arma=armax(za_data,[na_za nc_za]);
er=filter(za_arma.a,za_arma.c,za);
pause;
figure(2)
subplot(2,1,1)
plot(ntime,za);
title('Zgomotul alb');
xlabel('Normalizare');
ylabel('Amplitudinea zgomotului');
subplot(2,1,2)
plot(ntime,er);
title(['Zgomot colorat - ARMA [' int2str(na_za) ',' int2str(nc_za) ']']);
xlabel('Normalizare');
ylabel('Amplitudine normalizata');

%Grafic poli-zerouri model ARMA


pause;
figure(3);
subplot(1,3,2)
70
zplane(m.a,m.c)
title('Polii - zerourile model ARMA')

str1(1)={'Polinomul A'};
str1(2)={''};
str1(3)={m.a};
annotation('textbox','HorizontalAlignment','center','Position', [0.05 0.10 0.3 0.8],'String',str1);

str2(1)={'Polinomul C'};
str2(2)={''};
str2(3)={m.c};
annotation('textbox','HorizontalAlignment','center','Position', [0.65 0.10 0.3 0.8],'String',str2);

%Grafic poli-zerouri model ARMA


pause;
figure(4)
subplot(1,3,2)
zplane(za_arma.a,za_arma.c)
title('Polii - zerourile ARMA filtrat ')

str1(1)={'Polinomul A'};
str1(2)={''};
str1(3)={za_arma.a};
annotation('textbox','HorizontalAlignment','center','Position', [0.05 0.10 0.3 0.8],'String',str1);

str2(1)={'Polinomul C'};
str2(2)={''};
str2(3)={za_arma.c};
annotation('textbox','HorizontalAlignment','center','Position', [0.65 0.10 0.3 0.8],'String',str2);

%Densitatea spectrala de putere a seriei de timp


f=0:1/N:0.5;
y_psd=freqz(m.a,m.c,f);
pause;
figure(5)

plot(f,db(abs(y_psd)));
title('Densitatea spectrala de putere a seriei de timp');
xlabel('Frecventa normalizata');
ylabel('Putere spectrala [dB]');

%Densitatea spectrala de putere a unui zgomot colorat


za_psd=freqz(za_arma.a,za_arma.c,f);
za_psd=db(abs(za_psd));

figure(6)
plot(f,za_psd);
title('Densitatea spectrala de putere a filtrului');
xlabel('Frecventa normalizata');
ylabel('Putere spectrala [dB]');

n=length(y);
L=nextpow2(n);
N=2^L;
N1=2^(L-1);
if (abs(N1-n)<abs(N-n))
y2=y(1:N1);
else
if (abs(N1-n)>abs(N-n))
y2=[y, zeros(1,(2^L)-n)];
end
end

71
%Spectru FFT
a=abs(fft(y2));
a=db(a);
pause;
figure(7)
subplot(3,1,1)
plot(a);
title('Spectru FFT');
ylabel('Spectru [dB]');

%Spectru FFT_frecventa
b=abs(FFT_frecventa(y));
b=db(b);
subplot(3,1,2)
plot(b);
title('Spectru FFT frecventa');
ylabel('Spectru [dB]');

%Eroare Spectrala
subplot(3,1,3)
plot(b-a);
title('Eroare spectrala');
ylabel('Eroare [dB]');

%faza - FFT
a=fft(y2);
pause;
figure(8)
subplot(3,1,1)
plot(angle(a));
title('Faza FFT');
ylabel('Faza [rad]');

%faza - FFT_frecventa
b=FFT_frecventa(y);
subplot(3,1,2)
plot(angle(b));
title('Faza FFT frecventa');
ylabel('Faza [rad]');

%Eroare de faza
Y=angle(fft(y2));
subplot(3,1,3)
plot(angle(b)-Y);
title('Eroare de faza');
ylabel('Faza [rad]');

%Spectru zgomot colorat


pause;
figure(9)
er1=[er,zeros(1,(2^L)-n)];
zc_dit=FFT_frecventa(er1);

zc_fft=fft(er1);
figure(9)
subplot(3,1,1)
plot(abs(zc_dit));
title('Spectru zgomot colorat - FFT frecventa');
ylabel('Spectru [dB]');
subplot(3,1,2)
plot(abs(zc_fft));
72
title('Spectru zgomot colorat - FFT');
ylabel('Spectru [dB]');
subplot(3,1,3)
plot(abs(zc_fft)-abs(zc_dit));
title('Eroarea spectrala - zgomot colorat');
ylabel('Eroare [dB]');

%Faza zgomot colorat


pause;
figure(10)
subplot(3,1,1)
plot(angle(zc_dit));
title('Faza zgomot colorat FFT frecventa');
ylabel('Faza [rad]');
subplot(3,1,2)
plot(angle(zc_fft));
title('Faza zgomot colorat FFT');
ylabel('Faza [rad]');
subplot(3,1,3)
plot(angle(zc_dit)-angle(zc_fft));
title('Eroare de faza - zgomot colorat');
ylabel('Eroare [rad]');
end

73

S-ar putea să vă placă și