perhitungan denyut jantung berdasarkan sinyal ekg

advertisement
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
Download