lektrotehnički fakultet - podgorica rad - prezentacija danilo jankovic.pdf · univerzitet crne...

50
Univerzitet Crne Gore Elektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH ALGORITAMA ZA DETEKCIJU KARAKTERISTIČNIH TAČAKA EKG I PPG SIGNALA Kandidat: Mentor: Danilo Janković Prof. dr Radovan Stojanović 12/15

Upload: others

Post on 28-Jan-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Univerzitet Crne Gore Elektrotehnički fakultet - Podgorica

Specijalistički rad:

PRILOG O RAZVOJU FLEKSIBILNIH ALGORITAMA ZA DETEKCIJU KARAKTERISTIČNIH TAČAKA

EKG I PPG SIGNALA

Kandidat: Mentor:

Danilo Janković Prof. dr Radovan Stojanović

12/15

Page 2: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zahvalnica:

Page 3: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Sadržaj

• Problem

• Uobičajena rješenja

• Predlog rješenja

• Rezultati testiranja

• Zaključak

Page 4: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Problem

• Fleksibilno rješenje za ekstrakciju karakterističnih tačaka EKG i PPG signala u cilju određivanja peak-to-peak intervala i varijabilnosti srčanog ritma.

Page 5: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

EKG – mjerenje

I = VR – VL; II = VR – VF; III = VL – VF

Page 6: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

EKG signal

Karakteristični izgled jedne periode EKG signala

Page 7: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

EKG signal - nastavak

Detaljniji prikaz PQRST segmenta EKG signala

RR – ritam kontrakcija komora PP – ritam kontrakcija pretkomora PQ ili PR – 160 ms, 120-200 ms QRS kompleks – gornje granice 100 ili 110 ms ST segment – 200 ms, vrijeme provođenja miokarda (mišićnog tkiva srca) QT – 350 ms, vrijeme trajanja kontrakcije komora

Page 8: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

PPG - mjerenje

Page 9: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

PPG signal

PPG signal i njegove karakteristične tačke

Page 10: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

PPG signal – nastavak

Talasni oblik PPG signala i njegove važne komponente

Page 11: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zajedničke karakteristike EKG i PPG signala

Periodičnost: (a) PPG i (b) ECG signala

Page 12: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Uobičajena rešenja - Zongov algoritam

Dijagram toka Zongovog algoritma

Page 13: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam - transfer funkcija

• Transfer funkcija niskopropusnog filtra

𝐻 𝑧 = (1 − 𝑧−5)2

(1 − 𝑧−1)2

Iz transfer funkcije može se izvesti diferencna jednačina:

𝐻 𝑧 = 1 − 𝑧−5 2

1 − 𝑧−1 2=𝑌 𝑧

𝑋 𝑧 ⇒

⇒ 𝑦 𝑛 = 2𝑦 𝑛 − 1 − 𝑦 𝑛 − 2 + 𝑥 𝑛 − 2𝑥 𝑛 − 5 + 𝑥 𝑛 − 10

Page 14: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – Sum Slope Function

• Sum Slope Function – SSF

𝑧𝑖 = 𝛥𝑢𝑘,

𝑁

𝑘=𝑖−𝜔

𝛥𝑢𝑘 = 𝛥𝑦𝑘 ∶ 𝛥𝑦𝑘 > 0 0 ∶ 𝛥𝑦𝑘 ≤ 0

gdje je 𝒊 vremenski trenutak, 𝝎 dužina analizirajućeg prozora; 𝟏 + 𝝎 ≤ 𝒊 ≤ 𝑵 , N je ukupni broj odbiraka u ABP zapisu; 𝜟𝒚𝒌 = 𝒚𝒌 −𝒚𝒌−𝟏 , a yk je ABP signal koji je filtriran niskopropusnim filtrom.

Page 15: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – pravilo odlučivanja

• Adaptivni thresholding

• Lokalno pretraživanje oko tačke detekcije radi njenog potvrđivanja

• 150 ms širok prozor, razlika maksimuma i minimuma i njeno poređenje sa zadatom vrijednošću

Page 16: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam - rezultat

Page 17: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – predlog rješenja

