Achizitia Si Prelucrarea Semnalului Fotopletismografic
Achiziția și prelucrarea semnalului
fotopletismografic
Cuprins:
Introducere
CAPITOLUL I. Sistemului cardiovascular și sistemul respirator
1.1.Sistemul cardiovascular
1.2. Sistemul respirator
Respirația sau ventilația plămânilor se realizează automat, în mod normal ritmic, și este un sistem controlat de sistemul nervos central.[1]
1.3. Schimbul de O2 și de CO2
1.4.Transportul normal de oxigen
1.4.1.Controlul neuronal al transportului de oxigen
1.4.2.Feedback-ul respirator
1.5.Difuzia oxigenului în sânge
1.6.Legarea O2 cu hemoglobina
1.7. Difuzia țesuturi
1.8. Utilizarea oxigenului în celulă
CAPITOLUL II. Fotopletismografia
2.1.Generalități
2.2.Principiul de funcționare al pulsoximetrului
2.2.1.SpO2 parametru de monitorizare al oxigenării hemoglobinei
2.3.Coeficienții de extincție ai hemoglobinei
2.3.1.Hemoglobina funcțională
2.3.2.Spectrul de absorbție al hemoglobinei
2.3.3.Alegerea lungimilor de undă
2.4. Legea Beer în pulsoximetrie
2.4.1.Absorbanța în soluțiile de Hb
2.4.2.Validitatea Legii Lambert-Beer în pulsoximetrie
2.4.3. Împrăștierea fotonilor de lumină
2.4.4. Influența împrăștierii fotonilor de lumină asupra măsurătorilor
2.5.Pulsația sângelui
2.6.Măsurarea pulsoximetrelor
2.6.1.Senzorii în transmisie
2.6.2.Senzorii în reflexie
2.7.Sursele de lumina utilizate în pulsoximetrie
2.8. Detectorii utilizați în pulsoximetrie
2.8.1.Fotodiodele
2.9. Amplificatoarele
2.10. Efectul unui aranjament de mai multe fotodiode
2.11.Sonde RMN
2.12.Sursele de erori în funcție de locul unde este pusă sonda pulsoximetrului
CAPITOLUL III. Senzorul inteligent
3.1.Senzorul inteligent
3.2.Shimmerul
3.3.Programarea shimmerului
3.4.Conectarea la un Shimmer
3.5.Configurarea Shimmerului
3.6.Deconectarea de la Shimmer
CAPITOLUL IV. Circuitul de achiziționare a semnalului fotopletismografic
4.1. Sonda pulsoximetrului
4.1.1.Principiul de funcționare al senzorului și plasarea acestuia
4.1.2.Îmbunătațirea calității fotopletismogramei
4.1.3.Avantajele și dezavantajele sondelor în reflexie față de sondele în transmisie:
4.2. Plăcuța Easy Pulse
4.3. Expansion Board
4.4.Shimmerul
4.4.1.Conectarea Shimmerului prin Bluetooth la calculator
4.4.2.Verificarea com-portului
CAPITOLUL V. Algoritmi de procesare a semnalului
5.1.Estimarea saturației de oxigen:
5.1.1.Raportul de rapoarte (Ros)
– Metode spectrale de estimare a SpO2
5.1.1.3. Metode spectrale de estimare a SpO2
5.2. Calculul saturației de oxigen
5.3. Estimarea ritmului cardiac
5.3.1.Metoda vârfurilor maxime
5.3.2.Metoda spectrală
5.4. Calculul ritmului cardiac
CAPITOLUL VI. Interfața grafică
CONCLUZII
ANEXE
BIBLIOGRAFIE
Introducere
Monitorizarea parametrilor vitali, precum ritmul cardiac (HR) și saturația de oxigen din sânge (SpO2) oferă informații esențiale despre starea generală a unui pacient și astfel se pot preveni unele daune sau chiar moartea [1]. Ritmul cardiac este unul dintre cei patru cei mai importanți parametrii vitali [2], corelat cu monitorizarea SpO2, monitorizarea acestuia poate aduce informații suplimentare [3].
Ritmul cardiac poate fi monitorizat cu ajutorul lui electrocardiografului. Înregistrarea unei electrocardiograme (ECG) presupune montarea unor electrozi sub anumite configurații la suprafața pielii [4]. Pentru monitorizări de lungă durată, acești senzori puși la suprafața pielii devin incomozi, de aceea se preferă monitorizarea pulsului cu ajutorul unui pulsoximetru [5]. Pe lângă măsurarea ritmului cardiac, un pulsoximetru poate măsura și SpO2, și după cum am mai spus, acest parametru aduce informații suplimentare în ceea ce privește starea generală a unui pacient [6].
Fotopletismografia (PPG) este o tehnică optică non-invazivă utilizată la scară largă pentru a monitoriza și studia schimbările volumetrice ale sângelui introduse de pulsația sângelui în țesuturile periferice. Pulsoximetria utilizează tehnica PPG pentru a estima SpO2. Pentru țesuturile care au o circulație scăzută a sângelui, măsurătorile SpO2 pot fi compromise datorită calității slabe a semnalelor PPG [7].
Consensul general este că aceste pulsații asociate cu schimbările volumului de sânge provin din situl de pulsații maxime din arteriole, unde energia pulsațiilor este transformată pentru a netezi fluxul chiar înainte ca sângele să intre în capilare.
Fotopletismografia se bazează pe proprietățile optice de absorbție ale țesutului vascular atunci când un fascicul de lumină trece prin el. Poate fi măsurată lumina care trece prin țesut, atunci când sursa de lumină se află de o parte a țesutului, iar detectorul se află de cealaltă parte, acesta reprezintă modul de măsurare în transmisie. Un alt mod de măsurare este cel în reflexie, unde sursa de lumină ți detectorul se află pe aceeași parte a țesutului. Modul de măsurare în transmisie poate fi folosit pentru zone limitate ale corpului, cum ar fi degetul, lobul urechii sau degetul mare de la picior, în timp ce modul de măsurare în reflexie poate fi folosit pentru mai multe zone ale corpului [9].
Intensitatea luminii care ajunge la foto detector, indiferent de modul de măsurare, este măsurată, iar variațiile din curentul foto detectorului se presupune că au legătură cu schimbările volumetrice ale sângelui de sub sondă [10]. Aceste variații sunt amplificate și înregistrate sub forma unui semnal fotopletismografic. Fotopletismograma este utilizată pentru a stima SpO2 de către pulsoximetre. Pulsoximetrele estimează SpO2 non-invaziv prin iluminarea unui țesut vascular utilizând lumină roșie din spectrul vizibil și lumină infraroșie din spectrul infraroșu apropiat. Semnalul pulsatil fotopletismografic (AC PPG) este asociat cu contracțiile cardiace și este atribuit în totalitate componentei sanguine artriale. Amplitudinile componentelor AC ale semnalelor roșu și infraroșu sunt sensibile la schimbările saturației de oxigen arteriale datorită diferențelor între absorbția luminii a hemoglobinei oxigenate (HbO2) și a hemoglobinei neoxigenate (Hb) la cele două lungimi de undă [12]. SpO2 poate fi măsurată raportând aceste amplitudini, normalizate prin împărțirea la intensitatea totală detectată (componenta DC). Pentru a utiliza această tehnică este nevoie de o circulație arterială periferică bună [11].
Mmăsurătorile de pulsoximetrie nu sunt relevante în anumite stări ale pacienților, cum ar fi hipovolemie, hipotermie, vasoconstricție, ritm cardiac scăzut, presiune arterială mică sau atunci când folosesc medicamente care conțin agenți vascoactivi [13]. Măsurătorile SpO2 devin irelevante în aceste situații datorită sondelor folosite de pulsoximetrele convenționale care pot fi utilizate doar pentru zonele periferice ale corpului. Fluxul sanguin pulsatil din zonele periferice ale corpului este vulnerabil, fiind compromis de împărțirea fluxului sanguin la organele vitale [11]. Prin urmare, pulsoximetria nu este o tehnică precisă pentru un grup de pacienți destul de mare pentru care monitorizarea SpO2 este esențială.
Scopul acestei lucrări este de a proiecta și implementa un senzor într-un circuit de măsurare a fotopletismogramei. Semnalul PPG va fi înregistrat cu ajutorul senzorului proiectat în cadrul acestei lucrări, senzorul măsoară în modul reflexie, lumina are o incidență oblică la intrarea în țesut. Forma de undă este prelucrată analogic utilizând circuite utilizate în mod didactic. Măsurarea SpO2 se face utilizând algoritmul derivativ propus de Yorkey [12], iar ritmul cardiac se măsoară conform algoritmului propus de Johnston și Mendelson în programul MATLAB.
Detaliile în ceea ce privește dezvoltarea acestui senzor se găsesc în această lucrare.
În cele ce urmează va fi făcută o scurtă descriere a capitolelor cuprinse în lucrare.
Capitolul I: În acest capitol este descrisă anatomia și fiziologia sistemului cardiovascular și a sistemului respirator împreună cu detaliile despre transportul de oxigen la țesuturi.
Capitolul II: Principiile de bază în ceea ce privește pulsoximetria sunt descrise în acest capitol.
Capitolul III: În acest capitol este descris senzorul inteligent utilizat pentru interfața dintre sistemul de achiziționare a semnalului PPG și computer.
Capitolul IV: Fiecare componentă a circuitului de achiziție al semnalului este descrisă în detalui în acest capitol.
Capitolul V: În acest capitol sunt descriși algoritmi de procesare a semnalului PPG pentru extragerea parametrilor HR și SpO2, precum și algoritmii folosiți în această pentru extragerea acestora.
Capitolul VI: În acest capitol se
CAPITOLUL I. Sistemului cardiovascular și sistemul respirator
1.1.Sistemul cardiovascular
Sistemul cardiovascular este alcătuit din inimă și vase de sânge. Vasele de sânge sunt reprezentate de artere, vene și capilare. Acest sistem permite circulația sângelui prin întregul organism astfel încât nutrienți și oxigenul (O2) să ajungă la țesuturi, iar dioxidul de carbon (CO2) să fie eliminat din organism.
Inimă acționează ca o pompă, pompând sângele în circulația pulmonară pentru schimbul de O2 și CO2 și în circulația sistemică pentru a asigura necesarul țesuturilor organismului. În repaus, debitul cardiac este de 5 L/min în ambele circulații, sistemică și pulmonară. Pomparea sângelui se realizează prin contracția inimii.
Interiorul inimii este alcătuit din 4 camere, 2 atrii și 2 ventricule, valve și septuri (Figura 1.1). Partea dreaptă a inimii primește sângele de la circulația sistemică și îl pompează în circulația pulmonară, iar partea stângă a inimii primește sângele întors de la plămâni prin circulația pulmonară și îl pompează în circulația sistemică.[1] (Netter’s Atlas of Human Physiology-Saunders, 2002)
Contracția miocardului atrial urmată de cea a miocardului ventricular se numește ciclu cardiac. Contracția miocardului se realizează prin trecerea unui impuls electric prin întreg cordul, acest impuls este generat chiar de către mușchiul inimii. Inima este singurul mușchi din corp care are proprietatea de ritmicitate inerentă, neavând nevoie de o sursă exterioară pentru inițierea impulsului așa cum este în cazul mușchilor scheletici. Proprietatea de ritmicitate inerentă este datorată prezenței celulelor pacemaker.[2]
Mușchii cardiaci sunt de două feluri: miocardul, țesutul dominant care se contractă, și celulele conductive care nu se contractă, dar transmit unda de depolarizare.
Potențialele de acțiune se inițializează în nodul sino-atrial (NSA), care reprezintă „peacemaker-ul” inimii. Impulsurile sunt transmise nodului atrioventricular (NAV), apoi ajung la mănunchiul HIS. De aici, potențialele de acțiune difuzează rapid prin ventricule cu ajutorul rețelei de fibre Purkinje.
Pomparea normală a sângelui presupune difuzia temporizată a potențialului de acțiune prin intermediul sistemului de conducere al inimii și a mușchilor arteriali și ventriculari.[1] (Netter’s Atlas of Human Physiology-Saunders, 2002)
Figura 1.1. Inima [1]
Celulele pacemaker din NAS au cea mai mare rată de auto-depolarizare, între 60 și 100 de depolarizări pe minut, urmate de celulele pacemaker din NSA cu o rată de auto-depolarizare între 40 și 50 de depolarizări pe minut, iar mușchiul ventricular are între 20 și 40 de depolarizări pe minut. NSA este cel care coordonează contracțiile inimii, dar în cazul în care apare o leziune la nivelul acestuia, NAV va fii cel care coordonează contracțiile.[3]
Un alt lucru interesant despre celulele miocardului este faptul ca potențialul de acțiune se transmite de la o celulă la celulele adiacente prin conducție directa. Această conducție directă are loc pentru că celulele cardiace sunt conectate prin discuri intercalate, membranele celulelor fuzionează la nivelul acestor discuri, având loc aproape difuzia totală a purtătorilor de sarcină. [2]
Biopotențialul înregistrat de la inimă poartă numele de electrocardiogramă (ECG). Electrocardiograma se înregistrează utilizând un instrument numit electrocardiograf.[4] Pentru simplificarea interpretării acestui semnal, se consideră că este alcătuit din următoarele componente:
Trei devieri majore sau unde: unda P, complexul QRS și unda T.
Două intervale de timp cu o importanța clinică mare: intervalul PR și durata complexului QRS;
Segmentul ST, care are cea mai mare importanța. Studierea acestuia duce la diagnosticarea precoce a infarctului miocardic și al ischemiei miocardice.[5]
Deși înregistrarea și interpretarea semnalului ECG este destul de importantă, această metodă
este destul de incomodă datorită electrozilor care se plasează pe corp în timpul monitorizărilor holter. În timpul acestor monitorizări nu se doresc atât de multe informații cate reies din prelucrarea semnalului ECG, de aceea se preferă înregistrarea semnalului PPG care ne da informații despre puls.[6]
1.2. Sistemul respirator
Sistemul respirator este alcătuit din: trahee, bronhi, bronhiole, plămâni și diafragmă.[7]
Respirația sau ventilația plămânilor se realizează automat, în mod normal ritmic, și este un sistem controlat de sistemul nervos central.[1]
Figura 1.2. Plămânii [11]
Plămânul drept are trei lobi, iar plămânul stâng are doi lobi. Din hilul plămânilor intră sau ies bronhiile, vasele pulmonare, nervi și vase limfatice. Hilul este situat în partea medială a plămânilor. Traheea se bifurcă in bronhiile primare, care mai apoi intră în lobii plămânilor, urmând să se subdividă în segmente din ce în ce mai mici.[1] Alcătuirea plămânului este ilustrată în figura 1.2.
Principalele căi respiratorii care duc gazul respirator la plămâni includ traheea cartilaginoasă, ramura stângă și dreaptă a bronhiilor principale, și bronhiile intra-pulmonare care trec prin parenchimul pulmonar. Căile de conducere a gazului respirator devin din ce în ce mai mici în diametru, iar pe măsură ce devin mai mici își pierd natura cartilaginoasă.[8]
Sângele de la ventriculul drept al inimii este perfuzat în plămân prin intermediul arterei pulmonare, cu o rată destul de mare, aproximativ 5 L/min, dar cu o presiune scăzută de aproximativ 6 mmHg.[1]
Capilarele pulmonare formează plexuri care învăluie sacii alveolari, aici are loc cea mai mare schimbare de gaze. Venele pulmonare colectează sângele oxigenat și îl transportă înapoi la partea stângă a inimii pentru a fi distribuit în circulația sistemică.[9]
La un adult normal aflat în repaus, plămânii conțin aproximativ 75 ml de sânge distribuit neuniform în vascularizația lor.[1]
Schimbul de gaze are loc între alveolele celulare de tip I, la nivelul membranei de bază, și capilarele celulare endoteliale.[10]
Datorită forței gravitaționale, curgerea sângelui nu este uniform distribuită de-a lungul plămânilor. De aceea, capilarele din apexul plămânilor sunt aproape contractate, iar curgerea sângelui prin acestea este foarte mică, dar există. Nu există curgere atunci când presiunea alveolară este crescută sau atunci când presiunea arterială este scăzută. Presiunea arterială este scăzută în cazul unor hemoragii masive, iar presiunea alveolară poate fi crescută în cazul unei presiuni de ventilație a plămânilor pozitive.[1]
Curgerea sângelui în plămâni este împărțită în trei zone:
Zona 1: În această zonă presiunea alveolară este mai mare decât presiunea arterială și nu există curgere a sângelui în această zonă. O curgere a sângelui în această zonă este anormală și are loc atunci când presiunea alveolară este foarte crescută sau presiunea arterială este foarte scăzută.
Zona 2: Presiunea arterială este mai mare decât presiunea alveolară, iar presiunea alveolară este mai mare decât presiunea venoasă. Curgerea sângelui este mai mare în partea de jos a zonei decât în partea de sus și variază cu diferența dintre presiunea arterială și presiunea alveolară.
Zona 3: În această zonă presiunea arterială și presiunea venoasă sunt mai mari decât presiunea alveolară. Curgerea sângelui depinde de diferența dintre presiunile alveolare și venoase, care, în mod normal, este constantă de-a lungul zonei. Deoarece presiunea arterială crește în spre partea de jos a zonei, presiunea transmurală devine mai mare, capilarele se dilată, iar rezistența la curgere scade.[1]
1.3. Schimbul de O2 și de CO2
În timp ce sângele curge prin capilarele alveolare, O2 difuzează din alveole în celulele roșii, unde se leagă de hemoglobină. În același timp, CO2 difuzează în afara celulelor roșii în alveole. În mod normal, sângele traversează întreaga lungime a capilarelor în 0.75 secunde. Atunci când debitul cardiac este crescut, timpul de tranzit scade.[1]
Echilibrarea totală a sângelui cu oxigenul alveolar și dioxidul de carbon are loc în 0.5 secunde. În anumite boli există o anumită îngroșare a peretelui capilarelor alveolare. Acest lucru restricționează difuzia O2 și CO2 și poate împiedica echilibrarea totală a sângelui dintre gazele alveolare în timpul necesar tranzitului sângelui de-a lungul capilarului.[10]
Hipoventilația alveolară arată ca există un potențial blocaj la trecerea aerului al căilor, astfel se reduce presiunea parțială alveolară a oxigenului PO2 și crește presiunea parțială alveolară a dioxidului de carbon PCO2 . Acest lucru duce la o scădere a presiunii parțiale arteriale a oxigenului PO2 și o creștere a presiunii parțiale arteriale a dioxidului de carbon PCO2.[1]
Scăderea presiunii parțiale a oxigenului în sângele arterial PO2 se numește hipoxie, iar creșterea presiuni parțiale a dioxidului de carbon în sângele arterial poartă numele de hipercapnie.[1]
În timpul fiecărei respirații are loc schimbul de O2 și CO2 între membranele capilarelor alveolare și pulmonare. Aproape tot oxigenul care este transportat la țesuturi este legat de hemoglobină, doar o mică parte este dizolvat și transportat în plasmă. Legarea O2 cu hemoglobina este dependentă de presiunea parțială a oxigenului PO2. SpO2 este aproximativ 97.5 atunci când PO2 este 100 mmHg. Atunci când legarea O2 cu hemoglobina este scăzută crește presiunea parțială a dioxidului de carbon din țesuturi (hipercapnie), scade pH-ul (acidoză), sau crește temperatura corpului (febră). CO2 de la țesuturi este transportat în pare parte sub forma HCO-3 , iar o mică parte este dizolvată în plasma, iar cealaltă parte este transportată sub formă de carbaminohemoglobină.[1]
1.4.Transportul normal de oxigen
Oxigenul este vital pentru funcționarea fiecărei celule din corpul uman. Transportul oxigenului la celule este un indicator important pentru sănătatea pacientului. În absența acestuia pentru o perioadă lungă de timp, celulele mor.[10]
Pentru a analiza transportul de oxigen din sânge au fost dezvoltate câteva metode. Pulsoximetria este una dintre aceste tehnici de analiză a oxigenului din sânge. Aceasta este o tehnică simplă, non-invazivă utilizată în mediile clinice.[12]
Pentru a fi transportat oxigenul la celule este nevoie atât de sistemul respirator, cât și de sistemul circulator.[9] Ventilația este primul pas, prin inspir și expir, adică introducerea și evacuarea aerului în și din plămâni.[13][14] Gazul respirator întâmpină rezistența în interiorul plămânilor. Oxigenul este difuzat în sânge, în timp ce dioxidul de carbon (un produs al respirației celulare), difuzează în plămâni. Sângele oxigenat circulă prin întregul corp până când ajunge la zonele neoxigenate, unde oxigenul din sânge difuzează în celule, iar dioxidul de carbon este transportat de sânge de la aceste zone la plămâni. Procesul de ventilație este controlat de către neuronii din trunchiul cerebral. Sistemul circulator poate modula ritmul cardiac astfel încât să se regleze transportul de oxigen la țesuturi.[12]
Ventilația este un proces involuntar ritmic de inspir și expir al aerului în și din plămâni. Așa cum am menționat mai sus, ventilația este controlată de către neuronii din trunchiul cerebral. Neuronii respiratori excită neuronii motori,care la rândul lor sunt responsabili cu deplasarea mușchilor respiratori. Ieșirea neuronilor respiratori este modulată de către chemo-receptori și mecanoreceptori.[1]
1.4.1.Controlul neuronal al transportului de oxigen
Neuronii respiratori din trunchiul cerebral sunt responsabili pentru generarea unui model de respirație normală. Rata și adâncimea ventilației sunt modulate de către acești neuroni. Neuronii respiratori excită neuronii motori din măduva spinării. Excitarea neuronilor motori duce la contracții ale diafragmei, mușchilor pectorali precum și a mușchilor intercostali. Toți acești mușchi deplasează cutia toracică în sus, plămânii își măresc volumul, acest fenomen reprezentând inspirația. Activitatea neuronilor respiratori este considerată spontană, cu inhibiție ocazională permițând mușchilor să se relaxeze, acest fenomen reprezintă expirația prin contractarea cutiei toracice.[12]
1.4.2.Feedback-ul respirator
Trunchiul cerebral primește feedback de la mulți receptori chimici și mecanici. Intrarea de la acești neuroni este analizată de neuronii respiratori pentru a determina rata adecvată de respirație și profunzimea ventilației. Feedback-ul referitor la aspectele mecanice ale respirației este dat de mecanoreceptori. Informațiile referitoare la nivelul de dioxid de carbon, oxigen și ionii de hidrogen din sânge este dată de chemo-receptori (aceștia sunt situați arterele carotide și în aortă).
Trunchiul cerebral trebuie să proceseze toată informația primită și să controleze respirația. În condiții normale de respirație , trunchiul cerebral este mai sensibil la nivele crescute de dioxid de carbon și hidrogen.[8]
1.5.Difuzia oxigenului în sânge
Procesul de ventilație oferă o aprovizionare continuă cu aer proaspăt în plămâni. După ce sângele oxigenat a circulat în întregul corp, este adus la plămâni prin capilarele arteriale pentru a efectua schimbul de gaze, primind oxigen și eliberarea în plămâni a dioxidului de carbon. Astfel sângele este reoxigenat și recirculat în întregul organism.[12]
Schimbul de gaze apare datorită procesului de difuziune. Difuzia este circulația netă a particulelor dintr-o zonă cu presiune parțială mai mare spre o zonă cu presiune parțială mai scăzută printr-un proces de mișcare aleatoare.[15] Schimbul actual de gaz în sânge se face printr-un proces de difuziune la nivelul alveolelor plămânilor.[10]
Aerul din alveolele pulmonare are o presiune parțială mai mare a oxigenului și o presiune parțială mai scăzută a dioxidului de carbon. Gradientul de presiune duce la apariția procesului de difuziune. Mișcarea dioxidului de carbon se va face spre alveolele pulmonare, iar mișcarea oxigenului se va face spre sânge. Sângele ajunge la inimă prin artera pulmonară pentru a fi pompat în restul organismului.[1]
Rata de circulație a gazelor este determinată de un gradient de presiune, temperatură și lungimea căii unde apare schimbul de gaz. Această rată de circulație este definită astfel:
(1.1)
Unde: – V este rata volumului de gaz schimbat;
– este gradientul de presiune;
– T este temperatura absolută;
– L este lungimea căii;
– D este coeficientul de difuziune specific plămânilor.[12]
Un alt mod de a calcula capacitatea de difuziune a plămânului pentru a furniza o măsură cantitativă a eficienței respirației este:
(1.2)
Unde: – DL este capacitatea de difuziune a plămânilor (Ruch and Patton 1965).
Acest mod de calcul nu presupune măsurarea căii de difuziune sau aria suprafeței de difuziune.[16]
1.6.Legarea O2 cu hemoglobina
Gazele nu sunt deosebit de solubile în sânge, acesta are în componența o cantitate mare de apă. Astfel, pentru transportul efectiv al oxigenului este nevoie de o metoda secundară. Hemoglobina furnizează un mecanism de legare care permite oxigenului să fie transportat prin sânge. Hemoglobina joacă un rol esențial în transportul necesarului de oxigen în organism.[12]
Hemoglobina este un pigment respirator conținut in celulele roșii ale sângelui. O celulă roșie de sânge conține aproximativ 265 milioane de molecule de hemoglobină (Curtis and Barnes, 1989).[9] O moleculă de hemoglobină poate transporta patru molecule de oxigen.[12]
Fiind un pigment respirator, hemoglobina își schimbă culoarea atunci când este oxigenată, o moleculă de hemoglobină oxigenată este roșu aprins, în timp ce o moleculă neoxigenată de hemoglobină este roșu închis.[9] Această schimbare de culoare este utilizată în aplicațiile de pulsoximetrie pentru a măsura saturația de oxigen din sânge.[12]
Figura 1.3. Legarea hemoglobinei cu O2
După ce o moleculă de hemoglobină neoxigenată se leagă cu o moleculă de oxigen, această moleculă are o afinitate mai mare pentru a se lega cu o a doua moleculă de oxigen. Procesul invers este de asemenea adevărat, după ce o moleculă de oxigen a fost eliberată de către o moleculă de hemoglobină, o altă moleculă de oxigen este eliberată cu o probabilitate mai mare.[16]
Curba de disociere a oxihemoglobinei, referitoare la presiunea parțială a oxigenului în sânge, este sigmoidă.
Majoritatea moleculelor de oxigen transportate de sânge sunt legate de hemoglobină, dar o parte din oxigen este dizolvat în plasma. Cantitatea totală de oxigen din sânge este alcătuită din oxigenul legat de hemoglobină și oxigenul dizolvat în plasmă.[1]
1.7. Difuzia țesuturi
După ce oxigenul a fost difuzat în sânge la nivelul plămânilor, sângele se întoarce la inimă. Sistemul circulator ajută la transportul sângelui oxigenat la celulele organismului. Inima este pompa care asigură transportul sângelui în organism.[8][16]
Difuzia O2 țesuturi are loc după o distanța de 1 mm. După ce sângele a fost oxigenat, chiar dacă trece prin țesuturi neoxigenate, O2 nu difuzează doar atunci când ajunge la nivelul capilarelor care au peretele subțire. O2 difuzează în fluidul interstițial și în celule.[12]
Atunci când sângele ajunge în capilarele sistemice, țesuturile înconjurătoare au o presiune parțială a oxigenului PO2 mai mică decât a sângelui. O2 difuzează în țesuturile înconjurătoare. Pentru țesuturile care au o rată metabolică mai mare diferența dintre presiunile parțiale ale oxigenului PO2 este mai mare, astfel că este eliberată o cantitate mai mare de O2. Atunci când O2 se află în imediata apropiere a celulei, acesta trece prin membrana celulară.[8]
1.8. Utilizarea oxigenului în celulă
Scopul procesului respirator este să livreze cantitatea necesară de O2 pentru respirația celulară. O2 este utilizat pentru a generarea de energie. Respirația celulară presupune ruperea legăturilor moleculare ale glucozei și eliberarea de energie. Acest proces presupune reacții chimice de oxidare și de reducere.[12]
Reacția de oxidare reprezintă pierderea unui electron cu eliberare de energie, iar reacția de reducere reprezintă câștigul unui electron.[17] Ecuația pentru reacțiile chimice care au loc este :
(1.3)
Dioxidul de carbon și apa sunt bio-produse ale reacției chimice, iar energia este eliberată sub formă de ATP (adenozintrifosfat) [9]
CAPITOLUL II. Fotopletismografia
2.1.Generalități
Fotopletismografia (PPG) este o metodă ce permite determinarea modificărilor în volumul de sânge, la nivelul țesutului micro vascular, cu ajutorul unui senzor optic, plasat pe suprafața pielii [6][7]. Este o metodă non-invazivă ce permite determinarea cu ușurința a ritmului cardiac (HR) și a saturației de oxigen din sânge (SpO2) , fiind preferată de pacienți în special în cazul monitorizărilor de lungă durată, datorită confortului (nu mai sunt necesari electrozi ECG, geluri) [9].
Semnalele PPG sunt frecvent utilizate în domeniul medical pentru a obține informații referitoare la parametri fiziologici vitali. Aceste forme de undă înregistrate cu senzori optici conțin informații referitoare la cantitatea de oxigen din sânge[8], activitatea cardiovasculară și probleme respiratorii [9].
Majoritatea pulsoximetrelor de pe piața dispun de fotopletismograf. Semnalul pentru fotopletismograf este derivat din aceeași formă de undă utilizată pentru a calcula SpO2. Fotopletismograful poate fi utilizat în setările clinice în aceeași manieră ca și un pletismograf. În pletismografie intervin artefactele de mișcare, iar pacientul trebuie să aibă o perfuzie de sânge adecvată lângă locul unde se plasează sonda pulsoximetrului [12].
Termenul de pulsoximetrie a fost introdus în anul 1983 ca fiind o metodă non-invazivă pentru monitorizarea saturației de oxigen din sângele arterial al pacienților [12]. Această tehnică este folosită pe scară largă în terapia intensivă, sălile de operații, camerele de urgență, transportul pacienților, secțiile generale, sălile de nașterii, îngrijirea nou-născuților, laboratoarele de somn, îngrijirea de acasă și medicina veterinară, fiind considerată un standard pentru anesteziologie [2]. Pulsoximetria ajută la detectarea precoce a informațiilor privind probleme în ceea ce privește transportul oxigenului la țesuturi, aceste probleme pot apărea datorită unui amestec gazos nepotrivit, blocării căilor respiratorii, ventilației necorespunzătoare, difuziunii, etc.[3].
Prima persoană care a venit cu idee de a explora caracterul pulsatil al sângelui arterial în oximetrie a fost Takuo Aoyagi [1]. Produsul a fost dezvoltat în cadrul companiei Nihon Kohdeb Corporation. Dispozitivul utiliza circuite analogice și fibre optice voluminoase. O altă companie care a venit cu un produs similar a fost Minolta [4].
William New a fost cel care a îmbunătățit dispozitivul și a produs un microprocesor, N100, mai mic, mai ieftin, mai puțin invaziv, fără a fi calibrat de către utilizator și destul de precis pentru a fi utilizat în mediul clinic. William New a fondat Nellcor care este și astăzi liderul de piața în pulsoximetrie [4].
În același timp cu Nellcor, compania Ohmeda a dezvoltat un dispozitiv similar, BioxII, având același succes [5].
Pulsoximetrele măsoară schimbările în absorbția de lumină ale sângelui în funcție de curgerea sângelui[6][7] atunci când un fascicul de lumină incident luminează un țesut.
Împrăștierea fotonilor de lumină este o sursă de eroare pentru acuratețea pulsoximetrelor. Legea lui Beer, care stă la baza pulsoximetriei, nu ține cont de împrăștierea luminii. Deci un calcul direct al saturației de oxigen din sângele arterial (SaO2) nu este posibil. Pulsoximetrele măsoară absorbția luminii la două lungimi de undă și utilizează date de la CO-oximetre pentru a găsi o valoare pentru SpO2 prin estimarea SaO2 [12].
Pulsoximetrul este reprezentat de un instrument trans-cutanat care estimează saturația de oxigen a sângelui arterial și oferă informații despre funcția cardio-respiratorie a pacientului. Pulsoximetria oferă o măsură empirică a saturației arteriale. Corelația între măsura pulsoximetrului, SpO2, și saturația de oxigen arterială propriu-zisă, SaO2, este adecvată – în general există o discrepanța de mai puțin de 3% [10].
Această tehnică a fost acceptată rapid chiar dacă există o discrepanța între SpO2 și SaO2 datorită caracterului ei non-invaziv, însă în aplicații unde acuratețea este primordială, cum ar fi detectarea hiperoxiei sau hipoxiei, utilizarea pulsoximetrului nu este relevantă [12].
Hipoxia reprezintă o condiție patologică în care organismul, sau o anumită parte din corp nu este oxigenată suficient[11].
Hiperoxia reprezintă o oxigenare prea mare a unui țesut/ organ sau o presiune parțială a oxigenul mai mare decât normală [13] .
Din semnalele PPG poate fi extras ritmul cardiac și astfel pot fi identificate cazurile de tahicardie sau bradicardie.
Tahicardia reprezintă condiția patologică în care ritmul cardiac este mai mare decât în condițiile normale de repaus. În general, un ritm cardiac mai mare de 100 BPM este considerată tahicardie [14].
Bradicardia reprezintă condiția patologică în care ritmul cardiac este mai mic decât în condițiile normale. Un ritm cardiac mai mic de 60 BPM este considerat bradicardie [15].
2.2.Principiul de funcționare al pulsoximetrului
Un pulsoximetru transmite lumină de două lungimi de undă diferite printr-un țesut, cel mai des prin deget, și măsoară semnalul luminos transmis sau reflectat.
Dispozitivul funcționează pe următoarele principii:
Absorbția hemoglobinei oxigenate (HbO2) și a hemoglobinei neoxigenate (Hb) din sânge la cele două lungimi de undă este diferită. Setul de coeficienți de extincție ai hemoglobinei asociați pentru absorbția luminii pentru aceste lungimi de undă sunt liniar independenți cu o variație destul de mare pentru o senzitivitate adecvată, dar nu atât de mare astfel încât sângele să fie opac pentru una dintre sursele de lumină. Acest model presupune că în sânge există doar hemoglobină oxigenată și hemoglobină neoxigenată.
Caracterul pulsatil al sângelui arterial este reprezentat de o formă de undă în semnalul transmis/ reflectat ceea ce permite diferențierea efectului de absorbție al sângelui arterial de cel al sângelui venos care nu are caracter pulsatil și de absorbția celorlalte țesuturi, care, de asemenea, nu are caracter pulsatil. Utilizând un coeficient al celor două efecte la diferite lungimi de undă este posibil să fie obținut un rezultat care nu necesită calibrare absolută corespunzătoare absorbanței întregului țesut. Acesta este un avantaj al pulsoximetrelor fața de oximetrele existente anterior.
Utilizând lumina adecvată, împrăștierea fotonilor de lumină în sânge și țesut va ilumina suficient sânge arterial, pentru a permite detectarea fiabilă a semnalului pulsatil. Efectul de împrăștiere al fotonilor necesită calibrarea empirică a pulsoximetrului [12].
2.2.1.SpO2 parametru de monitorizare al oxigenării hemoglobinei
Lipsa de oxigen poate duce rapid la leziuni ireversibile la nivelul țesutului celular deoarece celula are un metabolism rapid, inima și sistemul nervos central fiind un bun exemplu.[16]
Pentru a vedea cât de important este oxigenul pentru țesuturi, în tabelul de mai jos se găsește timpul de supraviețuire al diferitelor tipuri de celule în lipsa acestuia:
Tabel 2.1[17]
De fapt, variabila care se vrea măsurată este SaO2. Acest parametru este avut în vedere pentru evaluarea sistemului cardio-pulmonar al unui pacient pentru a vedea dacă țesuturile sunt oxigenate corespunzător.[18] Dar, acest parametru nu este singurul care poate detecta o condiție patologică de oxigenare.
SaO2 este legată de sângele din arterele și arteriolele din corp. Acesta are aceeași valoare în tot sistemul arterial, iar la nivelul capilarelor se schimbă nivelul saturației. Pentru un adult sănătos valorile SaO2 sunt mai mari de 90%, ceea ce corespunde unei presiuni arteriale parțiale, PaO2, de 60 până la 100 mmHg [19].
2.3.Coeficienții de extincție ai hemoglobinei
Hemoglobina este principala substanță absorbantă din sânge la lungimile de undă utilizate în pulsoximetrie.[12]
Caracteristicile de absorbție ale hemoglobinei se schimbă cu legarea chimică a oxigenului și lungimea de undă a luminii incidente. Chiar dacă Hb și HbO2 absorb cea mai mare parte a luminii care trece prin sânge, ele nu reprezintă singurele forme de hemoglobină din sânge.[20]
2.3.1.Hemoglobina funcțională
Rolul principal al hemoglobinei este legarea cu oxigenul în capilarele pulmonare și eliberarea oxigenului în capilarele sistemice. Hemoglobina capabilă de legarea cu oxigenul se numește hemoglobină funcțională. Majoritatea hemoglobinei în indivizii sănătoși este hemoglobină funcțională.
HbO2 este hemoglobină saturată cu O2 are patru molecule de O2 legate, iar Hb nu este legată cu molecule de O2, sau nu este complet saturată.
Saturația funcțională de oxigen (SO2) este măsurată în procente și este determinată de cantitatea de HbO2 raportată la suma dintre HbO2 și Hb [12].
O altă metodă de a defini acest raport este utilizând concentrația de HbO2 și concentrația de Hb:
* 100 [%] = * 100 [%] (2.1)
În sânge există și hemoglobine nefuncționale, acestea sunt: methemoglobina (MetHb), carboxihemoglobina (COHb), sulf-hemoglobina și carboxisulfhemoglobina[12].
2.3.2.Spectrul de absorbție al hemoglobinei
Proprietățile fiziologice ale hemoglobinei sunt schimbate prin legăturile chimice.
În regiunea spectrului pentru roșu absorbanța luminii este mai mare pentru Hb decât pentru HbO2. Coeficienții de extincție pentru ambele tipuri de Hb sunt egale în punctul isobestic (805 nm). Hb are o absorbanța mai mică decât HbO2 pentru regiunea de infraroșu a spectrului.[21]
Figura 2.1. Spectrul de absorbție al hemoglobinei
2.3.3.Alegerea lungimilor de undă
Pigmentul roșu din piele absoarbe o cantitate mai mare de lumină la lungimi de undă mai mici de 600nm și, de aceea, nu este de dorit sa se măsoare absorbanța în această gamă. Datorită diferenței mari între coeficienții de extincție ai Hb și ai HbO2 o alegere bună poate fi: o lungime de undă în regiunea spectrului pentru roșu 660 nm și 940 nm. S-a demonstrat că aceste lungimi de undă au o acuratețe mai mare pentru nivele ridicate ale saturației [12].
2.4. Legea Beer în pulsoximetrie
Legea Lambert-Beer descrie comportarea fasciculului de lumină atunci când trece printr-un mediu uniform care conține o substanță absorbantă [22].
Figura 2.2. Legea Lambert-Beer
Dacă un fascicul de lumină monocromatică de intensitate I0 intră în mediu, o parte din această cantitate de lumină este transmisă prin mediu, iar cealaltă parte este absorbită. Intensitatea luminii I care trece pin mediu descrește exponențial cu distanța:
(2.2)
Unde: – ε(λ) reprezintă coeficientul de extincție;
– c este concentrația substanței absorbante, este constantă; c = [mmol * L-1]
– d este drumul optic; d = [L * mmol-1 * cm-1] [22]
Această lege se bazează pe proprietatea că suma dintre lumina absorbită și lumina transmisă este egală cu lumina incidentă. Acest lucru nu este valabil pentru procesele fiziologice, acestea includ și reflexia luminii. Datorită acestei proprietăți pe care o au țesuturile fiziologice, legea Lambert-Beer poate fi aplicată în pulsoximetrie [12].
2.4.1.Absorbanța în soluțiile de Hb
Conform legii lui Beer absorbanța totală (At) din sânge este:
(2.3)
Unde: – d este drumul optic, același pentru fiecare dintre cele două lungimi de undă;
– CHbO2 = SO2 * (CHbO2 + CHb), CHbO2- concentrația de hemoglobină oxigenată;
– CHb = (1 – SO2) * (CHbO2 + CHb), CHb- concentrația de hemoglobină neoxigenată;[12]
(2.4)
2.4.2.Validitatea Legii Lambert-Beer în pulsoximetrie
Lumina incidentă care trece prin corpul uman nu se împarte doar în lumină absorbită și lumină transmisă cum este descris în legea Beer. Anumite părți din lumină sunt reflectate, iar alte părți sunt transportate de sânge.[12]
Lumina reflectată la suprafața pielii după ce o parte din lumină a fost absorbită de către alte țesuturi în afară de sângele pulsatil arterial duce la formarea semnalului pletismografic. Suprafața pielii, țesuturile, mușchii, oasele și în special sângele ajută la împrăștierea fotonilor de lumină, ceea ce duce la o creștere a absorbției luminii. Sângele este un fluid neomogen, capabil de o absorbție neliniară a luminii, deoarece concentrația de hemoglobină variază.[5]
Variația absorbției luminii nu se datorează doar creșterii drumului optic din timpul sistolei. Dacă schimbarea diametrului ar fi singurul motiv, atunci variația ar fi mult mai mică. Motivul este reprezentat de schimbarea axelor celulelor roșii, care își schimbă și absorbanța. Celulele roșii au forma unui disc biconcav. Diametrul lor mare este aliniat paralel direcției de curgere a sângelui în timpul diastolei și aliniat perpendicular direcției de curgere în timpul sistolei. Astfel, drumul optic este mai mare în timpul sistolei și crește absorbanța luminii. Se schimbă și reflexia luminii o dată cu schimbarea axelor celulelor roșii, acest lucru este important pentru sondele în reflexie. Ca urmare a acestor proprietăți, absorbanța și reflexia sângelui în mișcare variază în timpul ciclului cardiac și cu viteza de curgere a sângelui.[12]
2.4.3. Împrăștierea fotonilor de lumină
Rezultatele măsurătorilor de oximetrie din tot sângele diferă de reprezentările teoretice bazate pe legea Lambert-Beer. Un fenomen fiziologic numit împrăștierea luminii crește semnificativ absorbanța luminii. Chiar și așa, pulsoximetrele pot citi saturația de oxigen arterială cu o precizie destul de mare pentru utilizarea clinică în circumstanțe normale deoarece majoritatea pulsoximetrelor utilizează o curbă de calibrare bazată pe date empirice. Modelarea matematică a problemei de împrăștiere a luminii este foarte complexă, există câteva abordări pentru a crea modelele care ar descrie procesul real în limitele normale de precizie.[12]
2.4.4. Influența împrăștierii fotonilor de lumină asupra măsurătorilor
Chiar dacă nu este respectată legea Lambert-Beer, valorile citite de către pulsoximetre au arătat o bună corelație între măsurători și saturația de oxigen arterială reală.
Steinke and Sheperd (1986) au găsit că efectul de împrăștiere al luminii care trece prin întregul corp depinde de lungimea de undă a luminii și saturația de oxigen.
Relația dintre saturația de oxigen și cumulul efectelor de împrăștiere este aproximativ liniar, deci împrăștierea nu influențează liniaritatea pulsoximetrului într-o direcție negativă. Contrastând acest lucru, absorbanța totală are o pantă mai mare decât absorbanța hemoglobine care urmează legea Lambert-Beer. De aceea, împrăștierea lumini crește sensibilitatea pulsoximetrelor pentru tot corpul.
Fine and Weinreb (1993, 1995) au demonstrat că factorii fiziologici cum ar fi temperatura sau vasoconstricția periferică reduce precizia măsurătorilor. Nivelul erorii crește cu cât saturația de oxigen scade.
2.5.Pulsația sângelui
Lumina care trece prin țesutul biologic este absorbită de către diferitele substanțe absorbante. Pigmenții din piele sunt primii absorbanți, oasele, sângele arterial și sângele venos.
Cantitatea de lumină absorbită este corelată cu pulsația sângelui arterial. O cantitate constantă de lumină este absorbită de către pigmenții din piele, oase, alte țesuturi, sângele venos și de partea ne-pulsatilă a sângelui arterial.
Figura 2.3. Semnal PPG
În timpul sistolei arterele conțin mai mult sânge decât în timpul diastolei, iar diametrul arterelor crește în timpul sistolei datorită creșterii presiunii. Absorbanța crește în timpul sistolei datorită creșterii cantității de hemoglobină. Această parte alternativă a absorbanței permite diferențierea între absorbanța datorată sângelui venos, cantitatea constantă de sânge arterial și alte componente ne-pulsatile (pigmenții din piele) și absorbanța datorată componentei pulsatile a sângelui arterial (AC).
Această diferența nu depășește 1% – 2%. Semnalul variabil în timp se numește semnal pletismografic (sau fotopletismografic).
Intensitatea luminii care ajunge la fotodetector depinde de diametrul arterelor și arteriolelor. În timpul unui ciclu cardiac diametrul se schimbă de la dmin și dmax.
(2.5)
2.6.Măsurarea pulsoximetrelor
SpO2 este o estimare a saturației de oxigen arteriale SaO2. Măsurând cu două lungimi de undă se poate măsura absorbanța doar pentru Hb și HbO2. Absorbanța celorlalte tipuri de hemoglobină influențează măsurătorile, dar eroarea de măsurare este mică deoarece Hb și HbO2 sunt principalele substanțe absorbante din sânge.
SaO2 poate fi calculată utilizând legea Beer pentru două lungimi de undă. Datorită neliniarității LED-urilor, foto-detectorilor și a absorbanței țesuturilor, absorbanța trebuie să fie normalizată.
Pulsoximetrele comerciale sunt calibrate utilizând date obținute in vitro.[12]
În general, senzorii pulsoximetrelor, se bazează pe faptul că lumina emisă de către sursele de lumină este parțial reflectată, transmisă, absorbită și difuzată de către piele, țesuturi și sânge înainte de a ajunge la detectorul de lumină.[23]
Senzorii pulsoximetrelor pot fi de două tipuri:
în transmisie;
în reflexie;
2.6.1.Senzorii în transmisie
În acest caz sursele de lumină și detectorul sunt plasate diametral opus. Acest tip de senzor se utilizează pentru zonele periferice ale corpului.[23] Figura 2.4 prezintă poziționarea sursei de lumină și a detectorului acestui tip de senzor.
Figura 2.4. Senzor în transmisie
2.6.2.Senzorii în reflexie
Senzorul proiectat pentru această lucrare este în reflexie. La acest tip de senzor sursa de lumină și detectorul sunt plasate pe aceeași parte, unul lângă celălalt.[23] Figura 2.5 prezintă poziționarea sursei de lumină și a detectorului acestui tip de senzor.
Figura 2.5. Senzor în reflexie
2.7.Sursele de lumina utilizate în pulsoximetrie
Un pulsoximetru are nevoie de o sursă de lumină care să penetreze suficient țesutul și să fie suficient de mică pentru a putea intra într-o sondă de dimensiuni reduse.
Pulsoximetrele existente astăzi pe piața utilizează ca surse de lumină Led-urile . Caracteristicile Led-urilor cum ar fi mărimea lor redusă, caracteristicile excelente de conducere și o bandă îngustă de ieșire le fac a alegerea ideală ca sursă de lumină pentru lungimile de undă roșu și infraroșu utilizate în pulsoximetrie.[12]
Led-urile sunt disponibile pentru o gamă de 700 nm de lungimi de undă, de la albastru, din spectru vizibil, până la infraroșu apropiat. Un LED este un semiconductor optoelectronic care produce lumină prin electroluminiscență.[24]
Pentru realizarea unui pulsoximetru, cel mai des se utilizează Led-urile de 660 nm și 940 nm, ceea ce duce la un cost scăzut deoarece acestea sunt ușor de achiziționat.[12]
Lungimea de undă a unui LED este determinată:
(2.6)
Unde: – c = 3 * 108 [m/s] (viteza luminii în vid);
– h = 6,626 * 10-34 [J*s] (constanta lui Planck);
– λ lungimea de undă;
Spectrul de emisie al LED-urilor este foarte important în pulsoximetrie. Datorită pantei abrupte a curbei de extincție la 660 nm a Hb este extrem de important ca LED-urile roșii utilizate să aibă o gamă foarte îngută de lungimi de undă centrate la 660 nm pentru a minimiza erorile de măsurare a SpO2. Lățimea gamei de lungimi de undă pentru LED-ul I nu este așa de importantă pentru precizie.[12]
2.8. Detectorii utilizați în pulsoximetrie
Fotodetectorul reprezintă dispozitivul principal de intrare al sistemului. Acesta se găsește în sonda sistemului și primește lumina emisă. Fotodetectorul produce un curent care este direct proporțional cu intensitatea luminii incidente. Acest curent este apoi convertit într-o tensiune care urmează a fi procesată.
Alegerea fotodetectorului ține cont de factori cum ar fi performanța, mărimea și costul. Majoritatea pulsoximetrelor utilizează fotodetectori din silicon.
Deoarece pulsoximetrele utilizează două lungimi de undă specifice, răspunsul spectral, sau răspunsul relativ al dispozitivului trebuie luat în considerare pentru cele două lungimi de undă diferite.
O altă caracteristică importantă de care trebuie să se țină cont este liniaritatea semnalului de ieșire, alt factor este sensibilitatea timpului de răspuns, mărimea și costul.[12]
2.8.1.Fotodiodele
O fotodiodă produce un curent de ieșire sau o tensiune care este proporțională cu intensitatea luminii incidente.[12]
Pentru o fotodiodă curentul furnizat poate fi exprimat:
Unde: – IP = fotocurent;
– ID = curentul diodei;
Unde: – S = sensibilitatea;
– E = iluminarea;
– I0 = curentul invers de saturație;
– V = tensiunea aplicată fotodiodei;
– k = constanta Boltzman;
– T = temperatura absolută.
2.9. Amplificatoarele
Din moment ce fotodioda generează la ieșire un curent, un amplificator transformă acest curent în tensiune pentru a fi utilizată de către pulsoximetru.
2.10. Efectul unui aranjament de mai multe fotodiode
În oximetria în reflexie, lumina incidentă emisă de către LED difuzează prin piele și se întoarce formând un calibru circular în jurul LED-urilor. De aceea se folosesc mai multe fotodiode așezate simetric pentru a fi detectată cat mai multă lumină reflectată, iar componentele pletismogramelor obținute să fie cât mai mari.
Pentru a demonstra ca rezultatele sunt mai bune dacă se utilizează mai multe fotodiode, Mendelson și Ochs (1988) au utilizat trei fotodiode montate simetric fața de LED-urile R și IR. Utilizând trei foto-detectori, suprafața activă s-a triplat, lumina reflectată colectată fiind mai mare.[12]
2.11.Sonde RMN
Au fost create sonde speciale care pot fi utilizate în timpul efectuării unui examinări RMN, deoarece cele existente deja sufereau perturbații.
Aceste sonde speciale utilizează filtre optice de atenuare scăzută.[12]
2.12.Sursele de erori în funcție de locul unde este pusă sonda pulsoximetrului
Lumina ambientală – senzorul se acoperă cu un material opac care împiedică lumina ambientală să ajungă la fotodetector;
Lumina de la Led ajunge direct la fotodetector fără sa mai treacă prin țesut. Poate fi eliminată această eroare prin utilizarea unui senzor corespunzător ca mărime pentru pacient.
Edemele – o acumulare anormală de fluide seroase, nu se plasează sonda pulsoximetrului în zonele cu edem.
Lacul de unghii – anumite culori ale lacurilor de unghii (albastru, verde, maro și negru) absorb mai multă lumină astfel că lumina detectată de fotodetector este mică.[12]
CAPITOLUL III. Senzorul inteligent
3.1.Senzorul inteligent
Senzorul este definit ca fiind “un dispozitiv care detectează sau măsoară unele condiții sau
proprietăți si înregistrează, indică sau uneori răspunde la informația primită”. Astfel, senzorul inteligent convertește un stimul într-un semnal măsurabil. Acesta cuprinde traductorul, cel care transformă mărimea de intrare în semnal electric, și circuite pentru condiționarea și conversia semnalului, unii senzori cuprind un bloc pentru prelucrarea și evaluarea semnalului, aceștia din urmă poartă denumirea de senzori inteligenți. Stimulii pot fi termici, mecanici, chimici, acustici, electromagnetici. (M., 2010)[1]
În ultima perioadă, tot mai multe domenii au un interes deosebit pentru senzorii inteligenți. Acest interes deosebit se datorează faptului că senzorul inteligent cuprinde elemente sensibile de captare a semnalului, de procesare analogică și digitală, dar și funcții precum: autotestare, autoidentificare, autovalidare sau autoadaptare. (Dimitru, Bucșan, & Demian, 1996)[2]
3.2.Shimmerul
Shimmerul este o platformă de senzori wireless care poate înregistra și transmite date fiziologice și cinematice în timp real. Acesta încorporează senzori wireless ECG, EMG, GSR, Accelerometru, Gyro, Mag, GPS, Tilt și Vibrație. (shim) [3]
Shimmerul transmite direct date către un dispozitiv fără necesitatea unei unități intermediare de primire. El permite transmiterea datelor colectate în timp real către un PC pentru afișare și/ sau stocare. (Burns, 2010)[4]
Acest dispozitiv a fost proiectat pentru cercetare în domeniul sănătății, iar acum este utilizat de către cercetători pentru a dezvolta noi aplicații si/ sau dispozitive wireless pentru o scară largă de specialități.
Avantaje:
Date brute: permite controlul total asupra interpretării și analizei evenimentelor detectate;
Multiplatform: conține librării pentru conectarea cu ajutorul platformelor software MATLABTM, LabVIEWTM, C#TM, Android;
Portabil: dispune de o baterie 450mAH;
Configurabil: compatibilitate cu o gamă variată de tehnologii de senzori și de sisteme;
Open source: permite controlul total asupra modului în care datele sunt salvate și transmise;
Dezavantaje:
Raza maxima de transmisie este de aproximativ 10 metrii(Bluetooth);
Bateria are o autonomie de aproximativ 24 de ore la 100 Hz;
Nu are un filtru pentru a elimina frecvența de 50 Hz;[5]
Platforma Shimmer are o placă de bază cu senzori de calcul, memorarea datelor, comunicații și capabilități de conectare a unor daughter-board.[4]
Microprocesorul MSP430 produs de Texas Instruments este elementul central al plăcii de bază, acesta este folosit pe scară largă de către senzorii wireless.
Microprocesorul MSP430 este echipat cu două cronometre și două USART–uri(Universal
Asynchronous/synchronous receive/transmit serial communication) care activează funcționalitățile
pentru SPI(pinul 3 sau 4) și UART asincron. USART0 permite deasemenea și transmisiile I2C și are două canale DMA dedicate pentru a asigura capacitatea maximă cu o rată de date până la 400 Kb/s.
Folosirea a două canale cu buffere face posibilă transmiterea și recepționarea semnalului. Platforma Shimmer dispune de un card microSD pentru salvarea datelor. Acest card microSD și modulul 802.15.4 radio sunt conectate la microprocesor folosind modul SPI sincron. În modul sincron, USART conectează MSP430 la un sistem extern prin intermediul a 3 sau 4 pini : SIMO (slave in, master out), SOMI (slave out, master in), UCLK (USART SPI clock) și STE (slave transmit enable). Acesta este activat când bitul I2C este șters și bitul SYNC este setat. MSP430 are 8 canale ADC pentru conversii A/D de 12biți. Porturile externe ale platformei Shimmer sunt utilizate pentru datele de intrare de la Accelerometru XYZ (3 canale), conectorul de extindere internă (3 canale) și conectorul de extindere externă (2 canale).
Shimmerul folosește transceiver radio Chipcon(CC2420) și o antenă gigaAnt 2.4 GHz Rufa pentru comunicații wireless compatibile cu IEEE 802.15.4. CC2420 este conceput pentru aplicații de putere mică și curent mic (curentul folosit este de 17.4 mA pentru transmisie și 18.8 mA pentru recepție). Acesta este controlat de o conexiune SPI prin intermediul USART1. CC2420 oferă suport pentru aplicații ca manipularea pachetelor, transmisii de date, criptarea datelor, calitatea legăturii și cronometrarea pachetelor, sarcina de lucru pe controlerul MSP430 este redusă.
Modulul Roving Networks RN-41 Class 2 Bluetooth este folosit pentru a comunica prin intermediul unei antene integrate de 2.4 GHz. Acesta este conectat la microprocesor printr-o conexiune serială USART1. Caracteristicile modulului Bluetooth sunt: transmisie la 60 mA, recepționare la 40 mA, starea idle la 1.4 mA, iar puterea consumată în timpul inactivității este de
50 µA.
Cardul microSD al shimmeului poate avea capacitate de stocare de pana la 2 Gb, pe acesta pot fi salvate datele atunci când nu se face streaming.
Alimentarea Shimmerului se face cu o baterie reîncărcabilă Lithium de 3.7V 450 mAh, dar poate suporta și alte tipuri de baterii.
Sistemul de operare al senzorului este TinyOS. Acest sistem de operare este recomandat pentru proiectarea, implementarea, testarea și validarea firmwareului Shimmerului. TinyOS este folosit de către dispozitive cu putere redusă, memorie mica și capabilități wireless. Acesta ocupă foarte puțin spațiu și se ocupă de comunicația radio, planificarea sarcinilor, prelucrarea I/O, etc. Versiunea actuală este TinyOS-2.x și are următoarele funcționalități incluse: stocarea microSD, sistemul de fișiere FAT, stiva IP pentru 802.15.4, configurația Bluetooth, managementul de conexiune și transferul datelor prin streaming, modul timp real, controlul perifericelor și al configurațiilor, precum și monitorizarea alimentării.[5]
3.3.Programarea shimmerului
The shimmer MATLABTM Intrument Driver permite plotarea de date de la un dispozitiv Shimmer în timp real în programul MATLABTM . Acesta este conceput pentru a lucra cu versiuni de MATLABTM începând cu versiunea 7.6, sau versiuni ulterioare, pe sistemul de operare Windows (a fost testat pentru Windows XP si Windows 7).
Pentru a utiliza Shimmer MATLABTM Instrument Driver este nevoie de următoarele lucruri:
Manualul de utilizare Shimmer, descărcat de pe site-ul Shimmer;
O versiune a MATLABTM mai nouă de 7.6 instalată pe PC;
Unul sau mai multe dispozitive Shimmer programate cu BTStream v1.1 sau BoilerPlate v0.1. Acestea pot fi descărcate de pe website-ul www.shimmer-research.com/download.
Dispozitivul Shimmer trebuie să fie conectat cu PC-ul (prin Bluetooth), detalii despre aceasta conectare sunt date în cele ce urmează.
Aplicația Realterm terminal serial acționează ca legătură de comunicare dintre dispozitivul Shimmer și MATLABTM. A fost utilizată versiunea 2.0.0.57 pentru dezvoltarea acestei aplicații și a fost descărcată de la adresa http://sourceforge.net/projects/realterm/files/Realterm/2.0.0.57/ .
Un prim lucru important la instalarea Realterm este bifarea opțiunii de a înregistra serverul de automatizare. Un alt doilea lucru important pentru utilizatorii de Windows OS este dezactivarea setărilor de control cont utilizator, pentru a permite Realterm să ruleze cu privilegii de administrator mereu.[6]
3.4.Conectarea la un Shimmer
Trebuie selectat un port Bluetooth care să fie alocat respectivului Shimmer în cursul procedurii de asociere.
Acest port toate fi selectat utilizând un meniu vertical sau tastând respectiva valoare.
După ce portul serial corect a fost selectat se apasă butonul „Connect”.
Odată conectat, se vor activa și alte butoane din fereastra de control, iar bara de stare din partea de sus va fi actualizată.
De asemenea, LED-ul verde al Shimmerului se va aprinde pentru a indica starea de conectare.[7]
3.5.Configurarea Shimmerului
După ce ShimmerConnect este conectat la Shimmer acesta citeste configurarea curentă care a fost salvată pe Shimmer. Pentru a schimba această configurare se selectează Tools->Configure Shimmer.
Se va deschide o fereastră de control care diferă în funcție de versiunea Shimmerului. În cazul senzorului meu, fereastra de control arată ca în figura X. Prima căsuța reprezintă setarea frecvenței de eșantionare.[7]
Există o opțiune de senzor extern utilizând Shimmer GSR+ Expansion board. Pe lângă alte lucruri aceasta poate fi utilizată pentru interfața dintre Shimmer și un senzor PPG. Pentru a fi utilizat un senzor PPG, trebuie activate următoarele:
Int ADC A13 – ieșirea senzorului conectată la placa GSR+ este măsurată de pinul ADC A13 intern.
Internal Exp Power.
Datele PPG vor fi în categoria „Internal ADC A13”.
Comanda „Toggle LED” produce modificări înainte de a fi apăsat butonul „OK”, în timp
ce celelalte comenzi se realizează după ce butonul „OK” a fost apăsat. Butonul „Cancel” va anula orice schimbare efectuată în fereastra de comandă.
Frecvența de eșantionare nu poate fi schimbată în timpul procesului de streaming de date, dar alți parametrii pot fi modificați în orice moment.
Exemplu de configurare a Shimmerului:
O altă opțiune este activată așa cum este ilustrat în figura X. Aceasta permite utilizatorilor să configureze placa de extensie.[5]
3.6.Deconectarea de la Shimmer
Butonul „Disconnect” din fereastra de comanda deconectează ShimmerConnect de la Shimmer. [7]
CAPITOLUL IV. Circuitul de achiziționare a semnalului fotopletismografic
Circuitul de achiziționare este alcătuit din:
Sonda pulsoximetrului reprezentată de un senzor în reflexie;
Două plăcuțe Easy Pulse;
Expansion Board;
Shimmerul;
Computer cu platforma Matlab instalată;
Acest circuit poate fi vizualizat în figura X.
4.1. Sonda pulsoximetrului
În continuare va fi descris senzorul pentru pulsoximetru. Acesta este un senzor în reflexie.
Scopul folosirii senzorilor în reflexie este reprezentat de creșterea numărului zonelor de pe corp unde pot fi folosiți.[1]
Un alt motiv pentru folosirea senzorilor în reflexie este reprezentat de faptul că senzorii în transmisie nu pot fi utilizați pentru a măsura saturația de oxigen arterială(SaO2). Aceasta poate fi monitorizată bazându-se pe intensitatea luminii reflectate.[2]
Ideea de a utiliza lumina reflectată în locul celei transmise în oximetria clinică a fost descrisă pentru prima dată de către Brinkman și Zijlstra în anul 1949. Aceștia au arătat că SaO2 poate fi monitorizată prin măsurarea cantității de lumină reflectată de către piele, țesut și sânge. Utilizarea luminii reflectate extinde posibilitatea de măsurare a SaO2 din aproape orice punct de pe suprafața pieli. Chiar dacă acest tip de senzor aduce un avantaj semnificativ, marile dezavantaje al primelor pulsoximetre în reflexie erau reprezentate de dificultatea de a fi calibrate și precizia scăzută.[1]
4.1.1.Principiul de funcționare al senzorului și plasarea acestuia
Spectrul de absorbție al sângelui, structura și pigmentul pielii reprezintă factori de care depinde intensitatea luminii întoarsă la detector.[1]
Senzorul proiectat are în alcătuire patru surse de lumină, două pentru fiecare lungime de undă aleasă, și doi detectori, câte unul pentru fiecare spectru de lumină.
Lungimile de undă alese pentru sursele de lumină sunt 660 nm și 960 nm. Sursele de lumină folosite sunt LEDuri, iar detectorii sunt fotodiode. În Anexa X pot fi găsite fișele cu date pentru componentele utilizate. Acest ansamblu trebuie protejat de lumina ambientală pentru a evita erorile de măsurare.
LED-urile cu aceeași lungime de undă sunt plasate unul in fața celuilalt, iar fotodioda corespunzătoare lungimii de undă respective se afla poziționată între cele doua LED-uri. Această poziționare poate fi vizualizată în figura X.
Fasciculul de lumină produs de LED este incident pe piele, difuzează în țesut, iar o parte din fotoni sunt reflectați de către celulele de sânge roșii ale sângelui și de către alte țesuturi din zona unde este plasat senzorul și ajung la fotodiodă. O parte din fotoni sunt absorbiți de către țesut, iar o altă parte sunt transportați de către sânge. Ieșirea din fotodiodă este procesată de către pulsoximetru și este măsurată SaO2 a sângelui pulsatil. Procesarea în cazul de fața este făcută software utilizând programul Matlab.
În general, locurile unde pot fi poziționate sondele în reflexie sunt frunte și tâmple, dar nu există restricții doar la aceste doua zone. Senzorul creat a fost testat pe braț, antebraț și picior. Ipotetic vorbind, acesta poate fi utilizat în orice loc de pe corp.
!!!Poza cu poziționarea pe mana
4.1.2.Îmbunătațirea calității fotopletismogramei
La proiectarea unui senzor pentru pulsoximetru primul detaliu de care trebuie ținut cont este distanța dintre sursa de lumină și detector. Această distanță trebuie să fie astfel încât să poată fi detectate minimele și maximele componentelor pulsatile ale pletismogramei. Factorii de care depind componentele pulsatile sunt cantitatea de sânge arterial din țesutul iluminat precum și de sângele sistolic din patul vascular periferic.[3]
Calitatea fotopletsmogramei a fost îmbunătățită prin:
Utilizate unor LEDuri cu un curent de conducere mai mare, acest lucru are ca și consecința o creștere a adâncimii de penetrare a luminii incidente, ceea ce crește intensitatea luminii detectate. Utilizând nivele mai înalte pentru lumina incidentă, la o distanța dată între LED și fotodiodă, se poate ilumina un pat vascular pulsatil mai mare. Acest fapt are ca rezultat componente AC mai mari în fotopletismograme;
Plasarea fotodiodei și a LEDurilor la o distanța mică unul de celălalt. Însă această distanță nu trebuie să fie prea mică deoarece fotodioda se poate satura, având ca rezultat componente DC prea mari. Componenta DC mare apare ca urmare a reflexiei multiple a fotonilor incidenți de către epidermă și sângele liber. Păstrând intensitatea fasciculului de lumină constantă, se observă că intensitatea luminii detectate de către fotodiodă descrește exponențial cu creșterea distanței dintre LED și fotodiodă.[3]
Pe lângă aceste două moduri de îmbunătățire a fotopletismogramei, fotopletismograma a fost îmbunătățită prin schimbarea unghiului de incidența al luminii la nivelul pielii.
Testând două unghiuri de incidența, 90o și 25o am observat o creștere semnificativă a componentei AC și o descreștere a componentei DC. În următoarele grafice pot fi observate aceste lucruri. În figura X sunt reprezentate componentele AC, respectiv DC în funcție de unghiul de incidență pentru 3 locuri unde a fost poziționat senzorul (Poziția1-braț, Poziția2-antebraț, Poziția3-încheietură) pentru lungimea de undă din spectrul pentru roșu.
În figura X sunt reperezentate componentele AC, respectiv DC în funcție de unghiul de incidență pentru 3 locuri unde a fost poziționat senzorul (Poziția1-braț, Poziția2-antebraț, Poziția3-încheietură) pentru lungimea de undă din spectrul pentru infraroșu.
Prin micșorarea unghiului de incidență crește intensitatea luminii detectate de către fotodiodă deoarece fasciculul de lumina provenit de la LED-uri nu mai pătrunde adânc în țesuturi, deci cantitatea de lumină reflectată este mai mare. Modul în care fascicolul de lumină pătrunde în țesut poate fi observat în figura x . Se poate observa cum fasciculele de lumină provenite de la doua LED-uri cu aceeași lungime de undă (roșu) se suprapun, de aici rezultă că lumina detectată de către fotodiodă este din aceeași zonă. Același lucru se presupune că se întâmplă și la LED-urile infraroșii, numai că acest lucru nu poate fi vizualizat.
Alegerea celor doua unghiuri testate a fost aleatoare, unghiul de 90o a fost testat deoarece este incidența normală utilizată de către toate pulsoximetrele, iar cel de 25o a fost testat deoarece a fost cel mai mic unghi care a putut fi obținut.
În figura X poate fi observată forma de undă a semnalului pentru cele două unghiuri de incidență utilizate a lungimii de undă din spectrul pentru roșu atunci când senzorul a fost pus la încheietură .
În figura X poate fi observată forma de undă a semnalului pentru cele două unghiuri de incidență utilizate a lungimii de undă din spectrul pentru infraroșu atunci când senzorul a fost pus la încheietură .
4.1.3.Avantajele și dezavantajele sondelor în reflexie față de sondele în transmisie:
Avantajul de bază al sondelor în transmisie față de sondele în reflexie este cantitatea mare de lumină detectată de către PD.
Cu cât cantitatea de lumină care trece prin țesut este mai mare decât cantitatea de lumină reflectată și lumina care trece prin țesut este concentrată într-o zonă mai restrânsă, intensitatea luminii detectate de către sondele în transmisie este mai mare.
Dezavantajul principal al sondelor în transmisie este faptul ca zonele unde senzorul poate fi pus sunt limitate la zonele periferice ale corpului; deget, degetele de la picioare, ureche, nas, la adulți, iar la nou-născuți, picior sau palmă.
Sondele în reflexie pot fi situate în aproape orice zonă a copului de unde se așteaptă o reflexie a luminii datorată țesutului.
Surse de erori datorate sondelor și poziționării acestora:
Lumina ambientală: senzorul se acoperă cu un material opac care împiedică lumina ambientală să ajungă la PD;
Edemele: o acumulare anormală de fluide seroase, erorile se elimină prin evitarea plasării în zona edemelor ;
Lumina de la LED ajunge direct la PD fără să mai treacă prin țesut. Poate fi eliminată această eroare prin utilizarea unui senzor corespunzător pentru mărimea pacientului;
Lacul de unghii: anumite culori ale lacuilor de unghii (albastru, verde, maro și negru) absorb mai multă lumină așa că lumina detectată de Pd este mică.[4]
Această sondă a fost conectată la plăcuțele Easy Pulse utilizând mufe jack.
4.2. Plăcuța Easy Pulse
Acestea au fost proiectate pentru aplicații cu scop didactic pentru a ilustra principiul fotopletismografiei ca o tehnică optică non-invazivă pentru detectarea formei de undă a pulsului. Semnalul este filtrat și amplificat pentru a obține o formă de undă curată a semnalului PPG, care este sincron cu bătăile inimii.
Semnalul PPG care vine de la foto-detector este slab și zgomotos, de aceea este nevoie de circuite de amplificare și de circuite de filtrare pentru a obține o formă de undă a semnalului calitativă.
În primul etaj (figura X), semnalul este trecut printr-un filtru trece sus (FTS) pasiv (RC) pentru a tăia componentele DC foarte mari. Frecvența de tăiere a FTS este 0.5Hz și este setată de valorile rezistenței R=68K și a condensatorului C=4.7uF. Ieșirea din acest filtru trece printr-un filtru trece jos(FTJ) realizat cu un amplificator operațional cu o frecvența de tăiere de 3.4 Hz. Amplificatorul operațional este non-inversor. Pentru a obține o formă de undă orului plină a semnalului PPG la ieșire, intrarea negativă a amplificatorului este legată la o tensiune de referința (Vref) de 2.0V. Vref este generată utilizând o diodă zener. La ieșire este un potențiometru (P1) cu ajutorul căruia poate fi modificată manual amplitudinea. Semnalul care iese din FTJ trece prin circuitul etajului 2, care este o replică a etajului 1. Amplitudinea semnalului care intră în etajul 2 este controlată de P1. Amplificatorul operațional folosit este MCP6004 de la Microchip.
Etajul 2 (figura X) are circuite FTS și FTJ similare. După ce semnalul trece prin aceste circuite ajunge la un al treilea amplificator operațional care este configurat ca un buffer non-inversor cu amplificarea 1. Din acesta iese semnalul PPG analogic. Potențiometrul P1 poate fi utilizat pentru a controla amplitudinea semnalului PPG care intră în buffer.
Un al patrulea amplificator operațional din interiorul MCP6004 este utilizat ca un comparator de tensiune. Semnalul analogic PPG intră la intratea pozitivă, iar cea negativă este legată la o tensiune de referință (VR). Amplitudinea acestei VR poate fi setată cu ajutorul potențiometrului P2 între 0 și valoarea VCC. De fiecare dată când forma de undă a semnalului depășește pragul VR, ieșirea comparatorului merge mai sus. Astfel, acest circuit oferă la ieșire un semnal digital sincron cu bătăile inimii. Un LED de pe plăcuța clipește o dată cu bătăile inimii.[5]
Pentru realizarea circuitului de achiziționare a semnalului fotopletismografic au fost utilizate două plăcuțe Easy Pulse, câte una pentru fiecare lungime de undă folosită.
Aceste plăcuțe se conectează cu Shimmerul cu ajutorul unei Expansion Board. Conexiunea se face intre pinii VCC, GND și A0 ai plăcuțelor u pinii VCC, GND (atunci când plăcuțele sunt alimentate de la Shimmer) și A0, respectiv A7 ai Expansion Board utilizând fire conectoare. Alimentarea plăcuțelor poate fi făcută și cu o baterie externă de 3/5V.
4.3. Expansion Board
Această plăcuță permite conectarea unui senzor de ieșire analogic sau a unui senzor de ieșire digital pentru la Shimmer. Expansion Board se conectează la Shimmer printr-un conector extern care poziționat în afara incintei Shimmer.
Expansion Board permite utilizatorilor să încorporeze funcționalități suplimentare Shimmerului pentru a dezvolta aplicații specifice cerințelor lor.
Caracteristicile plăcuței:
Acces facil la semnalele microcontrolerului Shimmerului;
Permite alimentarea cu +/-5VDC;
Buton de control al software;
Permite o alimentare suplimentară;
În figura X sunt ilustrate vederea din fața, respectiv vederea din spate a plăcuței.[6]
După cum am mai spus, aceasta realizează interfața dintre plăcuțele Easy Pulse și Shimmer.
4.4.Shimmerul
Este senzorul inteligent care înregistrează semnale PPG și le transmite prin Bluetooh calculatorului.
Comunicațiile Bluetooth sunt un standard de comunicație pentru dispozitive mobile. Standardul Bluetooth este adecvat atunci când distanța dintre emițător/receptor este scurtă, rata de transfer este mare, iar puterea consumată trebuie menținută cât mai scăzută.[7]
4.4.1.Conectarea Shimmerului prin Bluetooth la calculator
Pentru a conecta senzorul la computer se efectuează următorii pași:
Se intră în Start -> Control Panel -> Hardware and Sound;
-> Devices and Printers -> Add a device și se seletează RN42-9ADF;
Se apasă NEXT și se introduce codul 1234;
Efectuând din nou comanda NEXT conexiunea senzorului la calculator va fi finalizată.
4.4.2.Verificarea com-portului
Pentru a verifica com-portul se efectuează următoarea comandă Start -> Control Panel -> Hardware and Sound -> Devices and Printers și se click dreapta pe RN42-9ADF, iar în meniul Services apare această informație. Com-portul este necesar pentru a prelua datele înregistrate cu ajutorul programului Matlab.
CAPITOLUL V. Algoritmi de procesare a semnalului
Pulsoximetrele, utilizate în spitale, măsoară și afișează saturația de oxigen a hemoglobinei în sângele arterial, volumul de sânge pulsatil care alimentează țesuturile și ritmul cardiac. Pulsoximetrul dezvoltat în cadrul acestei lucrări măsoară și afișează saturația de oxigen a hemoglobinei în sângele arterial și ritmul cardiac.
Semnalul este procesat utilizând algoritmi de procesare pentru a estima fiabil saturația de oxigen în prezența artefactelor de mișcare și a altor artefacte.
5.1.Estimarea saturației de oxigen:
Pentru a putea fi măsurată SpO2 se analizează componentele pulsatile pentru foto-pletismogramele pentru roșu și infraroșu care fac uz de intensitățile luminii reflectate.
SpO2 se poate estima cu ușurința deoarece coeficienții de absorbție ai HbO2 și Hb sunt diferiți pentru majoritatea lungimilor de undă, exceptând punctul isobestic (805nm).
Pentru estimarea saturației de oxigen este utilizată variabila numită raport de rapoarte.[1]
5.1.1.Raportul de rapoarte (Ros)
Ros se calculează, de obicei, prin logaritmarea naturală a raportului dintre valoarea maximă a peakului și valoarea minimă a peakului pentru semnalul roșu. Acest raport este apoi împărțit la logaritmul natural al raportului dintre valoarea maximă a peakului și valoarea minimă a peakului pentru semnalul infraroșu. (Cheung et al 1989)[2]
Există însă trei moduri prin care această variabilă poate fi determinată:
Metoda peak-urilor minime și maxime;
Metoda derivativă;
Metode spectrale de estimare a SpO2
5.1.1.1.Metoda peak-urilor minime și maxime
Fotodioda pentru lungimea de undă roșu detectează lumina de la LED-urile roșii, intensitatea luminii variază și are valori minime și maxime RH (apare în timpul diastolei) și RL (apare în timpul sistolei).
Ținând cont de următoarele formule:
RL=I0 *
RH=I0 *
=
Aceleași ecuații pot fi scrise și pentru semnalul IR:
Pentru a fi determinat Ros, aceste două valori se împart:
Astfel, măsurând minimele și maximele intensității luminii emergente pentru lungimea de undă R și IR (RH, RL, IrL, IrH) poate fi obținută o valoare a Ros. Pentru determinarea saturației de oxigen bazându-se pe Ros sunt folosite curbe empirice de calibrare.(figură cu aceste curbe)
5.1.1.2.Metoda derivativă
Yorkey (1996) a derivat Ros prin calcularea separata a componentelor AC și DC a semnalului măsurat.
Această derivare matematică a Ros utilizează legea Lambert-Beer:
Unde: I1- intensitatea luminii emergente;
I0- intensitatea luminii incidente;
-coeficientul relativ de extincție al materialului;
L- lungimea drumului optic.
În acest fel Ros este obținut utilizând derivatele. Presupunând ca schimbările în drumul optic sunt aceleași pentru ambele lungimi de undă în același interval de eșantioane, schimbarea instantanee a lungimii drumului optic () trebuie sa fie de asemenea aceeași pentru ambele lungimi de undă.
Se poate extinde cazul general prin derivarea lui :
Deci:
În loc de a fi utilizată metoda cu logaritmarea naturală pentru calcularea acestui raport de rapoarte a valorilor minime și maxime ale peakurilor pentru semnalele R și IR, valoarea raportului poate fi calculată prin derivarea componentei AC.
≈ Ir(t2) – Ir(t1)
Unde: t1 și t2 reprezintă minimul și maximul formei de undă, diferența dintre acestea poate fi considerată componenta AC a semnalului, iar t1 poate fi considerată componenta DC.
5.1.1.3. Metode spectrale de estimare a SpO2
SpO2 se calculează în prezent utilizând tehnica de medie ponderată în mișcare (WMA). (Rusch et al 1994).
Aceste metode procesează semnalele în domeniul timp și dau o precizie de ±2%. Cercetătorii analizat alți algoritmi pentru procesarea semnalelor digitale pentru a îmbunătăți estimarea SpO2. Transformata Fourier Rapidă (FFT) și Transformata Cosinus Discretă au fost identificate ca algoritmi superiori (Rusch et all 1994) și folositori pentru a optimiza portabilitatea sistemelor pulsoximetrice. Studii preliminare au indicat că o FFT în 64 de puncte, cu o frecvența de eșantionare de 15 HZ, aplicată unor date colectate la o perioadă de 4,3 a fost găsită a fi combinația optimală pentru aplicațiile de pulsoximetrie, minimizând cheltuielile hardware și consumul de putere.
5.2. Calculul saturației de oxigen
În lucrarea de fața s-a utilizat metoda derivativă pentru calculul SpO2. Calculul SpO2 se realizează utilizând funcția SpO.m al cărei cod se găsește în Anexa X.
Minimele și maximele semnalului PPG au fost identificate utilizând funcția Matlab peakdet.m, codul acestei funcții se găsește în Anexa x. Funcția peakdet returnează o matrice în care se găsesc minimele și maximele semnalului. Funcția este apelată utilizând sintaxa [MAXTAB, MINTAB] = peakdet(V, DELTA). MAXTAB și MINTAB sunt formate din două coloane, V reprezintă semnalul al cărui minime și maxime urmează a fi identificate, iar DELTA este un prag.
Un punct este considerat a fi vârful maxim dacă el este valoarea maximă și este precedată (la stânga) de valoare mai mică decât pragul DELTA.
Odată identificate vârfurile minime și maxime se calculează componentele AC și DC ale celor două semnale. Componenta AC este calculată ca diferența dintre un maxim și un minim consecutiv, iar componenta DC este considerată a fi vârful minim.
După ce componentele AC, respectiv DC au fost calculate, următorul pas este calcularea raportului de rapoarte, utilizând următoarea ecuație:
Valorile SpO2 au fost calculate utilizând următoarea ecuație:
Unde : A = 110, iar B = 25.
5.3. Estimarea ritmului cardiac
Pentru a putea fi măsurată HR se analizează componenta pulsatilă pentru foto-pletismograma pentru infraroșu.
HR poate fi calculat cu ușurința din semnalele PPG deoarece forma de undă a acestui semnal este sincronă cu bătăile inimii, componenta AC a acestui semnal este modulată de bătăile inimii.
Există două metode prin care HR poate fi calculat din semnalele PPG:
Metoda vârfurilor maxime;
Metoda spectrală;
5.3.1.Metoda vârfurilor maxime
Identifică peak-urile (salturi, vârfuri) individuale corespunzătoare fiecărui ciclu cardiac (prin identificarea maximelor) și determină intervalul dintre două bătăi succesive.
5.3.2.Metoda spectrală
Se bazează pe identificarea frecvenței pulsului cardiac. De cele mai mule ori este utilizată Transformata Fourier pentru a evidenția energia din componentele de frecvența ale semnalului PPG.
5.4. Calculul ritmului cardiac
HR s-a calculat utilizând metoda vârfurilor maxime care sunt sincrone cu bătăile inimii. Calculul HR se realizează utilizând funcția HRppg.m al cărei cod se găsește în Anexa X.
Vârfurile maxime au fost detectate utilizând funcția plethdetect1.m, codul acesteia se găsește în Anexa X. Sintaxa de apelare a funcției este [dpleth_peaks] = plethdetect1(sig, fs), aceasta returnează maximele și are ca parametrii de intrare semnalul și frecvența de eșantionare a semnalului.
CAPITOLUL VI. Rezultate și concluzii
6.1.Interfața grafică
Pentru a viziona semnalul PPG și parametrii s-a realizat o interfața grafică cu utilizatorul utilizând MATLAB GUIDE (Graphical User Interfaces Development Enviroment), o facilitate a MATLAB dezvoltată în acest sens.
Pentru crearea interfeței cu utilizatorul se testează în fereastra de comanda a MATLAB-ului: >> guide, apare următoarea fereastră din figura X și se selectează Blank GUI (Default) din câmpul GUIDE templates.
După realizarea acestei comenzi apare o paletă goală unde au fost poziționat un buton cu ajutorul meniului Push Button, două căsuțe text cu ajutorul meniului Edit Text, textul static a fost introdus utilizând Static Text și două grafic utilizând Axes. Paleta cu toate componentele pe ea este ilustrată în figura X.
În cele două căsuțe text vor fi afișați în timp real cei doi parametrii ce urmează să fie monitorizați după ce butonul de achiziție Signal acquisition va fi apăsat, iar semnalul PPG va începe se fie înregistrat și afișat în axes1. Va fi afișat doar unul dintre cele două semnale PPG pentru a fi simplificat și pentru o observare mai bună a acestui semnal. În axes2 va fi afișată o imagine sugestivă, aceasta este introdusă pentru un aspect mai prietenos al planșetei.
În figura X este ilustrată planșeta în timp ce înregistra semnalul, se pot observa parametrii exemplificați mai sus. Senzorul pulsoximetrului era poziționat pe braț în momentul înregistrării, iar subiectul era în repaus. Valoarea SpO2 este de 97,43%, iar valoarea ritmului cardiac este de 76 BPM.
6.2. Concluzii
BIBLIOGRAFIE
!!!!De numerotat si de completat
ANEXE
1.Calculul saturației de oxigen
function [SpO2] = SpO(sig1,sig2)
mintab1((1:2),1) = 1;
mintab1((1:2),2) = 0;
maxtab1((1:2),1) = 1;
maxtab1((1:2),2) = 0;
mintab2((1:2),1) = 1;
mintab2((1:2),2) = 0;
maxtab2((1:2),1) = 1;
maxtab2((1:2),2) = 0;
[maxtab1,mintab1] = peakdet(sig1,20);
a1 = maxtab1(:,2);
b1 = mintab1(:,2);
l_max1 = length(maxtab1);
l_min1 = length(mintab1);
if l_max1 > l_min1
a1 = a1(1:l_max1-1,1);
else
if l_max1 < l_min1
b1 = b1(1:l_min1-1,1);
end
end
ACR = a1 – b1;
AC_red = mean(ACR);
DC_red = mean(b1);
[maxtab2, mintab2] = peakdet(sig2,20);
a2 = maxtab2(:,2);
b2 = mintab2(:,2);
l_max2 = length(maxtab2);
l_min2 = length(mintab2);
if l_max2 > l_min2
a2 = a2(1:l_max2-1,1);
else
if l_min2 > l_max2
b2 = b2(1:l_min2-1,1);
end
end
ACIR = a2 – b2;
AC_ir = mean(ACIR);
DC_ir = mean(b2);
Ratio = (AC_red / DC_red)./ (AC_ir / DC_ir);
SpO2 = 110 – 25 * Ratio;
End
2.Funcția peakdet
function [maxtab, mintab]=peakdet(v, delta, x)
%PEAKDET Detect peaks in a vector
% [MAXTAB, MINTAB] = PEAKDET(V, DELTA) finds the local
% maxima and minima ("peaks") in the vector V.
% MAXTAB and MINTAB consists of two columns. Column 1
% contains indices in V, and column 2 the found values.
%
% With [MAXTAB, MINTAB] = PEAKDET(V, DELTA, X) the indices
% in MAXTAB and MINTAB are replaced with the corresponding
% X-values.
%
% A point is considered a maximum peak if it has the maximal
% value, and was preceded (to the left) by a value lower by
% DELTA.
% Eli Billauer, 3.4.05 (Explicitly not copyrighted).
% This function is released to the public domain; Any use is allowed.
maxtab = [];
mintab = [];
v = v(:); % Just in case this wasn't a proper vector
if nargin < 3
x = (1:length(v))';
else
x = x(:);
if length(v)~= length(x)
error('Input vectors v and x must have same length');
end
end
if (length(delta(:)))>1
error('Input argument DELTA must be a scalar');
end
if delta <= 0
error('Input argument DELTA must be positive');
end
mn = Inf; mx = -Inf;
mnpos = NaN; mxpos = NaN;
lookformax = 1;
for i=1:length(v)
this = v(i);
if this > mx, mx = this; mxpos = x(i); end
if this < mn, mn = this; mnpos = x(i); end
if lookformax
if this < mx-delta
maxtab = [maxtab ; mxpos mx];
mn = this; mnpos = x(i);
lookformax = 0;
end
else
if this > mn+delta
mintab = [mintab ; mnpos mn];
mx = this; mxpos = x(i);
lookformax = 1;
end
end
end
3. Măsurarea ritmului cardiac
function [HRR]= HRppg(sig,fs)
[dpleth_peaks, peak_amp] = plethdetect1(sig, fs);
beat =(dpleth_peaks)';
pp = (beat(2:end)-beat(1:end-1))./60; % set of the RR intervals lenghts (in minutes)
hr = mean(round( 1./pp)); % Heart frequency (beat/minute)
HRR = round(hr);
end
4.Funcția plethdetect1
function [dpleth_peaks, peak_amp] = plethdetect1(pleth, freq)
% Detect Di®erentiated plethysmogram (PPG) peaks
% pleth is the PPG sigal and freq is its sampling frequency
dpleth = [0; diff(pleth)];
loop = length(pleth);
% Smooth dpleth:
% wavblock = 1024; %has to be power of 2
% smooth_dpleth = [];
% bar = waitbar(0,'SWT smoothing','Position', [100 100 270 50]);
% for i=1:loop/wavblock
% waitbar(i/floor(loop/wavblock), bar)
% [SWA, SWD] = swt(dpleth((i-1)*wavblock+1:i*wavblock), 2, 'db3');
% smooth_dpleth = [smooth_dpleth SWA(2,:)];
% if i==floor(loop/wavblock)
% smooth_dpleth = [smooth_dpleth dpleth(i*wavblock+1:end)'];
% end
% end
% close(bar)
% dpleth = smooth(sig,10)';
% dpleth=detrend(pleth)';
peak_lowlimit = 0.001;
peak_uplimit = 250;
horizon = freq/3;
dead_pleth = freq/20;
up_slope_min = freq/10;
notfound_limit = freq;
active_limit = freq/10;
down_slope_min = freq/30;
dpleth_peaks = [];
peak_amp = [];
temp_max = 0;
temp_max_index = 0;
counter = -1; %counting steps after the peak is found and compare it with horizon
flat_counter = 0;
up_slope_count = 0;
notfound_count=0;
active_count = 0;
down_slope_count = 0;
for i=1:loop
if abs(dpleth(i))>peak_uplimit % huge spike, reset
temp_max = 0;
up_slope_count = 0;
counter = -1;
flat_counter = flat_counter+1;
active_count = -50;
down_slope_count = 0;
end
if abs(dpleth(i))<=0
flat_counter = flat_counter+1;
end
if flat_counter > dead_pleth % dead pleth detected, reset
flat_counter = 0;
up_slope_count=0;
temp_max=0;
counter = -1;
notfound_count=0;
active_count=-50;
down_slope_count = 0;
end
if (dpleth(i)>temp_max) & (dpleth(i)>peak_lowlimit) & (dpleth(i)<peak_uplimit)
temp_max = dpleth(i);
temp_max_index = i;
counter = 0;
flat_counter = flat_counter-1;
up_slop_count = up_slope_count + 1;
notfound_count = 0;
active_count = active_count+1;
else if (counter>horizon) & (flat_counter<dead_pleth) & (up_slope_count > up_slope_min)…
& active_count>active_limit & down_slope_count>down_slope_min
dpleth_peaks = [dpleth_peaks; temp_max_index/freq];
peak_amp = [peak_amp; temp_max];
%adapt threshold
if temp_max/10>peak_lowlimit%gain is larger than double of lower limit, increase limit
peak_lowlimit = peak_lowlimit + .4*(temp_max/10-peak_lowlimit);
end
if peak_uplimit/10 > temp_max
peak_uplimit = peak_uplimit – .4*(peak_uplimit/10-temp_max);
end
temp_max = 0;
temp_max_index = [];
counter = -1;
flat_counter = 0;
up_slope_count=0;
notfound_count=0;
active_count=0;
down_slope_count=0;
else % wait to see if it is real
if counter>=0
counter = counter + 1;
if dpleth(i)>0
up_slope_count = up_slope_count+1;
end
if abs(dpleth(i))<peak_lowlimit
notfound_count = notfound_count+1;
end
if abs(dpleth(i))>0
active_count = active_count+1;
end
if dpleth(i)<0
down_slope_count=down_slope_count+1;
end
end
end
end
end
5. Funcția principală
function varargout = grafic(varargin)
% GRAFIC MATLAB code for grafic.fig
% GRAFIC, by itself, creates a new GRAFIC or raises the existing
% singleton*.
%
% H = GRAFIC returns the handle to a new GRAFIC or the handle to
% the existing singleton*.
%
% GRAFIC('CALLBACK',hObject,eventData,handles,…) calls the local
% function named CALLBACK in GRAFIC.M with the given input arguments.
%
% GRAFIC('Property','Value',…) creates a new GRAFIC or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before grafic_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to grafic_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help grafic
% Last Modified by GUIDE v2.5 06-Apr-2015 20:40:45
% Begin initialization code – DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, …
'gui_Singleton', gui_Singleton, …
'gui_OpeningFcn', @grafic_OpeningFcn, …
'gui_OutputFcn', @grafic_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 grafic is made visible.
function grafic_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to grafic (see VARARGIN)
% Choose default command line output for grafic
handles.output = hObject;
handles.newData = [];
handles.plotData = [];
handles.start_time = now;
handles.comPort = '3';
handles.fs = 102.4;
handles.captureDuration = 5000;
handles.fileName = 'testdata.txt';
handles.data1 = [];
handles.sig1 = 1;
handles.data2 = [];
handles.sig2 = 1;
handles.NO_SAMPLES_IN_PLOT = 500; % Number of samples that will be displayed in the plot
handles.DELAY_PERIOD = 0.2; % A delay period of time in seconds between data read operations
c=imread('ppg.jpg');
axes(handles.axes2);
imshow(c);
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes grafic wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% – Outputs from this function are returned to the command line.
function varargout = grafic_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 line output from handles structure
varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% – Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles empty – handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a double
% – Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles empty – handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% – Executes on button press in signalAcquisition.
function signalAcquisition_Callback(hObject, eventdata, handles)
% hObject handle to signalAcquisition (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of signalAcquisition
handles.buttonOnOff = get(hObject,'Value');
shimmer = ShimmerHandleClass(handles.comPort); % Define shimmer as a ShimmerHandle Class instance with comPort
firsttime = true;
axes(handles.axes1);
if (~handles.buttonOnOff)
shimmer.stop;
shimmer.disconnect;
else
if (shimmer.connect) % TRUE if the shimmer connects
% Define settings for shimmer
shimmer.setsamplingrate(handles.fs); % Set the shimmer sampling rate
shimmer.setinternalboard('None');
shimmer.setexternalboard('ExpBoard');
shimmer.setenabledsensors('ExpBoard_A0',1, 'ExpBoard_A7',1);
shimmer.setfivevoltreg(1);
if (shimmer.start) % TRUE if the shimmer starts streaming
handles.elapsedTime = 0; % Reset to 0
tic; % Start timer
while (handles.elapsedTime < handles.captureDuration)
pause(handles.DELAY_PERIOD); % Pause for this period of time on each iteration to allow data to arrive in the buffer
[handles.newData,signalNameArray,signalFormatArray,signalUnitArray] = shimmer.getdata('Time Stamp','c','Accelerometer','c','ExpBoard','c'); % Read the latest data from shimmer data buffer, signalFormatArray defines the format of the data and signalUnitArray the unit;
if ~isempty(handles.newData) % TRUE if new data has arrived
dlmwrite(handles.fileName, handles.newData, '-append', 'delimiter', '\t'); % Append the new data to the file in a tab delimited format
handles.plotData = [handles.plotData; handles.newData];
if length(handles.plotData) > handles.NO_SAMPLES_IN_PLOT
handles.data1=[handles.plotData(((length(handles.plotData)-handles.NO_SAMPLES_IN_PLOT): length(handles.plotData)),6); handles.newData(:,6)]';
handles.data2=[handles.plotData(((length(handles.plotData)-handles.NO_SAMPLES_IN_PLOT): length(handles.plotData)),5); handles.newData(:,5)]';
handles.sig1=smooth(handles.data1,30);
handles.sig2=smooth(handles.data2,20);
%
plot(handles.sig1,'LineWidth',2);% hold on;
% plot(handles.sig2,'r','LineWidth',2);
axis([length(handles.sig2)-handles.NO_SAMPLES_IN_PLOT length(handles.sig2) 1500 2200]);
xlabel('Samples');
ylabel('Amplitude[a.u]')
% legend('IR-PPG','Red-PPG');
grid on
% hold off
% %Apelarea functiei de calcul a heart rate
HRR = HRppg(handles.sig1,handles.fs);
set(handles.edit1,'String',num2str(HRR),'Visible','On');
%
% %Apelarea functiei de calcul a SpO2
SpO2 = SpO(handles.sig1,handles.sig2);
set(handles.edit2,'String',num2str(SpO2));
end
end
handles.elapsedTime = handles.elapsedTime + toc; % Stop timer and add to elapsed time
tic; % Start timer
end
handles.elapsedTime = handles.elapsedTime + toc; % Stop timer
end
end
end
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Achizitia Si Prelucrarea Semnalului Fotopletismografic (ID: 161781)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
