Sunteți pe pagina 1din 6

FILTRAREA SEMNALULUI ECG

1. Scopul lucrării
Studiul unor algoritmi de filtrare a semnalelor electrofiziologice, prima etapă
în prelucrarea numerică a unor semnale, indiferent de natura lor. Se foloseşte semnalul
ECG pentru a vizualiza eficienţa filtrării şi pentru a compara diferite tehnici de filtrare.

2. Aparate necesare
- sistemul de achiziţie a semnalului electrocardiografic
- electrozi pentru culegerea semnalului de pe suprafaţa pielii
- calculator compatibil Pentium cu port serial disponibil
- software de achiziţie şi filtrare

3. Consideraţii teoretice
Sistemul de achiziţie a semnalului electrocardiografic permite culegerea
semnalului ECG pe derivaţia I din planul frontal, adică între mâna dreaptă şi mâna
stângă, având ca electrod de referinţă piciorul drept. Dacă culegerea semnalului se face
în condiţii optime (interfeţe de electrod identice şi stabile, echilibrare corectă a
potenţialelor de ecran pentru cablurile de pacient, legături corecte la masă), atunci
zgomotul suprapus peste semnalul util este redus la minim. Acest zgomot, numit şi
brum de reţea, se datorează în esenţă tensiunilor induse de cablurile electrice ale
reţelei de alimentare în curent alternativ şi are frecvenţa de 50 Hz.
Figura 3.1 evidenţiază aproape 4 perioade dintr-un semnal ECG normal, cules
cu sistemul nostru de achiziţie, în condiţii acceptabile. Se observă zgomotul suprapus
peste semnalul util şi eliminarea lui prin filtrare. Din păcate, filtrarea are uneori şi un
efect de distorsionare a semnalului cules, prin micşorarea vârfurilor complexului QRS.
Se poate observa şi un uşor trend descrescător, datorită faptului că interfeţele de
electrod nu sunt încă stabilizate.

Fig. 3.1. Semnal ECG înainte şi după filtrare

1
Vom discuta în continuare câteva metode moderne de filtrare a semnalelor:
filtrarea mediană, filtrarea mediană prin operatori fuzzy şi filtrarea liniară adaptivă.

Principiul filtrării mediane constă în medierea fiecărui eşantion de semnal cu


eşantioanele vecine. Funcţia y = medfilt1(x,n) aplică un filtru 1-dimensional
de ordin n vectorului x. Componentele vectorului x sunt eşantioanele de semnal, iar n
este numărul de eşantioane considerat în fereastra de filtrare.
Dacă n este impar, atunci y( k ) este media eşantioanelor cuprinse între
x ( k − (n − 1) / 2) şi x ( k + (n − 1) / 2) , iar dacă n este par, atunci y( k ) este media
eşantioanelor x ( k − n / 2) , x ( k − (n / 2) + 1) , … , x ( k + (n / 2) − 1) . Rezultatul
filtrării mediane cu ajutorul funcţiei medfilt1 este dat în figura 3.2.

Un alt exemplu de algoritm destinat filtrării mediane ţine seamă de poziţia


eşantioanelor vecine faţă de eşantionul curent. Aceste eşantioane capătă ponderi
diferite în funcţie de poziţia lor, iar eşantionul curent de pondere 1 capătă o nouă
valoare, egală cu media ponderată a eşantioanelor vecine.
Numărul de eşantioane vecine luate în calcul la fiecare pas este stabilit prin
lăţimea unei ferestre. Pentru o fereastră cu dimensiunea n = 5, vectorul de filtrare este
[a 2 ]
a 1 a a 2 , unde a ∈ ( 0,1) este ponderea de filtrare.
Dacă x este vectorul
eşantioanelor de semnal, atunci noua valoare a eşantionului x ( k ) este:

a 2 ⋅ ( x( k − 2) + x( k + 2)) + a ⋅ ( x( k − 1) + x( k + 1)) + 1
x( k ) =
2⋅a2 + 2 ⋅a +1
Alegerea parametrului a este esenţială: exemplul din figura 3.3 (n = 11,
a = 0,8) oferă un semnal bine filtrat, dar valorile vârfurilor Q, R şi S sunt atenuate
substanţial. Optimizarea valorii lui a se poate face folosind un algoritm de căutare în
sensul minimizării erorii pătratice medii.

Fig. 3.2 Filtrare mediană folosind funcţia y = medfilt1(x,n)

2
Fig. 3.3 Filtrarea semnalului ECG pentru n = 11 şi a = 0,8
Un alt algoritm de filtrare mediană poate fi conceput folosind mulţimile
nuanţate (fuzzy). Un set fuzzy definit pe domeniul U este descris prin funcţia de
apartenenţă m(u), cu valori cuprinse între 0 şi 1, unde 0 desemnează nonapartenenţa,
iar 1 desemnează apartenenţa totală a unui element din U la setul fuzzy dat.
Regulile fuzzy permit o strategie de prelucrare bazată pe raţionament
aproximativ şi conţin de obicei un grup de clauze antecedente care definesc condiţiile
(IF) şi clauza efect care defineşte acţiunea corespunzătoare (THEN).
Considerăm s(n) semnalul achiziţionat care conţine eşantioane cu valori
cuprinse în domeniul [ 0, L − 1] . Fie s0 = s( n) eşantionul prelucrat la momentul de timp
{ }
n, şi W = s j setul de M eşantioane vecine care aparţin unei ferestre centrate pe s0 :
W = {s1 , s2 ,..., s M } = { s(n − M / 2),..., s(n − 1), s(n + 1),..., s(n + M / 2)}
Variabilele de intrare în filtru sunt definite ca diferenţe de amplitudini date de
relaţia: x j = s j − s0 , unde 1 ≤ j ≤ M . Dar 0 ≤ s j ≤ L − 1 , deci − L + 1 ≤ x j ≤ L − 1 .
Variabila de ieşire y este corecţia care se adaugă la eşantionul curent pentru a obţine
noua valoare s0 ' : s0 '= s0 + y .

