Académique Documents
Professionnel Documents
Culture Documents
Procesul de detecție si clasificare poate fi împ ărțit in două etape(Figura 3-1): etapa de
procesare si etapa de decizie. In etapa de procesare, cu ajutorul filtrării lineare sau nelineare se
Preprocesare
urmărește reducerea zgomotului prezent in electrocardiograma si a accentua complexul QRS
pentru Filtrare
a facilitaliniară
detecția. Etapa de decizie
Transformare neliniarăse bazează peModul
o abordare
de euristică, folosind
amplitudini prag in vederea detecției complexului QRS. decizie
X[n]
Semnalele ECG folosite in simulări in prezenta lucrare fac parte din baza de date
PhysioBank, MIT-BIH Arrhythmia Database. Înregistrările au fost stocate in format electronic
in urma discretizării acestora la o frecventa de eșantionare de 360Hz, convertorul analog-
numeric folosit având o rezoluție de 11 biți, si un interval de măsurare de 0-10mV(Tabel 3-1).
Adnotarea înregistrărilor a fost realizată de către 2 doctori cardiologi in mod independent.
In această lucrare au fost folosite înregistrările 105m(Figura 3-2) si 106m din baza de date
MIT-BIH Arrhythmia, înregistrările 119e_6(Figura 3-3), 119e_18, si o ultimă înregistrare
care face parte din baza de date St. Petersburg INCART Arrhythmia Database I01(Figura 3-
4).
Transmisie
Compresia
Stocare
datelor
Amplitudinea tensiunii intr-o înregistrare ECG este mic ă, de ordinul milivolților. Unda R
are cea mai mare amplitudine, si care poate varia intre 0.5mV si 4mV in funcție de ce derivație
a electrocardiogramei este măsurată. Însă segmente care au amplitudini mult mai mici de
ordinul 0.1 mV- 0.5 mV au o importanţă majoră in procesarea semnalului ECG. Dacă luăm in
considerare tensiunea de alimentare de 230V a electrocardiografului, raportul zgomot-semnal
are valori de 2300000:1, putând astfel se ne facem o imagine despre greutatea implement ării
unui electrocardiograf care să elimine astfel de zgomote. Din fericire, cu ajutorul circuitelor
electronice existente in prezent, semnalele care au tensiuni mici pot fi procesate cu ușurinț ă.
Corpul uman care generează înregistrarea ECG, devine in același timp si sursă de zgomot.
Fiecare algoritmi ce va fi prezentat mai jos, au unul sau mai mulți parametrii,
reprezentând, amplitudini prag sau durate de timp. In unele cazuri acești parametrii nu au fost
oferiți in literatura de specialitate, sau formatul înregistrărilor ECG folosite in simulări nu a
fost compatibil cu parametrii preluați din literatura de specialitate. Pentru eliminarea acestui
neajuns s-a realizat o etapă preliminară de acordare a algoritmilor, pentru a beneficia de cele
mai bune posibile rezultate in simulări. Criteriul de selecție al parametrilor este raportul dintre
numărul de complexe QRS corect detectate si numărul de false detectări.
Pentru consecvenţa in simulare toate tipurile de zgomote cu excepția mișc ării de drift
sunt generate automat. Perturbarea cu mișcare de drift, datorit ă imposibilității de a o genera,
va fi realizată folosind un semnal, supra-impus peste semnalul ECG inițial.
n AC ( t )=Asin (2 πft )
Semnalul perturbat este obținut prin super-impunerea zgomotului n(t) peste semnalul de test
s(t):
e (t )=s ( t ) +n AC ( t )
e (t )=s ( t ) +nresp (t )
Acest tip de perturbație a fost modelat cu ajutorul functiei exponențiale, având ca parametrii
constanta de timp T si mărimea treptei inițiale.
Figura 3-16 Înregistrare perturbată cu întreruperea contactului electrozilor cu pielea.
Un candidat QRS apare atunci când trei valori consecutive ale primei derivate a
vectorului X, depășesc o valoare prag pozitivă (pantă crescătoare), si sunt urmate in
următoarele 100ms de două valori consecutive care depășesc o valoare prag negativ ă (pantă
descrescătoare). De asemenea toate valorile din semnalul X care corespund valorilor
vectorului Y care aparțin intervalului dintre panta crescătoare si sfârșitul pantei descrescătoare
trebuie să depășească o valoare prag.
si
Un candidat QRS apare atunci când o valoare din vectorul Y2 dep ăseste o valoare prag
´ n.
constantă, Y 2 [ i ] > 0.7 , i=1 …
In prima derivata, Y, se caută valorile care depășesc o valoare constant ă aleasa in urma
etapei de acordare a algoritmului:
´ n
Y [ i ] ≥0.15 , i=1 …
In momentul in care s-a găsit o valoare care să satisfacă condiția de mai sus, se verifică
dacă si următoarele 3 valori depășesc aceeași amplitudine prag:
´ i+3
Y [ j ] ≥ 0.15 , j=i+1 …
Dacă cele două condiții de mai sus sunt îndeplinite, valoarea poate fi considerat ă un
candidat QRS dacă următoarele două puncte respectă relațiile de mai jos:
După cum se observa si din grafic rezultatele sunt inacceptabile(figura 3-17), si asta,
datorită necompatibilității parametrilor cu care s-a făcut simularea si semnalul de test folosit.
In figura de mai jos sunt prezente in primul grafic semnaul ECG folosit pentru simulare. Al
doilea grafic reprezintă prima derivată, iar cel de-al treilea grafic oferă o vizualizare a
performantei algoritmului. Lina neagra cea mai de jos sugerează poziția complexului validat
prelevat din fișierul descărcat din baza de date(vezi 3.2). Liniile punctate reprezintă valorile
maxim admisibile ale complexului QRS corect detectat. Toate complexurile detectate in afara
acestor intervale reprezintă detecții fals pozitive. Dacă intre două linii punctate succesiv nu
exista o line albastră si există una neagră, atunci avem de a face cu o detecție fals negativă.
Figura 3-17 Simulare
In urma acordării algoritmului sau obtinut următorii parametrii care oferă cele mai
bune rezultate: valoare pantă crescătoare egală cu 0.235 si valoare pantă descrescătoare egală
cu -0.3. Rezultatele obținute cu acești noi parametrii se pot observa din figura 3-18.
In simularea de mai sus (figura 3-19 )intregistrarea ECG a fost perturbata cu 15%
interferenta de linie si 90% zgomot datorat respirației la o frecventa de 0.5 Hz. După cum se
observă algoritmul a reușit sa detecteze in limitele admisibile toate complexurile QRS.
In urma simulărilor efectuate s-a observat capacitatea algoritmului AF1 de a elimina
zgomotele la frecvente mici, adică cele generate de respirație sau cele generate de mișcarea de
drift. O problemă, insă, pentru acest algoritm o reprezintă interferenţa liniei de alimentare,
care la valori ale raportului semnal-zgomot mai mari de 60% nu oferă performanţe
acceptabile(figura 3-20).
Figura 3-20 Simulare
In figura 3-20 semnalul ECG de test a fost perturbat cu zgomot datorat respirației intr-
un procent de 80%, la o frecventa de 0.6Hz, si cu interferenţe intr-un procent de 60%,
obținând rezultate nesatisfăcătoare.
Un alt test important, este acela care determin ă performanţele algoritmului in cazul in
care electrozii se desprind de pacient. Rezultatele, prezente in figura 3-21, arată ca algoritmul
poate face fată desprinderii repetate a electrozilor de pe suprafața corpului.
Pe baza vectorului Y se calculează o valoare prag reprezentând o fracție din cea mai mare
valoare din Y.
Vectorul, Y, astfel obținut este analizat pentru a determina acele valori care depășesc o
valoare prag impusă:
´ n
Y [ i ] >0.45 , i=1 …
Un candidat QRS apare atunci când in următoarele trei valori consecutive, este cel puțin
una care depășește valoarea prag.
Y [ i+1 ] >0.45 ,
In urma etapei de acordare, pentru algoritmul FD1 s-a ales o valoare a amplitudinii prag
de A=0.55 max {Y }, făcandu-l, astfel, compatibil cu semnalele folosite in simulare.
Rezultate bune s-au obținut si pentru simularea din figura 3-24, in care, semnalul de
test a fost perturbat si cu zgomotul datorat respirației. Valorile alese pentru aceasta simulare:
pentru perturbația generata de respirație sunt: frecventa - 0.6Hz ,amplitudine 60%; in timp ce
nivelul interferentelor cauzate de linia de alimentare a fost redusa la 40%(din motive de
vizualizare).
Figura 3-26
Y 1 [ 1 ] =Y 1 [ 2 ]=Y 1 [ n ] =Y 1 [ n−1 ] =0
Acești doi vectori calculați mai sus, Y1 si Y0, sunt scalaţi si apoi sumați:
´ n
Y 2 [ i ] =1.3 Y 0 [ i ] +1.1Y 1 [ i ] ,i=1 …
In momentul in care o valoare este mai mare decât amplitudinea prag, următoarele opt
valori sunt verificate. Dacă dintre aceste opt valori, șase sunt mai mari decât amplitudinea
prag, atunci condiția de apariție a unui candidat QRS este îndeplinit ă. Atât fereastra de
căutare, cat si numărul de valori care trebuie sa îndeplinească condiția, sunt paramaterii ai
algoritmului care vor fi determinați in etapa de acordare.
Intr-o prima etapa este calculată prima derivata rectificată a semnalului ECG, X
Y 1[ i ]=
[ Y 0 [ i−1 ] +2Y 0 [ i ] +Y 0 [ i+ 1 ] ] ,i=3 …´n−2
4
Y 3 [ i ] =Y 1 [ i ] +Y 2 [ i ] , i=3 … ´n−2
Pe baza ultimului vector calculat, Y3, se calculează maximul si doua valori prag, una
principală si una secundară
A p =0.8 max { Y 3 }
A s=0.1 max { Y 3 }
In vectorul Y3 sunt căutate valorile care depășesc valoarea prag principal ă. In momentul in
care o valoare care îndeplinește condiția s-a g ăsit, pentru ca să fie considerată candidat QRS
trebuie ca următoarele 6 valori consecutive se fie mai mari sau egale cu valoarea prag
secundară.
Y 3 [i ] > A p
´ i+6
Y 3 [ j ] > A s , j=i+1 …
Pentru valori ale interferenţelor liniilor de alimentare de pana la maxim 21% s-au obținut
rezultate acceptabile(figura 3-29), algoritmul reușind sa localizeze toate complexurile QRS,
cu un număr mic de detecții fals pozitive.
Figura 3-29 Simulare
Rezultate obținute in simulările cu semnalele 105m si 119e_6. Pentru primul semnal din 19
complexuri QRS a detectat 16, si a nu a avut nici o detecție fals pozitiva(figura 3-35). In cazul celui de-
al doilea semnal, algoritmul a detectat 31 din 31 complexuri QRS, însă a generat si 4 detecții fals
pozitive(figura 3-36).
Semnalul ECG, X, este trecut printr-un diferențiator ce joaca rolul unui filtru de tip notch
´ n
Y 0 [ i ]= X [ i ] −X [ i−5 ] ,i=6 …
Pentru acest algoritm două valori prag sunt folosite, egale ca valoare dar de semn opus.
Valorile ieșirii filtrului trece-jos, Y1, sunt verificate pană când una dintre acestea este mai
mare sau egală cu valoarea prag pozitivă. Această valoare reprezintă punctul inițial al unei
zone de căutare cu o lungime de 160ms. Numărul de treceri succesive de la valori ce sunt mai
mari decât amplitudinea prag pozitivă si valori ce sunt mai mici decât amplitudinea prag
negativă determina prezenta unui candidat QRS sau a zgomotului. Daca Y 1 [ i ] > 21, atunci
zona de căutare cu lungimea de 160ms începe de la valoarea i. Dacă pe parcursul celor 160ms
ale zonei de căutare nu există alte treceri succesive punctul i este marcat ca fiind mișcare de
drift. In caz contrar se verifica următoarele condiții:
si
si
si
Y 1 [ k + l ] ←21 , k <l<40
Dacă oricare dintre cele trei condiții sunt îndeplinite atunci punctul i este marcat ca
fiind candidat QRS. Dacă apar mai multe treceri prin cele dou ă valori prag atunci punctul i
este marcat ca fiind zgomot. Amplitudinea prag este un parametru variabil al algoritmului.
Vectorul Y0, astfel obținut, este trecut printr-un filtru trece-jos obținându-se vectorul
Y1:
i +m
1
Y 1[ i ]= ∑ Y 0 [ k ], m<i<n−m
2m+1 k=i−m
Y 3 [ i ] =Y 2 [ i ] [∑
k=i−m
]
Y 2 [ k ] , m<i< n−m
Y 4 [ i ] =Y 3 [ i ] , da ca ( Y 0 [ i ] −Y 0 [ i−m ] ) ( Y 0 [ i ] −Y 0 [ i+ m ] ) > 0
Y 4 [i ]= { 0 ,∈caz contrar
Un candidat QRS apare atunci când o valoare a vectorului Y4 este mai mare decât
amplitudinea prag A. Pentru cele mai bune rezultate se setează parametrul m la valoarea 3. In
urma etapei de acordare a parametrilor s-a observat creșterea performantelor algoritmului
pentru anumite tipuri de zgomote, odată cu creșterea lui m. Creșterea lui m ducea la mărirea
efortului computațional. Rata îmbunătățirii performantelor se diminuează cu creșterea lui m
însă efortul de calcul continuă sa crească. Pentru a obține performante acceptabile si a păstra
efortul de calcul in limite rezonabile se setează m la valoarea 6
In figura 3-37, alegând m=3, algoritmul a 4 complexe QRS din 5 posibile, si a generat
si 6 detectări fals pozitive. Mărind m=6 performantele algoritmului au crescut(4 din 5
complexe QRS, si 2 false detectări) ele fiind evidențiate in figura 3-38. Pentru m=8 si la
nivelul maxim de zgomot algoritmul a detectat 5 din 5 complexe QRS si a avut o singura
detecție fals pozitiva(figura 3-39).
Figura 3-37 Simulare m=3
Algoritmul DF2 este sensibil la zgomotele cauzate de respiraţie, obținând cele mai slabe
performante(figura 3-41). S-a observat ca, valori mici ale amplitudinii prag, ce reprezintă condiția de
căutare a candidatului QRS, oferă rezultate bune pentru zgomotul generat de respirație, dar oferă
rezultate slabe pentru celelalte tipuri de zgomote. Pentru valori mari sensibilitatea la zgomotul
datorat respirației creşte, însă performantele se îmbunătățesc considerabil pentru celelalte tipuri de
zgomote.
Figura 3-41 Simulare
Zgomotul datorat respiratiei nu a reprezentat nici o dificultate pentru nici unul dintre
cei noua algoritmi prezentați. Zgomotele de frecventa joasă nu influențează algoritmii bazați
pe derivata sau pe filtre digitale. Algoritmii care se bazează pe amplitudine pot avea rezultate
slabe datorita modificărilor destul de mari ce acest tip de zgomot le produce componentei
continue a semnalului.