FILTRAREA SEMNALULUI ECG. 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.. 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 5 Hz. Figura 3. 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.. Semnal ECG înainte şi după filtrare
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 = medfilt(x,n) aplică un filtru -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 yk ( ) este media eşantioanelor cuprinse între xk ( ( n )/ ) şi xk ( + ( n )/ ), iar dacă n este par, atunci yk ( ) este media eşantioanelor xk ( n/ ), xk ( ( n/ ) + ),, xk ( + ( n/ ) ). Rezultatul filtrării mediane cu ajutorul funcţiei medfilt este dat în figura 3.. 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 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 a a a ], este ponderea de filtrare. Dacă x este vectorul eşantioanelor de semnal, atunci noua valoare a eşantionului xk ( ) este:, unde a ( ) ( ( ) ( )) ( ( ) ( )) a xk + xk+ + a xk + xk+ + xk ( ) = a + a+ Alegerea parametrului a este esenţială: exemplul din figura 3.3 (n =, a =,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. Filtrare mediană folosind funcţia y = medfilt(x,n)
Fig. 3.3 Filtrarea semnalului ECG pentru n = şi a =,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 şi, unde desemnează nonapartenenţa, iar 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 s = s n eşantionul prelucrat la momentul de timp cuprinse în domeniul [, L ]. Fie ( ) n, şi W { s j } = setul de M eşantioane vecine care aparţin unei ferestre centrate pe s : {,,..., } { ( / ),..., ( ), ( ),..., ( / )} W = s s sm = s n M s n s n+ s n+ M Variabilele de intrare în filtru sunt definite ca diferenţe de amplitudini date de relaţia: xj = sj s, unde j M. Dar sj L, deci L+ xj L. Variabila de ieşire y este corecţia care se adaugă la eşantionul curent pentru a obţine noua valoare s ' : s'= s+ y. m(u) NE ZE PO c w w -L+ L- Fig. 3.4 Definirea seturilor fuzzy 3
Regula de bază a filtrului fuzzy include 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ă A ij este setul fuzzy (PO sau NE) asociat variabilei de intrare j din regula i, atunci gradele de activare ale celor reguli IF sunt: { { A ( j) : ij,..., }:,..., } * A ( j) ij λ = MAX MIN m x j = M i = N { { } } λ = MAX MIN m x : j =,..., M : i =,..., N, iar gradul de activare a regulii ELSE este λ ( λ λ ) = +. Ieşirea y se poate evalua folosind relaţia: cpowpoλ + cze wze λ + cne wne λ y = wpoλ + wze λ + wneλ Pentru cazul particular al seturilor fuzzy reprezentate în figura 3.4 există următoarele relaţii: c = c = L ; c = ; PO NE ZE c = c = L ; c = ; PO NE ZE Expresia ieşirii y devine în aceste condiţii: y = ( L )( λ λ ) Fig. 3.5 Filtrare cu operatori fuzzy 4
x(n) x(n-) x(n-) x(n-p+) x z - z - z - w w Σ w 3... w p 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 (leastmean-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(t) s n + + Σ z n(t) n Filtru adaptiv y = n s - sursa de semnal n - sursa de zgomot s + n - intrarea primară formată din semnale necorelate n - zgomot corelat cu n Fig. 3.8 Principiul anulatorului de zgomot adaptiv Semnalul zgomotos s + n 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 n, corelat într-o formă necunoscută cu zgomotul n. Zgomotul de referinţă este filtrat cu un filtru LMS (numit şi filtru adaptiv Wiener), 5
care va produce un estimat ˆn al zgomotului n. 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.. Se studiază algoritmul de filtrare mediană şi implementarea lui cu ajutorul funcţiei y = medfilt(x,n) din MATLAB 5.3, sau o versiune mai nouă a programului MATLAB. Versiunea MATLAB 4. nu conţine o funcţie destinată filtrării mediene. Se rulează pentru diferite semnale ECG existente în baza de date. 4.. 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. 6