NE ZE PO
1 m(u)

0
c w w -L+1 0 L-1

Fig. 3.4 Definirea seturilor fuzzy

3
Regula de bază a filtrului fuzzy include 2 condiţii simetrice IF şi o regulă
ELSE, care generează 3 acţiuni efect:
IF valoarea unui eşantion este mai mare decât a vecinilor, THEN se micşorează
IF valoarea unui eşantion este mai mică decât a vecinilor, THEN se măreşte
ELSE nu se modifică.
Dacă Aij este setul fuzzy (PO sau NE) asociat variabilei de intrare j din regula
i, atunci gradele de activare ale celor 2 reguli IF sunt:

{ { ( ) }
λ1 = MAX MIN m A x j : j = 1,..., M : i = 1,..., N
ij }
λ = MAX { MIN {m ( x ): j = 1,..., M }: i = 1,..., N } ,
2
*
Aij j

iar gradul de activare a regulii ELSE este λ0 = 1 − ( λ1 + λ2 ) .


Ieşirea y se poate evalua folosind relaţia:
c PO w PO λ1 + cZE wZE λ0 + c NE w NE λ2
y=
w PO λ1 + wZE λ0 + w NE λ2
Pentru cazul particular al seturilor fuzzy reprezentate în figura 3.4 există
următoarele relaţii:
c PO = − c NE = L − 1; cZE = 0;
c PO = − c NE = L − 1; cZE = 0;

Expresia ieşirii y devine în aceste condiţii: y = ( L − 1)(λ1 − λ2 )

Fig. 3.5 Filtrare cu operatori fuzzy

4
x(n) x(n-1) x(n-2) x(n-p+1)
x z -1 z -1 z -1

w2 w3
.. wp
w1 .

Σ
y
Fig. 3.6 Filtru liniar adaptiv

Filtrele liniare adaptive reprezintă o formă primară de reţele neuronale care


sunt alcătuite dintr-un singur neuron, ca în figura 3.6. Problema filtrării liniare
optimale presupune găsirea setului optim de parametri, sau ponderi, pentru care
eroarea medie pătratică este minimă. În procesul de adaptare a parametrilor se
urmăreşte ca diferenţa dintre ieşirea circuitului şi ieşirea dorită să fie minimă în sens
statistic.
Algoritmul de adaptare a parametrilor filtrelor liniare este algoritmul
minimizării erorii medii pătratice, cunoscut sub numele de algoritmul LMS (least-
mean-square), regula delta sau regula Widrow-Hoff. Aceste filtre, numite şi Adaline
(Adaptive Linear Neuron), se folosesc în procesările adaptive de semnal pentru
predicţie, modelare, modelare inversă şi compensarea adaptivă a interferenţelor.
Schema din figura 3.7 explică cum se face compensarea adaptivă a zgomotelor
suprapuse peste semnalul util.

s + n0 + z
s(t) Σ

n1 Filtru
n(t)
adaptiv y = n0

s - sursa de semnal
n - sursa de zgomot
s + n 0 - intrarea primară formată din semnale necorelate
n 1 - zgomot corelat cu n 0

Fig. 3.8 Principiul anulatorului de zgomot adaptiv

Semnalul zgomotos s + n0 este recepţionat la o intrare a compensatorului


numită intrare primară. În acelaşi timp, o a doua intrare, numită intrare de referinţă,
recepţionează un zgomot n1 , corelat într-o formă necunoscută cu zgomotul n0 .
Zgomotul de referinţă este filtrat cu un filtru LMS (numit şi filtru adaptiv Wiener),

5
care va produce un estimat n̂0 al zgomotului n0 . Cu cât estimarea este mai bună, cu
atât zgomotul va fi eliminat mai mult din semnalul util de la ieşire.

4. Modul de lucru
4.1. Se studiază algoritmul de filtrare mediană şi implementarea lui cu ajutorul
funcţiei y = medfilt1(x,n) din MATLAB 5.3, sau o versiune mai nouă a
programului MATLAB. Versiunea MATLAB 4.2 nu conţine o funcţie destinată
filtrării mediene. Se rulează pentru diferite semnale ECG existente în baza de date.

4.2. Se studiază algoritmul de filtrare mediană cu ponderea de filtrare a. Se


rulează pentru diferite semnale ECG existente în baza de date şi pentru diferite valori
ale parametrilor a şi n. Se discută rezultatele astfel obţinute.

4.3. Se studiază algoritmul de filtrare mediană cu operatori fuzzy. Se rulează


pentru diferite semnale ECG existente în baza de date şi se discută rezultatele astfel
obţinute. Se încearcă repetarea filtrării şi se verifică dacă raportul semnal-zgomot se
îmbunătăţeşte. Are loc o reducere permanentă a zgomotului dacă filtrarea este repetată
de foarte multe ori ?

4.4. Se studiază algoritmul filtrării adaptive. Se rulează pentru diferite semnale


ECG existente în baza de date şi se discută rezultatele astfel obţinute.

4.5. Se compară rezultatele obţinute la punctele de mai sus, din punct de


vedere al raportul semnal-zgomot înainte şi după filtrare, precum şi din punct de
vedere al timpului necesar pentru efectuarea filtrării.

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