Documente Academic
Documente Profesional
Documente Cultură
Laborator 4
Laborator 4
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.
1
Vom discuta în continuare câteva metode moderne de filtrare a semnalelor:
filtrarea mediană, filtrarea mediană prin operatori fuzzy şi filtrarea liniară adaptivă.
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.
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
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
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
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
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.