algoritma qrs detection
Embed Size (px)
TRANSCRIPT
-
7/23/2019 Algoritma Qrs Detection
1/37
Algoritma Deteksi QRS
Sebuah algoritma deteksi QRS real-timedikembangkan oleh Pan dan Tompkins (1985) adalah
lanjut dijelaskan oleh Hamilton dan Tompkins (198)! "a mengakui kompleks QRS didasarkan
pada analisis lereng# amplitudo# dan lebar! $ambar 1%!9 menunjukkan berbagai &ilter 'ang
terlibat dalam analisis sin'al $! *ntuk meredam kebisingan# sin'al dile+atkan melalui
bandpass filter terdiri dari high-pass filter dan low-pass filter! Proses berikutn'a adalah
differentiator#squaring operation# dan moving average filterdari sin'al!
Gambar
12,9
tahap
,ilter dari detektor QRS!Z (n)adalah sin'al +aktu rata-rata! Y (n)adalah bandpass filtersin'al
$# danx (n)adalah deri.ati.e sin'al $!
*ntuk meran/ang bandpass filter dari &ilter digital han'a membutuhkan koe&isien bulat! "ni
memungkinkan mikroprosesor untuk melakukan proses sin'aling han'a menggunakan aritmatika
integer# sehingga memungkinkan ke/epatan pemrosesan real-time 'ang akan sulit untuk
men/apai dengan proses floating-point. 0arena itu tidak mungkin untuk se/ara langsung
meran/ang bandpass filter 'ang diinginkan dengan pendekatan khusus ini# oleh karena itu desain
bandpass filter sebenarn'a 'aitu terdiri dari low-pass filter dan high-pass filter! ,ungsi dari
bandpass filter ini adalah untuk mengisolasi energi QRS dominan berpusat di &rekuensi 1 H2#
melemahkan &rekuensi rendah dari karakteristik gelombang P dan T dan baseline dri&t# dan juga
melemahkan &rekuensi 'ang lebih tinggi terkait dengan kebisingan dan saluran listrik
elektromiografi interference!
-
7/23/2019 Algoritma Qrs Detection
2/37
3angkah berikutn'a adalah proses differentiator# suatu teknik 'ang digunakan untuk menemukan
lereng tertinggi 'ang biasan'a ber&ungsi untuk membedakan kompleks QRS dari gelombang
$ lainn'a! Pada tahapan algoritma ini# semua proses dilakukan oleh &ilter digital linier!
Selanjutn'a adalah proses squaring, dimana pada proses ini menggunakan sebuah trans&ormasi
nonlinear'ang akan mengkuadratkan setiap titik dari sampel sin'al 'ang ada! Trans&ormasi ini
ber&ungsi untuk membuat semua data positi& sebelum masuk ke tahap integrasi berikutn'a# dan
juga menonjolkan &rekuensi 'ang lebih tinggi dalam sin'al 'ang diperoleh dari proses
di&erensiasi! 4imana &rekuensi 'ang lebih tinggi biasan'a merupakan karakteristik kompleks
QRS!
moving average filter! "ni integrator merangkum daerah di ba+ah gelombang kuadrat selama
suatu inter.al 15-ms# kemajuan satu inter.al sampel# dan mengintegrasikan jendela 15-ms
baru! 0ami memilih +in-the lebar do+ untuk menjadi /ukup lama untuk memasukkan durasi
+aktu diperpanjang normal QRS kompleks# tapi /ukup singkat sehingga tidak tumpang tindih
kedua kompleks QRS dan gelombang T!
mbang batas amplitudo adapti& diterapkan pada gelombang bandpass-disaring dan gelombang
integrasi bergerak didasarkan pada estimasi terus diperbarui dari tingkat sin'al pun/ak dan
kebisingan pun/ak! Setelah deteksi a+al oleh adapti.e threshold# proses pengambilan keputusan
membuat keputusan akhir# apakah atau bukan a/ara terdeteksi adalah kompleks QRS!
Sebuah algoritma pengukuran menghitung durasi QRS karena setiap kompleks QRS terdeteksi!
4engan demikian# dua &itur 'ang tersedia untuk gelombang aritmia berikutn'a analisis RR
inter.al +aktu dan durasi QRS!
0$ 4eteksi QRS
Setiap tahapan dalam teknik deteksi QRS ini dijelaskan sebagai berikut bagian! $ambar 1%!1
adalah 0$ sampel 'ang akan ber&ungsi sebagai sin'al masukan /ontoh untuk pengolahan
langkah-langkah untuk mengikuti!
-
7/23/2019 Algoritma Qrs Detection
3/37
Ga
mbar 12.10lektrokardiogram sampel pada % sampel per detik!
12.5.1 Bandpass integer filter
andpass filter untuk algoritma deteksi QRS mengurangi kebisingan di 0$ signal dengan
men/o/okkan spektrum kompleks QRS rata-rata! 4engan demikian# melemahkan kebisingan
akibat kebisingan otot# gangguan- H2# a+al merantau# dan T-gelombang antar inter&erensi!
Passband 'ang memaksimalkan energi QRS adalah sekitar dalam 5-15 H2# seperti dibahas
dalam bagian 1%!1! ,ilter diimplementasikan dalam lgoritma adalah rekursi& integer &ilter di
mana kutub terletak untuk membatalkan nol pada unit lingkaran bidang !.Sebuah lo+-pass dan
high-pass &ilter mengalir untuk membentuk bandpass filter!
Low-pass filter
,ungsi trans&er orde kedua lo+-pass &ilter
H(z )=(1z6)2
(1z1)2
Perbedaan persamaan &ilter ini adalah
" (n#)6 %" (n#- #)-" (n#- % #)7x (n#)- %x (n#- #)7x (n#- 1% #)
-
7/23/2019 Algoritma Qrs Detection
4/37
,rekuensi /uto&& adalah sekitar 11 H2# penundaan itu lima sampel (atau %5 ms untuk sampling
laju % sps)# dan gain ! *ntuk menghindari kejenuhan# keluar- menempatkan dibagi dengan
%# nilai bilangan bulat terdekat dengan gain 'ang dapat implementasi didokumentasi dengan
biner aritmatika shi&t!
int 3o+Pass,ilter (int data)
stati/ int '1 6 # '% 6 # : ;%> 1) 7 : ;n 7 1%
-
7/23/2019 Algoritma Qrs Detection
5/37
Gambar 12.12Rendah-pass &ilter! a) plot 0utub-nol! b) respon mplitudo! /) Tahap respon!
$ambar 1%!1 menunjukkan 0$ $ambar 1%!1 setelah pengolahan dengan lo+-pass
men'aring! Hasil 'ang paling men/olok adalah redaman semakin tinggi &rekuensi QRS
kompleks! 0ebisingan -H2 atau kebisingan otot ini akan juga telah signi&ikan- signi&ikan
dilemahkan!
-
7/23/2019 Algoritma Qrs Detection
6/37
Gambar 12.1Rendah-pass disaring 0$!
Highpass filter
$ambar 1%!1E menunjukkan bagaimana tinggi-pass &ilter diimplementasikan dengan
mengurangkan pertama- *ntuk lo+-pass &ilter dari semua-pass &ilter dengan keterlambatan! The
lo+-pass &ilter adalah integer koe&isien &ilter dengan &ungsi trans&er
Hlp(z)=Y(z)X(z )
=1z32
1z1
dan persamaan perbedaan
" (n#)6" (n#- #)7x (n#)-x (n#- % #)
,ilter ini memiliki gain d/ % dan penundaan 15#5 sampel! High-pass &ilter diperoleh dengan
membagi output dari lo+-pass &ilter dengan gain d/ dan kemudian mengurangi dari sin'al asli!
,ungsi trans&er high-pass &ilter adalah
Hhp (z )=P (z )X(z )
=z16Hlp(z)32
Persamaan beda untuk &ilter ini
p(nT)=x(nT16T) 1
32 $" (n#- #)7x (n#)-x (n#- % #)%
-
7/23/2019 Algoritma Qrs Detection
7/37
Gambar 12.1!high- pass &ilter
diimplementasikan dengan
mengurangi &ilter lo+- pass dari semua-
pass &ilter dengan keterlambatan!
Rendahn'a &rekuensi /uto&& dari &ilter ini adalah sekitar 5 H2# penundaan itu sekitar 1 #(atau
8 ms)# dan gain adalah 1! $ambar 1%!15 menunjukkan program -bahasa 'ang implementasi-
ini high-pass &ilter!
int HighPass,ilter (int data)
stati/ int '1 6 # : ;
-
7/23/2019 Algoritma Qrs Detection
8/37
Gambar 12.1"High-pass &ilter! a) mplitudo respon! b) Tahap respon!
$ambar 1%!1F menunjukkan respon amplitudo dari bandpass filter'ang /om- berpose dari
kaskade dari &ilter lo+-pass dan high-pass! Pusat &rekuensi passband berada pada 1 H2!
Tanggapan amplitudo &ilter ini diran/ang untuk approksimat spektrum rata-rata QRS kompleks
seperti 'ang diilustrasikan pada $ambar 1%!1! Dadi &ilter ini se/ara optimal mele+ati
karakteristik &rekuensi kompleks QRS sementara pelemahan sin'al &rekuensi rendah dan tinggi!
%5
Gambar 12.1#Respon mplitudo bandpass filterterdiri dari lo+-pass dan high-pass &ilter!
-
7/23/2019 Algoritma Qrs Detection
9/37
$ambar 1%!18 adalah sin'al 'ang dihasilkan setelah 0$ $ambar 1%!1 mele+ati bandpass
filter! Perhatikan atenuasi gelombang T karena high-pass &ilter!
Gambar 12.1$Aandpass-&ilter 0$!
12.5.2 Deri%atif
Setelah sin'al telah disaring# 'ang kemudian dibedakan untuk memberikan in&ormasi tentang
kemiringan kompleks QRS! Sebuah turunan lima poin memiliki &ungsi trans&er
42+z1z32z
H(z )=0.1
4eri.ati& ini diimplementasikan dengan persamaan perbedaan
y (nT)=2x (nT)+x (nTT)x (nT3T)2x (nT4T)
8
,raksi 1B8 adalah perkiraan keuntungan 'ang sebenarn'a dari #1! Sepanjang ini desain &ilter#
kita parameter perkiraan dengan kekuatan-o&-dua nilai untuk mem&asilitasi real-time operasi! "ni
po+er-o&-dua perhitungan diimplementasikan dalam bahasa dengan shi&t-kiri atau shi&t kanan!
-
7/23/2019 Algoritma Qrs Detection
10/37
4eri.ati& ini mendekati deri.ati& 'ang ideal di d/ melalui -H2 rentang &rekuensi! 4eri.ati&
memiliki dela' &ilter % #(atau 1 ms)! $ambar 1%!19 menunjukkan program bahasa untuk
menerapkan deri.ati& ini!
int 4eri.ati& (int data)
int '# i=
stati/ int :Gder. ;E= i 7 7)
:Gder. ;i< 6 :Gder. ;i 7 1
-
7/23/2019 Algoritma Qrs Detection
11/37
Gambar 12.20deri.ati&! a) mplitudo respon! b) Tahap respon!
Gambar 12.210$ setelah pen'aringan bandpass dan di&erensiasi!
12.5. f&ngsi mengk&adratkan
Proses sebelumn'a dan integrasi bergerak-jendela# 'ang dijelaskan dalam bagian berikutn'a#
adalah bagian pengolahan linear dari detektor QRS! Jengkuadratkan &ungsi 'ang sin'al
sekarang mele+ati adalah operasi nonlinier! Persamaan 'ang mengimplementasikan operasi ini
-
7/23/2019 Algoritma Qrs Detection
12/37
y (nT)=[x (nT)]2
Cperasi ini membuat semua titik data dalam olahan sin'al positi dan ampli&ies output dari
proses deri.ati& nonlinearl'! "ni menekankan tinggi &rekuensi dalam sin'al# 'ang terutama
disebabkan oleh kompleks QRS! Sebuah &akta 'ang perlu diperhatikan dalam operasi ini adalah
bah+a output dari tahap ini harus hardlimited ke tingkat maksimum tertentu sesuai dengan
jumlah bit 'ang digunakan untuk me+akili setiap data dari sin'al! $ambar 1%!%% menunjukkan
hasil pengolahan ini untuk sampel kami 0$!
Gambar 12.22sin'al $ setelah mengkuadratkan &ungsi!
12.5.! 'inda( )endela terpisa(kan
0emiringan gelombang R saja tidak /ara dijamin untuk mendeteksi a/ara QRS! Aan'ak QRS
kompleks abnormal 'ang memiliki amplitudo 'ang besar dan jangka +aktu 'ang panjang (tidak
sangat /uram lereng) mungkin tidak terdeteksi menggunakan in&ormasi tentang kemiringan R
gelombang saja! 4engan demikian# kita perlu untuk mengambil lebih ban'ak in&ormasi dari
sin'al untuk mendeteksi QRS!
Pindah jendela integrasi ekstrak &itur di samping kemiringan R gelombang! Hal ini
diimplementasikan dengan persamaan perbedaan berikutK
nT(N2)T++x (nT)x (nT(N1)T)+x
y (nT)=1
N
-
7/23/2019 Algoritma Qrs Detection
13/37
di mana&adalah jumlah sampel dalam lebar jendela bergerak! Lilai parameter ini harus dipilih
dengan hati-hati!
$ambar 1%!% menunjukkan output dari jendela bergerak terpisahkan untuk sampel 0$
$ambar 1%!1! $ambar 1%!%E menggambarkan hubungan antara QRS kompleks dan jendela
lebar! 3ebar jendela harus sekitar sama dengan kompleks QRS seluas mungkin! Dika ukuran
jendela terlalu besar# gelombang integrasi akan menggabungkan QRS dan T kompleks bersama-
sama! 4i Sebalikn'a# jika ukuran jendela terlalu ke/il# kompleks QRS bisa menghasilkan
beberapa pun/ak pada output dari panggung! 3ebar jendela harus harus dipilih se/ara
eksperimental! *ntuk tingkat sampel % sample per se/on (sps)# jendela 'ang dipilih untuk ini
lgoritma adalah sampel lebar ('ang sesuai dengan 15 ms)!
Gambar 12.2Sin'al setelah pindah integrasi jendela!
Gambar 12.2!Hubungan kompleks QRS dengan bentuk gelombang integrasi bergerak! ()
0$ sin'al! (A) Cutput memindahkan jendela integrator! QSK lebar QRS! MK lebar integrator
+indo+!
-
7/23/2019 Algoritma Qrs Detection
14/37
$ambar 1%!%5 menunjukkan program bahasa 'ang mengimplementasikan bergerak +indo+
integrasi!
int Jo.ingMindo+"ntegral (int data)
stati/ int : ;%
-
7/23/2019 Algoritma Qrs Detection
15/37
adalah dari gelombang T# noise otot# dll Setelah sin'al 0$ telah berlalu melalui tahap &ilter
bandpass# rasio peningkatan signal-to-noise n'a! "2in ini penggunaan ambang batas 'ang tepat di
atas tingkat pun/ak kebisingan! 4engan demikian# se/ara keseluruhan sensiti.itas detektor
membaik!
Gambar 12.2"QRS sin'al detektor! () *n&iltered 0$! (A) Cutput bandpass filter! ()
Cutput setelah bandpass# di&erensiasi# dan mengkuadratkan proses! (4) khir bergerak-+indo+terpisahkan!
4ua set ambang batas 'ang digunakan# masing-masing memiliki dua tingkat ambang batas! Set
ambang batas 'ang diterapkan pada gelombang dari integrator jendela bergerak adalah
'*6 #1%5 7 #8F5+* '*
jika+*adalah pun/ak sin'al
&*6 #1%5 7 #8F5+* &*
jika+*adalah pun/ak kebisingan
#+'/01 *26&*7 #%5 ('*-&*)
#+'/01 *36 #5 #+'/01 *2
-
7/23/2019 Algoritma Qrs Detection
16/37
Semua .ariabel dalam persamaan ini menga/u pada sin'al gelombang integrasi dan dijelaskan
sebagai berikutK
+*adalah pun/ak keseluruhan!
'*adalah estimasi menjalankan pun/ak sin'al!
&*adalah estimasi menjalankan pun/ak kebisingan!
#+'/01 *2adalah ambang batas pertama kali diterapkan!
#+'/01 *3adalah ambang batas kedua diterapkan!
Sebuah pun/ak ditentukan ketika sin'al perubahan arah dalam +aktu tertentu "nter.al! 4engan
demikian# '*adalah pun/akn'a bah+a algoritma telah belajar bah+a dari QRS kompleks#
sementara &*pun/ak adalah setiap pun/ak 'ang tidak berhubungan dengan sin'al diterest!
Seperti dapat dilihat dari persamaan# nilai-nilai baru dari ambang dihitung dari 'ang sebelumn'a#
dan dengan demikian algoritma men'esuaikan dengan perubahan sin'al $ dari orang tertentu!
Setiap kali pun/ak baru terdeteksi# harus dikategorikan sebagai pun/ak kebisingan atau pun/ak
sin'al! Dika tingkat pun/ak melebihi #+'/01 *2selama analisis pertama sin'al# maka itu
adalah pun/ak QRS! "& sear/hba/k te/hniNue (e:plained in the ne:t se/tion) is used# then the
signal peak should e:/eed #+'/01 *3to be /lassi&ied as a QRS peak! "& the QRS /omple:
is &ound using this se/ond threshold le.el# then the peak .alue adjustment is t+i/e as &ast as
usualK
'*6 !%5+*7 !F5 '*
The output o& the &inal &iltering stages# a&ter the mo.ing +indo+ integrator# must be dete/ted &or
peaks! peak dete/tor algorithm &inds peaks and a dete/tion algorithm stores the ma:imum
le.els at this stage o& the &iltered signal sin/e the last peak dete/tion! ne+ peak is de&ined onl'
+hen a le.el that is less than hal& the height o& the peak le.el is rea/hed! ,igure 1%!%F illustrates
that this o//urs hal&+a' do+n the &alling edge o& the peak (Hamilton and Tompkins# 198)!
-
7/23/2019 Algoritma Qrs Detection
17/37
+ig&re 12.2#Cutput a&ter the mo.ing +indo+ integrator# +ith peak dete/tion point!
12.5." Sear(bak te(ni-&e
To implement the sear/hba/k te/hniNue# this algorithm maintains t+o RR-inter.al a.erages! Cne
a.erage# 4+5+2# is that o& the eight most re/ent heartbeats!
The other a.erage# 4+5+3# is the a.erage o& the eight most re/ent beats +hi/h had
inter.als that &ell +ithin a /ertain range!
.alues are theinter.als that &ell +ithin the &ollo+ing limitsK
0/6 0*7*# 8 93O 4+5+3
*5 0*7*# 8 22:O 4+5+3
Mhene.er the QRS +a.e&orm is not dete/ted &or a /ertain inter.al#
7*''+1 0*7*## then the QRS is the peak bet+een the established thresholds
mentioned in the pre.ious se/tion that are applied during sear/hba/k!
7*''+1 0*7*# 8 2::O 4+5+3
The heart rate is said to be normal i& ea/h o& the eight most re/ent RR inter.als are
-
7/23/2019 Algoritma Qrs Detection
18/37
bet+een the limits established b' 0/6 0*7*#and *5 0*7*#!
12.5.# 'erformane meas&rement
Me tested the per&orman/e o& the algorithm on the %E-hour annotated J"TBA"H database# +hi/h
is /omposed o& hal&-hour re/ordings o& $s o& E8 ambulator' patients (see re&eren/es#
J"TBA"H $ database)! This database# a.ailable on 4 RCJ# +as de.eloped b'
Jassa/husettsa "nstitute o& Te/hnolog' and Aeth "srael Rumah Sakit! The total error in anal'2ing
about 11# beats is !8 per/ent# /orre- sponding to an a.erage error rate o& beats per hour!
"n &a/t# mu/h o& the error /omes &rom &our parti/ular hal&-hour tape segments (ie# t+o hours o&
data &rom the total database)!
,igure 1%!%8 sho+s the e&&e/t o& e:/luding the &our most problemati/ hal&-hour tapes &rom the
o.erall results! Loti/e that the &alse-positi.e errors de/rease mu/h more than do the &alse
negati.es! This di&&eren/e indi/ates that this algorithm is more likel' to mis/lassi&' noise as a
QRS /omple: than it is to miss a real e.ent! limination o& these &our hal&-hour tape segments
redu/es the error rate belo+ 1 beats per hour! nother a.ailable $ database +as de.eloped
b' the meri/an Heart sso/iation (see re&eren/es# H $ database)!
+ig&re 12.2$Per&orman/e o& QRS dete/tion so&t+are! The total error o& the QRS dete/tion
algorithm /an be substantiall' redu/ed b' sele/ti.el' eliminating problem tapes in the database!
12." AB/ RA*3 4G 'R4SS6G AGR*73
This lab lets 'ou look inside the inner +orkings o& the algorithm QRS dete/tion
algorithm de.eloped b' Pan and Tompkins (1985) that is des/ribed in se/tion 1%!5!
-
7/23/2019 Algoritma Qrs Detection
19/37
3oad *M 4igiS/ope# sele/t
ad8: ps
# 0emudian
8Q:RS detet
!
12.".1 QRS detetor algorit(m proessing steps
Cbser.e the output o& ea/h o& the stages in the QRS dete/tor! Sket/h or print one
/'/le o& the original $ signal and the outputs o& the lo+-pass# bandpass# deri.a-
ti.e# sNuaring# and mo.ing +indo+ integrator stages! Lote the &ilter dela' at ea/h
o& these stages!
12.".2 ffet of t(e %al&e of t(e Qof a filter on QRS detetion
"mplement se.eral t+o-pole re/ursi.e &ilters +ith 1F-H2 /enter &reNuen/ies to
obser.e the e&&e/ts o& di&&erent .alues o& ;on the $# as in se/tion 1%!%!1! pa
.alue o& rprodu/es the most desirable response &or dete/ting the QRS /omple:
12.". nteger filter proessing of t(e 4G
Jenggunakan
8G:en;a%e
to generate an $ signal sampled at 1 H2! Pro/ess this signal
+ith a &ilter ha.ing the &ollo+ing di&&eren/e eNuation!
"( n#) 6 %"( n# #) "( n# % #) 7 %"( n# #) "( n# E #)
7x( n#) %x( n# 1% #) 7x( n# %E #)
Cbser.e the output and note the duration o& the ringing!
'age 1
2"
12
-
7/23/2019 Algoritma Qrs Detection
20/37
Selama beberapa tahun terakhir# telah terjadi tren peningkatan terhadap pengolahan
elektrokardiogram (0$) menggunakan mikrokomputer! Sebuah sur.ei literatur dalam re-
area pen/arian menunjukkan bah+a sistem berbasis mikrokomputer dapat tampil diperlukan
pela'anan medis dengan /ara 'ang sangat e&isien! Aahkan# ban'ak sistem memiliki al-
siap telah diran/ang dan dilaksanakan untuk melakukan tugas-tugas pemrosesan sin'al seperti
1%-memimpin o&&-line analisis 0$# analisis Holter tape# dan pasien real-time monitor
ing! Semua aplikasi ini membutuhkan deteksi akurat dari kompleks QRS dari
0$! Sebagai /ontoh# monitor aritmia untuk pasien ra+at jalan menganalisis 0$
se/ara real time (Pan dan Tompkins# 1985)# dan ketika aritmia terjadi# memantau#
tor men'impan segmen +aktu normal 0$! "ni sema/am monitor membutuhkan
kemampuan pengenalan QRS akurat! 4engan demikian# QRS deteksi merupakan bagian penting
dari
ban'ak 0$ sistem pemrosesan sin'al!
Aab ini membahas beberapa dari ban'ak teknik 'ang telah dikembangkan untuk
mendeteksi kompleks QRS dari 0$! "ni dimulai dengan diskusi tentang kekuatan
spektrum 0$ dan melanjutkan dengan meninjau berbagai algoritma deteksi QRS!
12.1 DA=A S'3 DAR
-
7/23/2019 Algoritma Qrs Detection
21/37
0$ 4eteksi QRS
%F
$ gelombang berisi# di samping kompleks QRS# gelombang P dan T#
-H2 noise dari gangguan po+erline# J$ dari otot# gerak arte&ak dari
elektroda dan antarmuka kulit# dan mungkin gangguan lainn'a dari elektro-
alat bedah di ruang operasi! Aan'ak instrumen klinis seperti mobil-
diota/hometer dan monitor aritmia membutuhkan akurat real-time QRS dete/-
tion! Hal ini diperlukan untuk mengekstrak sin'al bunga# kompleks QRS# dari
sumber-sumber kebisingan lain seperti gelombang P dan T! $ambar 1%!1 meringkas relati&
da'a spektrum 0$# QRS kompleks# gelombang P dan T# arte&ak gerak# dan
noise otot berdasarkan penelitian kami sebelumn'a (Thakor et al.,198)!
$erakan
arte&ak
0ompleks QRS
P-T
ombak
Ctot kebisingan
1!
!8
!
!E
!%
!
5
1
15
%
%5
5
-
7/23/2019 Algoritma Qrs Detection
22/37
E
0ekuasaan relati&
,rekuensi (H2)
0$
Gambarda'a spektrum 12,1relati& kompleks QRS# gelombang P dan T# kebisingan otot dan
gerak
arte&ak berdasarkan rata-rata 15 den"ut.
12.2 BA6D'ASS '6=AR6GA6 *
-
7/23/2019 Algoritma Qrs Detection
23/37
15
%
%5
5
E
Relati& besarn'a
,rekuensi (H2)
SLR
Aandpass
men'aring
Gambar 12.2Plot rasio signal-to-noise (SLR) dari kompleks QRS dire&erensikan ke semua
lainn'a
sin'al suara berdasarkan 8F5 jantung berdetak! Iang optimal bandpass filteruntuk
/ardiota/hometer maks-
imi2es SLR!
12.2.1 D&atiang rek&rsif pen?aring
Sebuah sederhana dua kutub rekursi& &ilter dapat diimplementasikan dalam bahasa band-
mele+atkan sin'al 0$! Perbedaan persamaan untuk &ilter adalah
" (n#)6 1#8F5" (n# - #)- #9%19" (n# -% #)7x (n#)-x (n#- % #)
(1%!1)
4esain &ilter ini mengasumsikan bah+a sin'al 0$ sampel pada 5 sampel B s! "tu
nilai 1#8F5 dan #9%19 adalah perkiraan dari nilai-nilai desain 'ang sebenarn'a dari
1#8F5 dan #9%1 masing-masing! 0arena koe&isien direpresentasikan sebagai kekuatan
dua# operasi perkalian dapat diimplementasikan relati& /epat menggunakan
pergeseran operator dalam bahasa ! $ambar 1%! menampilkan &ragmen kode 'ang
mengimplementasikan N! (1%!1)!
'age !
0$ 4eteksi QRS
%9
-
7/23/2019 Algoritma Qrs Detection
24/37
t+oPoleRe/ursi.e (int data)
int :nt statis# UJ1# UJ%# ILT# 'm1# 'm% 6 =
:nt 6 data=
ILT 6 ('m1 7 'm1 ?? 1 7 'm1 ?? % 7 'm1 ?? ) 7
(Im% ?? 1 7 'm% ?? % 7 7 'm% ??
'm% ?? 5 7 'm% ?? ) 7 :nt - UJ%=
UJ% 6 UJ1=
UJ1 6 :nt=
UJ% 6 'm1=
'm% 6 'm1=
'm1 6 ILT=
kembali (ILT)=
@
Gambar 12.-kode bahasa untuk menerapkan sederhana dua kutub rekursi& &ilter!
Perhatikan bah+a dalam kode ini# koe&isien 1#8F5 dan #9%1 diperkirakan dengan
1#8F5 6 1 7
1
%
7
1
E
7
1
8
dan
#9%19 6
1
%
7
1
-
7/23/2019 Algoritma Qrs Detection
25/37
E
7
1
8
7
1
%
7
1
E
12.2.2 nteger pen?aring
Sebuah perkiraan ,ilter integer dapat direalisasikan dengan menggunakan bentuk umum dari
trans&er
&ungsi 'ang diberikan dalam Aab F! QRS detektor untuk aplikasi /ardiota/hometer &re-
Nuentl' bandpass sin'al 0$ menggunakan &rekuensi 1F H2 pusat! The denominasi
hal persatuan dari bentuk umum dari &ungsi trans&er memungkinkan untuk tiang pada # 9# dan
1%# dan ini sesuai dengan pusat &rekuensi bandpass filter#B # #B E#
dan #B H2# masing-masing! Pusat &rekuensi 'ang diinginkan sehingga dapat diperoleh dengan
memilih &rekuensi sampling 'ang tepat!
hlstrom dan Tompkins (1985) menjelaskan &ilter 'ang berguna untuk deteksi QRS 'ang
berdasarkan &ungsi trans&er berikutK
(!) 8
(1 -!
-1%
)
%
(1 -!
-1
7Z
-%
)
-
7/23/2019 Algoritma Qrs Detection
26/37
%
(1%!%)
,ilter ini memiliki %E angka nol pada 1% &rekuensi 'ang berbeda pada unit lingkaran dengan
tiang di
V W! Sin'al 0$ sampel pada % sps# dan kemudian algoritma titik balik
digunakan untuk mengurangi tingkat sampling hingga 1 sps! Pusat &rekuensi pada 1#F H2
dan band+idth nominal adalah V 8# H2! 4urasi dering adalah kira-
kira %E ms (bagian berikutn'a menjelaskan e&ek 'ang berbeda pen'aring ;s)! "tu
perbedaan persamaan untuk melaksanakan &ungsi trans&er ini adalah
7alaman 5
2!0Aiomedis 4igital Signal Pro/essing
" (n#)6 %" (n#- #)- " (n#- % #)7 %" (n#- #)-" (n#- E #)
7< (n#)- %x (n#- 1% #)7x (n#- %E #)
(1%!)
12.2. tanggapan +ilter &nt&k berbagai nilai Q
Lilai ;dari bandpass filterberpusat dif
c
6 1F H2 menentukan seberapa baik
sin'al bunga dile+atkan tanpa dilemahkan! Hal ini juga diperlukan dalam-
lipatan SLR dari sin'al bunga# 'aitu# kompleks QRS! ;dari &il-
ter dihitung sebagai
;6
f
c
6
(1%!E)
Sebuah nilai ;'ang terlalu tinggi akan menghasilkan respon 'ang sangat berosilasi (Thakor et
al!# 198E)! Riak harus mereda dalam +aktu % ms! Hal ini diperlukan agar
riak dari satu kompleks QRS tidak mengganggu riak dari 'ang berikutn'a!
-
7/23/2019 Algoritma Qrs Detection
27/37
4engan &rekuensi 1F H2 pusat# 'ang diperbolehkan maksimal ;ditemukan menjadi 5!
$ambar 1%!E menunjukkan pengaruh nilai 'ang berbeda ;.*ntuk bandpass filterdenganf
c
6 1F H2# nilai ;dari 5 ditemukan untuk memaksimalkan SLR (Thakor et al!# 198E)!
()
(A)
()
Gambar 12.!Pengaruh nilai 'ang berbeda ;.Sebuah hasil ;lebih tinggi dalam transien osilasi
re-
Responn'a! () ;6 8! (A) ;6 ! () ;6 1!
12. *
-
7/23/2019 Algoritma Qrs Detection
28/37
()
Gambar 12.5Aerbagai tahapan sin'al dalam algoritma deteksi QRS berdasarkan di&erensiasi!
() sli 0$! (A) merapikan dan diperbaiki deri.ati& pertama! () merapikan dan diperbaiki
kedua
deri.ati&! (4) merapikan jumlah (b) dan (/)! () Persegi pulsa output untuk setiap kompleks
QRS!
Lilai absolut dari pertama dan kedua deri.ati& dihitung dari
Sin'al $
"
()6 Xx (n#)-x (n# -% #)X
(1%!5)
"
1
()6 Xx (n#)- %x (n#- % #)7x (n# -E #)X
(1%!)
0edua bu&&er data#"
()dan"
1
(),adalah skala dan kemudian dijumlahkan
'age #
2!2
Aiomedis 4igital Signal Pro/essing
"
%
()6 1#"
()7 1#1"
1
-
7/23/2019 Algoritma Qrs Detection
29/37
()
(1%!F)
Au&&er data"
%
()kini dipindai sampai batas tertentu 'ang memenuhi atau melampaui
"
%
(*#)Y 1!
(1%!8)
Setelah kondisi ini terpenuhi untuk titik data dalam"
%
(*#),delapan poin berikutn'a adalah /om-
dikupas ke ambang pintu! Dika enam atau lebih dari delapan poin memenuhi atau melampaui
ambang batas# maka segmen mungkin menjadi bagian dari kompleks QRS! Selain de-
te/ting kompleks QRS# algoritma ini memiliki keuntungan 'ang menghasilkan pulsa
'ang proporsional dengan lebar hingga 'ang kompleks! Lamun# kelemahan adalah bah+a itu
adalah
sangat sensiti& terhadap tinggi-&rekuensi suara!
12.! *3'A* *
-
7/23/2019 Algoritma Qrs Detection
30/37
/ara menerapkan ini!
ara pertama men'elaraskan template dan sin'al masuk adalah dengan menggunakan
poin &idusia pada setiap sin'al! Titik-titik &idusia harus ditugaskan ke
sin'al oleh beberapa proses eksternal! Dika titik-titik &idu/ial pada template dan
sin'al selaras# maka korelasi dapat dilakukan!
"mplementasi lain melibatkan korelasi berkelanjutan antara segmen
sin'al masuk dan template! Setiap kali sin'al titik data baru tiba#
tertua titik data dalam +aktu 'ang dibuang dari segmen (data &irst in-&irst-out
struktur)! Suatu korelasi dilakukan antara segmen sin'al dan template
segmen 'ang memiliki jumlah poin 'ang sama sin'al! Teknik ini tidak memerlukan
+aktu untuk menetapkan poin &idusia untuk sin'al pengolahan! Template dapat dianggap
sebagai jendela 'ang bergerak di atas sin'al 'ang masuk satu titik data pada suatu +aktu!
4engan demikian#
keselarasan segmen sin'al bunga harus terjadi setidakn'a sekali sebagai
+indo+ bergerak melalui sin'al!
'age $
0$ 4eteksi QRS
%E
Lilai koe&isien /ross/orrelation selalu jatuh antara 71 dan -1!
nilai 1 menunjukkan bah+a sin'al dan template sama persis! Seperti disebutkan
sebelumn'a# nilai koe&isien ini menentukan seberapa baik bentukdari dua
bentuk gelombang ba+ah pertandingan pertimbangan! Aesarn'a sampel sin'al aktual
tidak masalah! Aentuk ini /o/ok# atau proses kompleks QRS mengakui#
sesuai dengan pendekatan alami kita untuk mengenali sin'al!
12.!.2 *emplate peng&rangan
$ambar 1%! mengilustrasikan teknik pengurangan Template! "ni adalah relati& sederhana
Teknik deteksi QRS dibandingkan dengan 'ang lain dijelaskan dalam bab ini!
Template QRS gelombang
"n/oming sin'al $
+aktu
-
7/23/2019 Algoritma Qrs Detection
31/37
0$
Gambar 12."4alam pen/o/okan template sederhana# sin'al 'ang masuk dikurangi# poin demi
poin# dari
template QRS! Dika dua bentuk gelombang 'ang sempurna selaras# hasil pengurangan dalam nol
nilai!
lgoritma dimulai dengan men'impan segmen sin'al 0$ masuk 'ang /or-
menanggapi gelombang QRS! Segmen ini atau template kemudian dibandingkan dengan
sin'al 0$ masuk! Setiap titik di sin'al masuk dikurangi dari
titik 'ang sesuai dalam template! 0etika template sejajar dengan QRS
gelombang di sin'al# hasil pengurangan nilai 'ang sangat dekat dengan nol! "ni
algoritma menggunakan han'a sebagai ban'ak operasi pengurangan karena ada poin dalam
Template!
12.!. berbasis template A&tomata penookan
,urno dan Tompkins (198%) mengembangkan detektor QRS 'ang didasarkan pada konsep
dari teori automata! lgoritma menggunakan beberapa teknik dasar 'ang
'age 9
2!!
Aiomedis 4igital Signal Pro/essing
umum di ban'ak sistem pengenalan pola! Sin'al 0$ pertama direduksi menjadi
satu set token 'ang telah ditetapkan# 'ang merupakan bentuk tertentu dari gelombang 0$!
$ambar 1%!F menunjukkan set token 'ang akan me+akili 0$ normal! 0emudian
set token adalah input ke negara terbatas otomat dide&inisikan dalam $ambar 1%!8! "tu
terbatas negara robot pada dasarn'a adalah sebuah diagram negara transisi 'ang dapat
implementasi-
didokumentasi dengan ", !!! THL pern'ataan kontrol 'ang tersedia di sebagian besar
pemrograman lan-
guages! *rutan token dimasukkan ke dalam otomat! Sebagai /ontoh# urutan
token seperti nol, normup, normdown,dan normupakan mengakibatkan au-
tomaton sin'al klasi&ikasi normal untuk 0$!
normup
-
7/23/2019 Algoritma Qrs Detection
32/37
normdo+n
noisedo+n
normup
noiseup
noiseup
noisedo+n
nol
Gambar 12.#Pengurangan sin'al 0$ untuk token!
*rutan token harus berasal dari data sin'al 0$! Hal ini dilakukan
dengan membentuk urutan perbedaan input data! 0emudian algoritma
kelompok bersama perbedaan 'ang memiliki tanda 'ang sama dan juga melebihi tertentu
ditentukan ambang batas! lgoritma kemudian merangkum perbedaan di setiap
kelompok dan asosiasi dengan jumlah masing-masing kelompok ini dan jumlah perbedaan
'ang ada di dalamn'a!
QRS detektor ini memiliki &ase pembelajaran a+al dimana program kira-
kira menentukan besarn'a pun/ak kompleks QRS normal! 0emudian
lgoritma mendeteksi kompleks QRS normal setiap kali ada lendutan di
gelombang dengan besarn'a lebih besar dari setengah dari pun/ak ditentukan sebelumn'a!
lgoritma sekarang mengajar 'ang terbatas negara robot urutan dari token 'ang
membuat kompleks QRS normal! Dumlah dan nilai sum (dibahas dalam
paragra& sebelumn'a) untuk kompleks QRS normal sekarang ditetapkan untuk berbagai tertentu
nilai masing-masing di kompleks QRS terdeteksi!
7alaman 10
0$ 4eteksi QRS
%E5
LTR
state 1
U"T dengan LCRJ3
klasi&ikasi
U"T dengan 0A"S"L$L
-
7/23/2019 Algoritma Qrs Detection
33/37
klasi&ikasi
normup
normdo+n
normup
nol
(3agi)
(3agi)
(3agi)
state %
negara
Gambar 12.$4iagram Legara transisi untuk robot sederhana mendeteksi han'a /om-QRS 'ang
normal
ple:es dan kebisingan! Transisi negara (lain) menga/u pada setiap tanda lain 'ang tidak diberi
label pada negara transisi
tion meninggalkan keadaan tertentu!
lgoritma sekarang dapat menetapkan tanda gelombang untuk masing-masing kelompok 'ang
dibentuk
sebelumn'a didasarkan pada nilai-nilai jumlah dan jumlah dalam setiap kelompok berbeda-
en/es! Sebagai /ontoh# jika suatu kelompok tertentu dari perbedaan memiliki jumlah dan nomor
nilai dalam rentang (ditentukan dalam tahap belajar) dari QRS ke atas atau ke ba+ah-
bangsal de&leksi# maka normupatau tanda normdowndihasilkan untuk kelompok
perbedaan! Dika nilai-nilai jumlah dan jumlah tidak jatuh dalam kisaran ini# maka noiseupsebuah
atau tanda noisedowndihasilkan! Token noldihasilkan jika jumlah untuk kelompok
perbedaan adalah nol! 4engan demikian# algoritma mengurangi data sin'al 0$ menjadi se-
Nuen/e token# 'ang dapat diumpankan ke state automata terbatas untuk deteksi QRS!
12.# R+R64S
7alaman 2$
$ QRS 4ete/tion
-
7/23/2019 Algoritma Qrs Detection
34/37
%
H $ database! .ailable &rom mergen/' are Resear/h "nstitute# 5% Autler Pike#
Pl'mouth Jeeting# P 19E%!
hlstrom# J3 and Tompkins# MD 198! utomated high-speed anal'sis o& Holter tapes +ith
mi/ro/omputers!*+++ #rans.iomed.+ng.# B30K 515F!
hlstrom# J3 and Tompkins# MD 1985! 4igital &ilters &or real-time $ signal pro/essing
using mi/ropro/essors!*+++ #rans.iomed.+ng.# B32K F81!
Aalda R# 4iller# $!# 4eardor& !# 4oue# D!# and Hsieh# P! 19FF! The HP $ anal'sis
program! #rends in =omputer-rocessed +lectrocardiograms.DH .anAemnel and D3
Millems# (eds!) msterdam# The LetherlandsK Lorth Holland# 19F%5!
4obbs# S# S/hmitt# LJ# C2emek# HS 198E! QRS dete/tion b' template mat/hing using
real-time /orrelation on a mi/ro/omputer!>ournal of =linical +ngineering# 9K 19F%1%!
,riesen# $J# Dannett# T# Dadallah# J# Iates# S3# Quint# SR# Lagle# HT 199!
/omparison o& the noise sensiti.it' o& nine QRS dete/tion algorithms!*+++ #rans.iomed.
+ng.# B3#K 859F!
,urno# $S and Tompkins# MD 198%! QRS dete/tion using automata theor' in a batter'-
po+ered mi/ropro/essor s'stem!*+++ ?rontiers of +ngineering in ealth =are# !K 15558!
Hamilton# PS and Tompkins# MD 198! Quantitati.e in.estigation o& QRS dete/tion rules
using the J"TBA"H arrh'thmia database!*+++ #rans.iomed.+ng.B3K 115F5!
J"TBA"H $ database! .ailable &romK J"T-A"H 4atabase 4istribution# Jassa/husetts
"nstitute o& Te/hnolog'# FF Jassa/husetts .enue# Room %-11# ambridge# J %19!
Pan# D! and Tompkins# MD 1985! real-time QRS dete/tion algorithm!*+++ #rans.iomed.
+ng! B32K %#!
Thakor# LZ# Mebster# D$# and Tompkins# MD 198! Cptimal QRS dete/tor!7edical and
iological +ngineering# E5!
Thakor# LZ# Mebster# D$# and Tompkins# MD 198E! stimation o& QRS /omple: po+er
spe/tra &or design o& a QRS &ilter!*+++ #rans.iomed.+ng.# B31K F%5!
12.$ S*>D= Q>S*6S
1%!1 Ho+ /an e/topi/ beats be dete/ted using the automata approa/h to QRS dete/tion
1%!% Ho+ /an QRS /omple:es in abnormal +a.e&orms be dete/ted using the /ross/orrelation
method
-
7/23/2019 Algoritma Qrs Detection
35/37
1%! "n the mo.ing +indo+ integrator o& the algorithm in se/tion 1%!5# ho+ should the +idth
o& the +indo+ be /hosen Mhat are the e&&e/ts o& /hoosing a +indo+ +idth that is too
large or too small
1%!E "n the QRS dete/tion algorithm e:plained in se/tion 1%!5# ho+ should the &irst threshold
in ea/h set o& thresholds be /hanged so as to in/rease the dete/tion sensiti.it' o& irregular
heart rates
1%!5 Mhat are the e&&e/ts o& bandpass filter;on the QRS-to-noise ratio in the $
1%! 4esign an algorithm that obtains the &idu/ial point on the $!
1%!F s an implementation e:er/ise +rite a program using the language# to dete/t QRS
/omple:es in the $ signal using an' o& the te/hniNues des/ribed in this /hapter!
1%!8 Suggest a QRS dete/tion algorithm# based on some o& the te/hniNues e:plained in this
/hapter or in other related literature# that /an dete/t QRS /omple:es &rom the $ in real
+aktu!
1%!9 :periments to determine the &reNuen/' /hara/teristi/s o& the a.erage QRS /omple: ha.e
sho+n that the largest spe/tral energ' o& the QRS /omple: o//urs at appro:imatel' +hat
&reNuen/'
1%!1 &ilter +ith the di&&eren/e eNuation#"( n#) 6 ("( n# #))
%
7x( n#)# is bestdes/ribed as
+hat traditional &ilter t'pe
'age 29
2"!
Aiomedi/al 4igital Signal Pro/essing
1%!11 The /enter &reNuen/' o& the optimal QRS bandpass filteris not at the lo/ation o& the
ma:imal spe/tral energ' o& the QRS /omple:! (a) Mhat &un/tion is ma:imi2ed &or the op-
timal &ilter (b) Mhat is the /enter &reNuen/' o& the optimal QRS &ilter &or /ardiota/home-
ters (/) "& this &ilter has the proper /enter &reNuen/' and a ;6 %# +ill it +ork properl'
"& not# +h' not
1%!1% "n addition to heart rate in&ormation# +hat QRS parameter is pro.ided b' the QRS
dete/tion algorithm that is based on the &irst and se/ond deri.ati.es
-
7/23/2019 Algoritma Qrs Detection
36/37
1%!1 The deri.ati.e algorithm used in a real-time QRS dete/tor has the di&&eren/e eNuationK
"( n#) 6 %x( n#) 7x( n# #) x( n# #) %x( n# E #)! (a) 4ra+ its blo/k diagram!
(b) Mhat is its output seNuen/e in response to a unit stepinput 4ra+ the output
+a.e&orm!
1%!1E Mrite the eNuations &or the amplitude and phase responses o& the deri.ati.e algorithm
used in a real-time QRS dete/tor that has the trans&er &un/tion
(!) 6
%!
-%
-Z
-1
7!
1
7 %!
%
8
1%!15 mo.ing +indo+ integrator integrates o.er a +indo+ that is samples +ide and has an
o.erall amplitude s/ale &a/tor o& 1B! "& a unit impulse (ie# 1# # # # [) is applied to
the input o& this integrator# +hat is the output seNuen/e
1%!1 mo.ing +indo+ integrator is &i.e samples +ide and has a unit' amplitude s/ale &a/tor!
pa/emaker pulse is des/ribed b' the seNuen/eK (1# 1# 1# 1# # # # # [)! ppli/ation o&
this pulse to the input o& the mo.ing +indo+ integrator +ill produ/e +hat output se-
Nuen/e
1%!1F The trans&er &un/tion o& a &ilter used in a real-time QRS dete/tion algorithm is
(!) 6
(1 !
@
)
%
(1 !
-1
-
7/23/2019 Algoritma Qrs Detection
37/37
)
%
,or a sample rate o& % sps# this &ilter eliminatesinput signals o& +hat &reNuen/ies