Anda di halaman 1dari 15

Laporan Tugas Analisa Sinyal Non Stasioner

“Deteksi Kompleks QRS Pada Sinyal ECG Menggunakan Metode


Wavelet Transform”

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.

Departemen Teknik Biomedik


Fakultas Teknologi Elektro
Institut Teknologi Sepuluh Nopember Surabaya
2018/2019
BAB 1 DASAR TEORI

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.

Raw Signal Filtered Signal


Band Pass Transformasi
Filter non-linear

Gambar 1. Algoritma Teknik Deteksi QRS

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).

𝑊2𝑗 𝑓(𝑥) = 𝑓(𝑥) ∗ 𝜓2𝑗 (𝑥)


1 ∞ 𝑥−𝑡
= 𝑗 න 𝑓(𝑡)𝜓 ∗ ൬ 𝑗 ൰ 𝑑𝑡
2
22 −∞ (2)
Wavelet dikarakterisasi menjadi 2 filter diskrit, h dan g dimana hp dan gp merupakan filter
diskrit yang diperoleh dengan menempatkan zero 2p-1 antar a masing-masing koefisien filter h
dan g. Algoritma Mallat digunakan untuk menghitung transformasi wavelet diskrit dasri sinyal
diskrit 𝑆1𝑑 𝑓(𝑡) = 𝑑(𝑘) . Pada setiap skala 2j, terurai 𝑆2𝑗 𝑓 pada 𝑆2𝑗+1 𝑓 dan 𝑊2𝑗+1 𝑓 seperti
terlihat pada Algoritma (3), dimana 𝑆2𝑗 merupakan operator smoothing dan 𝑆2𝑗 𝑓(𝑛)
merupakan perkiraan sinyal pada skala 2j. Prinsip dari algoritma dapat dilihat pada Gambar 2
pada skala 2j (j = 1…4).
j=1
while (𝑗 ≤ 𝐽)
𝑊2𝑗 𝑓 = 𝑆2𝑗−1 𝑓 ∗ 𝑔𝑗 = σ𝑘∈𝑍 𝑔(𝑘)𝑓(𝑛 − 2𝑗−1 𝑘)
𝑆2𝑗 𝑓 = 𝑆2𝑗−1 𝑓 ∗ ℎ𝑗 = σ𝑘∈𝑍 ℎ(𝑘)𝑓(𝑛 − 2𝑗−1 𝑘)
j=j+1
end of while (3)

Gambar 2. Algoritma Mallat

Fungsi transfer dari low pass filter H(w) dan bandpass filter G(w) dapat dilihat dari Persamaan
(4).

𝐻(𝑤) = ෍ ℎ(𝑘)𝑒 −𝑖𝑘𝑤


𝑘∈𝑍

𝐺(𝑤) = ෍ 𝑔(𝑘)𝑒 −𝑖𝑘𝑤


𝑘∈𝑍 (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)

Gambar 3. Filter banks

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

𝑞1 [𝑘] = −2(𝛿[𝑘] − 𝛿[𝑘 + 1])


Pada skala j = 2
1
𝑞2 [𝑘] = − 4 (𝛿[𝑘 − 1] + 3𝛿[𝑘] + 2𝛿[𝑘 + 1] − 2𝛿[𝑘 + 2] − 3𝛿[𝑘 +
3] − 𝛿[𝑘 + 4])
Pada skala j = 3
1
𝑞3 [𝑘] = − 32 (𝛿[𝑘 − 3] + 3𝛿[𝑘 − 2] + 6𝛿[𝑘 − 1] + 10𝛿[𝑘] +
11𝛿[𝑘 + 1] + 9𝛿[𝑘 + 2] + 4𝛿[𝑘 + 3] − 4𝛿[𝑘 + 4] − 4𝛿[𝑘 + 5] −
11𝛿[𝑘 + 6] − 10𝛿[𝑘 + 7] − 6𝛿[𝑘 + 8] − 3𝛿[𝑘 + 9] − 𝛿[𝑘 + 10])
Pada skala j = 4
1
𝑞4 [𝑘] = − 256 (𝛿[𝑘 − 7] + 3𝛿[𝑘 − 6] + 6𝛿[𝑘 − 5] + 10𝛿[𝑘 − 4] +
15𝛿[𝑘 − 3] + 21𝛿[𝑘 − 2] + 28𝛿[𝑘 − 1] + 36𝛿[𝑘] + 41𝛿[𝑘 + 1] +
43𝛿[𝑘 + 2] + 42𝛿[𝑘 + 3] + 38𝛿[𝑘 + 4] + 31𝛿[𝑘 + 5] + 21𝛿[𝑘 + 6] +
8𝛿[𝑘 + 7] − 8𝛿[𝑘 + 8] − 21𝛿[𝑘 + 9] − 31𝛿[𝑘 + 10] − 38𝛿[𝑘 + 11] −
42𝛿[𝑘 + 12] − 43𝛿[𝑘 + 13] − 41𝛿[𝑘 + 14] − 36𝛿[𝑘 + 15] −
28𝛿[𝑘 + 16] − 21𝛿[𝑘 + 17] − 15𝛿[𝑘 + 18] − 10𝛿[𝑘 + 19] − 6𝛿[𝑘 +
20] − 3𝛿[𝑘 + 21] − 𝛿[𝑘 + 22]) (11)

b. Deteksi wavelet dan singularitas


Untuk menendai lebih tepatnya singularitas yang telah terdeteksi, maka perlu untuk
menganalisis sifat lokalnya. Eksponen Lipschitz digunakan untuk mengkarakterisasi singular
degrees. Dengan teori wavelet, kita dapat membuktikan eksponen Lipschitz ini dapat
dikomputasi dari evolusi sepanjang skala dari modulus maxima transformasi wavelet.
Jika fungsi smoothing dimiliki sebagai turunan pertama wavelet 𝜓(𝑥), Mallat menunjukkan
bahwa :
- Ketika skala s cukup kecil, maxima dari |𝑊𝑠 𝑓(𝑥)| menunjukkan lokalisasi dari variasi poin
sinyal yang tajam.
- Fungsi f(x) adalah Lipschitz 𝛼(0 < 𝛼 < 1) untuk semua [a, b], |𝑊2𝑗 𝑓(𝑥)| ≤ 𝐴(2𝑗 )∝

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

DETEKSI KOMPLEKS QRS

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.

Gambar 8. Algoritma pendeteksi 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.

Gambar 9. Respon frekuensi Q(w)

Gambar 10. Data sinyal ECG


Gambar 10. Hasil transformasi wavelet untuk skala 2j, j=1

Gambar 11. Hasil transformasi wavelet untuk skala 2j, j=2

Gambar 12. Hasil transformasi wavelet untuk skala 2j, j=3

Gambar 13. Hasil transformasi wavelet untuk skala 2j, j=4

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

Gambar 16. Hasil deteksi QRS sinyal ECG


Gambar 17. Respon frekuensi “Q” untuk frekuensi sampling=500
BAB 3 KESIMPULAN

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.

Anda mungkin juga menyukai