1
PERHITUNGAN DENYUT JANTUNG
BERDASARKAN SINYAL EKG BERBASIS FPGA
Rita Purnamasari
1,Sugondo Hadiyoso
2, Yuyun Siti Rohmah
3, Ahmad Zaki Ramdani
41,2,3
Fakultas Elektro dan Komunikasi, Institut Teknologi Telkom
4
Jl.Telekomunikasi, Trs. Buah Batu, Bandung,40254 Versatile Silicon
E-mail : reeta_tekdig@yahoo.com, sugondo.hadiyoso@gmail.com, ysr@ittelkom.ac.id,
ahmadzakyramdani@gmail.com
User sugondohadiyoso 17101987
Abstrak
EKG merupakan suatu sinyal yang dihasilkan dari aktivitas kelistrikan dari jatung manusia yang memiliki informasi medis mengenai kondisi kesehatan manusia yang bersangkutan. Dari sinyal EKG ini, maka kita dapat mengetahui kondisi kesehatan jantung seseorang berdasarkan heart rate. Pada penelitian ini akan direalisasikan suatu core FPGA yang dapat mendeteksi dan menghitung jumlah denyut jantung seseorang per menit berdasarkan sinyal EKG. Sinyal ECG analog yang sebelumnya dikonversi menjadi format digital oleh ADC dikirim secara serial ke perangkat FPGA. Pada FPGA, data tersebut dibaca dan diolah menggunakan algoritma Pan-Tomkins untuk menentukan QRS dari sinyal EKG. Pada algoritma Pan-Tomkins terdapat bagian yang dihilangkan yaitu blok derivative dan integral, dengan ini diharapkan penggunaan memori FPGA dapat direduksi tanpa harus mengurangi performansinya.
Pengujian dilakukan pada level simulasi dan implementasi. Pada level simulasi digunakan ModelSim untuk melihat data keluaran modul. Dari sample sinyal ECG yang digunakan sebagai masukan, sistem dapat mendeteksi QRS dengan baik dengan tingkat akurasi 100 % untuk sinyal ECG normal dan dapat menghitung jumlah heart rate dengan baik. Pengujian level implementasi digunakan perangkat FPGA jenis Altera Cyclone 3. Pada pengujian ini, QRS sinyal ECG belum dapat dideteksi dengan baik sehingga jumlah heart rate yang dihitung masih mengalami kesalahan.
Kata Kunci:EKG, Pan-Tompkins, Heart rate, QRS, ADC, FPGA
1. Pendahuluan
EKG merupakan suatu sinyal yang dihasilkan dari aktivitas kelistrikan dari jatung manusia yang memiliki informasi medis mengenai kondisi kesehatan manusia yang bersangkutan. Dari sinyal EKG ini, maka kita dapat mengetahui kondisi kesehatan jantung seseorang berdasarkan heart rate. Pada penelitian ini akan direalisasikan suatu prototype chip yang dapat mendeteksi dan menghitung jumlah denyut jantung seseorang per menit berdasarkan sinyal EKG.
Suatu sinyal EKG memiliki komponen utama berupa kompleks QRS. Kompleks QRS adalah bentuk umum dari sinyal EKG yang normal dan berhubungan dengan depolarisasi ventrikel. Pendeteksian nilai kompleks QRS memegang peranan yang sangat penting pada sistem pengolahan sinyal EKG. Salah satu metode yang dapat digunakan untuk perhitungan sebuah kompleks QRS secara real time adalah dengan metode Pan-Tompkins.
Penelitian ini merupakan pengembangan dari penelitian sebelumnya[6] dengan memodifikasi algoritma yang digunakan, bentuk komunikasi data
yang digunakan, serta menampilkan jumlah denyut jantung pada 7 segmen yang akan memudahkan dalam mengetahui kondisi kesehatan jantung pasien.
2. Teori
2.1 Elektrokardiogram
Electrokardiograf (EKG) merupakan suatu gambaran yang terbentuk sebagai hasil dari aktivitas listrik jantung. EKG diambil dengan memasang elektroda pada titik tertentu tubuh pasien. Sinyal elektrokardiograf mempunyai bentuk spesifik sehingga dapat dijadikan sebagai acuan untuk menentukan kondisi kesehatan jantung oleh ahli jantung. Sinyal EKG direkam menggunakan perangkat elektrokardiograf[5]. Urutan terjadinya sinyal Elektrokardiograf sebagai berikut[5]
1. Vektor depolarisasi (terjadi perubahan muatan listrik ) kontraksi atrium dari sinus atrialis ke nodulus atrio ventricularis saat terjadi, menimbulkan gelombang P.
2 2. Gelombang R tanda akhir dari kontraksi atria
dan awal dari kontraksi ventrikel.
3. Vektor yang timbul karena depolarisasi ventrikel membangkitkan QRS kompleks. 4. Vektor menimbulkan gelombang T
disebabkan repolarisasi ventrikel.
5. Interval P-R adalah menandakan waktu dari permulaan kontraksi atrial sampai permulaan kontraksi ventrikel
6. Interval R-T menunjukkan kontraksi otot (ventricel systole), dan interval T-R menunjukkan adanya relaksasi otot (ventricel diastole).
Sebuah sinyal yang didapat dari EKG normal adalah seperti pada Gambar 1 Menurut Sutopo[5], gelombang EKG normal memiliki ciri-ciri sebagai berikut:
Gambar 1. Gelombang EKG normal
Pada dasarnya ada tiga teknik yang digunakan dalam elektrokardiografi yaitu [5]
1. Standard Clinical EKG :
Menggunakan 10 elektroda (12 lead) digunakan untuk menganalisis kondisi kesehatan jantung pasien.
2. Vectorcardiogram
Pemodelan potensial tubuh sebagai vektor 3 dimensi dengan menggunakan sadapan bipolar Einthoven. Pengambilan sinyal jantung melalui 3 titik tertentu pada tubuh. 3. Monitoring EKG
Teknik ini menggunakan 1 atau 2 elektroda yang ditempatkan pada titik-titik tubuh tertentu. Teknik ini digunakan untuk memonitor pasien dalam jangka panjang. Sinyal EKG yang dianalisis adalah sinyal yang diambil menggunakan 3 lead sesuai dengan segitiga Einthoven. Pada sistem ini sinyal EKG tiap lead merupakan beda potensial antar anggota tubuh antara lain [4]
a. Lead I : beda potensial antara LA (left arm) dengan RA (right arm)
:
b. Lead II : beda potensial antara LL (left leg) dengan RA (right arm)
c. Lead III : beda potensial antara LL (left leg) dengan LA (left arm)
Gambar 2. Segitiga Einthoven
2.2 Algoritma Pan-Tompkins
Algorima Pan-Tompkins merupakan suatu metode untuk mendeteksi kompleks QRS secara real time yang dikembangkan oleh Jiapu Pan dan Willis J. Tompkins yang dipublikasikan pada 1985. Gelombang QRS adalah bentuk gelombang yang muncul pada kebanyakan sinyal ECG. Ada banyak teknik untuk mendeteksi gelombang QRS pada elektrokardiograf. Keakuratan dari pendeteksian puncak R adalah persyaratan untuk fungsi analisa ECG yang tepat. Pada hampir semua pengenalan parameter ECG berdasarkan kepada titik tetap yang dapat diindentifikasi pada setiap siklus gelombang. Puncak sinyal R cocok untuk digunakan sebagai titik referensi, karena mempunyai amplituda yang terbesar dan bentuk gelombang yang paling tajam. Waktu dan ukuran amplituda dapat diketahui ketika puncak dari setiap gelombang R terdeteksi pada setiap siklus gelombang. Teknik Real-Time QRS Detection meliputi bandpass filtering, differensiasi, pengukuran daya rata-rata dan thresholding.
[2]
Gambar 3 Skema Pengolahan Sinyal ECG pada Algoritma Pan-Tompkins
2.3 Field Programmable Gate Array (FPGA)
[2]
Field Programmable Logic Array (FPGA)
merupakan logic device yang dapat diprogram untuk mendukung implementasi dari rangkaian logika yang relatif besar. FPGA berbeda dengan teknologi logika lain seperti CPLD dan SPLD, karena FPGA bukan terdiri dari AND atau OR. Tetapi FPGA terdiri dari
3 blok-blok logika untuk mengimplementasikan fungsi
yang diinginkan.
Setiap vendor FPGA memiliki arsitektur FPGA sendiri, tetapi secara umum sama dan dapat dilihat pada Gambar dibawah ini[6].
Gambar 4. Architecture of FPGA
Arsitektur terdiri dari Configurable Input/Output Blok ( IOB ), Configurable Logic Block (CLB) dan Interkoneksi yang dapat diprogram untuk merutekan sinyal antara logic blocks dan I/O blocks
[7]
[7]
. Keuntungan menggunakan FPGA adalah mengurangi board area, mengurangi konsumsi power, mengurangi biaya, menambah kecepatan sistem, dan tidak perlu desaindan tes untuk pembuatan alat[7].
• Dikonfigurasi oleh End User
FPGA mempunyai kelebihan sebagai berikut :
• Tidak memerlukan proses Fabrikasi
• Tersedia solusi yang mendukung chip customized VLSI
3. Desain Sistem
Secara umum sistem yang akan direalisasikan dapat dilihat pada blok diagram dibawah ini.
AKUISISI ANALOG ADC 0804 FPGA Board
Gambar 5. Blok Sistem
Akuisisi data analog dilakukan oleh perangkat EKG dengan pengambilan sinyal elektris jantung melalui elektroda yang dipasang pada tubuh pasien. Sinyal analog tersebut dirubah dalam format digital menggunakan perangkat Analog to Digital Converter (ADC) agar dapat dilakukan pengolahan data oleh mikrokontroler. Mikrokontroler berfungsi untuk membaca data ADC kemudian mengirim data secara serial yang akan menjadi data masukan FPGA. Data tersebut akan disimpan dalam register dan akan diubah menjadi bentuk desimal untuk dilakukan proses pengolahan sinyal digital yang dalam penelitian ini
digunakan algoritma Pan Tomkins untuk mendeteksi QRS sinyal EKG yang dimodifikasi dengan menghilangkan beberapa bagian algoritma tersebut yaitu proses derivative untuk mengurangi waktu proses sekaligus menghemat penggunaan resource logic gate pada FPGA.
3.1 Perangkat Pengkondisi Sinyal EKG
Pengkondisi sinyal EKG digunakan untuk mengakuisi sinyal EKG dari tubuh pasien dan mengolahnya sehingga didapat sinyal EKG pada level yang diharapkan. Secara umum diagram blok sistem dari pengkondisian sinyal EKG yang akan direalisasikan adalah seperti terlihat pada gambar berikut.
Gambar 6. Blok diagram sistem pengkondisi sinyal EKG
3.2 Perancangan Sistem Deteksi Denyut Jantung Perancangan sistem pendeteksian QRS menggunakan algoritma Pan-Tomkins dimulai dengan menentukan spesifikasi blok yang dirancang. Selanjutnya menguraikan bagian-bagian penyusun algoritma Pan-Tomkins untuk kemudian diterjemahkan pada bahasa pemrograman VHDL. Penggunaan algoritma Pan-Tomkins dilakukan modifikasi yaitu dengan menghilangkan bagian derivative dan integrasi. Lebih jelasnya dapat dilihat pada Gambar 7 dibawah ini.
LPF HPF Kuadrat Decision 7 SegmenDisplay
Data In
Gambar 7. Perancangan Detektor QRS ECG
3.2.1 Low Pass Filter (LPF)
Berdasarkan algoritma yang digunakan, frekuensi LPF yang dirancang mempunyai cut off 11 Hz dimana nilai persamaan perbedaan untuk filter LPF yang direalisasikan adalah sebagai berikut[2]
y(n) = 2y(n – 1) – y(n – 2) + x(n) – 2x(n – 6) + x(n – 12)] .
4 Pada perancangan VHDL dibutuhkan blok
register yang digunakan untuk menyimpan nilai masukan dan luaran sebelumnya. Terdiri dari 2 (dua) buah register yang berfungsi untuk menyimpan nilai x(n) dan y(n). Blok lain yang dirancang adalah adder dan multiplier yang masing-masing berfungsi untuk melakukan operasi penjumlahan dan perkalian. Lebih jelasnya dapat dilihat pada Gambar berikut.
Gambar 8. Perancangan Blok LPF pada VHDL
3.2.2 High Pass Filter (HPF)
[6]
Berdasarkan algoritma yang digunakan, frekuensi HPF yang dirancang mempunyai cut off 5 Hz dimana nilai persamaan perbedaan untuk filter HPF yang direalisasikan adalah sebagai berikut[2].
y(n) = y(n – 1) + x(n – 16) – x(n – 17) – 1/32 [x(n) – x(n – 32)]
Pada perancangan VHDL tidak berbeda dengan blok LPF, dimana blok HPF juga terdiri dari register, adder, dan multiplier hanya ada perbedaan pada nilai pengalinya.
3.2.3 Fungsi Kuadrat
Setelah proses filter, selanjutnya nilai sample sinyal dikuadratkan dengan tujuan mendapatkan nilai mutlak dari sample sinyal yang akan memudahkan dalam proses penentuan heart rate. Jika masukan blok ini adalah x(n) dan sinyal luaran y(n) maka persamaannya :
y(n) = x(n)*x(n) 3.2.4 Serial UART
Komunikasi antara perangkat ECG dengan FPGA menggunakan UART dengan konfigurasi 8 bit data, 1 stop bit, tanpa parity, dan bitrate 9600 bps. Karena komunikasi satu arah maka pin yang digunakan pada FPGA adalah pin receive (rx) dan ground (gnd). Realisasi blok serial UART pada VHDL dapat dilihat pada Gambar dibawah ini.
Gambar 9. Hasil Sintesa Top Level Serial UART
3.2.5 Display 7-Segmen
Bagian ini berfungsi untuk menampilkan jumlah denyut jantung hasil pengolahan sinyal ECG berupa angka. Angka tersebut dibagi menjadi 3 (tiga) bagian yaitu ratusan, puluhan, dan satuan. Masukan dari blok ini merupakan nilai integer dari 0 sampai 255 (diasumsikan jumlah denyut jantung maksimum adalah 255). Dibutuhkan 3 (tiga) 7 segmen untuk menampilkan jumlah denyut jantung dimana setiap 7 segmen membutuhkan 7 data kontrol sehingga total pin output yang digunakan adalah 21 pin.
Gambar 10. Hasil Sintesa Top Level Kontrol 7 Segmen
3.3 Implementasi Pada FPGA
Setelah semua blok di-integrasikan dan disimulasikan, maka tahap selanjutnya adalah menanamkan modul pada FPGA. Jenis FPGA yang digunakan pada penelitian ini adalah Board TerAsic Altera Cyclone 3. Sebelum modul ditanamkan pada FPGA, tahap pertama adalah dilakukan sintesis terhadap semua bagian modul, selanjutnya deskripsi pin I/O yang akan digunakan, tahapan terakhir adalah men-generate file yang akan di-load pada FPGA.
clk0 clk1 reset clkout0 clkout1 inclk0 c0 c1 clk reset inecg[7..0] outecg beat v[7..0] beat[7..0] beat[7..0] outdig1[6..0] outdig2[6..0] outdig3[6..0] reset rx enable rx in rxclk rx data[7..0] clock_div:clock_source QRSdetector:core seven_segment_ctrl:display uart:ifc reset uart_en uartin outecg datain[7..0] beat_v[7..0] display1[6..0] display2[6..0] display3[6..0] div10:clock_div10 clk
Gambar 11 Hasil Sintesa Top Level Modul
4. Hasil dan Diskusi
4.1 Simulasi Sistem Pada ModelSim
Secara keseluruhan, sistem yang diuji menggunakan sinyal yang di-generate pada testbench telah mampu mendeteksi seluruh kompleks QRS yang ada. Namun sinyal yang diujikan adalah sinyal ECG yang memiliki noise relatif kecil. Selanjutnya diperlukan pengujian kembali secara real time melalui
5 implementasi perangkat keras ECG yang
diintergasikan dengan perangkat FPGA. Jika pada simulasi sudah tidak terdapat kesalahan, maka sistem dapat ditanamkan dan diujikan pada FPGA.
Gambar 12. Hasil Simulasi Keseluruhan Sistem
4.2 Pengujian Hasil Implementasi Pada FPGA Setelah simulasi pada ModelSim dilakukan, dan dari hasil pengujian dapat dinyatakan bahwa sistem dapat bekerja dengan baik maka tahapan selanjutnya adalah implementasi modul pada FPGA dan dilakukan pengujian sistem secara real time. Sinyal ECG yang berasal dari Patient Simulator, diakuisi secara analog yang selanjutnya diubah formatnya menjadi digital oleh ADC kemudian dikirimkan secara serial UART oleh mikrokontroler. Data digital tersebut diterima oleh pin FPGA yang sebelumnya sudah dideskripsikan sebagai penerima data serial.
Data serial yang diterima kemudian dioleh oleh modul yang telah ditanam pada FPGA. Hasil luaran dari modul ditampilkan pada 7 segmen untuk melihat keakuratan sistem dalam menghitung heart rate.
Sinyal ECG yang dihasilkan oleh Patient Simulator di-set untuk mengeluarkan sinyal ECG normal dengan heart rate 60 bpm. Dari hasil pengamatan pada 7 segmen diperoleh penyimpangan nilai dari nilai yang sebenarnya. Kesalahan pengitungan heart rate ini disebabkan karena terjadi kesalahan deteksi QRS. Terdapat QRS ECG yang terdeteksi lebih dari satu kali dan ada juga QRS yang tidak tedeteksi oleh sistem. Hasil tersebut dapat dilihat pada Gambar dibawah ini. Pada Gambar 15, bagian yang dilingkari dengan warna hijau ditunjukkan adanya QRS ECG yang terdeteksi lebih dari satu kali.
Gambar 13. Display 70 Bpm
Gambar 14. Display 66 Bpm
Gambar 15. Kesalahan Deteksi QRS
5. Kesimpulan
Dari penelitian yang telah dilakukan dapat diambil beberapa kesimpulan :
1. Pada level simulasi digunakan ModelSim untuk melihat data keluaran modul. Dari sample sinyal EG yang digunakan sebagai masukan, sistem dapat mendeteksi QRS dengan baik dengan tingkat akurasi 100 % untuk sinyal ECG normal dan dapat menghitung jumlah heart rate dengan baik.
2. Pengujian level implementasi digunakan perangkat FPGA jenis Altera Cyclone 3. Pada
6 pengujian ini, QRS sinyal ECG belum dapat
dideteksi dengan baik sehingga jumlah heart rate yang dihitung masih mengalami kesalahan. 3. Terjadinya kesalahan pembacaan QRS ECG
dapat dikarenakan oleh kesalahan komputasi dimana operasi penjumlahan dan perkalian bit dapat menyebabkan bit overload yang belum dapat diantisipasi pada penelitian ini.
DAFTAR PUSTAKA
[1] Khairuddin, Labib Ahmad.(2011). Perancangan dan Implementasi Prosesor FFT 256 Titik-OFDM Baseband Berbasis Pengkodean VHDL Pada FPGA. Tugas Akhir. IT Telkom. Bandung. Tidak Diterbitkan.
[2] Pan J., and Tompkins W. J. 1985. A Real-Time QRS Detection Algorithm, IEEE Trans. Biomed. Eng.
[3] Pavlatos C., Dimopoulos., dan Manis G., 2003. Hardware Implementation of Pan & Tompkins QRS Detection Algorithm. National Technical University of Athens.
[4] Webster, J. G. (1998). Medical Instrumentation Application and Design, John Wiley & Son,Inc, New York
[5] Widjaja, Sutopo.1990. ECG Praktis. Binarupa Aksara.Jakarta.
[6] Zaki Ramdani, Ahmad. 2011. Impementasi Deteksi Kompleks QRS ECG Dengan Algoritma PANTOMPKINS Pada Perangkat FPGA. Tugas Akhir. IT Telkom. Bandung. Tidak Diterbitkan. [7] Zeidman, Bob.(2002). Designing With FPGAS and