Segmentasi Gelombang PQRST ECG
Segmentasi Gelombang PQRST ECG
Disusun oleh :
Muhammad Yogie Nugroho 07311540000022
Trisa Safira Hasanah 07311540000003
Yeni Wahyu Siswanti 07311540000018
Dosen Pengajar :
Dr. Achmad Arifin, ST., MEng
Fauzan Arrofiqi, S.T, M.T.
Nada Fitrieyatul Hikmah, S.T., M.T.
Sudah banyak teknik yang digunakan untuk melakukan deteksi QRS, yang mana kebanyakan dari
teknik tersebut bersifat nonsyntatic. Salah satu prinsip dasar dari algoritma pada teknik deteksi QRS
dapat dilihat dari Gambar 1 dengan yaitu melakukan bandpass filter (menghilangkan noise,
gelombang P dan T), transformasi non-linear seperti derivative atau square (memperjelas kompleks
QRS), dan decision rules (menentukan adanya kompleks QRS atau tidak). Akan tetapi, teknik ini
memiliki masalah-masalah sebagai berikut :
1. Untuk setiap pasien yang berbeda ataupun pasien yang sama tetapi dalam waktu yang
berbeda, bandwidth dari kompleks QRS nya berbeda.
2. Bandwidht dari noise dan kompleks QRS tumpang tindih.
Untuk meningkatkan akurasi pada pendeteksian dan analisis dari berbagai macam perbedaan kecil
yang terjadi pada denyut jantung, penulis menggunakan transformasi wavelet untuk lokalisasi pada
domain waktu dan frekuensi, karakterisasi dari local regularity dari sinyal, dan pemisahan gelombang
ECG dari noise, artefact, dan baseline drift. Di paper ini, penuils menggunakan algoritma berdasarakan
transformasi wavelet yang secara efisien mendeteksi kompleks QRS, dan gelombang P dan T.
TEORI
a. Transformasi Wavelet
Transformasi Wavelet dari sinyal kontinu f(x) adalah fungsi dari dua variabel Wsf(x).
Transformasi wavelet pada factor skala s, dimana s adalah variasi dyadic (2j)jϵZ. Dilatasi dari
wavelet dasar ψ(x) dengan factor skala 2j dapat dilihat dari Persamaan (1).
1 𝑥
𝜓2𝑗 (𝑥) = 𝑗
𝜓 ቀ 𝑗ቁ
2
22 (1)
j
Transformasi wavelet dari f(x) pada skala 2 dan di posisi x didefinisikan oleh produk konvolusi
dari Persamaan (2).
Fungsi transfer dari low pass filter H(w) dan bandpass filter G(w) dapat dilihat dari Persamaan
(4).
Wavelet yang digunakan adalah fungsi quadratic spline dengan compact support didefinisikan
oleh transformasi fouriernya pada Persamaan (5) dan Filter H(w) dan G(w) nya pada
Persamaan (6). Untuk interpretasinya dapat dilihat pada Gambar 3. Perbedaan antara
𝑤 3
𝐻(𝑤) = 𝑒 𝑖𝑤/2 ቀcos ቁ
𝑤 4 2
sin( 4 )
𝜓(𝑤) = 𝑖𝑤 ቌ 𝑤 ቍ 𝑖𝑤 𝑤
𝐺(𝑤) = 4𝑒 2 ቀsin ቁ
4 (5) 2 (6)
algoritma Mallat (Gambar 2) dan algoritma Filter Banks (Gambar 3) adalah untuk algoritma
Mallat kompleksitas komputasinya lebih tinggi dibandingkan dengan Filter Banks. Pada
algoritma Mallat, dekomposisi sinyal untuk masing-masing skala didapatkan dengan
melakukan dua proses konvolusi terhadap filter “H” dan “G”, sementara pada Filter Banks
suatu dekomposisi sinyal dari tiap skala hanya perlu dikonvolusikan dengan filter “Q”.
Sehingga dengan perhitungan didapatkan hasil Filter H(w) dan G(w) beserta filter diskritnya
h[k] dan g[k] dapat dilihat dari Persamaan (7)
1 3 3 1
𝐻(𝑤) = 𝑒 −𝑖𝑤 + 𝑒 0 + 𝑒 𝑖𝑤 + 𝑒 2𝑖𝑤
8 8 8 8
1
ℎ[𝑘] = (𝛿[𝑘 − 1] + 3𝛿[𝑘] + 3𝛿[𝑘 + 1] + 𝛿[𝑘 + 2])
8
𝐺(𝑤) = −2𝑒 0 + 2𝑒 𝑖𝑤
𝑔[𝑘] = −2(𝛿[𝑘] − 𝛿[𝑘 + 1])
(7)
Pada resolusi J, komputasi dari transformasi wavelet dengan algoritma Mallat dapat dilihat
pada Algoritma (8).
j=1
while (𝑗 ≤ 𝐽)
𝑊2𝑗 𝑓 = 𝑆1 𝑓 ∗ 𝑞𝑗
j=j+1
end of while (8)
dengan 𝑆1 𝑓(𝑡) = 𝑑(𝑘) merupakan sinyal diskrit untuk proses (j = 0). Kedua representasi
(Gambar 2 dan 3) ekivalen dan dihubungkan dengan Persamaan (9).
𝐺(𝑤) 𝑗=1
𝑄𝑗 (𝑤) = ቐ 𝐺(2𝑤)𝐻(𝑤) 𝑗=2
𝐺൫2𝑗−1 𝑤൯𝐻൫2𝑗−2 𝑤൯ … 𝐻(𝑤) 𝑗>2
(9)
Dan filter 𝑄𝑗 (𝑤) dapat dilihat pada Persamaan (10).
2𝑗 + 2𝑗−1 −2
2
𝑄𝑗 (𝑤) = 𝑞𝑗 (𝑘) 𝑒 𝑖𝑘𝑤
8𝑗−1
𝑘=1−2𝑗−1
𝑗−1 𝑗 𝑗+1
𝑞𝑗 ൫1 − 2 ൯ = −𝑞𝑗 ൫2 + 2 − 2 − 𝑘൯ ≠ 0
𝑗−1 𝑗 𝑗−1
𝑘 ∈ [1 − 2 ,2 + 2 − 2] (10)
Dari hubungan antara Algoritma Mallat dan Filter banks, maka dapat dicari penurunan inverse
fourier transform dari 𝑄𝑗 (𝑤) yaitu 𝑞𝑗 [𝑘] yang hasil dari perhitungan dapat dilihat pada
Persamaan (11)
Pada skala j = 1
Kita juga dapat mengestimasi seberapa smooth nya dari hilangnya maxima transformasi
wavelet sepanjang skala. Pada Gambar 4 dapat dilihat berbagai bentuk gelombang dengan
transformasi wavelet nya untuk lima resolusi utama. Pada setiap gelombang uniphase, seperti
gelombang (a) dan (b) pada Gambar 4 sesuai dengan pasangan negative-positif
|𝑊2𝑗 𝑓(𝑥)| pada skala yang berbeda.
Jika puncak gelombang uniphase simetris ke puncaknya, seperti pada Gambar 4, maka
puncaknya berhubungan dengan titik zero-crossing dari pasangan positif-negatif gelombang
dengan delay Ta =(2j-1- 1).
Gambar 4. Hubungan antara poin poin karakteristik
dari gelombang simulasi dan transformasi waveletnya
pada skala yang berbeda
METODE DETEKSI
Frekuensi pusat pada filter 𝑄𝑗 (𝑤) tergantung pada frekuensi sampling. Berdasarkan power spectra
dari sinyal ECG, dan terutama pada gelombang QRS, P, dan T (Gambar 5). Kami mengkomputasi
transformasi wavelet pada skala 2j (j = 1…4) yang meliputi seluruh power spectra ECG. Adapun respon
frekuensi dari kelima filter. Qj(w)(j = 1…4) dapat dilihat pada Gambar 6.
Gambar 5. Power spectrum dari sinyal ECG Gambar 6. Respon frekuensi dari filter FIR
Wavelet Transform pada skala kecil mencerminkan komponen frekuensi tinggi dari sinyal dan pada
skala besar mencerminkan komponen frekuensi rendah dari sinyal. Dalam membuat harmoni antara
sinyal ECG, noise & artifact (Gambar 5), dan filter bandpass 𝑄𝑗 (𝑤) (j = 1…4), dapat diperhatikan bahwa
energy dari kompleks QRS berada pada skala 23 dan 24 (informasi paling penting ada di skala 23 ).
Sedangkan untuk gelombang P dan T, energinya terdapat pada skala 24 dan 25. Untuk membedakan
antara gelombang P dan T perlu ditinjau skala 24 dan 25, di mana skala tersebut memuat energi
gelombang T sedangkan skala 25 memuat energi gelombang P. Output filter 𝑄𝑗 (𝑤) (j = 1…4) untuk
sinyal ECG dapat dilihat pada Gambar 7.
Gambar 7. Output filter FIR
Metode deteksi yang akan dibahas pada laporan ini adalah metode untuk mendeteksi kompleks QRS.
Gambar 8 merupakan gambar flowchart dari metode deteksi QRS complex yaitu dengan mendeteksi
gelombang R.
Metode deteksi yang akan dibahas pada laporan ini adalah metode untuk mendeteksi
kompleks QRS. Gambar 6 merupakan gambar flowchart dari metode deteksi QRS complex
yaitu dengan mendeteksi gelombang R. Pada sinyal ECG yang akan diolah, yang dideteksi
adalah 𝑡𝑘 points yang sesuai dengan puncak gelombang R. Lokalisasi dari kompleks QRS
diperoleh dengan munculnya sepasang puncak pada wavelet transform di setiap skala 2j (j =
1…4). Dalam kasus positif, impuls positif dihasilkan sesuai dengan puncak gelombang R.
BAB 2 HASIL PERCOBAAN DAN ANALISA DATA
Dalam laporan ini algoritma untuk mendeteksi QRS sinyal ECG berdasarkan transformasi wavelet
diimplementasikan pada bahasa pemrograman pascal dengan IDE Delphi. Wavelet dikarakterisasi oleh
dua filter h dan g yang kemudian dioptimasi menjadi q. Dimana H(w) adalah lowpass filter dan G(w)
bandpass filter. Gambar 9 merupakan respon frekuensi dari Q(w) pada skalai 2j untuk j=1 hingga j=4.
Respon ini sama dengan respon yang ditunjukkan oleh dasar teori, dimana energi QRS berada pada
Q(w) untuk skala 2j, j=3.
Sebagai data uji, suatu sinyal ECG tanpa adanya kondisi patologis tertentu seperti pada Gambar 10
digunakan untuk dideteksi QRS-nya. Data sinyal ECG tersebut kemudian diambil sejumlah 250 data
dan dianggap memiliki frekuensi sampling 250Hz. Langkah selanjutnya q[k] dihitung menggunakan
rumus pada Persamaan 11 dan dikonvolusikan dengan sinyal ECG yang digunakan sebagai data uji.
Hasil dari konvolusi q[k] untuk skala 2j, j=1 hingga j=4 dengan sinyal ECG ditunjukkan oleh Gambar
11,12,13, dan 14. Untuk setiap skala tersebut, dari hasil konvolusi didapatkan bahwa tiap satu sinyal
ECG memiliki bentuk yang menyerupai dengan quadratic spline wavelet dimana semakin
bertambahnya nilai skala maka bentuknya semakin melebar dengan pergeseran delay tertentu.
Pergeseran tersebut disebabkan oleh fase filter untuk masing-masing skala dimana fase filternya
bersifat linier.
Deteksi QRS dapat dilakukan dengan mengetahui letak tiap zero crossing pada tiap sinyal ECG untuk
masing-masing hasil konvolusi. Apabila ditemukan letak terjadinya zero crossing maka data akan
ditandai dengan nilai “1” sementara lainnya “0”. Untuk mengoptimalkan deteksi zero crossing,
beberapa improvisasi dilakukan, pertama dilakukan squaring pada sinyal hasil konvolusi dan
dilanjutkan dengan filtering menggunakan moving average filter. Tujuan dari squaring adalah
menaikkan power sinyal yang ada diatas nilai “1” dan menurunkan power sinyal yang nilainya antara
“0” hingga “1” atau “0” hingga “-1”. Sedangkan moving average filter digunakan untuk menaikkan nilai
tiap data berdasarkan rata-rata sinyal pada rentang zero crossing. Hasil dari squaring dan moving
average filter ditunjukkan oleh Gambar 14 dan 15.
Gambar 14. Hasil squaring sinyal output konovlusi
Pada Gambar 15, untuk bagian yang ditandai dengan warna kuning terlihat terdapat peningkatan
amplitudo setelah dilakukan moving average filter. Dari hasil ini maka ketika dilakukan tresholding
akan didapatkan sinyal deteksi zero crossing yang maksimal. Selanjutnya untuk deteksi QRS, seluruh
hasil deteksi zero crossing untuk tiap skala dilakukan operasi AND sehingga didapatkan hasil akhir pada
Gambar 16 untuk hasil deteksi QRS sinyal. Dari gambar 16 tersebut didapatkan bahwa QRS dari sinyal
ECG berhasil untuk dideteksi tanpa adanya kesalahan. Dari hasil tersebut, suatu puncak gelombang R
didefinisikan sebagai amplitudo maksimal pada rentang waktu tiap zero crossing. Kemudian untuk
ujicoba, sampling frekuensi dari program diubah ke 500, hasil pengubahan ini menyebabkan respon
frekuensi filter “Q” mengalami pelebaran rentang frekuensi di tiap skala, hal ini ditunjukkan oleh
Gambar 17. Pada percobaan terebut terlihat bahwa semakin besar frekuensi sampling maka
pelebaran respon frekuensi tiap skala menjadi semakin melebar sehingga tidak sesuai apabila
diaplikasikan untuk mendeteksi gelombang QRS.
Gambar 15. Hasil moving average filter sinyal output konvolusi
1. Metode transformasi wavelet khususnya algoritma Filter Banks dapat digunakan untuk
mendeteksi QRS kompleks pada sinyal ECG
2. Semakin besar frekuensi sampling maka respon frekuensi dari filter akan semakin lebar pada
tiap skala
3. Hasil keluaran dari dekomposisi tiap skala menunjukkan adanya shifting. Hal ini terjadi karena
adanya perubahan fase pada tiap skala filter Q(w).
4. Improvisasi dari deteksi QRS dapat dilakukan dengan tahap preprocessing di mana tahapan
tersebut secara berurutan memuat proses squaring, moving average filter, dan tresholding.