• Za analizu i testiranje koriščeni su snimljeni PPG i EKG signali u trajanju od 8 minuta sa frekvencijom odabiranja fs=300 Hz u .mat formatu u vidu strukture. Za razliku od Zongovog algoritma koji uzima ABP za polazni signal, ovdje je uzet PPG signal sa vrha prsta.

• (load(ime_fajla.mat'))

SFresults: [1x1 struct]

labels: [1x1 struct]

meta: [1x1 struct]

param: [1x1 struct]

reference: [1x1 struct]

signal: [1x1 struct].

Page 18: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – predlog rješenja

• Sam signal nalazi se u dijelu signal: co2: [1x1 struct] pleth: [1x1 struct] % PPG signal ecg: [1x1 struct]% EKG signal id: '0015_8min'. ppg_org=signal.pleth.y; % originalni ppg signal iz structure ili ecg_org=signal.ecg.y; % originalni ekg signal iz strukture brojilac=[1 0 0 0 0 -2 0 0 0 0 1];%koeficijenti brojioca Zongove transfer funkcije imenilac=[1 -2 1];%koeficijenti imenioca Zongove transfer funkcije ppg_filt=filter(brojilac,imenilac,ppg_org);%filter funkcija ili ecg_filt=filter(brojilac,imenilac,ecg_org);%filter funkcija

Page 19: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam - predlog rješenja

Rezultat filtriranja

Page 20: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – predlog rješenja

• U sljedećih nekoliko linija koda se postiže kreiranje SSF funkcije

• for k=(i-w):kraj

if (ppg_filt(k)-ppg_filt(k-1)>0)%provjera uslova razlike izmedju dva odbirka

delta_ppg_filt(k)=ppg_filt(k)-ppg_filt(k-1);%ako je veca od nule

smjestamo u delta

else

delta_ppg_filt(k)=0; %ostalo postavimo na nulu

end

end

Page 21: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – SSF PPG

Page 22: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – SSF EKG

Page 23: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zongov algoritam – predlog rješenja sa peakdet

• detekcija preko funkcije peakdet.

signal=delta_ppg_filt(pocetak:kraj); % SSF ppg signal

ili

signal=delta_ecg_filt(pocetak:kraj); % SSF ecg signal

x_signal=(pocetak:1:kraj)/fs; % x osu dijelimo sa fs da bi dobili vrijeme

[maxtab, mintab]=peakdet(signal, delta); %nalazimo pozicije maksimuma i njihove vrijednosti

x1=maxtab(:,1)/fs; %pozicije maksimuma dijelimo sa fs da bi dobili vremensku osu

y1=maxtab(:,2); %vrijednosti maksimuma u tim pozicijama

Page 24: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

„međupeak“

Situacija kada imamo “međupeak” tj. detektovanje ekstremuma koji nije maksimum SSF pulsa

Page 25: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

„međupeak“ - rješenje j=1; ind=0; for i=2:duzina_x1 ibip=x1(i)-x1(i-1);%racunamo IBI(inter bit interval) sto predstavlja vremensku razliku izmedju pozicije dva sudsjedna maksimuma i smjestamo u niz ibi if(ibip<fak)% ukoliko je izracunati interval manji od fakt dodatak=ibip;% smjestamo u promjenljivu dodatak ind=1;% signalizira da postoji vrijednost koja je manja od fakt end if(ibip>fak)%ukoliko je izracunati interval veci od fakt if(ind==1)%i ukoliko je prethodni bio manji od fakt ibi(j)=ibip+dodatak;% izracunatu vrijednost sabiramo sa dodatakom i tu vrijednost smatramo IBI xibi(j)=x1(i);% indeksiranje ibi vektora j=j+1; ind=0;%vracamo ponovo na nulu dodatak=0;%vracamo ponovo na nulu else ibi(j)=ibip;% a ukoliko nismo imali prethodno vrijednost manju od fakt, onda je trenutna izracunata vrijednost pravi IBI xibi(j)=x1(i); j=j+1; end end end Na kraj računamo puls: • mean_heart_rate=60/mean(ibi);% racunamo puls

Page 26: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

SSF signal sa markiranjem maksimuma pulseva, IBI raspodjela i izračunati broj otkucaja u minuti za PPG

Page 27: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

SSF signal sa markiranjem maksimuma pulseva, IBI raspodjela i izračunati broj otkucaja u minuti za EKG

Page 28: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Pan Tompkinov algoritam: Izlazni signal iz algoritma, IBI raspodjela i broj otkucaja u minuti

Page 29: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Praktična realizacija predloženog rješenja - mjerenje pulsa

Pulse Sensor Amped

Arduino UNO R3

Page 30: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Praktična realizacija predloženog rješenja - mjerenje pulsa – Arduino kod

//ARDUINO PPG int sensorValue; int i; void setup(){ // pokreće se samo jednom, kada se skeč startuje Serial.begin(19200); // postavlja Serial biblioteku na brzinu 19200 bps } void loop() // petlja{ for (int i=0; i <= 511; i++){ // uzima jedan frejm od 512 odbiraka sensorValue = analogRead(A0); //čita analogni signal sa A0, tj. sa senzora Serial.print(sensorValue);//šalje podatke na serijski port kao ASCII tekst Serial.print(" "); // šalje sa space-om npr. 324 564 567 .... delay(10); //frekvencija odabiranja oko 100 Hz f=100 Hz // (f = 1/T = 1/(10*10-3 s)). } Serial.println(""); //postavlja CR/LF terminator na kraju svakog frejma }

Page 31: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Praktična realizacija predloženog rješenja - mjerenje pulsa – MATLAB GUI COMM_P=serial('COM5','BaudRate',19200,'InputBufferSize',8096);

Izgled MATLAB korisničkog interfejsa

Page 32: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Praktična realizacija predloženog rješenja - mjerenje pulsa – MATLAB GUI

Prikaz originalnog, filtriranog i SSF signala (opcija 1)

Page 33: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Praktična realizacija predloženog rješenja - mjerenje pulsa – MATLAB GUI

Prikaz SSF signala sa markiranim maksimumima, SSF signala sa markiranim počecima uspona pulsa i IBI raspodjele (opcija 2)

Page 34: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 35: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 36: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 37: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 38: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 39: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja

Page 40: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Rezultati testiranja - analiza

MSE: 0.000003628318584

RMSE: 0.001904814579971

MSE: 0.002636823992134

RMSE: 0.051350014529051

MSE: 0.002615181907571

RMSE: 0.051138849298467

• Srednje kvadratne greške koje se javljaju su uglavnom ispod 100 ms

• Uzimajući za analizu ukupnu bazu podataka koju sam testirao, vrijednost srčanog ritma je varirala manje od 5 otkucaja/minuti kod 32 poređenja (od ukupno 35), tj. 91.43%, dok su kod ostalih signala vrijednosti varirale iznad 5 otkucaja/minuti. Srednja kvadratna greška je u 92/105 (87.62%) poređenja bila ispod 100 ms.

Page 41: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Originalni PPG signal, filtrirani PPG signal i SSF signal u mirovanju

Page 42: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

SSF signal sa markiranim maksimumima, SSF signal sa

markiranim počecima uspona pulsa, IBI raspodjela i trenutna vrijednost srčanog ritma u mirovanju

Page 43: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Uticaj ambijentalne svjetlosti

Page 44: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Uticaj fizičkog napora

Page 45: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Pomjeranje senzora

Page 46: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Nepotpuna pokrivenost površine

senzora kožom

Page 47: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Preveliki pritisak kože na senzor

Page 48: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Zaključak

• Na bazi rečenog, iz prethodnih simulacija se može izvesti zaključak da postoji visok stepen korelacije između izračunatih i analiziranih karakteristika EKG i PPG signala dobijenih preko predložene modifikacije Zongovog algoritma i Pan-Tompkinovog algoritma. Primjenjivost predloženog algoritma je pokazana kroz praktičnu realizaciju pomoću senzora i mikrokontrolera.

Page 49: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

Pitanja?

Page 50: lektrotehnički fakultet - Podgorica rad - prezentacija Danilo Jankovic.pdf · Univerzitet Crne Gore lektrotehnički fakultet - Podgorica Specijalistički rad: PRILOG O RAZVOJU FLEKSIBILNIH

HVALA NA PAŽNJI !