PERHITUNGAN DENYUT JANTUNG BERDASARKAN SINYAL EKG BERBASIS FPGA Rita Purnamasari1,Sugondo Hadiyoso2, Yuyun Siti Rohmah3, Ahmad Zaki Ramdani4 1,2,3 Fakultas Elektro dan Komunikasi, Institut Teknologi Telkom 4 Versatile Silicon Jl.Telekomunikasi, Trs. Buah Batu, Bandung,40254 E-mail : [email protected], [email protected], [email protected], [email protected] 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. Gelombang R tanda akhir dari kontraksi atria dan awal dari kontraksi ventrikel. 3. Vektor yang timbul karena depolarisasi ventrikel membangkitkan QRS kompleks. 1 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 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[2] 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 RealTime QRS Detection meliputi bandpass filtering, differensiasi, pengukuran daya rata-rata dan thresholding. Gambar 3 Skema Pengolahan Sinyal ECG pada Algoritma Pan-Tompkins [2] 2.3 Field Programmable Gate Array (FPGA) 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 blok-blok logika untuk mengimplementasikan fungsi yang diinginkan. 2 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Setiap vendor FPGA memiliki arsitektur FPGA sendiri, tetapi secara umum sama dan dapat dilihat pada Gambar dibawah ini[6]. 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 4. Architecture of FPGA [7] 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] . Keuntungan menggunakan FPGA adalah mengurangi board area, mengurangi konsumsi power, mengurangi biaya, menambah kecepatan sistem, dan tidak perlu desaindan tes untuk pembuatan alat[7]. FPGA mempunyai kelebihan sebagai berikut : • Dikonfigurasi oleh End User • Tidak memerlukan proses Fabrikasi • Tersedia solusi yang mendukung customized VLSI Gambar 6. Blok diagram sistem pengkondisi sinyal EKG chip 3. Desain Sistem Secara umum sistem yang akan direalisasikan dapat dilihat pada blok diagram dibawah ini. 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 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. ' DW D ,Q / 3) +3) . XDGUDW 6 HJP HQ ' LVSO D\ ' HFLVLRQ 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)] 3 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 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 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 8. Perancangan Blok LPF pada VHDL[6] 3.2.2 High Pass Filter (HPF) 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] . 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. 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. clock_div:clock_source clk datain[7..0] inclk0 clk0 c1 clk1 reset QRSdetector:core uart:ifc div10:clock_div10 c0 clk reset clkout0 rx_enable clkout1 rx_in reset rx_data[7..0] inecg[7.0] outecg seven_segment_ctrl:display beat_v[7.0] beat[7.0] outdig1[6..0] beat[7..0] outdig2[6..0] outdig3[6..0] rxclk display1[6..0] display2[6..0] display3[6..0] uart_en beat_v[7..0] outecg reset uartin 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 4 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 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 13. Display 70 Bpm 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 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 5 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 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 CPLDS. CMP Books. Kansas. 6 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer