Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
IMPLEMENTASI ALGORITMA PENDETEKSIAN GELOMBANG QRS KOMPLEK PADA SISTEM PERINGATAN KELAINAN KERJA JANTUNG BERBASIS MIKROKONTROLER 8-BIT MS. Hendriyawan A.1, Thomas Sri Widodo2, Litasari3, Indah Soesanti4 1) Jurusan Teknik Elektro Fakultas Sains & Teknologi Universitas Teknologi Yogyakarta Yogyakarta Jl. Lingkar Utara, Jombor, Sleman, Jogjakarta E-mail:
[email protected] 2,3,4) Jurusan Teknik Elektro dan Teknologi Informasi Fakutas Teknik Universitas Gadjah Mada Jl. Grafika No.2, Jogjakarta, 55281 E-mail:
[email protected],
[email protected],
[email protected]
ABSTRAK Terjadinya serangan penyakit jantung sebenarnya didahului dengan indikasi kelainan kerjanya yang bisa diamati dari ritme detaknya. Dengan menerapkan sistem pemantauan adanya kelainan kerja jantung maka akan bisa diketahui secara cepat kondisi serta tindakan penanganannya. Pada penelitian ini dilakukan percobaan pedeteksian keberadaan gelombang ritme jantung, yaitu gelombang P, QRS komplek, dan T. Metode yang digunakan untuk melakukan pendeteksian gelombang ritme jantung adalah dengan mencari nilai lokal maksimal dari ritme yang muncul menggunakan teknik sliding window. Setelah melalui tahap pemisahan khusus untuk gelombang QRS komplek maka akan diperoleh singleton untuk setiap QRS komplek yang muncul, dengan mengukur jarak waktu antar singleton tersebut maka akan diketahui periode ritme kerja dari jantung yang bisa digunakan untuk mendeteksi beberapa kelainan. Piranti mikrokontroler akan merubah sinyal analog menjadi digital dan memprosesnya dengan menerapkan algoritma pendeteksian QRS komplek, kemudian melakukan kalkulasi jarak waktu pada setiap kemunculan gelombang tersebut. Hasil kalkulasi inilah yang digunakan untuk menentukan apakah terjadi kelainan atau tidak. Dari hasil penelitian terbukti dengan metode ini bisa diketahui kelainan jantung pasien, contoh yang dipakai adalah tachycardia, bradycardia. Pada penelitian ini akan memberikan hasil yang akurat jika sinyal masukan EKG dalam kondisi ideal tanpa adanya artefak dari kelistrikan otot disekitar elektroda yang terpasang. Kata kunci: Jantung, QRS Komplek, Algoritma Sliding Window, Mikrokontroler.
PENDAHULUAN Jantung sebagai organ utama dalam tubuh manusia, jika terjadi kelainan kerja pada jantung akan berdampak pula pada aliran darah yang ke seluruh tubuh yang pada kategori tertentu bisa berakibat fatal. Terjadinya serangan penyakit jantung sebenarnya didahului dengan indikasi kelainan kerjanya yang bisa diamati dari ritme yang terjadi. Dengan menerapkan sistem peringatan adanya kelainan kerja jantung maka akan bisa diketahui secara cepat kondisi serta tindakan penanganannya. Untuk bisa mendeteksi adanya kelainan kerja jantung maka harus diketahui terlebih dahulu ritme kerja jantung itu sendiri. Bagian sinoatrial (SA) pada jantung berfungsi sebagai pace maker yang akan menghasilkan pulsa listrik pemicu kontraksi otot jantung dibagian serambi kemudian diteruskan melalui Atrioventricular (AV) menuju serabut purkinje yang akan memicu kontraksi otot jantung dibagian bilik (Skills lab, 2009). Siklus pulsa listrik pemicu gerakan otot jantung tersebut memiliki ritme yang unik dan khas yang membedakannya dengan sinyal kelistrikan lain, misal dari otot selain jantung atau sinyal otak. Gerakan kontraksi tersebut terdiri dari dua jenis, yaitu mengembang untuk mengumpulkan darah dan mengempis untuk menyebarkan darah. Gerakan tersebut dilakukan secara teratur dan terus menerus, dan jika terjadi kesalahan pemicuan oleh nodus SA karena adanya gangguan sinyal liar disepanjang jalur penghantar kelistrikannya maka gerakan kontraksi jantung menjadi tidak teratur lagi. Kelainan ritme sinyal otot jantung tidak bisa dideteksi dari pola aliran darah tubuh seperti pada teknik pengukuran perbedaan tekanan darah, sehingga untuk mengetahuinya harus dilakukan penyadatan pada listrik pada titik-titik tertentu mengikuti area distribusi darah, hal ini karena listrik juga dihantarkan oleh mineral yang ada dalam darah. Potensial listrik yang bisa diamati sangatlah kecil (skala mikrovolt) sehingga butuh perlakuan khusus agar bisa diamati secara jelas yang akan dibahas pada bagian setelah ini. Dalam setiap siklus kontraksi jantung, secara umum sinyal B-90
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
listriknya terdiri dari 3 bagian yaitu sinyal P, sinyal QRS komplek dan sinyal T. Dari ketiga bagian tersebut bisa dijadikan referensi adanya kelainan kerja jantung, pendeteksiannya bisa dari aspek interval kejadian, amplitudo sinyal, maupun keberadaannya. Pada penelitian ini hanya fokus terhadap algoritma pendeteksian QRS komplek yang bisa digunakan untuk mendeteksi beberapa kelainan, yaitu antara lain tachycardia, bradycardia, PAC dan PVC (Moraes et.al, 2002). Namun algoritma yang digunakan bisa juga untuk pendeteksian gelombang yang lain (P atau T) untuk mengetahui kelainan jantung yang lain, misal: atrial flutter, atrial fibrillation dan AVB. METODE Untuk bisa mengamati sinyal listrik jantung yang memiliki amplitudo sangat kecil dibutuhkan teknik penyadatan dan akuisisi yang benar. Pada penelitian ini menggunakan penyadatan 3 titik dengan hanya menggunakan 3 elektroda, yaitu elektroda positif, elektroda negatif, dan elektroda referensi. Titik elektroda referensi terpasang pada area netral yang memiliki beda potensial mendekati 0, sedangkan titik elektroda positif dan elektroda negatif terpasang pada area yang memiliki potensial listrik jantung terbesar. Untuk mengetahui dimana letak pasti dari titik-titik tersebut tidak bisa dipastikan, namun tetap ada acuannya pada bagian mana harus diletakkan. Sehingga harus dilakukan teknik coba dan salah (trial and error) untuk mendapatkan nilai pengamatan yang optimal. Pada gambar 1 menunjukkan 3 titik sadapan yang dilakukan sesuai dengan teori segitiga Einthoven.
Gambar 1. Sadapan 3 Titik Teknik akuisisi data EKG yang memiliki amplitudo angat kecil dilakukan dengan perlakuan yang khusus (Daskalov et.al, 1998), konsep akuisisi yang digunakan pada penelitian ini ditunjukkan pada gambar 2 berikut ini.
Gambar 2. Blok Diagram Akuisisi dan Pemrosesan Data EKG Dengan menggunakan penguat diferensial (Coughlin et.al, 1982) dari Texas Instrument Tipe INA128 yang memiliki nilai CMRR (common mode ratio rejection) hingga 120dB pada penguatan di atas 100 kali akan memudahkan untuk melihat sinyal jantung tanpa munculnya noise yang berlebih. Untuk menghasilkan output data hasil konversi oleh ADC, sinyal EKG dari penguat diferensial dilakukan penapisan lolos rendah (low pass filter) agar komponen frekwensi tingginya hilang dan sesuai dengan spesifikasi IEC (international electrotechnical commission) sinyal jantung beroperasi pada frekwensi antara 0.5Hz – 150Hz. Untuk melakukan pencuplikan terhadap sinyal EKG oleh ADC tanpa terjadi aliasing maka dengan memenuhi kaidah Nyquist, B-91
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
fs ≥ 2*fc (1) yang mensyaratkan frekwensi cuplik (fs) sebesar 2 kali atau lebih dari frekwensi tertinggi dari sinyal masukannya (fc). Jika rentang sinyal EKG adalah sebesar 150Hz maka frekwensi cuplik ADC minimal sebesar 300Hz. Namun pada penelitian ini dilakukan pencuplikan sinyal EKG oleh ADC sebesar 200Hz karena penapis lolos rendah yang digunakan diatur nilai cutt off nya sebesar 33.863Hz yang sudah bisa memberikan bentuk sinyal EKG secara detail dari komponen penyusunnya (P, QRS, dan T).
Gambar 3. Alur Pemrosesan Data Digital EKG Pada gambar 3 digambarkan alur pemrosesan data secara digital oleh mikrokontroler. Data hasil konversi ADC ditampung dalam register buffer mikrokontroler. Terdapat 2 buah buffer untuk mengolah data masukan, yaitu buffer raw signal dan buffer loca maxima yang masing-masing berkapasitas sebesar 700 byte. Jika pencuplikan yang dilakukan ADC sebesar 200Hz dan setiap cuplik membutuhkan 1 byte maka dengan kapasitas 700 byte buffer akan menampung data hasil akuisisi selama 3.5 detik. Waktu 3.5 detik sudah mencukupi untuk mengambil ciri dari minimal 2 siklus ritme jantung baik pada kasus tachycardia, normal, maupun bradycardia. Kapasitas buffer sangat mungkin diperbesar tergantung memori yang disediakan, pada penelitian ini menggunakan mikrokontroler ATMega328 yang memiliki kapasitas RAM hanya 2 Kbyte. Pada gambar 4 ditunjukkan konsep buffering untuk pemrosesan data digital oleh mikrokontroler.
Gambar 4. Konsep Buffering Data Setelah dilakukan penyimpanan data hasil konversi sebanyak n-byte, selanjutnya dilakukan pencarian nilai lokal maksimal disepanjang larik buffer. Pencarian lokal maksimal bertujuan untuk mendeteksi setiap puncak yang muncul disepanjang sinyal EKG. Algoritma yang digunakan untuk mencari nilai lokal maksimal adalah teknik sliding window seperti yang ditunjukkan gambar 5 berikut.
Gambar 5. Algoritma Sliding Window Setiap jendela terdiri dari 3 elemen larik yang terbagi dari tiga bagian, yaitu: sisi kiri (n-1), sisi tengah (n) dan sisi kanan (n+1). Fokus dari pengamatan adalah pada elemen tengah (n) dengan B-92
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
membandingkannya terhadap elemen kiri (n-1) dan elemen kanan (n+1). Jumlah total jendela yang tersusun adalah, n_window = Buffer_length – 2 (2) Jika Buffer_length = 700, maka jumlah geseran (sliding) jendela yang dibutuhkan = 700 – 2 = 698 kali. Untuk setiap jendela, jika terdeteksi puncak pada elemen tengah (n) maka elemen tersebut dipasang pada buffer ke-2 dengan indek posisi yang sama. Setelah proses ini selesai dilakukan maka akan diperoleh nilai-nilai lokal maksimalnya yang tersimpan pada buffer-2. Nilai lokal maksimal yang terdeteksi tersebut masih tercampur antara komponen P, QRS, T, dan noise, sehingga langkah selanjutnya dengan melakukan thresholding untuk memisahkan puncak QRS dengan puncak-puncak yang lain. Penentuan nilai thresholding berdasarkan kondisi amplitudo sinyal EKG, sehingga tergantung pada perbandingan antara puncak QRS dengan puncak lain yang terukur saat itu. Untuk menentukan nilai thresholding bisa mengikuti kaidah berikut, Thresholding = 0.8 * maximum_peaks
(3)
Setelah dilakukan thresholding puncak, akan diperoleh larik baru yang hanya akan berisi nilai puncak-puncak QRS komplek saja. Selanjutnya dari buffer pucak QRS dianalisa berdasarkan kejadian puncak terhadap waktu cupliknya (Yeh Yun-Chi at.al, 2008).
Gambar 6. Analisis Interval Waktu R-R Interval waktu R-R bisa dihitung secara akurat berdasarkan selisih indek lokasi dikalikan dengan periode cupliknya untuk menentukan status kelainannya (Tsipouras et.al, 2005), seperti yang dijelaskan pada Gambar 6. PEMBAHASAN Pada penelitian ini dilakukan 4 pengamatan, yaitu: sinyal EKG hasil akuisisi elektronis, hasil deteksi puncak QRS, waktu komputasi oleh mikrokontroler, dan Kelainan jantung yang dikenali. Semua pengamatan tersebut saling dibutuhkan satu sama lain. Untuk menjamin bisa diterapkannya algoritma deteksi QRS komplek maka kualitas sinyal hasil akuisisi secara elektronis juga harus baik, dan agar proses pendeteksian QRS komplek bisa dilakukan secara kontinyu maka waktu komputasi pengolahan data digital oleh mikrokontroler harus secepat mungkin sehingga tidak ada informasi yang terlewatkan (Pan Jiapu et.al, 1985).
Sinyal Hasil Akuisisi, dengan menggunakan sadapan 3 titik dengan posisi seperti yang ditunjukkan oleh gambar 1 diperoleh sinyal pengamatan jantung yang sudah dilakukan penguatan namun belum dilakukan penapisan, yang ditunjukkan oleh gambar 7 berikut ini.
Gambar 7. Sinyal EKG Sebelum Penapisan B-93
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
Sinyal EKG yang ditunjukkan oleh gambar 7 merupakan hasil penguatan sebanyak 1000 oleh penguat diferensial INA128. Setelah dilakukan penapisan 2 tingkat berupa tapis lolos rendah dengan nilai cutt off di titik 33.863Hz diperoleh pengamatan jantung yang sudah tidak mengandung noise frekwensi tinggi seperti ditunjukkan pada gambar 8 berikut ini.
Gambar 8. Sinyal EKG Setelah Penapisan 2 tingkat Penapisan dilakukan sebanyak 2 kali untuk memperkecil tingkat kemiringan (slope) nilai offset titik cutt off nya. Semakin tinggi orde penapis yang digunakan maka akan semakin baik kualitas sinyal outputnya.
Hasil Deteksi Puncak QRS, setelah sinyal EKG hasil akuisisi dikonversi oleh ADC dengan kecepatan cuplik 200Hz yang ditampung dalam buffer 700 byte dan dilakukan pencarian titik loka maksima nya, maka diperoleh lokasi kejadian puncak disepanjang larik cuplik sinyal EKG yang ditunjukkan pada gambar 9.
Gambar 9. Deteksi Semua Puncak Terdapat banyak sekali titik-titik puncak, tantangannya adalah bagaimana memisahkan puncak R dari puncak lain. Dengan menggunakan kaidah 3 yang membantu dalam memilih puncak R berdasarkan pada amplitudo tertinggi disepanjang larik buffer. Dengan konstanta 0.8 diharapkan mampu menentukan secara akurat dimana puncak R berada. Nilai konstanta tersebut bisa diubah sesuai dengan kondisi rasio antar puncak yang muncul, pada tahap ini pengamatan sinyal hasil akuisisi merupakan penentunya.
Gambar 10. Seleksi Puncak QRS Setelah dilakukan thresholding maka hanya diperoleh lokasi puncak R sepanjang larik buffer. Dari dara inilah selanjutnya bisa dilakukan analisa interval waktu untuk mencari rata-rata interval, standar deviasi maupun hitungan jumlah detak jantungnya (heartbeat) (Tang et.al, 2008). Dengan melihat jumlah detak jantung setiap menit bisa diketahui kondisi pasien, apakah normal (60-100 bpm), tachycardia (>100 bpm), maupun bradycardia (<60 bpm). Bisa juga dengan mengamati nilai standar B-94
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
deviasi yang tinggi yang menandakan terjadinya kasus irregular jantung. Status kondisi jantung tersebut bisa di tampilkan pada penampil maupun dikirimkan ke komputer.
Waktu Komputasi, u ntuk mengetahui waktu yang dibutuhkan selama proses komputasi data digital setiap siklus analisa sinyal oleh mikrokontroler, dibagi dalam beberapa pengamatan waktu seperti yang ditunjukkan pada tabel 1. Pada penelitian ini menggunakan mikrokontroler yang memiliki frekwensi kerja 16MHz, sehingga untuk setiap 1 detak eksekusi menggunakan waktu 62.5 nanodetik. No 1 2 3 4 5
Tabel 1. Pengamatan Waktu Komputasi Komputasi Konversi ADC+Buffering Deteksi Puncak-Puncak (loca maxima) Pencarian Puncak Tertinggi Seleksi Puncak R (thresholding) Hitung Jumlah R+Rerata Interval+Standar Deviasi+Jumlah Detak Total Waktu
Waktu 228 mikrodetik 1431 mikrodetik 624 mikrodetik 674 mikrodetik 708 mikrodetik 3665 mikrodetik
Dari data pengamatan waktu pada tabel 1 dapat dilihat bahwa yang membutuhkan waktu terbanyak adalah proses deteksi puncak-puncak sepanjang larik buffer, hal ini karena selama proses ini dijalankan algoritma sliding window di sepanjang larik buffer. Total waktu pemrosesan data digital hingga dihasilkan nilai analisa akhir adalah sebesar 3665 mikrodetik atau 3.665 milidetik sehingga jika mengacu pada frekwensi cuplik sebesar 200hz yang membutuhkan periode 5 milidetik maka total waktu komputasi tersebut masih layak. Kelayakan ini didasarkan pada kemampuan untuk melanjutkan analisa sinyal EKG secara kontinyu tanpa kehilangan data cuplik antar siklus analisa yang terjadi setiap 5 milidetik.
Kelainan Jantung yang Dikenali, keberhasilan dari penelitian ini dilihat dari kemampuan metode yang dijalankan dalam mengenali beberapa kelainan ritme jantung yang terkait dengan keberadaan dari QRS komplek pada sinyal EKG (Saritha et.al, 2008). Data keberhasilan pengenalan kelainan ritme jantung ditunjukkan oleh tabel 2 berikut. Tabel 2. Hasil Pengujian Pengenalan Ritme Jantung No Sumber Interval (mean) bpm std Pengenalan 1 Normal 753 msec. 4 msec. Normal 79 2 Tachycardia 503 msec. 119 5 msec. Tachycardia 3 Bradycardia 1252 msec. 3 msec. Bradycardia 47 4 Irregular 836 msec. 71 133 msec. Irregular Pada kelainan Tachycardia bisa dilihat jumlah puncak QRS yang lebih rapat dalam setiap siklus buffering data. Gambar 11 menunjukkan hasil deteksi puncak pada sinyal kelainan Tachycardia.
(a)
(b) Gambar 11. (a) Semua Puncak Tachycardia (b) Puncak QRS Tachycardia B-95
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
Pada kelainan Bradycardia bisa dilihat jumlah puncak QRS yang renggang dalam setiap siklus buffering data. Gambar 12 menunjukkan hasil deteksi puncak pada sinyal kelainan Bradycardia.
(a)
(b) Gambar 12. (a) Semua Puncak Bradycardia (b) Puncak QRS Bradycardia Pada kelainan Irregular bisa dilihat jarak puncak-puncak QRS yang tidak teratur dalam setiap siklus buffering data, kadang Bradycardia dan kadang Tachycardia bahkan normal. Gambar 13 menunjukkan hasil deteksi puncak pada sinyal kelainan Irregular.
(a)
(b) Gambar 13. (a) Semua Puncak Irregular (b) Puncak QRS Irregular KESIMPULAN Dari hasil penelitian ini diperoleh beberapa kesimpulan, yaitu antara lain: Pendeteksian puncak R berhasil dilakukan dengan menerapkan perpaduan antara metode sliding window dan thresholding. Pada tahap thresholding sangat tergantung pada rasio amplitudo puncak tertinggi dengan amplitudo puncak lain sepanjang larik buffer. Puncak R yang terdeteksi tidak hanya diketahui amplitudonya saja, melainkan juga diketahui waktu kejadiannya sehingga akan sangat mudah menganalisa interval waktu puncak R-R. Hasil analisa berupa rerata interval R-R, standar deviasi, jumlah detak per menit, dan status kondisi jantung berdasarkan standar deviasi dan jumlah detak per menit nya. B-96
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III Yogyakarta, 3 November 2012
ISSN: 1979-911X
Periode analisa jantung yang bisa dilakukan adalah setiap 3.5 detik dan bisa dilakukan secara kontinyu (terus menerus) tanpa ada kehilangan data cuplik dari sinyal EKG, hal ini karena total waktu komputasi lebih kecil dari periode cuplikannya.
Saran Saran yang bisa diterapkan untuk memperbaiki hasil penelitian maupun pengembangan ke depan, yaitu antara lain: Dengan memilih mikrokontroler yang memiliki RAM besar akan meningkatkan akurasi pengamatan, karena semakin banyak data yang diperoleh. Pemilihan jenis mikrokontroler yang memiliki kecepatan tinggi akan menurunkan waktu komputasi sehingga analisa bisa dilakukan secara kontinyu meskipun data yang diolah cukup besar. Sistem elektronik dibuat sekecil mungkin dengan penampil data secara visual sehingga bisa dijadikan piranti analisa yang mudah dibawa (portable). Hasil penelitian ini bisa diintegrasikan dengan sistem komunikasi jarak jauh untuk pemantauan maupun peringatan tentang kondisi jantung pasien. DAFTAR PUSTAKA Coughlin RF, Driscoll FF, Operational Amplifiers and Linear Integrated Circuits, 2nd Ed.1982, ISBN 0-13-637785-8, p.161. Daskalov Ivan K, Dotsinsky Ivan A, Christov Ivailo I, 1998, Developments in ECG Acquisition, Preprocessing, Parameter Measurement, and Recording, IEEE Engineering in Medicine and Biology, 0739-5175/98. Moraes JCTB, Freitas MM, Vilani FN, Costa EV, 2002, A QRS Complex Detection Algorithm using Elektrocardiogram Leads, IEEE Computer in Cardiology, vol.29, page 205-208. Pan Jiapu, Tompkins Willis J, 1985, A Real-Time QRS Detection Algorithm, IEEE Transactions on Biomedical Engineering, vol.BME-32 No.2. Saritha C, Sukanya V, Murthy Y Narasimha, 2008, ECG Signal Analysis Using Wavelet Transforms, Bulgarian journal of Physic, vol. 35, page 68-77. Skills lab. Sistem Kardiovaskuler, 2009, Buku Acuan Pemeriksaan EKG, Fakultas Kedokteran Universitas Hasanuddin, Makasar. Tang Jing-Tain, Yang Xiao-li, Xu Jun-chao, Tang Yan, Zou Qing, 2008, The Algorithm of R peak Detection in ECG Based on Empirical Mode Decomposition, 4th International Conference of Natural Computation, vol. 5, page 624-627. Tsipouras MG, Fotiadis DI, Sideris D, 2005, An arrhythmia classification system based on the RRinterval signal, Artificial Intelligence in Medicine, vol. 33, page 237-250. Yeh Yun-Chi, Wang Wen-June, 2008, QRS complexes detection for ECG signal: The Difference Operation Method, computer methods and programs in biomedicine, vol.91, page 245-254.
B-97