Specializarea : Microsisteme [616889]
UNIVERSITATEA TEHNICĂ DIN
FACULTATEA DE ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI
Specializarea : Microsisteme
LUCRARE DE LICENȚĂ
Realizarea de filtre software în Matlab
pentru prelucrarea semnalelor EKG
Conduc ător științific,
as. dr. ing. Andrei DRĂGULINESCU
Sudent :
Cezar DAN
2016
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
2
CUPRINS
Capitolul 1. INTRODUCERE ………………………….. ………………………….. ………………………… 3
1.1. GENERALI TĂȚI ………………………….. ………………………….. ………………………….. …….. 3
1.2. SITUAȚIA ACTUALĂ A TEMEI DE STUDIU ………………………….. …………………… 4
1.3. STRUCTURA LUCRĂRII ………………………….. ………………………….. …………………….. 6
Capitolul 2. SISTEMUL CARDIOVASCULAR ………………………….. ………………………….. . 8
2.1. NOȚIUNI GENERALE ………………………….. ………………………….. …………………………. 8
2.1.1 Ce este inima ? ………………………….. ………………………….. ………………………….. ….. 9
2.1.2 Ce sunt arterele ? ………………………….. ………………………….. …………………………. 10
2.1.3 Ce sunt venele ? ………………………….. ………………………….. ………………………….. .. 10
2.1.4 Ce sunt capilarele ? ………………………….. ………………………….. ………………………. 11
2.2. FUNCȚIILE CORDULUI ………………………….. ………………………….. ……………………. 11
2.3. CICLUL CARDIAC ………………………….. ………………………….. ………………………….. .. 12
2.4. ELECTROCARDIOGRAMA NORMALĂ ………………………….. ………………………… 13
2.5. CARACTERISTICILE SEMNALULUI ELECTROCARDIOGRAFIC ……………… 15
Capitolul 3. IMAGINEA DIGITALĂ ………………………….. ………………………….. ……………. 17
3.1. INTRODUCERE ………………………….. ………………………….. ………………………….. ……. 17
3.1.1. Ce este imaginea ? ………………………….. ………………………….. ………………………… 17
3.1.2. Ce fel de valori sunt în imagine ? ………………………….. ………………………….. ……. 18
3.1.3. Care este elementul de bază al unei imagini ? ………………………….. ………………. 18
3.2. PRELUAREA IMAGINILOR DIGITALE ………………………….. …………………………. 20
3.3. MEMORAREA, TRANSMISIA ȘI COMPRESIA I MAGINILOR DIGITALE …… 21
3.3.1. Memorarea imaginilor digitale ………………………….. ………………………….. ………. 21
3.3.2. Transmisia imaginilor digitale ………………………….. ………………………….. ……….. 22
3.3.3. Compresia imaginilor digitale ………………………….. ………………………….. ……….. 23
3.4. ZGOMOTUL DE OBSERVARE ………………………….. ………………………….. ………….. 24
Capitolul 4. FILTRA REA IMAGINILOR DIGITALE ………………………….. …………………. 25
4.1. FILTRE SAVITZKY -GOLAY ………………………….. ………………………….. ……………… 25
4.1.1. Principiul aplicării metodei celor mai mici pătrate la netezirea semnalelor …. 26
4.1.2. Proprietățile filtrelor Savitzky -Golay ………………………….. ………………………….. . 28
Capitolul 5. UTILIZAREA APLICAȚIEI MATLAB ÎN STUDIUL FILTRELOR
UTILIZATE ÎN PRELUCRAREA IMAGINILOR DIGITALE ………………………….. ………….. 31
5.1. PREZENTAREA APLICAȚIEI MATLAB/SIMULINK ………………………….. ……… 31
5.1.1. Structura programului MATLA B ………………………….. ………………………….. …….. 32
5.1.2. Documentația MATLAB “HELP” ………………………….. ………………………….. …… 33
5.2. PREZENTAREA EXTENSIEI SIMULINK ………………………….. ……………………….. 35
5.3. MODELAREA ÎN MEDIUL MATLAB A FILTRELOR SAVITZKY -GOLAY …. 37
5.1. CONCLUZII ………………………….. ………………………….. ………………………….. ………….. 46
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. …………………. 48
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
3
Capitolul 1. INTRODUCERE
1.1. GENERALITĂȚI
Prelucrarea imaginilor digitale face parte dintr -un domeniu complex și dinamic, cu
numeroase aplicaț ii în toate domenii le de activitate . Actual trăim în era n oilor tehnologii din
industria circuitelor integrate, așa numitele CI care au permi s aplicarea de noi tehnologii și
algoritmi în scopul extrager ii de informaț ii utile din imagine: algoritmi paraleli, clasificatoare
bazate pe rețele neuronale , etc.
Printre d iverse le cele mai importante implementări de sisteme în timp real
implementate în piață , bazate pe prelucrarea de imagini, regăsim sisteme utilizate în industria
militară, medicină, sisteme de control automat a proceselor industriale. Îmbunătățiri
permanente au fost aduse sisteme lor de procesare a amprentelor digitale, recunoașterii
formelor precum și a feței, a textelor , etc. Pentru zonele aglomerate sau de interes strategic au
fost proiectate și implementate sisteme de securitate și supraveghere bazate pe vederea
artificială.
Prelucrarea imaginilor digitale reprezintă un domeniu foarte larg, de sine stătător.
Acest domeniu are la bază o teorie matematică riguroasă, bine pusă la punct, care
implement ată pe diverse mașini de calcul este mare consumatoare de resurse mai ales atunci
când ne referim la utilizarea în timp real a informațiilor extrase din imagini [1].
Definind î ntr-un sens general, o imagine este o descriere a variației unui parametru pe
o suprafață. Prelucrarea imaginilor este considerată și o ramură a prelucrării digitale de
semnal. Prelucrarea imaginilor și în general preluc rarea digitală a semnalelor presupune un
consum relativ mare d e resurse de calcul și memorie.
Implementarea algoritmilor specifici se poate face pe sisteme clasice (PC -uri) sau pe
sisteme dedicate de timp real numite procesoare digitale de semnal (DSP = Di gital Signal
Processing) [2].
Prelucrarea imaginilor include mai multe discipline:
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
4 fotogrametria și teledetec ția – constituie tehnici moderne de investigare a
instabilităților incipiente și a alunecărilor de teren pe arii largi prin
intermediul ortofotopla nului (imaginilor) și al modelului digital al terenului ;
vederea artificială (computer vision, robot vision);
inteligența artificială ;
imagini generate de calculator .
Inteligența artificială ș i prelucr area imaginilor sunt domenii ce se întrepătrund [3]. Un
număr important din algoritmii folosiți la prelucrarea imaginilor utilizează metode și tehnici
din domeniul inteligenței artificiale: logica fuzzy și rețele neuronale. În aceeași măsură
inteligența artificială mai presupune pe lângă proiectare și realizar e de sisteme capabile să
realizeze funcții ale capacității intelectului uman . Printre aceste funcții amintim pe cele mai
frecvent studiate și implementate precum :
înțelegerea limbajului natural;
învățarea prin experiență ;
pentru rezolvarea u nor probleme sa u luarea unor decizii – utilizarea unui
raționament .
Toate acestea presupun însă și acumularea unei anume cantități de informație (baza de
cunoștințe, informații din mediu etc.) rezultată în urma exploatării imaginilor digitale.
Această informație este pre luată de sistem ele inteligente prin intermediul senzorilor și
crează o imagine a mediului în momentul preluării datelor. Din imaginea astfel obținută
trebuie extrase informațiile utile. Aceste informa ții sunt stocate în cadrul sistem ului de
informa ții spațiale sau Sistem Informatic Geografic (GIS).
Un GIS este un ansamblu de persoane, echipamente, programe, metode si norme
având ca scop culegerea, validarea, stocarea, analiza și vizualizarea datelor geografice [4].
Este un instrument implementat pe calculat or pe ntru realizarea hărților și analiza lucrărilor ce
există și a evenimentelor ce se petrec pe pământ. Tehnologia GIS combină operațiile uzuale
de baze de date precum integrarea și analiza statistică cu avantajele vizualizării unice și
analizei geografic e oferite de către hăr ți [6].
1.2. SITUAȚIA ACTUALĂ A TEMEI DE STUDIU
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
5 Rezumând, t ema dezvoltată poate fi structurată în două componente și anume:
1. preluarea și prelucrarea imaginilor in cazul de față semnale EKG ;
2. filtrarea neliniară în prelucrarea semnalelor EKG .
La o analiză sumară a situa ției actuale a temei dezvoltat e se observă diferen țe mari
între situa ția pe plan interna țional și cea na țională. Această diferen ță este dată de :
o anumită incoeren ță a cadrului legislativ național ;
de faptul că nu există structuri specializate cu sarcini precise și finan țare
sustenabilă;
de inexisten ța unui sistem de infor mații spa țiale unitar și eficient, cu o
infrastructură tehnologică și informatică modernă și men ținută.
Pentru a recupera r ămânerea în urmă este necesară o standardizare a modului de
preluare, procesare și stocare a datelor. Problema nu este legată d e asigurarea platformei
tehnologice ci de crearea unitară a bazei de date și corelarea bazelor de date existente cu cea
nou creat ă.
Riscul major, în cazul în car e nu este realizată o proiectare adecvată este acela că
poate genera disfunc ționalită ți, inefi ciență, suprapuneri, litigii, cheltuieli inutile și costuri mari
pentru remedierea acestora. Pentru evitarea acestui risc este necesar ă realizarea de norme și
metodologii unitare și detaliate.
În acest sens:
în luna mai 2007 a intrat în vigoare Directiva 2007/2/CE privind stabilirea
infrastructurii pentru informa țiile spa țiale în cadrul Comunită ții Europene (INSPIRE).
INSPIRE a fost ini țiată din cauza lipsei de coo rdonare, lipsei standardelor, a datelor și
restric țiilor politice privind geo -informa țiile necesare implementării politicilor comunitare din
domeniul mediului și al politicilor sau activită ților care ar putea avea impact asupra mediului.
în data de 29 ianu arie 2010 a fost publicată în Monitorul Oficial Ordonan ța de
Guvern nr. 66/2010 privind instit uirea Infrastructurii Na ționale pe ntru Informa ții Spațiale în
România în vederea implementării Directivei INSPIRE. Transpunerea acestei directive are un
rol major pentru România, deoarece pune bazele creării geo -portalului unic la nivel național,
geo-porta lul INSPIRE, prin intermediul căruia se va asigura accesul la informația spațială din
România. Portalul va fi creat atât de instituțiile statului, cât și de creat orii de date privați. De
asemenea, acest geo -portal va reprezenta punctul unic de acces la geo -portalul INSPIRE creat
la nivel european și va asigura accesul la informația spațială pentru a putea lua decizii mult
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
6 mai bune în cadrul politicilor de dezvoltar e sectorială, politicilor de mediu, în cazul
intervențiilor pentru situații de urgență și pentru planificare urbană .
Din punct de vedere al dezvoltării de tehnici de monitorizare pe plan na țional putem
spune că există preocupări științifice, una dintre ele fiind chiar premiată la Salonul
Internațional de Inventică de la Hamburg, proiect intitulat TerraRisc. Proiectul TerraRisc
(Suport decizional pentru managementul riscului producerii de alune cări de teren într -o zonă
geografică expusă la risc de catastrofe naturale) , a fost gândit să asigure suportul decizional
pentru managementul riscului producerii de alunecări de teren într -o zonă geografică expusă
la risc de catastrofe naturale și a fost implementat de un consorțiu format din :
Institutul pentru Tehnică de Calcul (ITC);
Institutul de Proiectare în Automatizări (IP A);
Facultatea de Geologie și Geofizică și Software din cadrul Universită ții București ;
Sisteme Informatice BUCOVINA SA Suceava [7].
1.3. STRUCTURA LUCRĂRII
Lucrarea este structurată în 5 capitole ce abordează din punct de vedere teoretic și
practic câteva dintre tehnicile avansate de filtrare neliniară în prelucrarea imaginilor digitale .
Primul capitol intitulat “Introducere ” prezintă concepte fundamentale privind
imaginile digitale și prelucrarea acestora . Pe lângă aceasta se prezintă stadiul actual al
cunoa șterii atât pe plan na țional cât și interna țional.
Al doilea capitol intitulat “Sistemul cardiovascular ” abordează, din punct de vedere
teoretic, pe scurt, no țiuni generale legate anatomie a in imii utile pentru a justifica existența
semnalului electric generat de inimă cu ajutorul căruia se p oate obține electrocardiograma
denumită pe scurt ECG sau EKG .
ECG -ul poate fi obținut prin metode neinvazive având scopul de a monitoriza
funcționarea inimi i.
Al treilea capitol intitulat “Imaginea digitală ” prezintă tot din punct de vedere
teoretic, pe scurt, no țiuni generale legate semnal e. și anume: defini ții, proprietă ți, tipuri
(clase), moduri de reprezentare a imaginilor, modul de achizi ționare a imagin ilor analogice și
transformarea acestora în imagine digitală.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
7 Capitol ul patru intitulat “Filtrarea imaginilor digitale ” abordează în mod concret
filtrul Savitzky -Golay . În acest capitol este prezentat principiul metodei precum și
proprietățile cele mai imp ortante ale filtrului Savitzky -Golay utilizat destul de frecvent în
filtrarea semnalelor EKG.
Capitolul cinci intitulat “Utilizarea aplicației Matlab în studiul filtrelor utilizate în
prelucrarea imaginilor digitale ” abordează din punct de vedere practic aplicabilitatea
filtrului Savitzky -Golay . Acest capitol se finalizează cu concluzii privind utilizarea filtrul ui
Savitzky -Golay în curățirea semnalelor de tip EKG .
Lucrarea se încheie cu Bibliografia atât utilizată efectiv în lucrare ci și cu bibliografia
studiată având rol de sursă de inspirație pentru realizarea lucrării de față.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
8
Capitolul 2. SISTEMUL CARDIOV ASCULAR
2.1. NOȚIUNI GENERALE
Sistemul cardiovascular circulator prezentat în figura 2.1 este un aparat ce permite
circularea sângelui în corp și este comp us din inimă, artere, vase de sânge, vene și capilare
care sunt răspândite prin tot corpul , printr-o rețea deasă .
Fig. 2.1. Sistemul cardiovascular circulator.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
9 2.1.1 Ce este inima ?
Inima numită și cord are forma unui con cu vârful îndrepta t în jos. Baza corespunde
venelor cave, arter ei pulmonar e și aortei. Este un organ muscular cu pereți formați din patru
straturi:
– pericardul – este un sac fibros în care este adăpostită inima,
– miocardul – este mușchiul inimii c ăptușit în interior de endoca rd și în exterior de
epicard ,
– pompa cardiacă are patru camere:
o atriul drept și stâng cu pereți i subțiri – camerele de primire
o ventriculul drep t și stâng cu pereții mai groși.
1. Atriu drept;
2. Atriu stâng;
3. Vena cavă superioară;
4. Aorta;
5. Arteră pulmonară;
6. Venă pu lmonară;
7. Valva mitrală;
8. Valva aortică;
9. Ventricul stâng;
10. Ventricul drept;
11. Vena cavă inferioară;
12. Valva tricuspidiană;
13. Valvă pulmonară.
Fig. 2.2. Cordul .
Între cavități există orificii de comunicare .
Conform figurii 2.2 se observă că:
– între ventriculul stâng și atriul se află valva mitrală,
– între ventriculul drept și atriul se află valva tricuspidiană,
– din ventriculul drept iese artera pulmonară cu valva aferentă,
– din ventriculul st âng iese aorta cu valva aortică.
O funcționare corectă a aparatelor valvulare favorizează umplerea cu sânge a inimii în
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
10 perioada de repaos (diastolă) și propulsarea acestuia după contracție (sistolă) sistemul
circulator .
Caracteristica specifică și unică a singurului organ intern inima care este organ
muscular , este că se contractă ritmic și fără întrerupere , întreaga viață . Această contracție este
asigurat ă de nodul sinusal situat în atriul drept de la care pornește stimulul cardiac și de unde
este transmis mai departe de nodulul atrioventricular situat în septul inter -atrial, apoi de
fasciculul His din septul interventricular și rețeaua Purkinje din pereții ventriculari a căror
activitate electrică dau undele pozitive și negative pe electrocardiogramă , abreviată EKG sau
ECG .
2.1.2 Ce sunt arterele ?
Arterele sunt vase de sânge numite în t ermeni medicali vase sanguine care transportă
sângele de la inimă câtre organele interne . Ele sunt segmentul circulator cu cea mai mare
presiune arterială. Presiunea în artere este maximă în momentul sistolei și minimă în
momentul diastolei. Cea mai import antă arteră este cea numită aortă.
Arterele sunt de două tipuri:
– artere sistemice care duc spre tot corpul
– artere pulmonare care îl duc la plămâni.
Artera este formată din trei straturi:
– tunica externă – este alcătuită din țesut conjunctiv cu fibre de cola gen și elastină,
precum și fibre nervoase vegetative și vase de sânge ce asigură oxigen pentru
peretele vascular .
– tunica musculară numită și tunica mijlocie – este alcătuită din celule musculare
netede și fibre conjunctive elastice .
– tunica internă numită ș i endoteliul vascular – este un epiteliu pavimentos simplu,
aflat pe o membrană bazală și un strat subendotelial elastic .
2.1.3 Ce sunt venele ?
Venele sunt vasele sangvine care transportă sângele dinspre capilare spre inimă. Ele au
un volum de trei ori mai mare decât arterele. Majoritatea venelor transportă sânge neoxigenat,
excepție facând venele pulmonare și vena ombilicală. Structura lor conține aceleași trei tunici
ca și arterele, dar cu anumite adaptări.
Tunica internă de sub nivelul inimii prezintă valve î n formă de cuib de rândunică,
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
11 numite semilunare care ghidează fluxul sanguin. Când sângele este transportat în direcția
corectă , valvele rămân deschise datorită poziționării în formă de con. Dacă este transportat
invers, valvele se închid datorită presiuni i. Tunica medie e ste mai subțire iar tunica externă
este mai groasă.
În figura 2.3 sunt prezentate valvele venale.
Fig. 2.3. Valve venale .
2.1.4 Ce sunt capilarele ?
Din sistemul circulator capilarele sunt cele mai mici vase sangvine având o grosime de
o celulă și un diametru au circa 5 -10 μm . Capilarele realizează schimbul de substanțe dintre
sânge și țesuturi. Contactul dintre capilare și vene sau artere nu se face direct, ci prin
intermediul venulelor și a arteriolelor (între artere și capilare).
2.2. FUNCȚIILE CORDULUI
1. Funcția cronotropă (automatismul) constă în capacitatea țesutului specific de a se
autoexcita generând spontan și ritmic stimuli. Evoluția potențialului de acțiune al
celulelor de țesut specific prezintă o fază suplimentară (figura 2.4).
După încheierea repolarizării apare o creștere spontană, lentă a diferenței de potențial
de la valoarea potențialului de repaus spre valoarea potențialului de prag, numită depolarizare
diastolică spontană (DS). La atingerea valorii de prag apare depolariz area – repolarizarea apoi
fenomenul se repetă ritmic.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
12
Fig. 2.4. Potențialul de acțiune pentru celulele țesutului specific .
2. Funcția dromotropă (conductibilitatea) constă în capacitatea țesutului specific de a
conduce s timulii spre țesutul contr actil.
3. Funcția batmotropă (excitabilitatea) constă în capacitatea țesuturilor specific și
contractil de a răspunde la stimuli naturali și electrici, depolarizându -se.
4. Funcția inotropă (contractilitatea) constă în capacitatea țesutului contractil de a se
contracta atunci când este excitat .
2.3. CICLUL CARDIAC
Cordul poate fi considerat ca un sistem electric care generează stimuli plus un sistem
mecanic care răspunde la stimuli prin contracții. Cele două sisteme lucrează ritmic.
Ciclul cardiac reprezintă total itatea proceselor ce decurg sinergic în sens transversal și
succesiv în plan longitudinal în inimă, pornind de la un moment dat și până la apariția unui
moment identic.
Activitatea electrică a inimii pe parcursul unui ciclu cardiac cuprinde generarea unui
stimul în nodulul sino -atrial și transmiterea lui în întregul miocard, având ca efect
depolarizarea și apoi repolarizarea țesutului contractil într -o secvență bine precizată:
depolarizarea atrială,
repolarizarea atrială,
conducerea excitației prin sistemul joncțional atrio -ventricular,
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
13 depolarizarea ventriculară,
repolarizarea ventriculară,
diastola electrică generală.
Activitatea mecanică a inimii pe parcursul unui ciclu cardiac cuprinde contracția și
apoi relaxarea țesutului contractil atrial și ventricul ar, într -o secvență bine precizată, având ca
efect forțarea circulației sângelui în arborele vascular:
sistola atrială,
diastola atrială,
sistola ventriculară,
diastola ventriculară,
2.4. ELECTROCARDIOGRAMA NORMALĂ
Electrocardiogram a reprezintă înregistrarea potențialelor electrice generate de inimă,
transmise la suprafața corpului.
Semnalul electrocardiografic (ECG sau EKG) este un semnal bioelectric cu
amplitudini în domeniul 0,1 mV … 2 mV în cazul măsurătorilor la suprafața corpul ui și
frecvențe în domeniul 0,05 Hz … 100 Hz, deși pot fi evidențiare și evenimente semnificative
de amplitudini mai mici și frecvențe mai mari.
Traseul electrocardiografic normal tipic este prezentat în figura 2.5 și are ca și
componente:
Depolarizarea at rială este reprezentată de unda P (undă pozitivă r otunjită, cu versante
simetrice) .
Depolarizarea ventriculară este reprezentată de complexul QRS – undele Q, R, S.
Repolarizarea atrială este mascată de complexul QRS.
Repolarizarea rapidă ventriculară este reprezentată de unda T (undă pozitivă
triunghiulară cu versante asimetrice, cu durata mai greu de precizat, amplitudinea o
treime din cea a undei R).
Din cauze necunoscute poate să mai apară unda U.
Între două unde succesive se definesc segmente:
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
14 PQ (semni fică conducerea stimulului prin sistemul joncțional atrio -ventricular).
ST (semnifică repolarizarea lentă ventriculară).
TP (semnifică diastola electrică generală).
Fig.2.5. Electrocardiograma normală tipică.
Între două repere ale traseulu i electrocardiografic se definesc intervale:
P-Q (durata: 0,12 s … 0,21 s, semnifică durata conducerii stimulului prin atrii
și sistemul joncțional atrio -ventricular).
Q-T (durata: funcție de frecvența cardiacă, semnifică sistola electrică
ventriculară).
S-
P-P (durata: 1 / (frecvența cardiacă) semnifică revoluția atrială).
R-R (durata: 1 / (frecvența cardiacă) se mnifică revoluția ventriculară)
În figura 2.6 se prezintă spectrul de puteri al semnalului ECG normal precum și cele
ale componentelor acestuia. Se poate observa suprapunerea peste spectrul semnalului util a
artefactelor de m ișcare și a zgomotului muscular.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
15
Fig.2.6. Spectrul de puteri pentru semnalul ECG normal.
2.5. CAR ACTERISTICILE SEMNALULUI
ELECTROCARDIOGRAFIC
Fig.2.7. Ciclul cardiac normal tipic – evoluție temporală.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
16 ECG este un semnal bioelectric cu amplitudini în domeniul 0,1 mVvv … 2 mVvv (în
cazul măsur ătorilor la suprafața corpului).
Acesta are ritmuri normale în domeniul 60 bpm … 100 bpm. Un ciclu ECG normal
tipic și componentele sale sunt prezentate în figura 2.7.
În figura 2.8 se prezintă spectrul de p uteri al semnalului ECG normal în care se
observă că frecvențele de interes ale semnalului sunt situate în banda 0,05 Hz … 40 Hz.
Se constată deasemenea că spectrul semnalului ECG normal este aproximativ
monoton descrescător .
Fig.2.8. Ciclul cardiac normal tipic – spectrul de frecvențe.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
17
Capitolul 3. IMAGINEA DIGITALĂ
3.1. INTRODUCERE
Tehnol ogia Digilal lmaging (imaginile digitale captate și prelucrate p e calculator )
revolu ționează continuu arta fotogr afică. Major itatea imaginilor pe care le vedem tipărite au
fost create folosind tehnologii digitale. Prelucra rea digitală se extinde de la un n ivel primar al
retușării imaginilor noi. până la montaj ele fotografic e foarte elaborate și prelucrate , utilizate
curent în industria r eclam elor.
3.1.1. Ce este imaginea ?
Imaginea este un ansamblu de valori plasate după o form ă spațială de dimenisune
supraunitar ă (plan, volum, etc, dar nu o dreapta).
Simplist, imaginea poate fi interpretat ă ca un tablou sau matrice [10].
Fig. 3.1. Reprezentarea unei matrici.
La început, imag inile sunt semnale, dar nu funcț ii temporale, ci func ții definite pe un
domeniu spa țial. Orice imagine est e o structur ă bidimensional ă (tablou, matrice) de date. Un
element al imagini se nume ște pixel. Aceste date pot fi numere naturale, reale sau complexe,
reprezentate însă pe un num ăr finit de bi ți [11]. După tipul datelor din acest ă structur ă
bidimensional ă, imaginile prelucrate pot fi împ ărțite în mai multe categorii:
imagini scalare , în care fiecare component ă este un scalar :
o imaginile monocrome (în care punctele au doar dou ă valori posibile, ce
corespund unui con ținut binar al imagini i, în general alb-negru) ;
o imaginile alb – negru (cu nivele de gri ).
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
18 imagini vectoriale , în care fiecare component ă este un vector de numere . Imaginea
vectorială este compusă din mai multe straturi de imagini scalare.
o cazul particular cel mai de interes es te acela al imaginilor color, în care
vectorul are trei elemente (ce corespund celor trei constituente de baz ă ale
oricărei culori ;
o tot în imaginil e vectoriale intră și imaginile stereo (o pereche de imagini ale
aceleia și scene, luate din unghiuri diferite ) și secven țele de imagini.
3.1.2. Ce fel de valori sunt în imagine ?
Într-o imagine întâlnim v alori digitale – numere reprezentate cu un num ăr finit de bi ți,
după un format standard pentru un calculator (digital ).
Este foarte important să știm că Digital ≠ Numer ic. Rezultatul oric ărui calcul este
numeric, dar nu orice num ăr este digital.
3.1.3. Care este elementul de bază al unei imagini ?
Elementul de bază al unei imagini este pixel .
Pixelul, sau unitatea de imagine, este cel mai mic element de pe o suprafață de afișar e,
căruia i se poate atribui în mod independent o singură valoare a intensității sau o culoare.
Fiecărui pixel i se va atribui un număr care va fi asociat cu o culoare. Entitățile grafice sunt
construite din mulțimi de pixeli. Prin definiție se alege origi nea imaginii, cu coordonatele
(0,0), în col țul stânga sus a imaginii [1].
“Imaginea digitală este o reprezentare a unei imagini reale, bidimensionale, ca o
mulțime finită de valori digitale numite el emente ale imaginii sau pixeli” .
În analiza imaginilor di gitale, un dispozitiv de achiziție convertește imaginea într -un
număr discret de pixeli. Fiecărui (x,y) i se atribuie o valoare a culorii și luminozității. Stocarea
datelor se face în matrici de tip întreg.
O imagine digitală are următoarele proprietăți :
rezoluția unei imagini este numărul de linii și coloane al matricii în care este stocată
imaginea. Definiția unei imagini (engl. "pixel depth") indică numărul de culori sau
nuanțe de gri care pot fi distinse într -o imagine. Definiția mai înseamnă numărul
de biți folosiți pentru codificarea intensității fiecărui pixel. Pentru o definiție n, un
pixel poate lua 2n valori diferite. Spre exemplu, pentru n=8 un pixel poate lua 256
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
19 valori diferite, în domeniul [0,255], pentru n=16 un pixel poate lua 65536 valori
diferite în domeniul[0,65535] sau [ -32768, 32767].
numărul de plane ale unei imagini este numărul de matrici care compun imaginea. O
imagine în niveluri de gri sau pseudo -color este compusă dintr -un singur plan, pe
când o imagine color (engl. "true color") este compusă din trei plane (ro șu, verde
și albastru, RGB).
În imaginile cu nuanțe de gri, cele trei valori ale unui pixel, atribuite culorilor roșu,
verde, albastru sunt combinate pentru a conduce la o singură valoare. Această valoare este
reconvertită în roșu/verde/albastru la afișajul pe monitor. Acestă conversie este efectuată de o
tabelă de echivalare a nuanțelor de gri cu culorile, numită paletă sau, în limba engleză, "Look
Up Table" (LUT).
În cazul imaginilor în culori (true color) intensitățile pent ru culorile de bază
roșu/verde/albastru sunt codificate de trei valori diferite. Imaginea este o combinație a trei
matrici de pixeli corespunzătoare celor trei componente.
Există patru tipuri (clase) de imagini digitale:
1. alb-negru (b/w), cu un bit per pixe l;
2. în nuanțe de gri, 8 biți per pixel (256 nivele de gri) sau 16 biți per pixel (65536
nivele de gri);
3. color (32 biti, câte 8 pentru fiecare culoare de bază plus încă opt pentru așa
numitul canal alfa);
4. complexe.
Pentru toate tipurile de imagini există mai multe formate de stocare, după firma sau
asociația profesională care le -a definit (TIFF, GIF, JPG, BMP, TGA, DICOM, etc.).
Structura tipică a unui sistem de prelucrare și analiză a imaginilor este prezentată în
figura 3.2.
Fig. 3.2. Schema bloc a unui sistem de prelucrare și analiză a imaginilor .
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
20
3.2. PRELUAREA IMAGINILOR DIGITALE
Prelucrarea numerică a imaginilor reprezintă un ansamblu de teorii și tehnici folosite
în înregistrarea, sinteza, codarea, transmiterea, reproducerea, recunoașterea, estim area,
detecția, filtrarea, îmbunătățirea imaginilor digitale. Domeniile de aplicabilitate ale prelucrării
digitale a imaginilor sunt: transmisiunile video, medicina, biologia, astronomia, industria,
comunicațiile, efectele speciale, educația la distanță [5].
Echipamentele de prelucrare a imaginilor realizează o serie de operații:
Achiziția imaginilor realizată cu camera video sau scaner;
Prelucrarea imaginilor folosind calculatorul sau procesoare de semnal (DSP);
Memorarea imaginilor pe discuri optice, benz i magnetice;
Redarea imaginilor utilizând monitorul, televizorul, imprimanta;
Transmisia imaginilor pe diferite rețele de comunicații
În marea majoritate a cazurilor informația pe care dorim să o prelucrăm și să o
transmitem este de natură analogică. Mai m ult, informația este destinată într –o majoritate
covârșitoare omului, deci aceasta trebuie redată sub formă analogică. Plecând de la
imperfecțiunile simțurilor umane, mai întâi s –au creat standarde pentru prelucrarea și
transmiterea informației sub formă a nalogică și o dată cu tehnologia digitală, standarde
privind conversia din analogic în digital și invers, adăugând formate, coduri și protocoale
utilizat e în rețele și medii de stocare .
Tehnica p relucr ării imaginilor digitale presupune utilizarea de tehnic i exprimate, de
obicei, sub forma unor algoritmi. Acesta este motivul pentru care majoritatea funcții lor de
prelucrare pot fi implementate soft , excepți e făcând doar achiziția datelor și red area
imaginilor. [1], [11] .
Printre motivații le cele mai semnifica tive carte justifică, implementarea hard a
anumitor algoritmi în anumite aplicații , se regăsește necesitatea asigurării unei viteze mari de
prelucrare sau depășirea anumitor limitări fundamentale ale calculatoarelor. Exemplificând în
domeniul electronicii, pentru prelucr area imaginilor se impune reducerea zgomotului din ele.
Aceas lucru se realizează prin medierea acestora de -a lungul unui set de imagini și cu o viteză
corespunzătoare ratei video.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
21 Majorității calculatoarelor au o a rhitectur ă a magistralelor care nu poate gestiona
cantitatea de informație la rata de transfer cerută de astfel de aplicați i și din această cauză,
sistemel e de prelucrare de imagini au ajuns să fie sisteme hibride, combinații între
calculatoare și echipamente specializate de preluc rări hard, operațiile fiind supervizate de
către pachetele de pr ograme instalate pe calculator.
Pentru aplicații de mare anvergură s-a dezvoltat direcția de miniaturizare precum și de
combinare a calculatoarelor uzuale cu echipamente specializate în preluc rarea hard ware a
imaginilor . Exemplificănd , principalul echipament hard ware cu care se dotează calculatorul
cu care prelucrăm informații de imagine, constă într -o combinație de d igitizor și registru de
imagine pentru digitizarea și stocarea temporară a ima ginilor, o așa -numită unitate de
procesare aritmetică/logică folosită în scopul prelucrării operațiil or de tip aritmetic și logic în
timpi comparabili cu ratele de transfer video și unul sau mai multe registre de imagine, pentru
asigurarea unui acces rapid la date în timpul prelucrării.
La ora actuală există un număr semnificativ de programe de prelucrare imagini care în
combinație cu alte pachete de programe formează un punct de plecare pentru rezolvarea unor
probleme specifice de prelucrare de imagini. So luțiile obținute prin implementare soft ware
sunt ulterior transferate pe sisteme specializate de prelucrare hard ware în vederea obținer ii
viteze lor superioare necesare operației efectuate .
Prelucrările de imagini folosesc tehnici specifice, metode care duc la rezultate foarte
bune în unele aplicații și care sunt total inadecvate în altele. Ceea ce pune, de fapt, la
dispoziție hard-ul și programele soft disponibile la ora actuală, este un punct de pornire în
dezvoltarea unor aplicații specifice, care necesit ă însă o muncă de cercetare și dezvoltare
foarte serioasă.
3.3. MEMORAREA, TRANSMISIA ȘI COMPRESIA
IMAGINILOR DIGITALE
3.3.1. Memorarea imaginilor digitale
Memorarea digitală pentru aplicații de prelucrare de imagini poate fi clasificată în trei
categorii principal e:
memorarea pe termen scurt pentru nevoile procesării propriu -zise;
memorarea on -line pentru accesare relativ rapidă a imaginilor;
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
22 memorarea în vederea arhiv ării, caracterizată prin faptul că accesul la imagini este mai
puțin frecvent.
3.3.2. Transmisia imaginil or digitale
Problema comunicației în prelucrarea digitală de imagini implică, pe de o parte,
comunicarea locală între sisteme de prelucrare și comunicarea la distanțe mari, pe de altă
parte. Hard -ul și soft -ul pentru comunicații locale este oferit, în gene ral, de facilitățile
rețelelor de calculatoare, cu toate că rata de transmisie necesară pentru imagini este mul t mai
mare decât pentru alte tipuri de transmisii de date.
Pentru comunicația cu mediul (inclusiv cu utilizatorul uman), calculatorul electronic
dispune de un sistem de intrare care asigură transferul de date din exterior către unitatea
centrală de prelucrare (sau către memoria principală) și de un sistem de ieșire care realizează
transferul de date de la UCP (sau de la memoria principală) spre ext erior. Sistemele de intrare
și de ieșire (pe scurt I/E sau I/O: Input/Output) includ o mare diversitate de aparate și
dispozitive grupate sub numele de echipamente periferice.
Transferul de date dintre echipamentele periferice și calculatorul propriu -zis s e
realizează prin intermediul unor conexiuni care asigură legătura cu magistralele (bus -urile)
calculatorului.
Funcție de sensul în care se face transferul de date, comunicarea dintre calculator și
echipamentul periferic poate fi:
Half duplex, la care tran sferul se face la un moment dat numai într -un singur
sens (fie de la calculator la periferic, fie de la periferic la calculator);
Full duplex, la care transferul se face simultan în ambele sensuri;
Funcție de numărul de biți transportați simultan printr -o conexiune, există:
transmisie paralelă, prin care, la un moment dat, este transportat simultan un
grup de biți (de regulă, grupul este format din 8 biți de date, plus unul sau mai
mulți biți de control);
transmisie serială, prin care, la un moment dat, este transportat un singur bit.
Pentru că bus -ul calculatorului este, de regulă, paralel, transmisia serială pres upune
conversia din paralel în serial și invers, ceea ce se realizează prin intermediul unui circuit
denumit prescurtat UART (Universal Asynchrono us Receiver/Transmitter).
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
23 3.3.3. Compresia imaginilor digitale
Termenul de compresie se refer ă la totalitatea metodelor ce au drept scop reducerea
cantității de date necesare pentru reprezentarea unei imagini. Compresia este folosit ă în
special pentru stocarea sau transmiterea imaginilor.
Să consider ăm cazul unei imagini de dimensiune 512 x 512 pixeli. Dac ă aceasta este o
imagine în tonuri de gri, iar fiecare pixel este codat cu 8 bi ți, atunci cantitatea de date necesar ă
pentru a reprezenta aceast ă imagine este:
512 x 512 x 8 = 29 x 29 23 = 221 ≈ 2 Mb
Din acest calcul ne putem da seama c ă pentru a stoca o imagine avem nevoie de spa țiu
considerabil, iar pentru transmiterea ei avem nevoie de un canal de transmisiune de band ă
largă, de care nu dispunem întotdeauna.
Clasi fcarea metodelor de compresie
Metodele de compresie se pot clasi fca astftel:
o Metode de compresie la nivel de pixel – aceste metode nu țin cont de corela ția
care exist ă între pixelii vecini, cod ând fiecare pixel ca atare. Acest tip de
compresie este f ără pierdere de informație, adică imaginea inițială poate
fi refăcută perfect din imaginea comprimat ă. Exemple de astfel de
metode :
o codarea Hu ffman;
o codarea LZW (Lempel -Ziv-Walsh) ;
o codarea RLE (Run Length Encoding) .
o Metode de compresie predictive – aceste metode realizează compresia folosind
corelația care există între pixelii v ecini, dintr -o imagine. Exemple de
astfel de metode :
o codarea cu modula ție “delta ”;
o codarea DPCM (Di ferențial Pulse Code Modulation) .
o Metode de compresie cu transformate – aceste meto de se bazeaz ă pe scrierea
imaginii într-o alt ă bază, prin aplicarea unei transform ări unitare, a .î.
energia imaginii s ă fie concentrat ă într-un num ăr cât mai mic de
coeficienți.
o Alte metode de compresie :
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
24 o cuantizarea vectorial ă;
o codarea folosind fractali ;
o codarea hibrid ă.
3.4. ZGOMOTUL DE OBSERVARE
Sistemele de captare ale imaginii nu sunt niciodată perfecte. De aceea imaginile suferă
în general de granulație datorită zgomotului electronic, zgomotului fotonic și zgomotului de
cuantizare. Într -o secvență video scanată de pe peliculă dungile orizontale datorate posibilelor
zgârieturi pe film pot fi modelate ca și zgomot intermitent. Zgomotul granular este obișnuit în
secvențele de imagini radar și în secvențe de imagini biomedicale obținute prin ultrasunete.
Raportul semnal -zgomot (SNR) disponibil variază în funcție de dispozitivele de captare și de
suporturile de înregistrare. Chiar dacă zgomotul nu poate fi perceput la viteză normală
datorită efectului de mascare temporală a ochiului, de multe ori duce la „cadr e înghețate” și
proastă calitate.
Zgomotul de observare în secvențe video poate fi modelat ca zgomot aditiv sau
multiplicativ, zgomot dependent sau independent de semnal, zgomot alb sau zgomot colorat.
De exemplu zgomotul fotonic și cel granulat sunt depen dente de semnal, pe când zgomotul de
cuantizare sau cel provenit de la un senzor CCD sunt de obicei modelate ca fiind albe, cu
distribuție Gaussiană și independente de semnal. Umbrele din imaginile TV pot fi de
asemenea modelate ca zgomote dependente de se mnal.
Raportul semnal -zgomot este un parametru important pentru majoritatea aplicațiilor
video digitale, deoarece zgomotul împiedică capacitatea de a procesa în mod eficace datele.
[5]
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
25
Capitolul 4. FILTRARE A IMAGINILOR DIGITALE
Operațiile de filtrare studiat e până în prezent au fost caracterizate esențial (din punct
de vedere matematic) de către principiul liniarității (sau superpoziției). Istoric, acestea au fost
primele opera ții utilizate, având un suport teoretic solid și desigur, având mai multe
caracteri stici utile. O mare parte a aplica țiilor curente de prelucrare a imaginilor probabil că se
pot rezolva suficient de precis folosind doar opera ții liniare. Limitările operațiilor liniare de
filtrare apar însă în momentul în care se consideră zgomote ce nu a u distribuție normal ă și,
mai mult, nu mai sunt aditive [11].
4.1. FILTRE SAVITZKY -GOLAY
În anul 1964, cercetătorii Abraham Savitzky și Marcel J. E. Golay au propus o metodă
de netezire a unui semnal bazată pe bazată pe aproximarea locală polinomială prin m etoda
celor mai mici pătrate. Ei au demonstrat că aproximarea unui polinom printr -un set de
eșantioane și apoi evaluarea polinomului rezultant într -un singur punct în intervalul de
aproximare este echivalentă cu convoluția discretă cu un răspuns la impuls stabilit.
Filtrele trece -jos obținute prin acestă metodă sunt cunoscute în anumite domenii sub
denumirea de filtre Savitzky -Golay .
Un filtru Savitzky -Golay este un filtru digital care poate fi aplicat unui set de valori
discrete în scopul netezirii curbei reprezentative și în esență a ceșterii raportului semnal –
zgomot, fără a distorsiona semnalul util. Aceasta se realizează printr -un procedeu cunoscut
sub numele de convoluție , prin aproximarea unor subseturi succesive de date adiacente cu un
polinom de grad inferior, prin metoda celor mai mici pătrate liniară. În cazul în care punctele
corespunzătoare datelor de intrare sunt echidistante, se poate găsi o soluție analitică pentru
ecuațiile celor mai mici pătrate, sun forma unui singur set de “coeficienți de c onvoluție”.
Acești coeficienți pot fi aplicați tuturor sub -seturilor de date în scopul obținerii valorilor
estimate ale semnalului netezit în punctul central al fiecărui subset. Metoda a fost extinsă și la
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
26 prelucrarea datelor bidimensionale și tridimension ale.
4.1.1. Principiul aplicării metodei celor mai mici pătrate la netezirea
semnalelor
Principiul de netezire a unui semnal prin aplicarea metodei celor mai mici pătrate este
exemplificat în Fig. 4.1.
Fig. 4.1. Ilustrarea modului în care se realizea za netezirea folosind metoda celor mai mici
pătrate de aproximare locală a unui plinom de gradul doi (curba plină) prin cinci eșantioane .
În care:
– “●”reprezintă eșantioanele de intrare,
– “○” reprezintă eșantioanele de ieșire pentru cele mai mici pătrate,
– “×” reprezintă eșantioane le de răspuns efectiv la impuls,
– linia punctata reprezintă aproximrea polinimială a impulsului unitate centrat.
Figura de mai sus prezintă o secvență de eșantioane x[n] care provin de la un semnal,
sub forma unor puncte. Considerând pentru moment un grup de 2 M + 1 eșantioane centrate la
n = 0, se obține (printr -un proces ce va fi descris ulterior), coeficienții polinomului:
, )(
0
N
kk
kna np
(4.1)
care minimizează eroarea medie pătratică a aproximării pentru grupul eșantioan elor de intrare
centrate la n = 0,
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
27
.][ ])[)((2
02
M
MnN
kk
kM
MnN nxna nxnp (4.2)
Analiza este aceeași pentru orice alt grup de 2 M + 1 eșantioane de intrare. Parametrul
M va fi denumit “jumătatea lățimii” intervalului de aproximare. În Fig. 4.1, în care N = 2 și M
= 2, cu rba trasată cu linie plină din partea stângă este polinomul p(n) evaluat între -2 și +2, iar
valoarea de ieșire netezită se obține prin evaluarea polinomului p(n) în punctul central al
ferestrei n = 0. Prin aceasta, y[0], ieșirea, la n = 0 este:
, )0( ]0[0a p y
(4.3)
adică valoarea de ieșire este egală chiar cu coeficientul polinomial de ordin 0. În general,
intervalul de aproximare nu trebuie să fie simetric în raport cu punctul de evaluare. Această
condiție conduce la filtre cu fază neliniară c are pot fi utile pentru netezirea zonelor de capăt
ale secvențelor de intrare de lungime finită.
Ieșirea pentru următorul eșantion se obține prin deplasarea intervalului de analiză cu
un eșantion către dreapta, redefinind originea ca fiind eșantionul din m ijloc a noului bloc de
2M + 1 eșantioane și repetând aproximarea polimomială și evaluarea locației centrale.
Procedeul se poate repeta pentru fiecare eșantion de intrare, fiecare operație conducând la
obținerea unui nou polinom și o nouă valoare a secvențe i de ieșire y[n].
Un alt exemplu este prezentat în partea dreaptă a Fig. 4.1, unde centrul intervalului
este deplasat la eșantionul n = 10 și noul polinom ce se obține utilizând eșantioanele 8 ≤ n ≤
12 este trasat cu linie plină și rezultatul pentru n = 10 constituie valoarea noului polinom
evaluat pentru centrul intervalului.
Savitzky și Golay au demonstrat că pentru fiecare pozitie, valoarea de ieșire netezită
obținută prin eșantionarea polinomului corespunzător este identică cu o combinație liniară
stabi lită a unui set de eșantioane de intrare, adică setul de 2 M + 1 eșantioane de intrare
conținute în intervalul de aproximare sunt combinate efectiv de către un set determinat de
coeficienți de ponderare ce pot fi unic determinați pentru un polinom de gradul N dat și pentru
un interval de aproximare de lungime 2 M + 1. Prin aceasta, eșantioanele de ieșire pot fi
calculate printr -o convoluție discretă de forma:
.][] [ ] [][ ][
M
M mMn
Mnmmxmnh mnxmh ny
(4.4)
Valorile marcate cu “ ×” în Fig. 4.1, sunt răspunsurile la impuls h[0 – m] și h[10 – m]
care pot fi folosite pentru a calcula eșantioanele de ieșire marcate cu “ ○”, înlocuind astfel
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
28 procesul de aproximare polinomială la siecare eșantion printr -o singură evaluare a expresiei
(4.4).
Pentru a demonstra aceasta, se poate găsi un singur răspuns la un impuls de durată
finită, care este echivalent cu netezirea polinomului prin cele mai mici pătrate pentru toare
cele 2 M + 1 eșantioane din interval, trebuie să se determine coeficienții optimi ai polinomului
(4.1) prin derivarea εN din (5.2) în raport cu fiecare dintre cei N + 1 coeficienți necunoscuți și
anularea derivatei. Aceasta conduce, pentru i = 0, 1, …, N:
,0][ 2
0
M
M mN
kk
ki
iNnx na na
(4.5)
care devine un set de N + 1 ecuații cu N + 1 necunodcute:
.,,….1,0 ][
0N i nxn a nM
MniM
kkM
Mnki
(4.6)
Ecua țiile (5.6) sunt cunoscute ca fiind ecuațiile normale pentru problema aproximației
prin metoda celor mai mici pătrate. Este important de precizat faptul că obținerea unei soluții
unice necesită existența unui număr de eșantioane de date cel puțin egal cu n umărul de
coeficienți ai polinomului de aproximare. Aceasta înseamnă că N ≤ 2M. În realitate, dacă M și
N au valori mari și N are o valoare apropiată de M, ecuațiile din ( 4.6) vor avea soluții care își
schimbă samnificativ valoarea la o modificare extrem d e mică a coeficienților. Mai mult, dacă
N = 2M, polinonul preia aceleași valori cu cele 2 M +1 eșantioane, ceea de înseamnă că nu va
mai avea loc nici un proces de netezire.
4.1.2. Proprietățile filtrelor Savitzky -Golay
Fig. 4.2 ilustrează răspunsul la impuls al u nui filtru Savitzky -Golay cu N = 6 și M =
16. Cu toare că acesta este un exemplu particular, proprietățile acestuia în funcție de timp sunt
reprezentative pentru întreaga categorie a filtrelor Savitzky -Golay simetrice.
Fig. 4.3. prezintă răspunsul în frecv ență pentru mai multe filtre Savitzky -Golay
proiectat în mediul Matlab . [14]
Toate răspunsurile la impuls au dimensiunea (2 M + 1) = 2 ∙16 + 1 = 33, cu polinoame
de ordinul N = 0, 2, 4, 6, 12.
Figurile 4.2 și 4.3 ilustrează proprietățile tuturor filtrelor Sa vitzky -Golay, care sunt
prezentate sumar în cele ce urmează.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
29
Fig. 4.2. Răspunsul la impuls a filtrului Savitzky -Golay cu M = 16 și N = 6.
Fig. 4.3. Răspunsul în frecvență a filtrelor Savitzky -Golay pentru M = 16
și polinoame de diverse grade.
Proprietarea 1. Coeficienții de ordin impar a răpunsului la impuls sunt toți nuli.
Printre altele, aceasta înseamnă că filtrele Savitzky -Golay sunt identice pentru N și N + 1,
pentru N întreg și par.
Proprietatea 2. Filtrarea cu medie mobil ă (MA) definită prin:
,][1 21][
M
MnMXmny
(4.7)
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
30 este identică cu netezirea cu filtre Savitzky -Golay cu polinoame de ordin N = 0 (constantă) și
M = 1 (linie dreaptă).
Proprietatea 3. Răsounsul la impuls este simetric. Cu toate acestea, răspunsul in
frecvență este pur real. Filtrele Savitzky -Golay sunt filtre FIR trece jos cu amplificarea benzii
de trecere unitară.
Proprietatea 4. Filtrele Savitzky -Golay au un răspuns în frecvență în banda de trecere
foarte plat.
Proprietatea 5. Frecvența de tăiere nom inală relativă fc = ωc/π, depinde atât de ordinul
polinomului N cât și de lungimea răspunsului la impuls (2 M + 1). Dacă M este constat ca în
Fig. 4.3, banda de trecere a filtrului va fi aproximativ proporțională cu N. Cu toate că nu este
pus în evidență în Fig. 4.3, frecvența de tăiere depinde invers proporțional și de M. Filtrele
Savitzky -Golay sunt comparate adesea cu filtrele MA cu aceeași lungime a răspunsului la
impuls. Acest lucru este întrucâtva eronat, deoarece un filtru MA mai scurt poate avea avea și
aproximativfrecvență de tăiere cu aceea a unui filtru Savitzky -Golay mai lung, cu o valoare
mare a lui N.
Proprietaea 6. Filtrele Savitzky -Golay au caracteristici de atenuare mediocre în zonele
benzilor de blocare (excepție făcând frecvențele corespunză toare zerourilor de pe cercul
unitate). Definind banda de blocare ca fiind domeniul frecvențelor cuprins între 0 și π radiani,
se poate observa din Fig. 4.3 că pentru un filtru MA ( N = 0 sau 1), valoarea minimă a
atenuării în banda de blocare (amplitudinea primului vârf după primul zero) este de
aproximativ 13 dB. Pentru N ≥ 2, atenuarea minimă în banda de blocare este de aproximativ
11 dB. Fig. 4.3 demonstrează și faptul că valoarea de vârf a câștigului benzii de blocare tinde
să crească cu creșterea lui N pentru M constant. Pe lângă aceasta, se mai poate remarca faptul
că răspunsul în frecvență scade ușor în câștig pe măsură ce frecvența crește peste frecvența
nominală de tăiere.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
31
Capitolul 5. UTILIZAREA APLICAȚIEI MATLAB ÎN
STUDIUL FILTRELOR UTILIZATE ÎN
PRELUC RAREA IMAGINILOR DIGITALE
5.1. PREZENTAREA APLICA ȚIEI MATLAB/SIMULINK
Aplicația MATLAB este un limbaj de calcul de înaltă performanță utilizat la
efectuarea de calculele tehnice. Acest limbaj integrează module de calcul, module de
vizualizare și module de programare într -un mediu de dezvoltare care permite utilizarea
ușoară a programului.
Domeniile de utilizare tipice sunt :
Calcule matematice,
Dezvoltarea de algoritmi,
Modelarea, simularea si dezvoltarea de prototipuri,
Analiza datelor, explorarea acestora si vizualizarea lor,
Dezvoltarea de grafice stiintifice si tehnice,
Dezvoltarea de aplicatii, inclusiv proiectarea de interfete grafice utilizator.
MATLAB este un program interactiv care folose ște blocuri de date elementare ca
matrici sau arii ș i care nu n ecesit ă o dimensionare prealabil ă.
Acest mod de lucru permite s ă se rezolve numeroase probleme tehnice, în special
acele probleme care opereaz ă cu matrici sau vectori.
Numele de MATLAB vine de la “matrix laboratory”. Programul MATLAB a fost scris
la începu t ca s ă permit ă un acces u șor la programele care lucreaz ă cu matrici din cadrul
proiectelor LINPACK și EISPACK.
El a fost dezvoltat într -o lung ă perioad ă de timp prin contribuț ia a numeroși utilizatori.
– În mediul universitar programul este folosit ca instr ument de lucru la cursurile
de matematic ă, inginerie și știință.
– În industrie MATLAB este utilizat în activi tatea de cercetare, dezvoltare ș i
analiza a datelor.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
32 Exist ă numeroase facilit ăți în cadrul programului MATLAB, dintre care amintim
posibilitatea de dezvoltare de soluț ii și aplica ții specifice în cadrul boxelor de lucru
(toolboxes). Toolboxes sunt colec ții complete de func ții MATLAB (fișiere M) care extind
mediul MATLAB la rezolvarea unor clase particulare de probleme.
5.1.1. Structura programului MATLAB
Structura simplificată a componentelor MATLAB este reprezentată în figura 5.1
Fig. 5.1. Structura simplificată a componentelor MATLAB.
În care:
Fișiere cu extensia M : sunt fi șiere ce con țin linii de comandă MATLAB și pot fi
apelate în linia d e comandă MATLAB pentru a executa setul de comenzi
conținute în aceste fi șiere .
Fișiere cu extensia P : reprezintă versiunea predefinită a fi șierelor de tip M.
Fișiere cu extensia MDL : sunt fi șiere reprezentând modele Simulink .
Fișiere cu extensia MAT : sunt fișiere utilizate pentru importul sau exportul de date
înspre sau dinspre MATLAB.
Sistemul MATLAB este format din cinci mari p ărți și anume:
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
33 1. Mediul de dezvoltare . Acesta este un set de unelte de lucru și facilit ăți care ajută la
folosirea func țiilor și fișierelor MATLAB. Numeroase unelte de lucru sunt de fapt
interfe țe grafice utilizato r. Aceste unelte de lucru sunt:
a. Prezentarea pe ecran a mediului MATLAB (MATLAB desktop),
b. fereastra de comand ă (Command Window),
c. istoria comenzilor (Coomand History) ,
d. browser e cu care se poate vedea helpul,
e. spațiul de lucru, etc.
2. Libr aria de func ții matematice MATLAB . Aceasta este o colec ție vast ă de algoritmi
de calcul aranja ți de la func țiile elementare ca suma, sin, cos sau aritmetic a
numerelor complexe pâna la func ții foar te complexe ca inversarea matricilor,
funcții Bessel sau transformata Fourier rapid ă.
3. Limbajul MATLAB . Acesta este un limbaj de nivel înalt bazat pe matrici și arii care
permite controlul efectu ării în flux normal al calculelor, utilizarea funcțiilor, a
structur ării datelor, a introducerii și scoaterii datelor și facilit ăți de programare
orientat ă pe obiecte. Limbajul permite implementarea de mici programe precum și
utilizarea de programe mari.
4. Manipularea graficelor . Acesta este sistemul grafic MATLAB și include comenzi de
nivel înalt pen tru vizualizarea datelor în două sau trei dimensiuni, procesarea
imaginilor, anima ție și prezentarea graficelor. De asemenea acesta include
comenzi de nivel ridicat care permit utilizatorului s ă poată modifica după dorin ță
modul de prezentare al graficelor precum și construirea unei interfe țe grafice
complete pentru o anumit ă aplica ție.
5. Interfa ța program pentru aplica țiile MATLAB API (Application Program
Interface) . Aceasta este o libr ărie care permite utilizatorului s ă scrie programe C
sau Fortran care interac ționeaz ă cu programul MATLAB.
5.1.2. Documentația MATLAB “HELP”
Se poate utiliza browserul de help pentru a c ăuta și vedea o anumit ă documentație
pentru toate produsele MathWorks. Browserul de help este un browser Web integrat în
Matlab pentru a afi șa documente HTML.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
34 Documentatia MATLAB poate s ă fie studiat ă “on line” prin selectarea meniului HELP
din bara de meniuri MATLAB. În cadrul meniului “Using MATLAB” documenta ția este
organizat ă în urm ătoarele subdomenii:
Mediul de Dezv oltare (Development Enviroment ) asigur ă informaț ii complete
despre MATLAB desktop,
Func țiile matematice (Mathematics ) arată cum se folosesc func țiile matematice
și statistice în MATLAB,
Tipuri de da te și programare (Programming and Data Types ) descrie cum se
pot crea diferite scripturi ș i func ții cu ajutorul limbajului MATLAB,
Grafice -(Graphics ) arată cum se pot trasa grafice prin folosirea funcțiilor grafice
oferite de MATLAB,
Vizualizare -3D (3D Vizualisation ) prezint ă cum se utilizeaz ă diferitele vederi,
ilumină ri și transparen țe ale obiectelor desenate pentru a ob ține efecte grafice mai
complexe pornind de la func țiile elementare de desenare,
Interfețe externe/API (Externel Interfaces/ API ) descrie modurile de interfa țare
a programului MATLAB cu programe le C sau Fortran, sau clasele de obiecte
descrise de programul JAVA, folosirea porturilor seriale I/O, ActiveX si DDE,
Crearea de interfete grafice utilizator –(Creating Graphical User Interfaces )
descrie cum se poate utiliza programul MATLAB pentru realiz area de interfe țe
grafice utilizator.
În cadrul meniului “ Referin țe (References )” documenta ția “on line este organizat ă în
următoarele capitole:
Referin țele func țiilor MATLAB (MATLAB Function Reference ) prezintă toate
funcțiile principale MATLAB cu sintaxa lor, de scrierea lor și algoritmul matematic
folosit la realizarea func ției respective,
Referin țe pentru interefe țe externe și API prezint ă acele func ții folosite de c ătre
programul MATLAB la realizarea interfe țelor externe și asigur ă informa ții despre
sintaxa acestor func ții, limbajul prin care au fost descrise, descrierea, a rgumentele,
valorile returnate ș i exemple de utilizare.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
35
5.2. PREZENTAREA EXTENSIEI SIMULINK
SIMULINK este o extensie a aplicației Matl ab, în care pot fi regăsite elemente pentru
modela rea, simularea și analizarea sistemelor dinamice. Pot fi simulate atât sisteme liniare cât
și neliniare, modelate în timp continuu sau discret sau o combinație a celor două. Sistemele
pot avea porțiuni eșantionate cu frecvențe de eșantionare diferite.
Pentru modelarea de sistem este furnizată o interfață grafică intuitivă și foarte ușor de
utilizat. Blocurile sunt plasate și interconectate cu ajutorul mouse -ului ceea ce reprezintă un
foarte mare avantaj (față de scrierea directă a ecuațiilor diferențiale ce definesc un sistem).
SIMULINK oferă o colecție foarte mare de blocuri printre care menționăm :
– generatoare de semnal;
– instrumente de vizualizare;
– blocuri care realizează funcții matematice;
– componente liniare și neliniare, etc.
Setul de blocuri furnizat po ate fi extins oricând cu noi blocuri – este furnizată
documentație completă despre felul cum se poate crea un nou bloc. Mai multe blocuri pot fi
grupate oricând într -un bloc nou, oferind astfel posibilități extinse de analiză la un nivel
superior de organi zare. După definirea unui model nou, simularea se poate efectua atât în mod
grafic cât și cu ajutorul interpreterului.
Cele două instrumente sunt legate unul de celălalt și astfel se poate opta pentru oricare
dintre ele. În continuare vom folosi exclusiv m odul grafic pentru simplitatea utilizării și
datorită faptului că se evită scrierea de cod (consumator de timp și o potențială sursă de erori).
Pentru lansarea programului Simulink se tastează în mediul Matlab comanda:
simulink
Fereastra care se deschide c onține toate blocurile disponibile grupate pe categorii.
În figura 9 este prezentată fereastra SIMULINK care se deschide în urma tastării
comenzii “simulink”.
În partea superioară a figurii 1 sunt marcate iconițele care se pot apăsa pentru crearea
unui doc ument nou sau pentru deschiderea unui fișier ce conține o schemă deja realizată.
Partea centrală a ferestrei este ocupată de componentele propriu -zise organizate în
grupuri.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
36
Fig. 5.2. Fereastra SIMULINK.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
37
5.3. MODELAREA ÎN MEDIUL MATLAB A FILTRELOR
SAVITZKY -GOLAY
În MATLAB șignal Processing Toolbox există funcția sgolayfilt() cu rolul de a
proiecta și implementa filtrele Savitzky -Golay simetrice și nesimetrice.
În general, în utilizarea aproximării polinomiale trebuie respectate câteva condiții
inpor tante. Concret, pentru a realiza netezirea prin metoda Savitzky -Golay, numărul de puncte
(în acest caz 2 M + 1) trebuie să fie strict mai mare decât numărul de coeficienți nedeterminați
N + 1. În plus, dacă gradul polinomului N este prea mare, problema apro ximării este eronat
condiționată și nu vor exista soluții. Deși aceste condiții constituie factori de limitare, se poate
obține o gamă largă de caracteristici în frecvență prin alegerea corespunzătoare a parametrilor
M și N.
Pentru a exemplifica modul de u tilizare a filtrelor Savitzky -Golay la netezirea unui
semnal ECG, a fost scris un fișier MATLAB script, care permite modificarea amplitudinii
semnalului de zgomot, și paremetrii N (gradul polinomului) și 2M + 1 (lățimea ferestrei –
numărul de eșantioane fo losit pentru aproximarea polinomială intr -un punct) prin două
meniuri popup. În Fig. 5. 3, se prezintă interfața grafică cu utilizatorul a modelului realizat.
Interfața din Fig. 5. 3 prezintă trei forme de undă. În ordine, de sus în jos, acestea
reprezintă: semnalul ECG perturbat cu un semnal de zgomot aleator de amplitudine variabilă.
Urmatoarea formă de unda reprezintă semnalul ECG filtrat, iar a treia formă de undă
reprezintă semnalul ECG ideal (curat), pentru a face comparație cu celelalte semnale și în
consecința pentru a putea aprecia eficiența procesului de filtrare.
Modificarea nivelului semnalului de zgomot se realizează prin modificarea cursorului
slider -ului din partea dreaptă sus a figurii. Parametrii filtrului se modifică prin intermediul
celor do uă meniuri popup din cadrul “Parametrii filtrului”.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
38
Fig. 5. 3. Interfața grafică a aplicației prin care se studiază filtrarea unui semnal ECG
cu un filtru Savitzky -Golay cu parametri variabili în limitele stabilite de proiectant.
o La click la but onul Informatii , se deschide în help -ul MATLAB o fereastră în care
sunt date explicații sumare asupra modelului, conform Fig. 5.4.
o Acționarea butonului Inchide conduce la închiderea interfeței grafice.
o O nouă deschidere a interfeței grafice implică lansare a unui scritpt a cărui
denumire de fișier este ECG_filtrare_SG.m .
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
39
Fig. 5. 4. Fereastra “Help” care se deschide la acționarea butonului Informatii .
În cele ce urmează este prezentat scritptul ECG_filtrare_SG.m care are următoarea
componență:
ECG_f iltrare_SG.m
function sgolay_ECG(action);
%SGOLAY_ECG pune in evidenta modul de filtrare al unui semnal ECG prin
utilizarea unui filtru Savitzky -Golay.
% Sunt prezentate trei forme de unda: semnalul ECG afectat de
zgomot,semnalul ECG filtrat
% si sem nalul ECG ideal.
%
% Nivelul semnalului de zgomot se poate modifica prin utilizarea
cursorului din coltul
% din dreapta sus al figurii. Parametrii filtrului Savitzky -Golay se pot
modifica prin
% intermediul a doua meniuri popup.
%
% Filtrele S avitzky-Golay sunt filtre de netezire utilizand metoda celor
% mai mici patrate pentru aproximarea unui set de date cu un polinom de
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
40 % ordin precizat.
%
% Latimea ferestrei indica numarul de esantioane utilizate pentru a
realiza filtrarea
% in fiecare punct. Gradul polinomului indica ordinul polinomului la care
se potiveste fiecare set de date.
%
% Semanlul ECG curat (ideal) este prezentat n partea de jos a figurii
pentru a servi la compararea semnalelor.
% comparison purposes
if nargin==0,
action = 'initialize' ;
end
x1 = ecg(500).';
x = [x1;x1;x1;x1;x1;x1];
y = sgolayfilt(x,0,15); % semnalul curat (ideal)
switch action,
case 'initialize' ,
% Initializarea grafica
hfig = figure( 'NumberTitle' ,'off',…
'Name','Semnal ECG filtrat cu filtru Savitzky -Golay','Position' ,[360
300 750 550]);
bgc = get(0, 'DefaultUIControlBackgroundColor' );
% Cadrul general pentru toate uicontrols
framepos = [.74 .05 .25 .85];
uicontrol( …
'Style','frame',…
'Units','normalized' ,…
'BackgroundColor' ,bgc,…
'Position' ,framepos);
% Cadrul pentru sectiunea parametrilor filtrului
framepos2 = [.75 .36 .23 .23];
uicontrol( …
'Style','frame',…
'Units','normalized' ,…
'ForegroundColor' ,'red',…
'Position' ,framepos2);
% Textul parametrilor filtrului Savitzky -Golay
titlepos = [.76 .57 .17 .03];
titlelabel = ' Parametrii filtrului' ;
uicontrol( …
'String' ,titlelabel, 'fontsize' ,10,…
'Horizont alAlignment' ,'left',…
'Style','text',…
'Units','normalized' ,…
'BackgroundColor' ,bgc,…
'ForegroundColor' ,'black',…
'Position' ,titlepos);
% Meniul Gradului filtrului Savitzky -Golay
menuname1 = 'Gradul polinomulu i N';
tposition1 = [.77 .5 .2 .05];
uicontrol( …
'String' ,menuname1, …
'HorizontalAlignment' ,'left',…
'Style','text',…
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
41 'Units','normalized' ,…
'ForegroundColor' ,'black',…
'Position' ,tposition1);
mposition1 = [.77 .46 .1 .05];
popstr1 = { '0','1','2','3','4'};
degreehndl = uicontrol( 'String' ,popstr1, …
'Style','Popup',…
'Tag','degreepopup' ,…
'Units','normalized' ,…
'Backgroundcolor' ,'white',…
'Position' ,mpositio n1,…
'UserData' ,str2double(popstr1), …
'CallBack' ,'sgolay_ECG(''recal'')' );
% Meniul dimensiunii cadrului filtrului Savitzky -Golay
menuname2 = 'Latimea ferestrei 2M+1' ;
tposition2 = [.77 .4 .2 .05];
uicontrol( …
'String' ,menuname2, …
'Style','text',…
'HorizontalAlignment' ,'left',…
'Units','normalized' ,…
'ForegroundColor' ,'black',…
'Position' ,tposition2);
mposition2 = [.77 .37 .1 .05];
popstr2 = { '5','15','25','55'};
framehnd l = uicontrol( 'String' ,popstr2, …
'Style','Popup',…
'Tag','framepopup' ,…
'Backgroundcolor' ,'white',…
'Units','normalized' ,…
'Position' ,mposition2, …
'UserData' ,str2double(popstr2), …
'CallBack' ,'sgolay_E CG(''recal'')' );
% Slider -ul pentru amplitudinea zgomotului
sliname1 = 'Nivelul zgomotului' ;
tposition4 = [.76 .8 .21 .05];
uicontrol( …
'String' ,sliname1, 'fontsize' ,10,…
'Style','text',…
'Units','normalized' ,…
'BackgroundColor' ,bgc,…
'ForegroundColor' ,'black',…
'Position' ,tposition4);
mposition4 = [.76 .75 .21 .05];
sliderhndl = uicontrol( 'Style','slider' ,…
'Tag','noiseslider' ,…
'Units','normalized' ,…
'Value',0.7,…
'Min',0,'Max',1.4,…
'Position' ,mposition4, …
'CallBack' ,'sgolay_ECG(''recal'')' );
slimin = '0';
tposition5 = [.76 .68 .07 .07];
uicontrol( …
'String' ,slimin, …
'Style','text',…
'Units','normalized' ,…
'HorizontalAlignment' ,'left',…
'ForegroundColor' ,'black',…
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
42 'BackgroundColor' ,bgc,…
'Position' ,tposition5);
slimax = '1.4';
tposition6 = [.9 .68 .07 .07];
uicontrol( …
'String' ,slimax, …
'Style','text',…
'Units','normalized' ,…
'HorizontalAlignment' ,'right',…
'ForegroundColor' ,'black',…
'BackgroundColor' ,bgc,…
'Position' ,tposition6);
% Butoanele "Informatii" si "Inchide"
tposition7 = [.77 .18 .19 .1];
uicontrol( …
'String' ,'Informatii' ,'fontsize' ,11,…
'Units','normalized' ,'BackgroundColor' ,[0 1 0], …
'Position' ,tposition7, …
'Callback' ,'sgolay_ECG(''Informatii'')' );
tposition8 = [.77 .06 .19 .1];
uicontrol( …
'String' ,'Inchide' ,'fontsize' ,11',…
'Units','normalized' ,…
'ForegroundColor' ,'black','BackgroundColor' ,[1 0 0], …
'Position' ,tposition8, …
'Callback' ,'sgolay_ECG(''done'')' );
% Valorile initiale
noise = 0.7;
degree = 0;
frame = 5;
subplot( 'Position' ,[.07 .05 .65 .23]), plot(y, 'black')
axis([0 3000 -.6 .8])
ylabel('Amplitudine' )
title('Semnal ECG ideal' ,'fontweight' ,'b')
ha1 = subplot( 'Position' ,[.07 .67 .65 .23]); plot(y)
axis([0 3000 -.6 .8])
ylabel('Amplitudine' )
title('Semnal ECG perturbat' , 'fontweight' ,'b')
ha2 = subplot( 'Position' ,[.07 .36 .65 .23]); plot(y, 'red')
axis([0 3000 -.6 .8])
ylabel('Amplitudine' )
title('Semnal ECG filtrat' , 'fontweight' ,'b')
ud.handles. ax = [ha1 ha2];
ud.handles.uis = [degreehndl framehndl sliderhndl];
set(hfig, 'UserData' ,ud);
update_gui(y,noise,degree,frame)
case 'recal',
hfig = gcf;
ud = get(hfig, 'UserData' );
hn = ud.handles.uis(3);
hd = ud.handles.uis(1);
hf = ud.handles.uis(2);
noise = get(hn, 'Value');
degindx = get(hd, 'Value');
deg = get(hd, 'UserData' );
degree = deg(degindx);
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
43
frmindx = get(hf, 'Value');
frm = get(hf, 'UserData' );
frame = frm(frmindx);
update_gui(y,noise,degree ,frame)
case 'Informatii' ,
ttlStr = 'Semnal ECG filtrat cu filtru Savitzky -Golay';
hlpStr1= …
[' Aceasta aplicatie prezinta curatirea unui semnal ECG'
sprintf( '\n')…
'prin filt rarea semnalului de zgomot cu un filtru Savitzky -Golay.'
sprintf( '\n')…
'' sprintf( '\n')…
' Aplicatia permite modificarea nivelului semnalului de zgomot '
sprintf( '\n')…
'prin intermediul cursorului din coltul din dreapta s us.
Parametrii filtrului' sprintf( '\n')…
'Savitzky -Golay pot fi modificati prin intermediul a doua meniuri
popup.' sprintf( '\n')…
'' sprintf( '\n')…
' Filtrele Savitzky -Golay sunt filtre de netezire utilizand metoda
celor ma i mici patrate' sprintf( '\n')…
'pentru aproximarea unui set de date cu un polinom de ordin
precizat.' sprintf( '\n')…
'' sprintf( '\n')…
' Latimea ferestrei indica numarul de esantioane utilizate la
filtrare' sprintf( '\n')…
'pentru fiecare punct. Gradul polinomului indica ordinul
polinomului' sprintf( '\n')…
'la care se potriveste fiecare set de date.' sprintf( '\n')…
'' sprintf( '\n')…
' Semnalul ECG curat sau ideal este prezentat in partea de jos a
figurii' sprintf( '\n')…
'in scopul realizarii comparatiei.' ];
helpwin(hlpStr1, ttlStr);
case 'done',
close(gcf);
end
function [s,f] = update_signal(y,noise,degree,frame)
%UPDATE_SIGNAL Recalcuea za semnalele ECG zgomotoase si filtrate.
v = 0.05*noise*randn(3000,1); % zgomot
s = y + v; % semnalul ECG zgomotos
f = sgolayfilt(s,degree,frame);
function update_gui(y,noise,degree,frame)
%UPDATE_GUI Aceasta functie este apekata pentru a upd ata figura la noile
valori.
hfig = gcf;
[s,f] = update_signal(y,noise,degree,frame);
ud = get(hfig, 'UserData' );
axhdlnp = ud.handles.ax(1);
axhdlfp = ud.handles.ax(2);
hdn = get(axhdlnp, 'Children' );
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
44 hdf = get(axhdlfp, 'Children' );
set(hdn, 'YData',s);
set(hdf,'YData',f);
Dacă nivelul semnalului perturbator (nivelul zgomotului) este zero, ceea ce se obține
prin deplasarea cursorului slider -ului pe poziția extremă stânga, semnalul real devine identic
cu semnnalul filtrat și cu cel ideal (după cum este și norm al), ceea ce se poate urmări în Fig.
5.5.
Fig. 5. 5. Formele de undă în cazul în care nivelul semnalului perturbator este nul.
Pentru amplitudinea maximă a semnalului perturbator, parametrii N = 0 și 2 M + 1 = 5
nu se mai realizea za o filtrare corespunzăt oare ( nici măcar comparabilă cu cea din Fig. 5. 3).
Acest lucru se poate observa în Fig. 5. 6.
În acest caz, pentru a se obține o filtrare corespunzatoare, se modifică parametrii
filtrului combinând valorile din cele două meniuri popup, până în momentul în c are forma
semnalului filtrat devine comparabilă cu forma semnalului ideal, conform Fig. 5. 7.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
45
Fig. 5.7. Semnalul filtrat în cazul amplitudinii maxime a semnaluluii de zgomot,
N = 0 și 2 M + 1 = 5.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
46
Fig. 5.8. Semnalul filtrat în cazul amp litudinii maxime a semnaluluii de zgomot,
N = 2 și 2 M + 1 = 25.
5.1. CONCLUZII
Filtrele Savitzky -Golay sunt preferate și chiar în unele domenii supraestimate
deoarece, dacă sunt proiectare corespunzător în concordanță cu forma de undă a unui semnal
deformat de zgomot și esantionat cu o frecvență mult mai mare decât fundamentala sa, acestea
tind să păstreze lățimea și amplitudinea vârfurilor formei de undă. Cu toate că aceste
performanțe sunt explicate adesea prin prisma asemănării formei curbelor aproxinate
polinomial cu formele curbelor semnalului, motivul real constă în proprietățile
caracteristicilor în frecvență ale acestor filtre. Concret, filtrele Savitzky -Goley au o bandă de
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
47 ytrecere extrem de plată și o bandă de blocare cu o atenuare modestă. În plus , filtrele
Savitzky -Golay au faza nulă, ceea ce înseamnă că nu defazează semnalul filtrat. Prin acesta,
dacă semnalul are cea mai mare parte din energie în interiorul benzii de trecere a filtrului,
(ceea ce implică o frecvență de eșantionare cât mai mare), componentele smnalului nu vor fi
distorsionate la reducerea unor frecvențe superioare ale zgomotului, chiar dacă acestea nu sunt
eliminate complet.
Filtrele Savitzky -Golay sunt utilizate adesea în aplicații în care specificațiile
caracteristicilor în frec vență sunt mai precise.
Se poate concluziona că filtrele Savitzky -Golay constituie un mijoc util de netezire a
semnalelor și de conservare a valorilor de vârf ale acestora, dacă perametrii filtrului sunt cu
grijă stabiliți, deoarece o alegere eronată poate deforma semnalul rezultat.
Vârfurile locale late ale semnalului pot fi netezite cel mai bine prin utilizarea unor
polinoame de grad inferior, iar vârfurile ascuțite prin utilizarea polinoamelor de grad superior.
Realiz area de filtre software în Matlab pentru prelucrarea semnalelor EKG Cezar Dan
48
BIBLIOGRAFIE
[1].C., Alexandr escu, „ Contribuții privind exploatarea imaginilor digitale în scopul culegerii
de date pentru sisteme de informații spațiale ”, Teză de doctorat, 2011, București.
[2].Vlaicu, A. 1997, Prelucrarea digitală a imaginilor , Editura Albastră, Cluj -Napoca,
România .
[3].Gonzalez, Woods, Eddins, „ Digital Image Processing Using Matlab ”,
[4].Elena, Punskaya, „ Basics of digital filters ”, material adaptat după cursurile profesorilor
Simion Godsill și Arnăut Doucet.
[5]. ***, UPB, „ Noțiuni de bază în prelucrarea numerică a semnalelor video ”.
[6]. Cârstea, D.C. 2009, Prelucrarea digitală a imaginilor , Buletin de teorie militară, Nr.
2/2009, Bucure ști, România.
[7].Dorina, Isar, Alexandru Isar, „ Filtre ”, Editura Politehnică, Timișoara, 2003.
[8]. Zăvoianu, I. 1999, Fotogram metrie , Editura tehnică, Bucure ști, România.
[9]. Zegheru, N.; Albotă , M 1979, “Introducere în teledetecție ”, Editura Științifică și
Enciclopedică, București, România.
[10]. Vertan, „ Prelucrarea și analiza imaginilor ”, prezentare curs.
[11]. Vertan, „ Prelucrarea și analiza imaginilor ”, 1999.
[12]. Mark, Galer, Les, Horvat, „ Imaginea digitală ”.
[13]. ***, Documentație Matlab/Simulink .
[14]. Ronald W. Schafer, “What Is a Savitzky -Golay Filter?”, http://www –
inst.eecs.berkeley.edu/~ee123/fa11/docs/SGFilter.pdf .
[15]. Cleve Moler, “MATLAB Users' Guide”, https://ccrma.stanford.edu/~jos/matdoc/
matdoc.pdf.
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: Specializarea : Microsisteme [616889] (ID: 616889)
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.
