AF Atrial fibrilation Fibrilație atrială [631243]
Listă acronime
AF Atrial fibrilation= Fibrilație atrială
AV Atrioventricular
BPM Beats Per Minute= Bătăi pe minut
CWT Continous Wavelet Transforms= Transformata continuă Wavelet
DCT Discret Cosine Transform= Transformata Cosinusului Discretă
DFT Discrete Fourier Transform=Transformata Fourier Discretă
DWT Discrete Wavelet Transform = Transformata discretă Wavelet
ECG Electrocardiogramă
GPL General public license
HF High Frequency= Filtru trece sus
HR Heart Rate= Ritm cardiac
HRV Heart rate variability= Variabilitatea ritmului cardiac
LF Low Frequency=Filtru trece jos
MFCC Coeficienții cepstrali ai frecvenței MEL
PPG Fotopletismografie
SA Sinoatrial
STFT Short time Fourier Transform= Transformare Fourier de scurtă durată
VT Ventricular tachycardia= Tahicardie ventriculară
WFDB Wave Form Database= Baza de date a formelor de undă
WT Transformata Wavelet
Introducere
1. Fiziologia inimii. Electrocardiograma. Fotopletismograma.
1.1 Inima
Inima sau cordul este organul repreyentativ al aparatului cardiovascular, care pompează
sângele în tot corpuul , fiind poziționată între plămâni, fiind înclinată spre stânga.
Această funcție de a pompa se datorează țesutului muscular al inimii numit miocard
(myo=mușchi, cardia=inimă). Pe lângă acesta, mai este formată și din mușchii epicard și
endocard și Din punct de vedere structural este formată din două atrii și și două ventricole,
numite camere superioare separte de un perete numit septum. Inima este alcătuită din două
camere, în care sângele circulă prin două sisteme închise separat. Sângele încărcat cu oxigen
părăsește ventriculul stâng prin aortă. Circulă prin corp și se întoarce dezoxigenat în atriul drept
prin venele cave superioară și inferioară. Ventriculul dr ept pompează sângele prin artera
pulmonară către plămani, unde acesta schimbă dioxidul de carbon cu oxigen. Sângele oxigenat
se întoarce apoi, prin venele pulmonare, în atriul stâng, pregătit pentru o nouă circulație arterială .
Figura 1.1 Structura inimii [1]
Ciclul cardiac reprezintă contracția regulată, ritmică și altenrantă a miocardului atrial urmată de
cea a miocardului ventricular . Ca orice alt mușchi, contracția este realizată de trecerea unui
impuls electric prin celulele musculare, iar la inimă aceast impuls este generat chiar de muschiul
inimii în sine. Această proprietate de a se iniția ciclul cardiac fără niciun stimul extern, se
numește ritmicitate inerentă.
Contractarea indepententă se datorează unor celule ce au proprietatea de depolarizare spontană,
numite celule pacemaker. Acestea generează impulsuri electrice ce se transmit în toată inima prin
țesuturile conductive.
Sistemul de conducție, numit și sistem pacemaker este format din: nodul sinoatrial și nodul
atrioventricular conectate prin căile internodale, mănunchiul His, cu ramurile aferente: stângă și
dreaptă, și rețeaua de fibre Purkinje.
Celulele pacemaker se regăses c în mai multe regiuni ale sistemului de conducție, însă cele ce au
rata de autodepolarizare cea mai mare se află în nodul sinoatrial. Acestea sunt cele mai
importante, deoarece, celelalte se vor ”reseta” odata ce impulsul generat de celulele din nodul
sinoatrial va ajunge la ele. Astfel, bătăile inimii vor fi dictate de celulele pacemaker din nodul
sinoatrial. [2]
În condiții de relaxare, inima va bate cu o frecvență de 65 -80 bătăi/min, însă în condiții de
solicitare, această frecvență poate ajunge la 180 bătăi/min, sau chiar mai mult.
Ciclul cardiac este descris prin două faze distincte: sistola și diastola. Sistola reprezintă faza de
contracție a mușchilor ce formează camerele inimii, iar diastola reprezintă revenirea celulelor la
potențialul de repaus, d eci relaxarea inimii.
1.2 Electrocardiograma
Inima mai este denumită și “Pompa musculară” deoarece pompează continuu sânge de -a
lungul vieții. Dacă inima se oprește pentru câteva minute, moartea este inevitabilă. Așadar, este
foarte important să cunoaștem starea inimii pentru a preveni situațiile nevrute.
Electrocardiograma (ECG) reprezintă o evaluare non -invazivă, transtoracică a activității electrice
a inimii într -o anumită perioadă de timp prin intermediul electrozilor de pe piele.
ECG -ul indică ritmu l total al inimii și slăbiciunile în diferite părti ale musculaturii inimii. Este
una dintre cele mai bune metode pentru a masura si diagnostica rimurile anormale ale inimii.
Este folosit pentru a măsura ritmul și regularitatea bătăilor inimii precum și di mensiunea și
poziționarea camerelor inimii, dar și prezența unei leziuni la nivelul inimii.
Figura 1.2 ECG caracteristicile formei de undă și pozițiile lor corespunzătoare în inimă
Plasând într -un mod selectiv electrozii pe piele, undele electrice care trec prin diferite părți ale
inimii pot fi măsurate. O ECG indică tensiunea care este luată din perechile acestor electrozi.
Fiecare pereche ar trebui să măsoare un set specific de muș chi, dintr -o direcție diferită. Unda
electrică are magnitudine, direcție și prin urmare poate fi reprezentată ca un vector care continuă
să se schimbe atât în magnitudine cât și direcție într -un ciclu cardiac sau o singură bătaie a
inimii. O ECG folosește perechi de electrozi numiți sonde și aceștia colectează componentele
vectorului din diferite direcții. Este cea mai bună metodă pentru măsurarea și diagnosticarea
ritmurilor anormale.
1.2.1 Sonde
Termenul de sondă în electrocardiografie este folosit pentru a face referință la două
lucruri distincte. În general, termenul poate fi folosit ca și referință la cablul electric care se
atașează electrozii la aparatul de măsurare ECG. De obicei, sunt 10 electrozi într -un ECG
standard cu 12 sonde. Alternativ, termen ul de sondă se poate referi (adesea la ECG) la urmărirea
diferenței de tensiune dintre doi electrozi și este de fapt produs de aparatul de măsurare ECG.
Fiecare va avea un nume specific.
Plasarea Electrozilor: un sistem ECG cu 12 sonde folosește 10 electro zi. Electrozii, de obicei
constau într -un gel conductor, încorporat în mijlocul unui suport autoadeziv pe care sunt clemele
cablurilor. Câteodată gelul formează adezivul. Ei sunt etichetați și sunt plasați pe corpul
pacientului, dup a cum este prezentat în figura 1.3 . Aceasta indică o amplasare corectă a
electrozilor pe membru.
Figura 1.3 Poziționarea electrozilor
Sondele de pe membre: Sondele I, II și III sunt denumite sonde pentru membre în
configurițiile cu 5 și 12 sonde. Electrozii sunt plasați pe membre – unul pe fiecare braț și unul pe
piciorul stâng. Sonda I reprezintă tensiunea dintre electrodul de pe brațul stâng (LA) și electrodul
de pe bratul drept (RA)
I = LA – RA
II= LL – RA
III= LL – LA
Sondele unipolare și bipolare: sunt două tipuri de sonde: unipolare și bipolare. Sondele
bipolare au un pol negativ și unul negativ. În configurația ECG cu 12 sonde, sondele de pe
membre (I, II si III) sunt sonde bipolare. Sondele unipolare au două poluri, pe măsură ce se
măsoară o tensiune; cu toate acestea, polul negativ este un pol compozit compus din semnale de
la mai mulți electrozi. Într -un sistem ECG cu 12 sonde, toate sondele în afară de cele ale
membrelor, sunt unipolare.
Terminalul central al lui Wilson Vw este produs prin conectarea electrozilor RA; LA; și LL
printr -o rețea rezistivă, pentru a oferi un potențial constant de -a lungul corpului:
Vw=1/3 (RA+LA+LL)
1.2.2 Undele și intervalele ECG
O monitorizare ECG a ritmului cardiac constă într -o undă P, a complexului QRS și a
undei T. Tensiunea de bază a electrocardiogramei este cunoscută sub denumirea de linie
izoelectrică. În mod normal, linia izoelectrică este măsurată ca și porțiune a monitorizării urmând
unda T și precedând următoarea unda P.
Figura 1.4 Semnalul ECG și componentele sale diferite
Intervalul RR reprezintă durata unei revoluții cardiace. Durata acestuia depinde de puls; dacă
pulsul este ridicat, durata intervalului RR este scăzută și vice -versa (de exemplu, la un ritm
cardiac de 70 bătăi pe minut, durata intervalului RR este de aproximativ 0.86 secunde).
Frecvența cardiac de repaus normal este cuprinsă între 60 – 100 bpm, iar durata într e 0.6 – 1.2 s.
[4]
Unda P este formată ca urmare a răspândirii semnalului electric prin mușchii atriului; acest lucru
face ca atriul să se contracteze. Valoarea P este normal între 0,08 și 0,1 secunde (80 100ms) în
timp. În timpul contracției atriale norma le, vectorul electric principal se deplasează de la nodul
Sinoatrial (SA) spre nodul Atrioventricular (AV) și se extinde de la atriul drept la atriul stâng.
Aceasta se transformă în unda P al ECG. Forma și durata undelor P pot indica mărirea atrială.
Perio ada scurtă după unda P reprezintă timpul în care impulsul se deplasează în nodul AV. În
nodul AV viteza semnalului electric este redusă considerabil. Perioada de debut de timp a undei
P la începutul complexului QRS este denumită intervalul P -R. În mod nor mal, durata este de
0,12 până la 0,2 secunde. Intervalul P -R este timpul dintre contracția atriilor și contracția
ventriculilor. Deformarea sa cu o crestătură pronunțată cu un interval vârf la vârf de peste 0,04
secunde sugerează mărirea atriului stâng .[4]
QRS reprezintă răspândirea impulsului electric prin mușchiul ventriculelor. Complexul QRS este
o structură pe ECG care corespunde depolarizării (contracției) ventricolelor. Mușchii
ventriculilor sunt mai mari decât mușchii atriilor: acest lucru înseamnă c ă complexul QRS este
mai mare decât valul P. Complexul QRS este în mod normal între 0,06 și 0,1 secunde; aceasta
este o perioadă foarte scurtă de timp și arată că depolarizarea ventriculară are loc foarte rapid.
Durata și amplitudinea complexului QRS sunt utile în diagnosticarea problemelor cardiace și a
altor stări de boală. Durata anormală (0,1 secunde) poate indica o blocare a ventriculului. O
amplitudine anormală poate indica boală coronariană, emfizem și obezitate. În interiorul valului
QRS este un val mai mic. Acest val este relaxarea atriului; seamănă cu un val P invers. Este mult
mai mică decât magnitudinea QRS și, prin urmare, este ocolită de aceasta. [4]
Unda T reprezintă partea terminală rapidă și relaxarea ventriculilor. Valoarea T este examinată
pentru direcția sa (A), pentru forma (B) și pentru înălțimea (C). O undă normal ă T este ușor
rotund ă și asimetric ă. O undă ascuțită este cauza îngrijorării , iar dacă este mai î naltă este un
indicator clar al anumitor boli de inimă . Durata undei T este de sub 0.2 secunde și are
amplitudinea de sub 0.4mV (0.2mV – 0.4mV) . [4]
Unda U este atribuită existenței unor diferențe de potențial la sfârșitul sistolei electrice. Aceasta
devine mai pronunțată în cazul în care există o deficiență de potasiu. este văzută ocazional, este o
undă pozitivă care apare după unda T. Amplitudinea sa este, în general, o pătrime din
amplitudinea undei T. Unda U este cel mai frecvent observată în conductorii V2 V4. Persoanele
cu unda T proeminentă, precum și cele cu ritm lent al inimii, afișează unde U de multe ori. [4]
Acest segment ST este o perioadă de zero tensiune care urmează complexului QRS. Aceasta este
perioada de timp dintre contracția ventriculilor . Segmentul ST trebuie întotdeauna studiat cu
atenție, deoarece este modificat într -o gamă largă de condiții. Pentru anumite boli, segmentul ST
poate deveni depresiv sau ridicat reprezintă întârzierea suferită de stimulul excitator în
propagarea sa la nivelul joncțiunii atrio -ventriculare . Este de interes deosebit în s tabilirea
ischemiei miocardice acute Durata sa este de aproximativ 0.08 secunde . [4]
Intervalul PR reprezintă durata activității atriale și a conducerii atrio -ventriculare și este măsurat
de la începutul undei P până la inceputul complexului QRS , iar durat a este cuprinsă între 0.12 –
0.22 secunde. [4]
Intervalul QT se măsoara de la începutul complexului QRS până la terminarea unde T și
reprezintă durata depolarizării și repolarizării ventriculare. Cea mai lungă durată a QT este uzual
în derivațiile precordi ale drepte. Prelungirea intervalului QT poate duce la tahicardie
ventriculară. [4]
1.2.3 Importanța Electrocardiogramei
Riscul bolilor cardiovasculare crește în lumea modernă și duce la moartea persoanelor din
cauza atacurilor cardiace. În același timp, u n număr mare de persoane moare din cauza
întârzierilor sau a erorilor în diagnosticarea bolilor cardiace. Specialiștii cardiologi folosesc
semnalul ECG pentru a diagnostica într -un mod efectiv bolile cardiovasculare. ECG este un
semnal reprezentativ care c onține informații despre starea inimii. Forma și dimensiunea undei P –
QRS -T și intervalele de timp dintre anumite vârfuri conțin informații folositoare despre natura și
anormalitățile inimii. Prezența anormalităților cardiace sunt reflectate în forma undei ECG -ului și
a ritmului cardiac. Este cea mai bună metoda pentru a măsura și a diagnostica ritmurile cardiace
anormale.
ECG -ul este unul din cele mai comune folosite teste cardiace. Acest lucru se datorează faptulului
că electrocariograma este folosit ă ca un instrument pentru ecranizarea anormalităților cardiace;
aparatele ECG sunt prezente în majoritatea unităților medicale; testul este simplu de efectuat,
fără riscuri și ieftin. De la efectuarea ECG -ului, pot fi determinate următoarele informații desp re:
– ritmul cardiac;
– dacă există anormalități ale dispersiei impulsului electric pe inimă
– predispunerea la atac cardiac
– posibilă existență a unor boli coronariene
– dacă mușchiul cardiac prezintă anormalități.
ECG -ul arată ritmul cardiac doar în t impul în care se efectuează testul. Dacă sunt prezente
anormalități intermitente ale ritmului cardiac, este foarte probabil ca testul ECG să nu le
depisteze. Monitorizarea ambulatorie este necesară pentru a observa aritmiile tranzitorii.
Poate fi deseori n ormal sau aproape normal la pacienț ii cu boli coronariene nediagnosticate sau
la alte forme ale bolilor cardiace. Multe anormalități care apar la ECG se dovedesc a nu fi de
mare importanță, după ce evaluarea s -a efectuat (rezultate fals pozitive).
1.2.4 Forma undelor ECG care descriu anormalități cardiace
Figura 1.5 Semnalul ECG și componentele sale diferite
Unda P în ECG reprezintă startul ciclului cardiac sau a unei bătai a inimii. Forma și durata
acesteia ajută la determinarea multor condiții medicale: aritmiile cardiace(bătăile inimii pot fi
prea rapide sau prea lente, sau pot fi regulare sau iregulare), hipertrofia atrială (înseamnă mărire
atrială ), fibrilație atrială (este indicată de absența undei P care relevă o afecțiune care implică un
tremur al muș chiului cardiac atrial), p alpitaț iile atriale (unda P este de forma unui dinte, lucru
care se datorează unei contracții rapide, necoordonate a atriului ).
Undele QRS: Complexul QRS este compus din trei puncte caracteristice Q,R și S de pe ECG
care corespund depolarizării ventriculelor. Durata, amplitudinea și morfologia complexului QRS
sunt folositoare în diagnosticare multor anormalități cardiace cum ar fi aritmiile cardiace,
hipertrofia ventri culară, și infactul miocardic.
Intervalul PR/PQ: I ntervalul PR este măsurat de la începutul undei P până la începutul
complexului QRS. Mai multe condiții ale inimii pot fi diagnosticate din intervalul PR. De
exemplu un interval PR de peste 0.2 secunde poate indica un blocaj cardiac de gradul întâi, iar un
interval PR scurt poate indica un sindrom de pre -excitare.
Segementul ST: Aceste segment conectează complexul QRS și unda ST. Un segment ST plat sau
depresiv poate indica o Ischemie Coronariană. De asemnea o elevație a segementului ST poate
indica un Infa rct Miorcardic.
Unda T: Aceasta undă se caracterizează prin repolarizarea sau recuperarea ventriculelor. O undă
T inversă poate fi un semn care indică Ischemie Coronariană sau Hipertrofie a ventricului stâng.
O undă T înaltă și simetrică indică Hiperkalemi e, iar o undă T plată indica Hipokalemia.
Intervalul QT: Acesta este măsurat de la începutul complexului QRS până la sfârșitul undei T.
Acestea sunt folositoare în a furniza informații despre sindromul QT. Un sindrom este alcătuit
dintr -un grup de simptome care împreună sunt caracteristice unei afecțiuni sau a unei boli
specifice.
Unda U: O astfel de undă proeminentă poate indica Hipokalemie, Hipercalcemie
1.3 Fotopletismografia
Fotopletismografia (PPG) este o tehnic ă optic ă simpl ă, non -invaziv ă și ieftin ă care poate
fi folosit ă să detecteze schimbările volumetrice ale sângelui în țesuturi. Cele două cerințe de bază
ale fotopletismografiei sunt: o sursă de lu mină pentru a ilumina țesutul (s pre exemplu pielea), și
un foto detector pentru a măsura variaț iile mici ale i ntensității luminii asociate cu schimbările ce
intervin î n recipientul perfuziei. PPG este de seori folosit la lungimi de undă infraroș ii sau la
valori apropiate de aceasta. Pulsul periferic, car e este sincronizat cu fiecare bă taie a inimii, este
caracteris tica cea mai cunoscuta. În ciuda simplităț ii diferitelor componente ce alcătuiesc
semnalul PPG, acestea încă nu sunt pe deplin înț elese. Este universal valabil faptul că ele pot
furniza informaț ii importante des pre sistemul cardiovascular . [5]
1.3.1 Consi deraț ii optice asupra originii formei de undă a PPG
Componenta pulsatilă a formei de undă PPG este denumită componenta ‘AC’ și de obicei
are o frecvență fundamentală în jur de 1 Hz, depinzând de ritmul cardiac. Această componentă
AC este suprapu să pe o co mponentp cvasi -DC care se referă la țesuturi și la volumul de sânge
mediu. Această componentă DC variază puțin datorită respirației, activităț ii va somotoare, a
undelor vasoconstructoare precum și alți câțiva factori. Interacția luminii cu ț esutul biologic este
complexă ș i include nu meroase procese optice, precum împrăștierea, absorbția, reflexia,
transmisia și fluorescența. S -a subliniat faptul că factorii cheie care pot afecta cantitatea de
lumină primitp de fotodetector sunt: volumul de sâ nge, t ensiunea la pe rete a vaselor de sange
precum și orientarea celulelor roș ii. Există trei motive principale pentru aceasta:
a) Fereastra optică de apă: P rincipalul constituent al țesutului este apa care absoarbe foarte
puternic lumina în lungimile de undă cu radiații ultraviolete și mai lungi . Lungimile de undă mai
scurte sunt, de asemenea, puternic absorbite de melanină. Există totuși o fereastră în spectrul de
absorbție a l apei, care permite ca lumina vizibilă (roșie) și apropiată de infraroșu să treacă mai
ușor, facilitând astfel măsurarea fluxului sanguin sau a volumului la aceste lungimi de undă.
Acestea sunt de obicei alese pentru sursa de lumină a pletismografiei.
b) Lungimea de undă Isobestic: Există o diferență semnificativă în absorbția î ntre
oxihemoglobină (HBO2) și reducerea hemoglobinei (Hb), cu excepția lungimilor de undă
Isobestic . Pentru măsurătorile efectuate la o lungime de undă Isobistic , semnalul nu ar trebui să
fie în mare măsură afectat de modificările saturației oxigenului din sânge .
c) Adâncimea de penetrare a țesuturilor : Adâncimea la care lumina pătrunde în țesut pentru o
anumită intensitate a radiației optice depinde de lungimea de undă de operare. În PPG, volumul
de captare, în funcție de designul sondei, poate fi de ordi nul 1 cm .[5]
1.3.2 Instrumentaț ia fotopletismografiei
Majoritatea s enzorilor moderni PPG utilizează tehnol ogie semiconductoare cu cost scăzut cu
LED ș i dipozitive cu fotodetectoare montate ce f uncționează la lungimi de undă infraroș ii sau
apropiate de ace stea.. Ledur ile convertesc energia electrică în energie luminoasă și au o lungime
de bandă singulară și limitată (de obicei 50 nm). Marele avantaj în folosirea ledurilor ca și sursă
de lumină este faptul că acestea sunt compacte, cu o durată de viață care de obicei este mai mare
de 105 ore, sunt funcți onale la intervale mari de temperatură și sunt robuș ti din p unct de vedere
mecanic, precum ș i siguri.
Figura 1.6 Treapta de amplificare transimpedanță a unui senzor PPG
Cu toate acestea, trebuie luat în considerare faptul că intensitatea medie a ledurilor este constantă
și suficient de scă zută pentru a minimiza încălzirea locală a țesutului ș i de asemenea pentru a
reduce riscul unui p ericol de radiaț ii non -ionizante. Alegerea fotodetectorului depinde d e
caracteristicile spectrului sau care sunt alese încât să se potrivească cu sursa de lumină.
Fotodetectorul convertește energia luminoasă î n curent electric. Acestea sunt compacte, iefti ne,
sensibile, și au un timp de ră spuns foarte rapid. Dispozitivele c u infraroșu pot fi “îmbră cate” cu
filtre pentru lumină naturală .[5]
Fig 1.7 Diagrama bloc a etapelor de condiționare a semnalului unui standard PPG
1.3.3 Tipuri de configuraț ii P PG și artefacte corelate cu PPG
Sunt două configurații PPG principale: op erarea prin transmisie (‘trans -iluminare’) unde proba
de țesut (spre exemplu vârful degetului) este plasată între sursa de lumină și detector, și operarea
prin reflecție unde ledul și detectorul sunt plasate unul lângă altul. Operarea prin transmisie
impun e mai multe restricții decât modul de operare prin reflecție, în ceea ce privește zonele
corpului disponibile pentru acest studiu. Proba PPG ar trebui să fie ținută fix pentru a minimiza
artefactul datorat mișcării probei țesut. Sunt și alte surse ale arte factelor ce trebuiesc luate în
considerare atunci când se execută măsurarea. Un artefact poate proveni de la interferența
luminii ambientale, dar poate fi redus prin mai multe moduri: atașamentul probei pe piele sau
prin filtrare electronică [5].
1.3.4 Tehn ici de diagnostic
Există mai multe metode non -invazive de mă surare a undei pulsatil e bazate pe diferite principii
și depinzâ nd de tipul undei pulsatile. Unda pulsati lă care se dispersează pe suprafaț a arterelor are
un impact asupra senzorului fie direct fie implicit, modulâ nd un impul s energetic care se
transmite că tre corp.
1.3.4.1 Unda pulsatilă de presiune
Unda pulsatilă de presiune se schimbă î n timp ce se depla sează că tre arterele distale. Se
consideră că aceste schimbări se datorează în mare parte reflex iei undei pulsatile . Unda pulsatilă
de presiune este similară cu unda pulsatilă de volum, în consecință apar schimbări asemănătoare
în conjuncț ia cu bolile vasculare, cum ar fi pierderea pulsatilității datorită absorbției frecvențelor
mari de către miș carea la peretele arter elor, acesta fiind rigid. O metodă folosită și non -invazivă
pentru evaluarea undei pulsatile de p resiune este folosirea unei manș ete aplica tă la nivelul
degetului, ca și ră spuns al senzorului de fotopletismografie, pentr u a controla presiunea
constanta.
1.3.4.2 Unda pulsatilă de volum
Există două tehnici principale pentru a măsura și înregistra unda pulsatilă de volum. Cea mai
ușoară modalitat e este reprezentată de folosirea manșetei brahiale ce înconjoară membrul,
aceas ta fiind atașată de un traductor de presiune. Această tehnică nu este foarte precisă doarece,
adițional sunt măsurate ș i undele pu lsatile ale arterelor ce se află sub manșetă . Cea de a doua
tehnică și cea mai folosită este fotopletis mografia. Aceasta este o tehnică de măsurare optică ,
care este folosită pentru a detecta schimbările volumetrice ale sângelui în microvasculatura
țesutului. Acest principiu este folosit în oximetre sau în sistemele de mă surare a tensiunii
arteriale.
Figura 1.8 PPG analiza degetului
4.2.3 Unda pulsatilă de flux
Debimetrul cu ultrasunete Doppler este adesea folosit pentru a măsura fluxul. Această tehnică
poate fi folosită și pe suprafața corpului și are o mulț ime de avantaje. Eritroci tele sunt structuri
cu rezonanță de bază și sunt folosite frecvențe începând cu 2 MHz până la 10 MHz. Tehnicile de
colorare Do ppler combinate cu emisia pulsată, putem măsura viteza fluxului î ntr-un anumit vas.
Cu toate acestea, forma undei pulsatile de flu x nu este corelată cu undele de volum ș i de
presiune.
1. Tulburările cardio -respiratorii ale inimii
Inima în mod normal bate de aproximativ 70 de ori pe minut în repaus. O rată mai mică de
60 de bătăi pe minut este numită bradicardie, în timp ce termenul de tahicardie este rezervat
pentru rate mai mari de 100 de bătăi pe minut.
2.1 Bradicardi a
Acest lucru este în mod normal prezent în timpul somnului și la atleții în formă (sindromul inimii
la sportivi). Receptorii de presiune (baroceptorii) din arterele aortei și carotidei răspund la
presiunea arterială, modificând tonul vagal prin eliberarea acetilcolinei. În sindromul sinusului
carotidian, crește sensibilitatea baroceptorilor localizați în regiunea sinusului carot idic din artera
carotidă. Prin urmare, presiunea asupra gâtului poate duce la bradicardie, amețeli și sincopă.
Uneori, poate declanșa asistolă timp de până la 10 secunde. Ritmul cardiac variază de asemenea
cu faza de respirație; acest lucru se numește "ari tmie sinusală" .[7]
2.2 Blocul atrioventricular (AV)
2.2.1 Blocul de gradul I
Blocul de gradul I : acesta este caracterizat printr -un interval PR prelungit (> 0.20 secunde) și se
datorează întârzierii constante, mai degrabă decât blocării conducerii impulsul ui de la atrium la
ventricul. Blocul de gradul întâi este adesea prezent la sportivi, dar poate fi asociat cu boli
cardiace ischemice, cardiace reumatice acute și medicamente precum digitalis și b -blocante. Nu
provoacă simptome și nu necesită alt tratament decât observarea. [7]
2.2.2 Blocul de gradul II
Blocul AV de tip 1 de gradul doi (Wenckebach, Mobitz de tip I); există o prelungire
progresivă a intervalului PR, înainte ca un complex QRS să nu apară după unda P. Blocul este,
de obicei, în nodul AV, iar QRS are o durată normală. Cauzele sunt infarct miocardic de perete
inferior, intoxicație cu beta -blocante, digoxi nă și blocante ale canalelor de calciu. Blocul de tip 1
poate fi prezent la persoanele normale cu ton vagal crescut, în general noaptea. Dacă rata
ventriculară este adecvată și pacientul este asimptomatic, observarea este suficientă. [7]
Blocul AV de tip 2 de gradul 2 (Mobitz tip II) intervalul PR rămâne constant înaintea unei
eșecuri bruște și neașteptate a undei P de a se efectua. Aceasta se datorează de obicei bolii
sistemului HisePurkinje și este adesea asociată cu un val anormal QRS. Atunci când două sau
mai multe unde P succesive sunt blocate, acest lucru se numește bloc AV de grad înalt. Blocul de
tip 2 poate apărea la stabilirea infarctului miocardic anteroseptal sau a bolii sclerodegenerative a
scheletului fibros al inimii. Este foarte probabil ca acest lucru să progreseze până la blocul
simptomatic de gradul 3 sau starea ventriculară, astfel încât stimularea permanentă este indicată.
Blocul fiziologic de gradul doi este observat cu ritmuri supraventriculare rapide, cum ar fi
tahicardia atrială și f lutterul atrial. [7]
Figura 2.1 Bradicardia a blocului AV de tip 2 de gradul 2 [7]
2.2.3 Blocul de gradul III (bloc complet al inimii)
Aceasta se caracterizează prin întreruperea completă a impulsurilor electrice de la atriu la
ventricul. Undele P sunt disociate de complexul ventricular și cele două sunt controlate asincron
de stimulatoare cardiace independente. Aceasta este cea mai avansată formă de bloc AV. Aceasta
se datorează în principa l schimbărilor degenerative cronice ale ramurilor legat de leziunile Lev și
Lenegre. De asemenea, poate apărea cu cardiomiopatie și infarct miocardic inferior. Blocul
cardiac complet poate fi congenital datorită transmiterii materne a anticorpilor anticucl eari (Ro /
SSA și / sau La / SSB). Tratamentul este o stimulare permanentă deoarece blocul de gradul trei
poartă o mortalitate semnificativă. [7]
2.3 Tahicardia
În mod normal, celulele miocardice nu se evacuează spontan. Tahiaritmiile pot apărea din
orice parte a inimii. Acestea pot fi tulburări de formare a impulsurilor (automatizare sporită)
datorate catecolaminelor exoene, hiperkaliemiei, hipoxiei și digitalisului; ele pot apărea și din
tulburări de răspândire a impuls ului (reintrare), cum ar fi în tahicardiile supraventriculare
susținute. Tahiaritmiile pot fi clasificate în continuare ca (1) regulate sau neregulate și (2)
complexe înguste sau largi, în funcție de morfologia QRS. O aritmie neregulată este, de obicei,
fibrilația atrială (sau flutter cu bloc variabil), fie îngustă, fie complexă. O tahicardie îngustă
complexă obișnuită este în general originea SVT, în timp ce tahicardia obișnuită complexă
obișnuită provine de obicei din ventricul. [7]
2.4 Fibrilația atrială
Aceasta este cea mai frecventă aritmie susținută. Răspândirea general ă este de 1% până la
1,5%, dar crește odată cu vârsta, afectând aproximativ 10% dintre persoanele cu vârsta peste 70
de ani. Cauzele sunt variate, deși multe cazuri sunt idiopatice. Pro gnoza este legată de cauza
principală; este excelent atunci când se datorează fibrilației atriale idiopatice și relativ slab atunci
când este cauzată de cardiomiopatie ischemică. Conducerea impulsurilor atriale în ventricule este
variabilă și imprevizibilă . Numai câteva dintre impulsuri transmit prin nodul atrioventricular
pentru a produce un răspuns ventricular neregulat. Această combinație de valori P absente,
oscilații de undă fine de bază f și complexe ventriculare neregulate este caracteristică pentru
fibrilația atrială. Viteza ventriculară depinde de gradul de conducere atrioventriculară și cu
conductivitate normală variază între 100 și 180 biți / min. Ratele mai mici sugerează un grad mai
mare de bloc atrioventricular sau pacientul poate lua medicamen te, cum ar fi digoxina .
Fibrilația atrială rapidă poate fi dificil de diferențiat de alte tahicardii. Cu toate acestea,
intervalul RR rămâne neregulat, iar rata globală fluctuează adesea. Maparea undelor R împotriva
unei bucăți de hârtie sau a etrierilor c onfirmă, de obicei, diagnosticul.
Fibrilația atrială (AF) poate fi paroxistică sau persistentă și se caracterizează prin
activitate atrială dezorganizată, fără unde P discrete pe ECG. Mecanismul AF este neclar, dar se
crede că există numeroase circuite mic ro-re-intrare sau stimuli care excită atria, de obicei de
unde venele pulmonare intră în atriul stâng. Rata atrială este cuprinsă între 350 și 600 de bătăi pe
minut (bpm), iar această activitate determină o linie de undă inductivă. Impulsurile ajung la
nodul AV prin mai multe căi la intervale frecvente și neregulate. Introducerea rapidă a
impulsurilor atriale face ca nodul AV parțial refractar la impulsurile ulterioare, astfel încât rata
ventriculară să fie oarecum mai lentă și neregulată. AF acute pot fi p recipitate prin infecție,
alcool, deshidratare, insuficiență cardiacă congestivă și embolie pulmonară. În AF acute, tratarea
cauzei primare rezolvă de obicei aritmia. Dacă pacientul este compromis, se poate efectua
cardioversia electrică sau chimică. [7]
2.5 Flutter -ul atrial
Filarea atrială este caracterizată de o activitate atrială rapidă și regulată, care determină
un aspect dinte de fierăstrău sau piatră, de obicei în conductele inferioare. Mecanismul este, în
general, un circuit de re -intrare în dreptul atri ului. Rata atrială este de 250 – 350 bpm; rata
ventriculară este de obicei jumătate din rata atrială, de obicei în jur de 150 bpm. Filarea atrială,
când durează mai mult de o săptămână, se convertește frecvent la AF. Deși riscul de emobolizare
sistematică este mai mic decât pentru AF, managementul este același pentru ambele .
Figura 2.2 Semnalul flutterului atrial [7]
Cauzele flutterului atrial sunt similare cu cele ale fibrilației atriale, deși flutterul atrial idiopatic este mai
puțin frec vente. Se poate transforma în fibrilație atrială în timp sau după administrarea de medicamente,
cum ar fi digoxina.
2.6 Tahicardia ventriculară
Tahicardia ventriculară (VT) este definită ca trei sau mai multe complexe QR S ventriculare
ectopice co nsecutive care apar la o rată > 100 bpm. Se numește VT susținută dacă durează mai
mult de 30 de secunde sau necesită intervenție. Este complexă și destul de regulată, apărută ca
urmare a automatizării anormale sau (mai frecvent) re -intrare distală față de pachetul său.
Tahicardia complexă este cel mai frecvent vT, în special dacă există o boală cardiacă structurală.
Anumite criterii ECG suportă VT în comparație cu SVT cu conducere aberantă. [7]
Figura 2.3 Semnalul tahicardiei ventriculare [7]
2.7 Tahicardia sinusală
Tahicardia sinusală este de obicei un răspuns fiziologic, dar poate fi precipitată prin
medicamente simpatomimetice sau tulburări endocrine. Rata depășește rar 200 batăi / min la
adulți. Rata crește treptat și poate arăta variații. Fiecare undă P este urmată de un complex QRS.
Morfologia undelor P și axa sunt normale, deși înălțimea undei P poate crește cu frecvența
cardiacă și intervalul PR se va scurta. Cu o tahicardie rapidă, undele P se pot pierde în unda T
anterior.
Recunoaște rea cauzei care determină, de obicei, facilitează diagnosticarea tahicardiei sinusale. O
tahicardie persistentă, în absența unei cauze evidente, ar trebui să determine examinarea
flutterului atrial sau a tahicardiei atriale. Rar, tahicardia sinusală poate fi cauzată de un fenomen
de reintrare în sindromul sinoatrial. Acest lucru este recunoscut prin debut brusc și terminare, o
rată foarte regulată și absența unui stimulent fiziologic de bază. Caracteristicile
electrocardiografice sunt altfel identice. Rata este de obicei de 130 -140 bătăi / min, iar manevrele
vagale pot avea succes în stoparea aritmiilor. [7]
2. Descrierea mediului și a bazei de date de prelucrare de semnal
3.1 MATLAB
În capitolul acesta va fi descries programul software în care se va realize prelucrarea semnalului
PPG și ECG achiziționate din baza de date PhysioNet, pentru a determina tulburările cardio
respiratorii ce pot apărea pe parcurs. Programul este intitulat MATLAB(MATrix LABoratory) și
a fost creat la sfârșitul anului 1970 de compania MathWorks pentru a oferi acces atât studenților
cât și persoanelor pasionate de partea medical, la librăriile de calcul create la acea vreme, făra a
fi nevoie de cunoașterea limbajului Fortran. [6]
Este un mediu de dezvoltare pentru calculul nume ric și analiza statistic, devoltat ân
limbajul de programare C. Acesta permite implementarea algoritmilor, crearea de interfețe,
manipularea matricilor, vizualizarea funcțiilor, dar și posibilitatea comunicării în vederea
schimbului de date cu alte aplicaț ii. Este un mediu de programare modern, care folosește
structure de date sofisticate, include posibilități de editare și rezolvare a erorilor, și tolerează
programarea orientată pe obiect. Avantajul față de alte limbaje de programare este elementul
princip al al acestuia și anume tabloul de date ce nu impune dimensionarea în momentul
introducerii. [6]
Mediul de lucru este alcătuit din 4 zone sau ferestre : zona directorului curent, fereastra de
comenzi, zona variabilelor de lucru și fereastra în care este af ișat istoricul comenzilor. Situată în
partea stângă, zona directorului curent, permite vizualizarea folderului curent. Este folosită când
se dorește schimbarea directorului de lucru sau când se dorește deschiderea unui fișier Matlab
fără a trebui părăsită interfața. Zona de comenzi mai este denumită și fereastra centrală, unde pot
fi introduce comenzi simple,rulate fără a fi creat un fișier de cod deoare rezultatul apare imediat
după executarea comenzii și permite utilizatorului să verifice o comandă înain te de introducerea
ei într -un cod mai compex. Penultima fereastră, zona variabilelor de lucru se găsește în partea
dreapta sus, unde se pot observa toate variabilele create și folosite de un cod scris în editor sau
variabilele introduse prin intermediul fe restrei de comenzi. Crearea de noi varibile se realizează
tot prin intermediul acestei ferestre, la fel și deschiderea unora deja existente, salvarea,
redenumirea sau ștergerea lor. Ultima zonă , se află în partea dreapta jos, și arată istoricul
comenzilor realizate în diferite sesiuni de lucru și permite reintroducerea acestora în fereastra de
comandă prin alegerea acestora. [6]
Printre cele mai importante aspecte ale programului, se numără și existența interfețelor
specifice unui anumit domeniu „toolbox”. Ele pot fi folosite prin comanda „nnstart” sau prin
meniul „Start ” din partea stângă jos si selectarea opțiunii “Toolboxes” . Domeniile incluse în
aceste toolboxes sunt numeroase : de la inginerie aerospațială, la baze de date, procesare de
imagini la optimizare și statistice. Scopul lor fiind de a ajuta cu informații asupra domeniului , și
a putea observa aplicarea principiilor și folosirea para metrilor oferiți. [6]
3.2 Physionet
Din 1999, PhysioNet (http://physionet.org/) a oferit acces gratuit prin intermediul web -ului către
colecții mari de semnale înregistrate și software asociat cu surse deschise fiind o bună resursă
pentru cercetătorii care studiază semnalele fiziologice și serii de timp. Resursa, destinată să
stimuleze și să susțină cercetările actuale și cercetările noi în studiul semnalelor complexe
biomedicale și fiziologice, are trei componente strâns interdependente:
a) PhysioBank este o arhivă vastă și în creștere a înregistrărilor digitale bine caracterizate de
semnale fiziologice, serii de timp și date aferente pentru utilizarea de către comun itatea
de cercetare biomedicală;
b) PhysioToolkit este o bibliotecă vastă și în creștere a softwar e-ului open source pentru
procesarea, analiza și simularea fiziologică a semnalului ;
c) PhysioNet nu este numai numele Resurselor, ci și al site -ului său web, physionet.org, care
oferă acces gratuit la PhysioBank, PhysioToolkit și materiale și facilități de cercetare
conexe .
Aproximativ 30.000 de vizitatori folosesc PhysioNet în fiecare lună, iar serverul principal
PhysioNet de la MIT furnizează peste un teraabyte de date (aproximativ 4 milioane de clicuri) în
fiecare lună .
3.2.1 PhysioBank
În prezent include baze de date pentru semnale biomedicale cardiopulmonare, neuronale și alte
semne biomedicale multiparametrice de la subiecții sănătoși și la pacienții cu diverse afecțiuni cu
implicații majore asupra sănătății publice, inclusiv moartea subită cardi acă, insuficiența cardiacă
congestivă, epilepsia, tulburări de mers, apnee în somn și îmbătrânire. Aceste colecții includ date
dintr -o gamă largă de studii, dezvoltate și contribuite de membrii comunității de cercetare.
PhysioBank conține peste 7000 de înr egistrări de semnale fiziologice și serii temporale adnotate,
digitalizate, organizate în peste 40 de baze de date (colecții de înregistrări). În acest context, o
bază de date este pur și simplu o colecție de înregistrări (înregistrări), disponibilă ca un set de
fișiere plate. Spre deosebire de bazele de date relaționale tipice, bazele de date PhysioBank
constau în numere relativ mici (zeci și mii) de înregistrări care pot fi destul de mari (în unele
baze de date PhysioBank, înregistrările sunt de 500 Mb fi ecare, deși dimensiunile tipice sunt de
câteva Mb) . Multe dintre bazele de date aflate în prezent în Arhivele PhysioBank au fost
dezvoltate la MIT și la Spitalul Beth Israel din Boston. [9]
Fiecare bază de date cons tă dintr -un set de înregistrări identifi cate prin numele
înregistrării. În majoritatea cazurilor, o înregistrare constă din cel puțin trei fișiere, folosind
numele de înregistrare urmat de sufixe distincte (extensii) care indică conținutul acestora. De
exemplu, baza noastră de date aritmie MIT -BIH include înregistrarea 100; cele trei fișiere
100.atr, 100.dat și 100.hea împreună cuprind înregistrarea 100. Aproape toate înregistrările
includ un fișier binar (semnal) care conține eșantioane digitalizate ale unuia sau mai multor
semnale; aceste fișie re pot fi foarte mari. Fișierul .hea (header) este un fișier text scurt care
descrie semnalele (inclusiv numele sau adresa URL a fișierului de semnal, formatul de stocare,
numărul și tipul semnalelor, frecvența de eșantionare, datele de calibrare, caracter isticile
digitizatorului, durata înreg istrării și timpul de pornire ) .[9]
Cele mai multe înregistrări includ unul sau mai multe fișiere de adnotare binare (.atr ),
care conțin seturi de etichete ce descriu o caracteristică a unuia sau mai multor semnale la un
anumit moment din înregistrare; d e exemplu, 100.atr conține o adnotare pentru fiecare complex
QRS (bătăi de inimă) în înregistrare, indicând locația sa (timpul de apariție) și tipul (normal,
ectopic ventricular etc.), precum și alte adnotări care indic ă modificări în ritmul cardiac
predominant și în calitatea semnalului. [9]
3.2.2 PhysioToolkit
Oferă software pentru explorarea și studiul PhysioBank. Printre componentele sale se numără
algoritmii de detectare a evenimentelor semnificative fiziologic utilizând atât tehnici clasice, cât
și metode noi bazate pe fizica statistică și dinamica neliniară, afișarea și caracterizarea interactivă
a semnalelor, crearea de noi baze de date, simularea semnalelor fiziologice și a altor semnale,
evaluarea și compara rea cantitativă a metodelor de analiză și analiza proceselor non -echilibrate și
non-staționare. O temă unificatoare a multora dintre proiectele de cercetare care contribuie cu
software pentru PhysioToolkit este extragerea informațiilor "ascunse" din semnal ele
biomedicale, informații care pot avea o valoare diagnostică sau prognostică în medicină sau o
putere explicativă sau predictivă în cercetarea fundamentală. Toate programele PhysioToolkit
sunt disponibile sub formă sursă, sub licența GNU General Public License (GPL). [9]
3.2.3 Site-ul Physio Net
Este un serviciu public al r esurselor PhysioNet, stabilit ca mecanism pentru diseminarea și
schimbul liber și deschis de semnale biomedicale înregistrate și software open source pentru
analiza lor. Acesta oferă a cces electronic gratuit la date PhysioBank și software PhysioToolkit,
precum și facilități pentru analiza cooperativă a datelor și evaluarea noilor algoritmi propuși. În
plus, site -ul PhysioNet oferă servicii și instruire prin tutoriale on -line pentru a ajuta utilizatorii la
intrare și la niveluri mai avansate. Tutorialele PhysioNet oferă introducerea manuală a datelor și
a software -ului disponibile de la PhysioBank și PhysioToolkit. În prezent, peste 20 de tutoriale
discută subiecte cum ar fi variabilita tea ritmului cardiac, dinamica neliniară, seria temporală
multifractală, entropia multiscala, dinamica mersului uman, prelucrarea și analiza fiziologică a
semnalelor, ghiduri "how -to" pentru utilizarea și personalizarea software -ului PhysioToolkit, o
oglin dă a PhysioNet .[9]
Figura 3 .1 Componentele Physionet [9]
3. Metode de analiză a semnalului ECG
Analiza și detectarea semnalelor ECG au reprezentat un subiect interesant din mai mulți ani și
continuă cercetările în acest domeniu. Au fost dezvoltate diferite metode pentru analiza ECG ca
de exemplu transformata Fourier rapidă, transformata Fourier de scurtă durată.
4.1 Tehnici pentru comprimarea semnalelor ECG
În trecut, cercetările au propus numeroase metode de transformare, cum ar fi
Transformarea Cosinus Discretă (DCT), Transformata Fourier Rapidă (FFT) și Transformata
Wavelet Discretă (DWT), datorită faptului că se schimbă drastic în domeniul compresiei datelor.
FFT este un algoritm discret de transformare Fourier (DFT) care reduce numărul de calcule
necesare pentru punctele N de la la DFT este folosită în analiza Fourier a unui
semnal în domeniul frecvenței. Pe baza FFT, s -au propus numeroase metode de analiză și
comprimare a semnalului ECG. Transformata discretă a cosinusului este exploatată pe scară
largă pentru comprimarea datelor, cum ar fi compresia vorbirii, compresia imaginilor și
comprimarea ECG. DCT se calculează utilizând algoritmul FFT, deoarece este DFT. Cu toate
acestea, DCT dă mai multă greutate coeficienților de joasă frecvență decât la coeficienții de
înaltă frecvență. DCT oferă o performanță aproape optimă în semnalul tipic având corelații mari
în probele adiacente. Mai mulți cercetători au dezvoltat algoritmi unici pentru comprimarea
semnalului ECG bazat pe Transfor marea discretă a cosinusului.
În decursul ultimului deceniu, Transformata Wavelet, în special Transformata Wavelet Discretă,
a apărut ca un instrument puternic și robust pentru analiza și extragerea informațiilor din
semnalul non -staționar, cum ar fi semnalul vocal și semnalul ECG, dat orită naturii variate a
acestor semnale. Semnalele non -staționare sunt caracterizate de numeroase schimbări bruște, de
transferuri tranzitorii și direcții. Wavelet are o caracteristică de localizare împreună cu
proprietățile de rezoluție a frecvenței de ti mp, ceea ce îl face potrivit pentru analiza semnalelor
non-staționare .
4.1.1 Transformata Fourier
Analiza Fourier este o familie de tehnici matematice; toate bazate pe semnale de descompunere
în funcții de sin și cosinus. Analiza Fourier și transformare a sa sunt numite după Joseph Fourier,
un matematician și fizician francez în anii 1800. În 1822 a publicat faimoasa sa lucrare, Theorie
analytique de La chaleur (teoria analitică a căldurii). Aceasta a fost prima lucrare care a folosit
seriile Fourier. El este, de asemenea, creditat cu descoperirea efectului de seră în 1824. Fourier a
pus temelia transformării rapide Fourier care este folosită astăzi de cercetători și ingineri. Pentru
sistemele digitale se utilizează transformarea discretă Fourier. Formula pentru transformarea
discrete Fourier este:
k=0,…,N -1
Transformă semnalul de la domeniul de timp la reprezentarea domeniului de frecvență. Formula
pentru transformarea Fourier discretă inversă este:
n=0,…,N -1
Transformă semnalul din domeniul frecvenței înapoi la reprezentarea domeniului de timp.
Ambele formule necesită un calcul foarte lung. [16]
4.1.2 Transformata Fourier Rapidă
În 1965 J.W. Cooley și J. Tukey au venit cu o metodă de accelerare a calculelor
transformării discrete Fourier . Acum se numește algoritmul Cooley -Tukey pentru Transformata
Fourier rapidă. Mai târziu, s -a constatat că algoritmul era cunoscut deja sub numele de Carl
Friedrick Gauss în jurul anului 1805. Din păca te, lucrarea sa a fost publicată în limba latină după
moartea sa și nu avea o audiență largă.
Transformarea rapidă Fourier este un algoritm pentru a calcula transformarea discretă Fourier și
inversa acesteia, reducând timpul de calcul cu un factor de sute . Diferența de viteză poate fi
substanțială, în special pentru cantități ma ri de date. Transformarea Fourier rapidă este utilizată
într-o gamă largă de aplicații, de la procesarea semnalelor digitale și ecuațiile diferențiale parțiale
la algoritmi pentru mu ltiplicarea numerelor întregi mari.
Există mulți algoritmi FFT distinctiv i care implică o gamă largă de matematică, de la
simplă aritmetică complexă la teoria grupurilor și teoria numerelor. Transformarea rapidă Fourier
este o procedură extrem de eficientă pentru calcularea DFT a unei serii finite și necesită un
număr mai mic de calcule decât cel a l evaluării directe a DFT. Reduce calculele, profitând de
faptul că calculul coeficienților DFT poate fi efectuat în mod iterativ. Datorită acestui fapt,
tehnica de calcul FFT este utilizată în analiza spectrală digitală, simularea filtrelor, autocorelația
și recunoașterea modelului .
FFT se bazează pe descompunerea și împărțirea transformatei în transformări mai mici și
combinarea acestora pentru a obține transforma ta totală; aceasta reduce timpul de calcul necesar
pentru a calcula o transformare Fourier di scretă și îmbunătățește performanța cu un factor de 100
sau mai mult față de evaluarea directă a DFT .
O transformare discretă Fourier descompune o secvență de valori în componente de frecvențe
diferite, calculând o transformare discretă Fourier di n definiț ie necesită operații O (n2) o
transformare Fourier rapidă poate găsi a celași rezultat în operațiile .
Algoritmii cei mai cunoscuți FFT depind de factorizarea N, dar există FFT cu complexitate O (N
log N) pentru toate N, chiar și pentru primul N. Mulți algoritmi FFT depind numai de faptul că
este o rădăcină primitivă a N u nități și, astfel, poate fi aplicată transformărilor analogice peste
orice câmp finit, cum ar fi transformările numerice -teoretice.
Figura 4.1 Corelația și Transformata Fourier Rapidă
Din figură se observă că punctul 4096 DFT va fi calculat în ultima secundă cu o transformată
rapidă Fourier, dar va dura aproape 1000 de secunde cu metoda original.
Diferența de viteză poate fi substanțială, în special pentru seturile de da te lungi unde N poate fi
în mii sau milioane; în practică, timpul de calcul poate fi redus cu câteva ordine de mărime în
astfel de cazuri, iar îmbunătățirea este aproximativ proporțională cu N / . Această
îmbunătățire imensă a făcut mulți algoritmi bazați pe DFT practice. Un semnal care are funcția
periodică în timp poate fi analizat sau sintetizat ca un număr de semnale armonice legate de
semnalele sinusoidale și cosinus. Un semnal periodic f (t) cu perioada poate fi repre zentat de
seria Fourier ca:
+
(1)
unde este media sau valoarea medie a semnalului iar și sunt coeficienții din seria
Fourier. t este timpul și n este coeficientul index. Coeficienții de serie Fourier de mai sus sunt
găsiți de FFT.
(2,3)
unde, sunt coeficienti complexi. Mai se pot scrie și sub forma:
dt n=0, (4)
Pentru semnalul periodic eșantionat, coeficienții complexi discreți ai seriei în timp sunt:
(5)
și
(6)
unde, k este indicele de timp discret. N este numărul probelor de semnal ECG. Din ecuațiile (1),
(2) și (4) se atribuie coeficienții seriei Fourier de ecuație (5) calculați folosind tehnica FFT.
Deoarece se presupune că descompunerea semnalului ECG este variabilă din cauza tulburărilor
cardiace, ecua ția (5) trebuie efectuată pe fiecare ciclu detectat. Coeficienții seriei Fourier utilizați
pentru a sintetiza semnalul original se calculează folosind ecuația (6).
Algoritmul FFT se bazează pe principiul fundamental al descompunerii calculului
transformă rii discrete Fourier a unei secvențe de lungime N în transformări Fourier discrete
succesive mai mici. Există în principiu două clase de algoritmi FFT.
A) algoritmul decimare în timp
B) algoritmul decimare în frecvență
În decimarea în timp, secvența pe ntru care avem nevoie de DFT este divizată succesiv în
secvențe mai mici și DFT -urile acestor subsecvențe sunt combinate într -un anumit model pentru
a obține DFT -ul necesar al întregii secvențe.
În abordarea de decimare în frecvență, probele de frecvență ale DFT sunt descompuse în
subsecvențe mai mici și mai mici într -un mod similar.
Numărul operațiilor complexe de multiplicare și adiție cerute de formele simple, atât
Transformata discretă Fourier (DFT), cât și Transformata Discreta Fourier Inversă (IDFT ) este
de ordinul N2 deoarece există date N pentru a calcula, iar fiecare dintre acestea necesită operații
aritmetice complexe N .[16]
4.1.3 Transformata Discretă a cosinusului
DCT a utilizat pe scară largă compresia datelor. În descompunerea semnalului bazat pe algoritmi
DCT au patru etape esențiale:
– împărțirea semnalului în sub -părți N;
– calculul DCT pentru fiecare bloc;
– pragul și cuantificarea coeficienților DCT;
– codificarea coeficienților DCT cuantificați.
Transformarea cosinusului discret este definită ca:
În timp ce inversul DCT (IDCT) este definit ca:
DCT dă coeficientul descompus al semnalului original și dă mai multă greutate coeficienților cu
frecvență joasă față de coeficienții de înaltă frecvență. [16]
4.1.4 Transformata Wavelet
Teoria Wavelet oferă un cadru unificat pentru o serie de tehnici, care au fost dezvoltate
independent pentru diferite aplicații de prelucrare a semnalului. De exemplu, procesarea
semnalului multiresol uție utilizat în viziunea calculatorului; sub-codarea benzii dezvoltată pentru
compresie de vorbire și imagine; expansiunile din seriile wavelet, dezvoltate în matematica
aplicată au fost recent recunoscute ca viziuni diferite ale unei singure teorii. De fapt, teoria
wavelet acoperă o zonă destul de mare. Ea tratează atât cazurile continue, cât și cele discrete.
Acesta oferă tehnici foarte generale care pot fi aplicate la multe atribuții în procesarea semnalelor
și, prin urmare, au numeroase aplicații potențiale.
În special, transformata "wavelet" (WT) este de interes pentru analiza semnalelor
staționare, deoarece oferă o alternativă la transformare a clasică Fourier scurtă (STFT) sau
transformarea Gabor. Diferența de bază este după cum urmează: în contrast cu STFT, care
utilizează o singură fereastră de analiză, WT folosește ferestre scurte la frecvențe înalte și
ferestre lungi la frecvențe joase. WT este, de asemenea, legată de analiza timp -frecvență bazată
pe distribuția Wigner -Ville. Pentru u nele aplicații, este de dorit WT ca descompunerea
semnalului să devină un set de funcții de bază numite wavelets. Acestea sunt obținute dintr -un
singur protot ip prin dilatări și contracții, precum și schimbări.
Transformata Wavelet nu este dificil de aplicat ca instrument matematic pentru
descompunerea semnalelor, dificultatea reală vine în alegerea unui wavelet mamă care se
potrivește optim semnalului î n funcție de aplicație și de semnalul însuși. Transformarea discretă
a wavelet -ului are avantajele sale naturale atunci când este aplicată analizei ECG. În mod
convențional, extracția caracteristicilor ECG este precedată de o trecere de bandă sau de un fil tru
potrivit pentru suprimarea undelor și a zgomotelor P și T înainte de a trimite semnalul pentru
detectarea caracteristicilor. Prin utilizarea Transformatei discretă Wavelet, se efectuează implicit
filtrarea domeniului de frecvență, făcând sistemul robus t și permițând aplicarea directă asupra
semnalelor ECG brute. [17]
4.1.4 .1 Transformata continuă Wavelet (CWT)
Este definită ca sumă pe toată durata semnalului înmulțită cu versiunile scalate, schimbate ale
funcției wavelet sau alternativ așa cum se arată în cele ce urmează :
În această ecuație, parametrul "a" este factorul de scalare care întinde sau comprimă funcția.
Parametrul τ este factorul de translație care schimbă waveletul mamă de-a lungul axei.
Parametrul s (t) este un semnal integrat al cărui sumă trebuie să fie înmulțită cu waveletul mamă
traduse. Și în cele din urmă, wavelet -ul mamă este notat cu ψ (t), care este o funcție a factorilor
de scalare și de trans lație, la fel ca și rezultatul wavelet -ului continuu, cu cât este mai largă
transformarea funcției de bază CWT. Este adesea de dorit să se lucreze cu semnale
discretizate. [17]
4.1.4.2 Transformata discretă Wavelet (DWT)
Prin trecerea în domeniul discret, este posibil să nu se salveze doar o cantitate echitabilă de
muncă, ci și prin alegerea cu atenție a gamei și a pozițiilor bazate pe puterile a două, să se obțină
rezultate la fel de precise. Aceasta se numește transformarea discretă a waveletului (DWT)
definită ca:
Adesea, Transformarea Wavelet discretă este denumită și descompunere prin filtre bănci
wavelet. Acest lucru se datorează faptului că DWT utilizează două filtre, un filtru trece -jos (LPF)
și un filtru trece -sus (HPF) pentru a descompune semnalul în diferite scale. Coeficienții de ieșire
ai LPF -lui se numesc aproximări, în timp ce coeficienții de ieșire ai HPF -lui sunt numiți detalii.
Aproximarea semnalului este ceea ce definește identitatea sa, în timp ce detaliile conferă doar
nuanțe. Mai mult, procesul de descompunere este iterativ.
Semnalul de aproximare poate fi trecut în jos pentru a fi descompus din nou prin separarea
semnalului în mai multe niveluri ale componentelor cu rezoluție inferioară. Aceasta se numește
descompuner e la niveluri multiple și poate fi reprezentată într -un arbore de descompunere
wavelet. Numai ultimul nivel de aproximare este salvat între toate nivelurile de detalii, care oferă
date suficiente pentru a reconstrui complet semnalul original folosind filtr e complementare. [17]
4.2 Filtrarea semnalelor
4.2.1 Filtru trece jos (LPF)
Operația de filtrare a unui semnal reprezintă modificarea sau chiar eliminarea unor componente
armonice ale acestuia. Astfel, se poate face o selecție a componentelor de care este nevoie într -o
anumintă aplicație, eliminând componentele armonice care depăș esc o anumită frecvență ,
cunoscută și frecvență critică.
Figura 4.2 Răspunsul în frecvență al unui LPF ideal [8]
Figura 4.3 Răspunsul în frecvență al unui LPF [8]
Componentele spectrale cu frecvențele aparținând intervalului nu sunt afectate, însă
cele cu frecvență în afara intervalului sunt anulate. Acest tip de filtru este irezistibil fizic și poate
fi reprezentat prin intermediul unui circuit RC.
4.2.2 Filtru trece sus (HPF)
În comparație cu filtru trece jos, acest filtru trece sus ideal va elimina fiecare componentă
armonică care va fi mai mică decât frecvența critică .
Figura 4.4 Răspunsul în frecvență al unui HPF ideal [8]
Componentele spectrale cu frecvențele aparținând intervalului sunt afectate, însă cele
cu frecvență în afara intervalului nu sunt anulate. Acest tip de filtru , la fel ca și cel de mai sus,
este irezistibil fizic și poate fi reprezentat prin int ermediul unui circuit RC.
Figura 4.5 Răspunsul în frecvență al unui HPF [8]
4.2.3 Filtru trece bandă ( BPF)
Răspunsul în frecvență a unui filtru trece bandă ideal este prezentat în figura de mai jos:
Figura 4.6 Răspunsul în frecvență al unui filtru BPF
Este o combinație între filtru trece jos și un filtru trece sus în serie. Permite să treacă semnalele cuprinse
între două limite de frecvență, una inferioara dată de filtru trece sus și una superioară dată de filtru trece
jos.
5. Descrierea Datelor
Lucrarea de față reprezintă dezvoltarea unui algoritm Matlab în vederea obtinerii unei
diagnoze a tulburărilor cardio -respiratorii cu ajutorul caracteristicilor extrase din semnalele
EKG și PPG, pe baza algoritmului de FFT cât și a coef icienților frecvenței cepstrale Mel
(MFCCs). Aritmiile cardiace afișează o condiție a activității electrice anormale în inimă, care
reprezintă o amenințare pentru om.
Datele au fost obținute din 12 înregistrări (6 pentru cei sănătoși și 6 bolnavi) din baza de date
Physiobank privind aritmia MIT -BIH. Aritmiile cardiace care se găsesc sunt tahicardia,
bradicardia, tahicardia supraventriculară, blocul ramificațiilor incomplete, blocul ramificat al
măduvei, tahicardia ventriculară. Toți subiecții sunt analizați executând același lucru: sunt
înregistrate semnalele în timp ce aceștia merg normal.
Orice semnal poate fi caracterizat prin intermediul unor parametri, iar extragerea acestora
realizează practic o traducere a semnalului pentru a putea fi înțeles de sistemul de lucru. Acești
parametri pot fi extrași din semnal pe baza unor metode de prelucrare, metode ce se bazează pe
unele modele matematice. Câteva dintre aceste modele vor fi prezentate în continuare pentru a
oferi o mai bună viziune asupra procesări i semnalelor ECG și PPG.
Majoritatea informațiilor importante din ECG se găsesc în intervalele și amplitudinile definite de
caracteristicile sale ( caracteristicile vârfurilor ale undelor, componenta de frecvență și durata de
timp). În această lucrare, caracteristicile semnalului ECG, PPG au fost extrase utilizând metodele
FFT. Metoda FFT de procesare a semnalului este superioară semnalului convențional în găsirea
anomaliilor în semnalele ECG.
Natura semnalelor ca fiind liniară sau neliniară este identifica tă prin aplicarea metodelor
liniare, cum ar fi transformata Fourier și funcția de autocorelație . Dovada liniarității /
nelinearității semnalului ajută la determinarea faptului că metodele de analiză a semnalului liniar
sau neliniar ar descrie cel mai bine comportamentul sistemului. Aplicarea transformării Fourier
produce un spectru larg de frecvențe suprapuse, dovedind existența dinamicii neliniare în semnal
iar funcția de autocorelați e dezvăluie, nelinearitatea în semnalele HRV, deoarece, după un
decalaj redus, tinde la zero.
După ce am selectat în prima fază semnalele pe care le voi folosi ulterior , a fost necesar să
folosesc biblioteca de pe Physionet numită mcode. Bibliotecă cu ajutorul căreia am putut să
convertesc semnalele găsite în formatul MIT.
Acest format nu este compatibil cu programul Matlab, prin urmare toate fișierele folosite de tip
.hea si .dat au fost convertite în fișiere de tip .mat. Funcția prin intermediul căreia am realizat
acest pas se numeste wfdb2mat.
Folosind acest ‘tool’de instr umente WFDB, utilizatorii MATLAB au acces la peste 50 de baze
de date PhysioBank (peste 3 TB de semnale fiziologice, inclusiv ECG, EEG, EMG, ECG fetal,
PLETH (PPG), ABP, respirație și altele).
Acestea pot include, de exemplu, adnotările baterii și ritmulu i cardiologilor ale ECG sau
hipnogramele experților de somn (adnotări în stadiile de somn) ale polisomnogramelor iar
funcția permite codului să analizeze o gamă largă de semnale fiziologice disponibile de la
PhysioBan k fără a fi nevoie să descărcăm înreg istrări întregi și să le stocăm local.
5.1 Analiza semnalelor PPG
Această analiză este realizat ă în scriptul analyse_ppg.m. în care au fost extrase semnalele
PPG prin conversia din .hea, .dat în .mat si am realizat o analiză în frecvență folosind
transforma ta Fourier (FFT) . Mai multe caracteristici ale domeniului de timp și de frecvență sunt
extrase pentru analiza câtorva parametri ai corpului. Semnalele PPG nu se repetă strict și
periodic deoarece există fluctuații ușoare în linia de bază și în perioada de amplitudine a
semnalului.
Forma semnalului PPG conține anumite informații codificate privind starea cardiovasculară și
respiratorie a subiectului și o analiză a formei detaliate oferă în cele din urmă date clinice pentru
anomalii cardiovasculare și respira torii precoce.
Au fost investigate mai multe caracteristici ale domeniului timp, cum ar fi timpul de
creștere a vârfului PPG de la vârf la vârf, amplitudinea vârfului până la vârf (ppt), forma și
variabilitatea în acestea . Studiile au arătat că semnalul P PG are informaț ii despre mecanismul
vascular. În timpul apneei, apare vasoconstricția și se reflectă în semnalul PPG printr -o scădere a
fluctuației amplitudinii. Variabilitatea ratei cardiace este un semnal electrofiziologic foarte larg
studiat pentru diag nosticarea apneei. HRV prezintă com ponente de frecvență de la 0 -0,5 H z care
sunt asociate cu ramurile sistemului nervos autonom . Componentele de frecvență de la 0.15 -0.4
Hz reprezintă tonul vagal și aceste frecvențe sunt cunoscute ca și componente de înaltă
frecvență(HF). Frecvențele de la 0.04 -0.15 HZ man ifestă activarea nervilor parasi mpatici și
simpatici fiind etichetați componenți de frecvență joasă(LF). R aportul dintre LF și HF este
definit echilibrul simpatovagal.
5.1.1 Analiza în timp și frecven ță a semnalului PPG
Ideea analizei realizate în acest punct a fost să stabilesc o frecvență fundamentală a
semnalului PPG, iar acest lucru se poate determina î n 2 moduri diferite: prin analiza în frecvență
și analiza î n timp .
Aceste metode p ot fi mai bune sau mai puțin bune î n functie de semnal, însă trebuie aleasă o arie
mai exactă.
Pentru a putea observa nat ura semnalului în primul rând am realizat o spectogramă a semna lelor
pentru a o bserva caracteristicile de stați onaritate ale acestora:
Figura 5.1 Spectograma PPG pentru subiectul 1
Figura 5.2 Spectograma PPG pentru subiectul 2
Figura 5 .3 Spectograma PPG pentru subiectul 3
Figura 5 .4 Spectograma PPG pentru subiectul 4
Figura 5 .5 Spectograma PPG pentru subiectul 5
Figura 5 .6 Spectograma PPG pentru subiectul 6
În urma analizei acestor spectograme, frecvența fundamentală poate fi un bun criteriu de
diferențiere între semnalele de la fiecare subiect în parte, însă a m ajuns la concluzia la care ne
așteptam , si anume că semnalele prezintă o puternică varianță a fre cvenței ; de a ltfel ca orice
semnal din natură care nu are o caracteristică de staț ionaritate. Din imagini se poate observa că
frecvența lor fundamental se regăsește într -o bandă de frecven tă de 0.5 – 5Hz iar în urma
calculelor se regăseau cam 72% din puterea spectrală.
Având în vedere că banda de frecvență este la un nivel foarte scăzut, iar frecvența de
eșantionare este undeva la 256Hz, nu putem avea o rezoluție foarte bună în frecvență, d e aceea
am analizat semnalele în timp folosindu -ne de funcția de autocorelație.
5.1.2 Autocorelația semnalului PPG
Funcția de autocorelați e a unui semnal poate identifica și extrage periodic itățile
semnalului. Calitativ, a utocorelația compară un semnal cu sine în raport cu timpul, furnizând
astfel informații dacă acest semnal este periodic. Această comparație este realizată prin
întârzierea debutului ei de către τ, cunoscută sub denumirea de decalaj temporal. Prin urmare,
obiectivul este de a găs i cât de mult semnalul X (t) este asemănător cu semnalul X (t -τ).
Autocorelarea unui semnal periodic este ea însăși o funcție periodică, în timp ce
autocorelarea unui semnal aleatoriu este o funcție care tinde asimptotic la zero. În afară de
capacitatea de a discerne p eriodicitățile într -un semnal, a utocorelația oferă, de asemenea, o
estimare a timpului decorativ, care este interval ul de timp pentru care funcția a utocorelare începe
să tindă la zero. Timpul de decorare produce informații valoroase care sunt folosite în analiza
neliniară a HRV, deoarece reprezintă momentul în care dincolo de semnal nu mai prezintă
periodicități. Se așteaptă ca un semnal aleator să producă timpi de decorare care sunt foarte
aproape de zero.
Aplicând funcția de autocorelație pe întregul semnal, putem determina cu mai multă exactitate
valoarea frecvenței fundamentale calculând valoarea medie dintre maximele locale, acesta
reprezentând chiar pulsul. Apropiind anumite zone din poză am putut vedea valoarea cea mai
apropiată a compone ntei principale.
5.1.3 Frecvența pulsului și ritmul cardiac semnalului PPG
Ritmul cardiac și frecvența pulsului sunt factori cheie pentru asigurarea tensiunii arteriale
suficient de ridicate pentru a susține perfuzia sângelui către toate organele corpului uman. Î n
timp ce ambele sunt considerate sim ilare fiecare reprezintă un mod mecanic diferit în care
organismul răspunde la diferențele de tensiune arterială .
În condiții normale, atât ritmul cardiac, cât și frecvența pulsului tind să fie aceleași, dar în
condiții care afectează numai inima sau numai vasele de sânge, aceste valori pot fi diferite.
Ritmul cardiac este valoarea măsurată obținută pe minut când ascultați sunetele pe care le
produce inima. Rata pulsului este valoarea măsurată pe minut atunci când se palpează vasele
arteriale prin simțul atingerii și este un bun indicator al diferitelor presiuni sanguine în tot corpul.
Rata pulsului depinde de ritmul cardiac. Căci dacă inima voastră ar înceta să bată, nu veți
produce un puls, deoarece nu există ni ci un sânge care să fie pompat prin sistemul vascular
arterial. O frecvență cardiacă normală a nou -născutului scade între 70 -190 bătăi pe minut, în timp
ce o rată a inimii la adulți scade între 60 -100 bătăi pe minut. Această referință pentru adulți poate
fi mai variabilă, după cum se vede în cazul unui individ atletic care are o frecvență normală a
ritmului cardiac de repaus, atingând un nivel inferior celui normal, datorită nivelului mai ridicat
de fitness.
Figura 5.7 Autocorelație PPG pentru Subiectul 1
Din semnalul de bază al autocorelației am selectat doar 10 secunde pentru a reprezenta graficul
de mai sus, ajutându -mă să obțin un semnal ușor de urmărit.
Frecvența pulsului subiectului 1 : 256/210=1.22
Ritm cardia c subiect 1: 1.22*60=73,2 bătai pe minut
Figura 5.8 Autocorelație PPG pentru Subiectul 2
Frecvența pulsului subiectului 2 : 256/364= 0.70
Ritm cardiac subiect 1: 0.70*60= 42 bătai pe minut
Figura 5.9 Autocorelație PPG pentru Subiectul 3
Frecvența pulsului subiectului 3 : 256/177=1.45
Ritm cardiac subiect 1: 1.45*60= 87 bătai pe minut
Figura 5.10 Autocorelație PPG pentru Subiectul 4
Frecvența pulsului subiectului 4: la acel subiect nu s -a putut determina o frecvență fundamental
drept urmare nici r itmul cardiac .
Figura 5.11 Autocorelație PPG pentru Subiectul 5
Frecvența pulsului subiectului 5 : 256/163=1.58
Ritmul cardiac subiect 5: 1.58*60= 95 bătai pe minut
Figura 5.12 Autocorelație PPG pentru Subiectul 6
Frecvența pulsului subiectului 5 : 256/157=1.63
Ritmul cardiac subiect 1: 1.58*60= 98 bătai pe minut
5.2 Analiza semnalelor ECG
Această analiză este realizat ă în scripturile ecg_negative_analyse.m ,
ecg_positive_analyse.m și get_mfcc_array.m în care au fost extrase semnalele ECG prin
conversia din .hea, .dat în .mat si am realizat o analiză în frecvență folosind transformata
Fourier(FFT). În semnalele ECG informația este codificată în amplitudinea
semnalului( morfologia complexului PQRST), ritmicitate, formă și spectru. În consecințǎ, la
analiza și procesarea unui semnal EKG trebuie discutate mai multe aspecte, care sǎ faciliteze
procesul medical de diagnosticare. Aceste aspecte vor fi dezbǎtute în cele ce urme azǎ. De cele
mai multe ori, abordarea aspectelor de ritmicitate ale inimii vizeazǎ calculul variabilitǎții
ritmului cardiac (HRV – Heart Rate Variability), adicǎ a intervalelor dintre douǎ vârfuri R -R
consecutive .
Fig. 5.13 Măsurarea intervalelor R -R pentru determinarea HRV
Descriptorii morf ologici de timp și de frecvență reprezintă două caracteristici populare
ale ECG -ului utilizate în identificarea umană. În general, descriptorii morfologici sunt trăsăturile
intuitive ale formei, incluzând înălțimea și durata QRS, înălțimea undei P și înălțimea undei T.
Descriptorii de timp -frecvență sunt caracterizați, de regulă, prin intermediul informațiilor
de sincronizare (intervalul PR, intervalul RR, intervalul QT etc.) și coeficienții frecvenței de timp
(coefici enți wavelet etc.) în ciclul ECG. În interval, parametrii amplitudinii și unghiului au fost
extrase ca trăsături morfologice și de frecvență de timp pentru a efectua sarcina de identificare a
persoanei.
5.2.1 Analiza în timp și frecvență a semnalului ECG
Există situații când o anumită porțiune a informației dintr -un semnal nu poate fi observată
în totalitate în domeniul timp, ci doar în domeniul frecvență; de exemplu, pentru semnalul ECG,
manifestările patologice (abateri de la morfologia repreyentativă) p ot fi uneori mai ușor de
diagnosticat prin analiza în domeniul frecvență. În plus, forma semnalului în domeniul timp
poate să difere de la un ciclu la altul al semnalui.
Așadar, majoritatea semnalelor biomedicale prezintă periodicități și ritmuri mai ușor de
perceput în termeni de frecvență decât în unități de timp. De exemplu, activitatea cardiacă este
mult mai ușor de exprimat în bătăi pe minut (un marker al frecvenței cu care are loc), decât în
termeni legați de durata unei bătăi (intervalul R -R exprima t în secunde): un ritm cardiac se
observă mai bine dacă este exprimat ca fiind 72 bătăi pe minut, decât dacă i s -ar preciza durata
R-R corespunzătoare ca fiind 0,833s; în cazul semnalului ECG, cunoașterea este mult mai bună
la exprimarea ritmului alfa ca fiind 11,5 Hz, decât echivalența din domeniul timp de 0,087 s.
De aceea, utilizarea transformatei Fourier ușurează – prin distribuția de energie și putere
a semnalului în domeniul frecvență, dar si prin analiza fazei acestuia – o mai bună analiză și
descr iere a caracteristicilor semnalului.
Analiza spectrală ajunge să fie o problem delicată la investigarea semnalelor când se ia în
calcul staționaritatea acestora. Astfel, dacă transformata Fourier oferă doar conținutul spectral al
semnalului și nicio infor mație cu privire la momentele la care apar diversele componente spectral
(aplicându -se analiza semnalelor staționare), lucrurile se complică în cazul investigării
semnalelor nestaționare. Deoarece semnalele biomedicale, majoritatea sunt nestaționare
(ECG,E EG) este nevoie de găsirea unor metode noi de investigare: o component sepctrală care
intervine la un moment dat și care poate fi de mare interes.
Aceste cauze de staționaritate impugn analiza semnalului ECG prin algoritmul FFT și
evidențierea unor coresp ondențe a semnalului ECG din domeniul timp și spectogramă. Aceste
metode p ot fi mai bune sau mai puțin bune î n functie de semnal, însă trebuie aleasă o arie mai
exactă.
Pentru a putea observa nat ura semnalului în primul rând am realizat o spectogramă a sem nalelor
pentru a o bserva caracteristicile de stați onaritate ale acestora:
În acest sens, s -au analizat 12 înregistrări (6 subiecti sănătoși și 6 subiecși cu diferite
afecțiuni cardiace și diverse trecuturi medicale) în timp ce aceștia mergeau normal. Dat ele fiind
prelucrate în matlab după ce s -a realizat conversia.
Voi afișa una sub alta spectograma unui subiect sănătos și imediat după spectograma unui
subiect cu afecțiuni cardiace:
Figura 5.14 Spectograma ECG subiectul 1 sănătos
.
Figura 5.15 Spectograma ECG subiectul 1 bolnav
Figura 5.16 Spectograma ECG subiectul 2 sănăto s
Figura 5.17 Spectograma ECG subiectul 2 bolnav
Figura 5.18 Spectograma ECG subiectul 3 sănătos
Figura 5.19 Spectograma ECG subiectul 3 bolnav
Figura 5.20 Spectograma ECG subiectul 4 sănătos
Figura 5.21 Spectograma ECG subiectul 4 bolnav
Figura 5.22 Spectograma ECG subiectul 5 sănătos
Figura 5.23 Spectograma ECG subiectul 5 bolnav
Figura 5.24 Spectograma ECG subiectul 6 sănătos
Figura 5.25 Spectograma ECG subiectul 6 bolnav
În urma analizei acestor spectograme, am constatat că frecvența fundamentală în cazul
acestor semnale nu poate fi considerată un bun criteriu de diferențiere între semnalele
achiziționate de la oamenii bolnavi cât și sănătoși deoarece ambele clase de spectograme au o
frecvență fundamentală într -o bandă de 0.5 -5Hz iar în urma calculelor se regăseau cam 72% din
puterea spectrală.
Având în vedere că banda de frecvență este la un nivel foarte scăzut, iar frecvența de eșantionare
este undeva la 256Hz, nu putem avea o rezoluție foarte bună în frecvență, de aceea am analizat
semnalele în timp folosindu -ne de funcția de autocorelație
5.2.2 Autocorelatia semnalului ECG
Pentru a obține estimarea frecvenței semnalului sinusoidal, mai multe metode digitale au
fost prezentate în ultimele decenii. Metodele de estimare a frecvenței existente sunt în principal
împărțite în două categorii: metodele domeniului de frecvență și metodele domeniului temporal.
Metodele de domeniu de frecvență transformă semnalul selectat din domeniul temporal în
domeniul frecvenței prin transformarea discretă Fourier (DFT) și obținând estimarea frecvenței
prin corecția discretă a spectrului de coeficienți DFT. Metodele sunt computațional simple și au
o bună performanță anti -interferență. Cu to ate acestea, metodele de domeniu de frecvență care
suferă de scurgere spectrală au dificultăți în obținerea estimării frecvenței imparțiale atunci când
se ocupă cu sinusoid real cu o lungime finală a semnalului ceea ce s -a întâmplat și in analiza
noastră . Metodele în domeniu timp obțin frecvența estimată prin autocorelație, predicție liniară și
așa mai departe.
Pentru cele 12 semnale am încercat sa scot rezultatele dorite din spectogramele de mai
sus aplicând autocorelatia. Semnalele le voi separa ca și la spectograme, cel sănătos deasupra iar
cel bonav mai jos.
Figura 5.26 Autocorelația ECG subiect 1 sănătos
Figura 5.27 Autocorelați a ECG subiect 1 bolnav
Figura 5.28 Autocorelația ECG subiect 2 sănătos
Figura 5.29 Autocorelația ECG subiect 2 bolnav
Figura 5.30 Autocorelația ECG subiect 3 sănătos
Figura 5.31Autocorelația ECG subiect 3 bolnav
Figura 5.32 Autocorelația ECG subiect 4 sănătos
Figura 5.33 Autocorelatia ECG subiect 4 bolnav
Figura 5.34 Autocorelația ECG subiect 5 sănătos
Figura 5.35 Autocorelația ECG subiect 5 bolnav
Figura 5.36 Autocorela ția ECG subiect 6 sănătos
Figura 5.37 Autocorelația ECG subiect 6 bolnav
Funcția de autocorelare este acceptată ca fiind cea mai potrivită pentru a rezuma ideile
emise în cadrul unei dezbateri în aplicațiile medicale și a arăta consecințele , dar nu reușește și în
clasificarea exactă a subiecților în acest studiu. Funcția de autocorelație și transformat a Fourier
sunt legate de teorema lui Weiner -Krintchine, care afirmă că funcția de densitate spectrală a unu i
semnal poate fi exprimată ca t ransformată Fourier a funcției de utocorelație. Prin urmare,
informația extrasă d in semnal utilizând transformat a Fourier este coeren tă cu cea obținută din
funcția de a utocorelație, cu diferenț a că este în domeniul timp Astfel, ambele metode pot fi
folosite în caracterizarea semnalelor pentru nonlinearitate, dar ele nu pot fi folosite singure
pentru a identifica semnalele stochastice sau zgomotoase din cele haotice.
Făcând o paralelă cu analiza semnalului PPG din care am reusit să extragem ușor
parametrii ca re au ajutat la o clasificare a subiecților, în cazul semnalelor ECG, chiar și prin
autocorelație nu se poate distinge cu u șurință caracteristicile acestuia :R -R, segmentul QRST.
5.2.3 COMPLEXUL QRS
Performanța unor astfel de sisteme automate se bazează în mare măsură pe acuratețea și
fiabilitatea în detectarea complexului QRS, care este necesar pentru a determina frecvența
cardiacă și ca referință pentru alinierea bate. Complexul QRS este forma cea m ai caracteristică a
semnalului cu amplitudini mai mari. Acesta poate fi utilizat ca referință pentru detectarea altor
unde, cum ar fi complexele P și T, care sunt, de asemenea, utile în anumite momente.
Transformarea Wavelet este percepută ca o tehnică foa rte promițătoare pentru acest tip de
aplicații, deoarece este localizată atât în domeniul frecvenței cât și în cel al timpului. Poate fi
folosit pentru a distinge undele ECG de zgomotele serioase, artefactele și deviația de bază;
reprezintă trăsăturile tem porale ale unui semnal la o rezoluție diferită, oferind o mai bună analiză
a semnalelor ECG, care este caracterizată de tiparele ciclice la frecvențe diferențiale.
Punctul stâng indică punctul Q, iar cel din dreapta indică punctul S. Calcularea distanței d e la
punctul zero sau aproape de zero la partea stângă a vârfului R în limita pragului indică punctul Q.
În mod similar, partea dreaptă desemnează punctul S. Lățimea QRS se calculează de la debutul și
de la dispariția complexului QRS. Debutul este începutu l valului Q, iar decalajul este sfârșitul
valului S.
În mod normal, începutul complexului QRS conține componentele de înaltă frecvență, detectate
la scări mai fine. Pentru a identifica debutul și decalajul undei, unda este făcută la zero. Debutul
este înce putul și offsetul este sfârșitul primei perechi de module maxima. Odată ce acest complex
QRS este localizat, următorul pas este de a determina punctele de debut și de compensare pentru
fiecare complex QRS și de a identifica undele componente ale complexulu i QRS.
5.2.4 Detecția vârfului R
Pentru a detecta vârfurile, sunt selectate detalii specifice ale semnalului, fiind primul pas al
extracției caracteristicilor. R vârful semnalului are cea mai mare amplitudine dintre toate valurile
în comparație cu alte vâr furi. Un complex QRS normal indică faptul că impulsul electric a
progresat în mod normal din pachetul rețelei sale în rețeaua Purkinje prin ramificațiile din
dreapta și din stânga și că a apărut depolarizarea normală a ventriculelor din dreapta și din
stânga. Cea mai mare parte a energiei complexului QRS se situează între 3 Hz și 40 Hz.
Frecvențele de 3 dB ale transformării Fourier ale wavelet indică faptul că cea mai mare parte a
energiei complexului QRS se află între scări de 23 și 24, cu cea mai mare val oare la 24. Energia
scade dacă scara este mai mare de 24. Energia artefactelor de mișcare și creșterea bruscă a valorii
inițiale se măsoară pentru scale mai mari de 25 prin urmare, alegem să folosim scări
caracteristice de la 21 la 24 pentru wavelet. Detec ția complexului QRS se bazează pe modulul
maxim al transformării Wavelet. Acest lucru se datorează faptului că maximul modulului și
traversarea punctului zero a transformatei Wavelet corespund marginilor ascuțite ale semnalului.
De aceea, regula de detecți e a fost aplicată transformatei Wavelet a semnalului ECG. Punctele Q
și S au loc în jurul vârfului R cu 0,1 secunde.
O altă metodă folosită pentru diferențierea oamenilor sănătoși de oamenii bolnavi a fost realizată
prin analiza parametrilor semnalului, ș i anume a distanței intervalului R -R, amplitudinea undelor
R. Baza de date a fost formată din subiecți bărbați în vârsta de 32 până la 89 de ani și 2 de femei
în vârstă de 23 până la 89 ani. Dintre acesția am extras doar câte 10 secunde din anumite semnale
cu diferite tulburări cardio respiratorii. În cele mai multe înregistrări, semnalul superior este un
cordon modificat al membrelor II (MLII), obținut prin plasarea electrozilor pe piept. Această
configurație este utilizată în mod obișnuit de Laboratorul d e aritmie BIH. Complexele QRS
normale sunt de obicei proeminente în semnalul superior. Semnalele ECG au fost înregistrate la
o frecvență de 360Hz.
Prima dată am afișat semnalul normal ECG, și am făcut o analiză a lui pe baza parametrilor.
După achiziția s emnalului ECG , și înaintea extragerii parametrilor din acesta, este necesară o
filtrare a sa. Acest lucru este necesar deoarece semnalul achiziționat este afectat de zgomot din
mai multe surse ca: sistemul de achiziție, conectarea slabă a electrozilor, reț eaua de alimentare,
activitatea electrică a creierului, activitatea electrică a mușchilor feței, etc. Toate aceste lucruri
fac ca informația din semnal să nu fie în totalitate corectă și deci rezultatele obținute să nu fie la
înalțimea așteptărilor pentru aplicația dorită .
Figura 5.38 Semnal normal și semnal filtrat
Semnalele au fost filtrate cu ajutorul unui filtru de bandă în domeniul de frecvență de la 2 la 40
Hz. Apoi pe baza acestuia a fost selectat un interval de 10 secunde din semnalul
electrocardiografic înregistrat la fiecare subiect selectat . Acest semnal a fost filtrat și după aceea
i-au fost identificate undele R, fiind de asemenea calculat și intevalul R -R, măsurat în secunde.
Figura 5 .39 Semnal ECG filtrat normal și detecția undelor R
Pe baza acestuia am scos următoarele caracteristici:
Segment Interval R -R(s) Ritm cardiac Ritm
1 0,7194 83,3976834 1,396780771
2 0,6944 86,4
3 0,6889 87,09677419
4 0,7139 84,04669261
5 0,7167 83,72093023
6 0,7278 82,44274809
7 0,7333 81,81818182
8 0,7444 80,59701493
9 0,7667 78,26086957
10 0,7167 83,72093023
11 0,6806 88,16326531
12 0,6917 86,74698795
Tabel 5.1 Intervale R -R pentru un om sănătos
Din baza de date cu aritmii, am selectat câteva semnale care conțineau tulburări cardio –
respiratorii, una din ele este tahicardia ventriculară cu un ritm grăbit al contracț iei ventriculilor,
peste 100 batăi pe minut, în general între 120 -250 bată i pe minut cu originea localizată î n
ventriculi .
Fig 5.40. Semnal tahicardi e ventriculară și semnal filtrat
Figura 5.41 . Semnal ECG tahicardie ventriculară filtrat și detecția undelor R
Caracteristicile din acest semnal sunt:
Segment Interval R-R(s) Ritm cardiac Ritm
1 2,963888889 20,24367385 42,25118643
2 2,244444444 26,73267327
3 0,005555556 10800
4 2,119444444 28,30930537
5 0,011111111 5400
Tabel 5.2 Intervale R -R pentru un om cu tahicardie ventriculară
Fibrilația atrială, este cea mai frecventă aritmie susținută ș i afecteaza aproximativ 1 -2% din
populație și presupune un ritm al bătăilor inimii complet dezordonat producând un ritm cardiac
cu frecvență de cel puțin 100 bătăi/minut; o altă tulburare este și Flutter -ul atrial care apare
atunci câ nd impulsurile electrice (plecate de la nodulul sin oatrial) merg pe o cale anormală prin
atrii. Impulsurile elec trice anormale fac ca atriile să se contracte foarte rapid, de obicei
aproximat iv 250 -350 de bătăi minut.
Figura 5.42 Fibrilație arterială și Flutter atrial normal și semnal filtrat
Figura 5.43 Fibrilație arterială și Flutter atrial filtrat și detecția undelor R
Figura 5.44 Flutter atrial normal și semnal filtrat
Figura 5.45 Flutter atrial filtrat și detecția undelor R
Figura 5.46 Tahicardia supraventriculară normal și semnal filtrat
Figura 5.47 Tahicardie supraventriculară filtrat și detecția undelor R
Din ultimele semnale, semnalul este foarte distorsionat și nu s -au putut detecta undele R pentru
a putea scoate un raportul conținând caracteristicile acestora. Din acest motiv nu am putut
realiza o clasificare a acestora pe baza caracteristicilor undelor.
Prin urmare, am optat către o diferențiere care are la bază coeficienții MFCC; coeficienți care
sunt capabili să descrie întreg spectrul.
5.3 Reprezentarea parametrilor MFCC
În ultimele două decenii, caracteristicile bayate pe spectru au devenit popular e în special
datorită faptului că provin direct din transformata Fourir, caracteristici bazate pe spectru sunt
coeficienții cepstrali în scara Mel (MFCC) și succesul lor se datorează faptului că utilizează un
banc de filter, cu o scară perceptuală similară cu sistemul auditiv uman, pentru a procesa
transformata Fourier. De asemenea acești coeficienți prezintă o anduranță la zgomot și
flexibilitate datorită procesării cepstrale.
Obținerea coeficienților presupune următoarele procesări:
a) Transformata Fourier : se aplică transformata Fourier rapida (FFT) pentru a obține N/2
valori spectrale complexe egal distanțele de la 0 la Fs/2. Se ignoră informația despre fază
deoarece aceasta diferă foarte mult de la cadru la cadru și se păstrează amplitudinea
spectrului.
b) Filtrarea prin bancul de filtre: cele N/2 amplitudini obținute sunt convertite într -un banc
de filtre de ordin K pentru a reduce dimensiunea și pentru a reprezenta mai eficient
coeficienții, de asemenea filtrarea se poate face algoritmic în loc de linear di n motive
perceptuale. Bancul de filtre este astfel proiectat încât să diferențieze mai bine
frecventțele joase și să grupeze cât mai multe frecvențe înalte, centrele filtrele
triunghiulare sunt distanțate conform formule:
) (4.1)
Ieșirea fiecărui filtru este notată cu ,k=1,2,…,K, iar datorită faptului că sistemul auditiv
are caracter logaritmic se logaritmează această ieșire, în plus logaritmarea are și rolul de a
transforma distorsiunile multiplicative, provocate de filtrarea în frecvență, în efecte aditive ce pot
fi compensate mai ușor.
c) Analiza cepstrală: pasul final este de a converti cele K valori spectrale de la ieșirea
filtrului în L coeficienți cepstrali folosind transformata cosinus discrete
(DCT):
=
De obicei doar L=12 coeficienți sunt suficienți pentru fiecare fereastră de analiză
Figura 5.48 Obținerea coeficienților MFCC
Figura 5.49 Bancul de filtre în scara Mel
Pentru calculul acestor coeficienți, am ales o fereastră cu 256 eșantioane pentru semnalele
subiecților sănătoși și 250 eșantioane pentru semnalele subiecților bolnavi. Numărul
eșantioanelor a fost ales în funcție de frecvența de eșantioane. Practic acești coeficienți se
calculează pentru o fereastră cu o perioadă de 1 secundă, iar pentru fiecare semnal în parte vom
avea atâtea perechi de coeficienți câte secunde va avea semnalul.
Pentru extragerea coeficienților cepstrali Mel, am folosit funcția get_mfcc_array care are la
intrare semnalul în timp cât și frecvența de eșantionare, iar la ieșire vom obține o matrice de
coeficienți MFCC.
În codul matlab, atât pentru semnalele subiecțil or sănătoși cât și bolnavi am folosit funția
mean(s1_pos_mfcc,1) fiind media pe coloane a matricei de coeficienți( medie ce reprezintă o
pondere a coeficienților); iar după ce i -am ponderat se foloseste pos_mfcc_mean(1;) unde sunt
agregați coeficienții pon derați de la toți subscriberii sănătoși si la fel am făcut și pentru celelalte
semnale.
Apoi generă m un mFCC_pos , fiind un vector de 6 eleme nte , fiecare element corespunzâ nd unui
subiect pozitiv și constituie produsul coeficienților corespunză tori unu i subiect. Odată realiza t
produsul , vom avea 2 vectori unul care corespunde pentru cei sănătoși și unul pentru bolnavi, pe
care îi plotăm, pentru a observa dacă există un nivel de prag între cele 2 mulțimi de coeficienț i.
Figura 5.50 Clasificarea subiecților sănătoși și bolnavi
Prin aleger ea unui nivel de prag de 7,45 *10^5 , pentru coef icienții MFCC prelucrați, obținem o
acurateț e de clasificare de 66,6% (8 subiecți clasificati corr ct peste pragul mentiona t mai sus/ 12 –
totalul de subiecț i).
8/12=66% acuratețea
Criteri ul de clasificare ales este urmă torul: coeficienț ii care sunt peste prag sunt consideraț i ca
fiind din clasa oamenilor sănatăsi (positive) iar tot ce este sub prag sunt consideraț i ca fiind din
clasa oamenilor boln avi (negative).
Analiza semnalelor ECG în frecvență pe baza coeficienț ilor MFCC poate reprezenta un criteriu
de clasificare nu doar pentru acest tip de boal ă insuficiență cardiacă congestivă ci și pentru alte
disfuncț ii cardiace .
Concluzii
asdkjadada
Pers pective de viitor
În urma acestui studiu, s -a reușit identificarea episoadelor cu probleme cardio respiratorii
pentru diferite semnale electrocardiografice înregistrate la 12 persoane (6 sănătoase, 6 bolnave) ,
semnale colectate din cadrul Spitalul ului Beth Israel din Boston; .
Pe viitor, pe lângă ce a fost realizat până în prezent în această lucrare, se mai dorește și:
prelucrarea și interpretarea tuturor semnalelor atât electroencefalografice cât și respiratorii ,
identificarea tuturor episoadelor de aritmii din cadrul semnalelor , realizarea unui algoritm
automat de detecție a l acestora:bradicardie,apnee, tahicardie, fibrilație arterială. Flutter atrială
etc. și detectarea epioadelor în timp real .
Un lot mai mare de subiecți de pe care să se înregistrez e semnalele electrocardiografice
ce pot fi folosite pentru extragerea informațiilor pe baza cărora să se realizeze identificarea
tulburărilor cardio respiratorii ar putea oferi o acuratețe de clasificare mai mare, ceea ce ar ajuta
la o siguranță a clasific ării mai mare.
Pe viitor se dorește și analizarea semnalelor respiratorii înregistrate în paralel cu
înregistrarea semnalelor electrocardiografice. Acest lucru ar ajuta la o corelare între episoadele
diferitelor tipuri de aritmii .
O altă îmbunătățire care ar putea fi adusă ar fi implementarea unui clasificator mult mai
complex, ce folosește rețele neural sau arbori de decizie. (random forest, adaboost)
Una dintre cele mai importante perspective de viitor în ceea ce privește analiza
semnalului electrocardio grafic constă în realizarea unei alerte care să preceadă episodul de
tulburare cardio respiratorie . Aceasta este una dintre cele mai practice implementări ale acestei
aplicații.
Bibliografie
[1] http://anatomie.romedic.ro/inima -cordul
[2] R. Negoescu, Instrumentația Electronică Biomedicală , Editura Tehnică, 1985.
[3] http://tudr.thapar.edu:8080/jspui/bitstream/10266/19 41/3/1941.pdf
[4] R. Popa, Electronică Medicală ,Editura Matrix Rom, 2006.
[5]http://dspace.thapar.edu:8080/jspui/bitstream/10266/1793/3/1793.pdf
[6] David Houcque , Introduction to MATLAB for engineering students
[7] Malcolm S. Thaler, The Only EKG Book You'll Ever Need, The, 5th Edition
[8] http://www.tc.etc.upt.ro/docs/cercetare/carti/Filtre.pdf
[9] https://www.physionet.org/
[10] D. Isar, A . Isar, Filtre , Editura Politehnica, 2003.
[11] D. Stanomir, Semnale și Sisteme , Editura Politehnica Press, 2005.
[12] Kamal et al, „Skin Plethzsmography – A review,” Computer methods and Programs in Biomedicine ,
vol. 28, issue 4, pp. 257 -269, April 1989.
[13] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.674.9642&rep=rep1&type=pdf
[14]https://waset.org/publications/9997734/analysis -of-electrocardiograph -ecg-signal -for-the-
detection -of-abnormalities -using -matlab
[15] http://circ.ahajournals.org/content/101/23/e215.full
[16]https://www.sciencedirect.com/science/article/pii/S1532046403000716
[17]https://www.researchgate.net/profile/Annepu_Bhujanga _rao/publication/277798823_Wavelet_bas
ed_QRS_detection_in_ECG_using_MATLAB/links/55d6a85708aed6a199a4e160/Wavelet -based -QRS-
detection -in-ECG-using -MATLAB.pdf
[18] S. L. Pingale and N. Daimiwal, "Detection of various diseases using ECG signal in Matlab,"
International Journal of Recent Technology and Engineering (IJRTE) ISSN (2014): 2277 -3878, 2014.
Anexa
clear all; close all; clc;
%% transformarea setului de date în date compatibile cu matlab
%pozitive(subiecți sănătoși)
wfdb2mat('dataset/pozitive/MIT -Format/s1_walk');
wfdb2mat('dataset/pozitive/MIT -Format/s2_walk');
wfdb2mat('dataset/pozitive/MIT -Format/s3_walk');
wfdb2mat('dataset/pozitive/MIT -Format/s6_walk');
wfdb2mat('dataset/pozitive/MIT -Format/s8_walk');
wfdb2mat('d ataset/pozitive/MIT -Format/s9_walk');
%negative(subiecți bolnavi)
wfdb2mat('dataset/negative/chf01');
wfdb2mat('dataset/negative/chf02');
wfdb2mat('dataset/negative/chf03');
wfdb2mat('dataset/negative/chf04');
wfdb2mat('dataset/negative/chf05');
wfdb2mat('dataset/negative/chf06');
clear all; close all; clc;
%%Analiza semnalului PPG
%% setarea variabilelor
Fs = 256;
window = 256;
nfft = 512;
noverlap = 4;
%% Încărcare semnale positive(subiecți sănătoși)
subiect_pos_1 = load('dataset/pozitive/Matla b-Format/s1_walkm');
subiect_pos_2 = load('dataset/pozitive/Matlab -Format/s2_walkm');
subiect_pos_3 = load('dataset/pozitive/Matlab -Format/s3_walkm');
subiect_pos_4 = load('dataset/pozitive/Matlab -Format/s6_walkm');
subiect_pos_5 = load('dataset/pozitive/M atlab-Format/s8_walkm');
subiect_pos_6 = load('dataset/pozitive/Matlab -Format/s9_walkm');
%% Extrage semnalele PPG
s1_ppg = subiect_pos_1.val(2,:);
s2_ppg = subiect_pos_2.val(2,:);
s3_ppg = subiect_pos_3.val(2,:);
s4_ppg = subiect_pos_4.val(2,:);
s5_ppg = subiect_pos_5.val(2,:);
s6_ppg = subiect_pos_6.val(2,:);
%% Analiza în frecvență a semnalelor PPG
figure(1)
set(gcf,'color','w');
spectrogram(s1_ppg,window,noverlap,nfft,Fs)
title('Spectrograma PPG pentru subiectul 1')
shading interp
colormap('bone')
xlim([0 50])
figure(2)
set(gcf,'color','w');
spectrogram(s2_ppg,window,noverlap,nfft,Fs)
title('Spectrograma PPG pentru subiectul 2')
shading interp
colormap('bone')
xlim([0 50])
figure(3)
set(gcf,'color','w');
spectrogram(s3_ppg,window,noverlap,nfft,Fs)
title('Spectrograma PPG pentru subiectul 3')
shading interp
colormap('bone')
xlim([0 50])
figure(4)
set(gcf,'color','w');
spectrogram(s4_ppg,window,noverlap,nfft,Fs)
title('Spectrograma PPG pentru subiectul 4')
shading interp
colormap('bone')
xlim([0 50])
figure(5)
set(gcf,'color','w');
spectrogram(s5_ppg,window,noverlap,nfft,Fs)
title('Spectrograma PPG pentru subiectul 5')
shading interp
colormap('bone')
xlim([0 50])
figure(6)
set(gcf,'color','w');
spectrogram(s6_ppg,window,noverlap,nfft,Fs)
title('Spectro grama PPG pentru subiectul 6')
shading interp
colormap('bone')
xlim([0 50])
%% Analiza în timp bazată pe funcția de autocorelare
s1_cor = abs(xcorr(s1_ppg));
s1_cor = s1_cor(size(s1_ppg,2):size(s1_ppg,2) + Fs*10);
s2_cor = abs(xcorr(s2_ppg));
s2_cor = s2_c or(size(s2_ppg,2):size(s2_ppg,2) + Fs*10);
s3_cor = abs(xcorr(s3_ppg));
s3_cor = s3_cor(size(s3_ppg,2):size(s3_ppg,2) + Fs*10);
s4_cor = abs(xcorr(s4_ppg));
s4_cor = s4_cor(size(s4_ppg,2):size(s4_ppg,2) + Fs*10);
s5_cor = abs(xcorr(s5_ppg));
s5_cor = s5_co r(size(s5_ppg,2):size(s5_ppg,2) + Fs*10);
s6_cor = abs(xcorr(s6_ppg));
s6_cor = s6_cor(size(s6_ppg,2):size(s6_ppg,2) + Fs*10);
figure(7)
plot(s1_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 1')
figure(8)
plot(s2_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 2')
figure(9)
plot(s3_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 3')
figure(10)
plot(s4_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 4')
figure(11)
plot(s5_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 5')
figure(12)
plot(s6_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al PPG pentru Subiectul 6')
clear all; close all; clc;
clear all; close all; clc;
%% Încărcare semnale pozitive(subiecți sănătoși)
subiect_pos_1 = load('dataset/pozitive/Matlab -Format/s1_walkm');
subiect_pos_2 = load('dataset/pozitive/Matlab -Format/s2_walkm');
subiect_pos_3 = load('dataset/pozitive/Matlab -Format/s3_walkm');
subiect_pos_4 = load('dataset/pozitive/Matlab -Format/s6_walkm');
subiect_pos_5 = load('dataset/pozitive/Matlab -Format/s8_walkm');
subiect_pos_6 = load('dataset/pozitive/Matlab -Format/s9_walkm');
%% Extragere parametri ECG din rezultatele pozitive
Fs = 256;
window = 256;
nfft = 512;
noverlap = 4;
s1_ppg = subiect_pos_1.val(1,:);
s2_ppg = subiect_pos_2.val(1,:);
s3_ppg = subiect_pos_3.val(1,:);
s4_ppg = subiect_pos_4.val(1,:);
s5_ppg = subiect_pos_5.val(1,:);
s6_ppg = subiect_pos_6.val(1,:);
figure(1)
set(gcf,'color ','w');
spectrogram(s1_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 1')
shading interp
colormap('bone')
xlim([0 50])
figure(2)
set(gcf,'color','w');
spectrogram(s2_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiect ul 2')
shading interp
colormap('bone')
xlim([0 50])
figure(3)
set(gcf,'color','w');
spectrogram(s3_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 3')
shading interp
colormap('bone')
xlim([0 50])
figure(4)
set(gcf,'color','w');
spectrogram(s4_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 4')
shading interp
colormap('bone')
xlim([0 50])
figure(5)
set(gcf,'color','w');
spectrogram(s5_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 5')
shading interp
colormap('bone')
xlim([0 50])
figure(6)
set(gcf,'color','w');
spectrogram(s6_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 6')
shading interp
colormap('bone')
xlim([0 50])
%% Analiza în timp bazată pe funcția de autoco relare
s1_cor = abs(xcorr(s1_ppg));
s1_cor = s1_cor(size(s1_ppg,2):size(s1_ppg,2) + Fs*30);
s2_cor = abs(xcorr(s2_ppg));
s2_cor = s2_cor(size(s2_ppg,2):size(s2_ppg,2) + Fs*30);
s3_cor = abs(xcorr(s3_ppg));
s3_cor = s3_cor(size(s3_ppg,2):size(s3_ppg,2) + Fs*30);
s4_cor = abs(xcorr(s4_ppg));
s4_cor = s4_cor(size(s4_ppg,2):size(s4_ppg,2) + Fs*30);
s5_cor = abs(xcorr(s5_ppg));
s5_cor = s5_cor(size(s5_ppg,2):size(s5_ppg,2) + Fs*30);
s6_cor = abs(xcorr(s6_ppg));
s6_cor = s6_cor(size(s6_ppg,2):size(s6_ppg,2) + Fs*30);
figure(7)
plot(s1_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 1')
figure(8)
plot(s2_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelati e al ECG pentru Subiectul 2')
figure(9)
plot(s3_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 3')
figure(10)
plot(s4_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul f unctiei de autocorelatie al ECG pentru Subiectul 4')
figure(11)
plot(s5_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 5')
figure(12)
plot(s6_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 6')
clear all; close all; clc;
%% Încărcare semnale negative
subiect_neg_1 = load('dataset/negative/Matlab -Format/chf01m');
subiect_neg_2 = load('dataset/negative/Matlab -Format/chf02m');
subiect_neg_3 = load('dataset/negative/Matlab -Format/chf03m');
subiect_neg_4 = load('dataset/negative/Matlab -Format/chf04m');
subiect_neg_5 = load('dataset/negative/Matlab -Format/chf05m');
subiect_neg _6 = load('dataset/negative/Matlab -Format/chf06m');
%% Extragerea parametrilor ECG din semnalele negative
Fs = 256;
window = 256;
nfft = 512;
noverlap = 4;
s1_ppg = subiect_neg_1.val(1,:);
s1_ppg = s1_ppg(1:10000);
s2_ppg = subiect_neg_2.val(1,:);
s2_ppg = s2_ppg(1:10000);
s3_ppg = subiect_neg_3.val(1,:);
s3_ppg = s3_ppg(1:10000);
s4_ppg = subiect_neg_4.val(1,:);
s4_ppg = s4_ppg(1:10000);
s5_ppg = subiect_neg_5.val(1,:);
s5_ppg = s5_ppg(1:10000);
s6_ppg = subiect_neg_6.val(1,:);
s6_ppg = s6_ppg(1:10000);
figure(1)
set(gcf,'color','w');
spectrogram(s1_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 1')
shading interp
colormap('bone')
xlim([0 50])
figure(2)
set(gcf,'color','w');
spectrogram(s2_ppg,window,noverlap,nfft,Fs)
title('Spectro grama ECG pentru subiectul 2')
shading interp
colormap('bone')
xlim([0 50])
figure(3)
set(gcf,'color','w');
spectrogram(s3_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 3')
shading interp
colormap('bone')
xlim([0 50])
figure(4)
set(gcf,'color','w');
spectrogram(s4_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 4')
shading interp
colormap('bone')
xlim([0 50])
figure(5)
set(gcf,'color','w');
spectrogram(s5_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 5')
shading interp
colormap('bone')
xlim([0 50])
figure(6)
set(gcf,'color','w');
spectrogram(s6_ppg,window,noverlap,nfft,Fs)
title('Spectrograma ECG pentru subiectul 6')
shading interp
colormap('bone')
xlim([0 50])
%% Analiza în timp pe baza funcției de autocorelație
s1_cor = abs(xcorr(s1_ppg));
s1_cor = s1_cor(size(s1_ppg,2):size(s1_ppg,2) + Fs*30);
s2_cor = abs(xcorr(s2_ppg));
s2_cor = s2_cor(size(s2_ppg,2):size(s2_ppg,2) + Fs*30);
s3_cor = abs(xcorr(s3_ppg));
s3_cor = s3_cor(size(s3_pp g,2):size(s3_ppg,2) + Fs*30);
s4_cor = abs(xcorr(s4_ppg));
s4_cor = s4_cor(size(s4_ppg,2):size(s4_ppg,2) + Fs*30);
s5_cor = abs(xcorr(s5_ppg));
s5_cor = s5_cor(size(s5_ppg,2):size(s5_ppg,2) + Fs*30);
s6_cor = abs(xcorr(s6_ppg));
s6_cor = s6_cor(size(s6_ppg ,2):size(s6_ppg,2) + Fs*30);
figure(7)
plot(s1_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 1')
figure(8)
plot(s2_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 2')
figure(9)
plot(s3_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 3')
figure(10)
plot(s4_cor),ylabel('Amplitudine'),xlabel('Esantioan e'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 4')
figure(11)
plot(s5_cor),ylabel('Amplitudine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 5')
figure(12)
plot(s6_cor),ylabel('Amplitu dine'),xlabel('Esantioane'),
title('Rezultatul functiei de autocorelatie al ECG pentru Subiectul 6')
%% Încărcare semnale pozitive
subiect_pos_1 = load('dataset/pozitive/Matlab -Format/s1_walkm');
subiect_pos_2 = load('dataset/pozitive/Matlab -Format/s2_walk m');
subiect_pos_3 = load('dataset/pozitive/Matlab -Format/s3_walkm');
subiect_pos_4 = load('dataset/pozitive/Matlab -Format/s6_walkm');
subiect_pos_5 = load('dataset/pozitive/Matlab -Format/s8_walkm');
subiect_pos_6 = load('dataset/pozitive/Matlab -Format/s9_ walkm');
%% Încărcare semnale negative
subiect_neg_1 = load('dataset/negative/Matlab -Format/chf01m');
subiect_neg_2 = load('dataset/negative/Matlab -Format/chf02m');
subiect_neg_3 = load('dataset/negative/Matlab -Format/chf03m');
subiect_neg_4 = load('dataset/negative/Matlab -Format/chf04m');
subiect_neg_5 = load('dataset/negative/Matlab -Format/chf05m');
subiect_neg_6 = load('dataset/negative/Matlab -Format/chf06m');
%% Extragerea parametrilor ECG pentru semnalele pozitive
Fs_pos = 256;
Fs_neg = 250 ;
s1_pos = subiect_pos_1.val(1,:);
s2_pos = subiect_pos_2.val(1,:);
s3_pos = subiect_pos_3.val(1,:);
s4_pos = subiect_pos_4.val(1,:);
s5_pos = subiect_pos_5.val(1,:);
s6_pos = subiect_pos_6.val(1,:);
%% Extragerea parametrilor ECG pentru semnalele negative
s1_neg = subiect_neg_1.val(1,:);
s1_neg = s1_neg(1:10000);
s2_neg = subiect_neg_2.val(1,:);
s2_neg = s2_neg(1:10000);
s3_neg = subiect_neg_3.val(1,:);
s3_neg = s3_neg(1:10000);
s4_neg = subiect_neg_4.val(1,:);
s4_neg = s4_neg(1:10000);
s5_neg = subiect_ne g_5.val(1,:);
s5_neg = s5_neg(1:10000);
s6_neg = subiect_neg_6.val(1,:);
s6_neg = s6_neg(1:10000);
%% Obținerea matricei caracteristică MFCC pentru semnalele pozitive
s1_pos_mfcc = get_mfcc_array(s1_pos, Fs_pos);
pos_mfcc_mean(1,:) = mean(s1_pos_mfcc,1);
s2_pos_mfcc = get_mfcc_array(s2_pos, Fs_pos);
pos_mfcc_mean(2,:) = mean(s2_pos_mfcc,1);
s3_pos_mfcc = get_mfcc_array(s3_pos, Fs_pos);
pos_mfcc_mean(3,:) = mean(s3_pos_mfcc,1);
s4_pos_mfcc = get_mfcc_array(s4_pos, Fs_pos);
pos_mfcc_mean(4,:) = mean(s4_pos_m fcc,1);
s5_pos_mfcc = get_mfcc_array(s5_pos, Fs_pos);
pos_mfcc_mean(5,:) = mean(s5_pos_mfcc,1);
s6_pos_mfcc = get_mfcc_array(s6_pos, Fs_pos);
pos_mfcc_mean(6,:) = mean(s6_pos_mfcc,1);
%% Obținerea matricei caracteristică MFCC pentru semnalele negative
s1_neg_mfcc = get_mfcc_array(s1_neg, Fs_neg);
neg_mfcc_mean(1,:) = mean(s1_neg_mfcc,1);
s2_neg_mfcc = get_mfcc_array(s2_neg, Fs_neg);
neg_mfcc_mean(2,:) = mean(s2_neg_mfcc,1);
s3_neg_mfcc = get_mfcc_array(s3_neg, Fs_neg);
neg_mfcc_mean(3,:) = mean(s3_neg_mfcc,1);
s4_neg_mfcc = get_mfcc_array(s4_neg, Fs_neg);
neg_mfcc_mean(4,:) = mean(s4_neg_mfcc,1);
s5_neg_mfcc = get_mfcc_array(s5_neg, Fs_neg);
neg_mfcc_mean(5,:) = mean(s5_neg_mfcc,1);
s6_neg_mfcc = get_mfcc_array(s6_neg, Fs_neg);
neg_mfcc_mean (6,:) = mean(s1_neg_mfcc,1);
%% Analiza coeficienților MFCC
for i=1:size(pos_mfcc_mean,1)
crt_mfcc_row = 1;
crt_mfcc_prod = prod(pos_mfcc_mean(i,:));
mfcc_pos(i) = crt_mfcc_prod;
end
for i=1:size(neg_mfcc_mean,1)
crt_mfcc_row = 1;
crt_mfcc_prod = prod(neg_mfcc_mean(i,:));
mfcc_neg(i) = crt_mfcc_prod;
end
%% Di
figure(1),
plot(mfcc_pos,'r'), title('Coeficientii MFCC Ponderati')
hold on
plot(mfcc_neg)
legend('Subiecti Sanatosi', 'Subiecti Bolnavi')
function [ ft_array ] = get_ mfcc_array(input_signal, Fs)
[ft_array,aspc] = melcepst(input_signal, Fs);
end
% Programul meu
clc;
clear all;
close all;
load('tahicardiam');
ecg=(val)/200;
f_s=360;
fs=360;
N=length(ecg);
t=[0:N-1]/f_s; %time period(total sample/Fs )
gr=1;
figure
plot(t,ecg); title('ECG Fibrilatie atriala')
xlabel('time')
ylabel('amplitude')
w=50/(360/2);
bw=w;
[num,den]=iirnotch(w,bw); % notch filter implementation
ecg_notch=filter(num,den,ecg);
figure,
N1=length(ecg_notch);
t1=[0:N1 -1]/f_s;
plot(t1, ecg_notch,'r'); title('ECG Fibrilatie atriala filtrat')
xlabel('time')
ylabel('amplitude')
%% Semnal original si semnal filtrat
figure, subplot 211
plot(t,ecg); title('ECG Fibrilatie atriala')
xlabel('time')
ylabel('amplitude')
legend('ORIGINAL ECG SIGNAL')
subplot 212
plot(t1,ecg_notch,'r'); title('ECG Fibrilatie atriala filtrat')
xlabel('time')
ylabel('amplitude')
legend(' Flitered ECG SIGNAL')
w=50/(360/2);
bw=w;
[num,den]=iirnotch(w,bw); % notch filter implement ation
ecg_notch=filter(num,den,ecg);
figure,
N1=length(ecg_notch);
t1=[0:N1 -1]/f_s;
plot(t1,ecg_notch,'r'); title('ECG Fibrilatie atriala filtrat ')
xlabel('time')
ylabel('amplitude')
EKG = ecg_notch; % Gain From the ‘info’ File
Fs = 360; % Fs From the ‘info’ File
tv = linspace(0,size(EKG,2),size(EKG,2))/Fs;
[pks,t] = findpeaks(ecg_notch(1,:), Fs, 'MinPeakHeight',1); % See ‘findpeaks’ Documentation
RR = diff(t); % RR Intervals (sec)
BBRate = 1./RR; % Beat -To-Beat Rate (Beats/sec)
HR=BBRate.*60;
Rate = mean(BBRate); % Mean Rate (Beats/sec)
figure
plot(tv,ecg_notch(1,:)) % Plot EKG
hold on
plot(t, pks, 'o') % Plot R Peaks
hold off
grid
xlabel('Time (s)')
ylabel('Amplitude (mV)')
legend('ECG signal', 'R -wave', 'Location','SE')
title('ECG Fibrilatie atriala R peak')
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: AF Atrial fibrilation Fibrilație atrială [631243] (ID: 631243)
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.
