Optimalisasi Denoising Sinyal Menggunakan Transformasi Wavelet Diskrit Terhadap Sinyal ElektroKardioGraf (EKG).

(1)

ABSTRAK

 

Keberadaan  noise  dalam  sinyal  elektrokardiograf  (EKG)  dapat  menyebabkan  kesalahan  interpretasi  informasi  jantung,  yang  pada  akhirnya  menyebabkan  kesalahan pada penilaian  kondisi  jantung.  Untuk  menghindari  hal  tersebut,  noise  dalam  sinyal  EKG  harus  dapat  dihilangkan.  Beberapa  algoritma  prosesdenoising telah dikembangkan untuk tujuan tersebut. 

Tujuan  dari  penelitian  ini  adalah  untuk  menilai  unjuk  kerja  proses  denoising  pada  sinyal  EKG,  berdasarkan  transformasi  wavelet.  Proses  pertama  adalah pemisahan segmen sinyal EKG dengan power tertinggi, untuk menghindari  kehilangan  informasi  sinyal.  Kemudian  metoda  cross­validation  diaplikasikan  pada beberapa subband koefisien sinyal dalam domain wavelet. 

Hasil  simulasi  menunjukkan  bahwa  proses  filtering  awal  efektif  dalam  menghindari  kehilangan  informasi  sinyal,  dan  penggunaan  nilai  threshold  yang  berbeda akan menghasilkan unjuk kerja  denoising yang berbeda pula. Algoritma  dalam penelitian ini hanya sanggup melakukan proses  denoisingbila power noise  relatif  kecil dibandingkan  dengan  power  sinyal  EKG.  Setelah  dilakukan  proses  denoising terhadap sinyal  elektrokardiograf (EKG) didapat perbaikan nilai SNR ±  sebesar 3 dB untuk masing­masing sinyal.


(2)

ii 

ABSTRACT

 

The  existence  of  noise  in  electrocardiograph  signal  can  cause  misinterpretation in  heart  information,  that  in  the end  will  cause  mistake  in  the  judgement of the condition of the heart. To avoid this, noise in ECG signal must  be  deleted.  Some  denoising  algoritma  processes  have  been  developed  for  this  purpose. 

The  purpose  of  this  research  is  to  judge  the  denoising  work  process  on  ECG  signal,  based  on  wavelet  transformation.  The  first  process  is  ECG  signal  division with the highest power, to avoid losing the signal information. And then  cross­validation  method  is  applicated  in  several  signal  coefisien  subbands  in  wavelet domain. 

The  simulation  result  showed  that  effective  early  filtering  in  avoiding  losing the signal information and different usage of threshold value will produce a  different  denoising work  result  too.  The algoritma  in  this  research  can  only  be  able to do the denoising process when the power noise is relatively smaller than  the ECG power signal. After the denoising process has been done to ECG signal,  we can get ± 3 db SNR revised value for each of the signal.


(3)

DAFTAR ISI 

LEMBAR JUDUL 

LEMBAR PENGESAHAN 

ABSTRAK 

ABSTRACT  ii 

KATA PENGANTAR  iii 

DAFTAR ISI 

DAFTAR TABEL  viii 

DAFTAR GAMBAR  ix 

BAB I    PENDAHULUAN 

I.1  Latar Belakang 

I.2  Identifikasi Masalah 

I.3  Tujuan 

I.4  Pembatasan Masalah 

I.5  Sistematika Penulisan 

BAB II   LANDASAN TEORI 

II.1  Sinyal Elektrokardiograf 

II.2  Noise Interferensi dalam EKG 

II.3  Noise 

2.3.1  White Noise 

2.3.2  Additive White Gaussian Noise (AWGN)  10 

II.4  Wavelet  11 

2.4.1  Ruang Sinyal  11 

2.4.2  Basis Ortogonal  12 

2.4.3  Transformasi Wavelet  12 

2.4.4  Karakteristik Khusus dari Ekspansi Wavelet  14  II.5  Analisa Multiresolusi dan Fungsi Penskalaan  16 

2.5.1  Fungsi Penskalaan  16 

2.5.2  Fungsi Wavelet  18 


(4)

vi 

2.5.4  Teorema Parseval  21 

II.6  Filter Bank dan Transformasi Wavelet Diskrit  21  2.6.1  Analisis dari Skala Halus ke Skala Kasar  22  2.6.2  Sintesis dari Skala Kasar ke Skala Halus  25 

2.6.3  Koefisien­Koefisien Masukan  27 

II.7  Kondisi­Kondisi Perlu  27 

II.8  Pemilihan Wavelet  29 

2.8.1  Vanishing Moment  29 

2.8.2  Regularity  29 

2.8.3  Compact Support  30 

II.9  Sistem Pengolahan Sinyal Digital  30 

BAB III  PERANCANGAN SIMULASI 

III.1  Denoising Dengan TWD  33 

III.2  Thresholding  35 

III.3  Fitur Wavelet Yang Digunakan Untuk Denoising  36  III.4  Estimasi Standard Deviasi White Noise  39 

III.5  Kriteria Threshold  40 

3.5.1  Universal Threshold  40 

III.6  Model Additive White Noise  40 

III.7  Sinyal Input  41 

III.8  Filter 5 Tap Symmlet  42 

III.9  Cross­Validation  42 

3.9.1  Two­Folk Cross­Validation  43 

3.9.1.1  Algoritma Two­Folk Cross­Validation  43 

3.9.2  Reconstruction Square Error  45 

III.10  Diagram Alir Program Utama  45 

BAB IV  HASIL DAN SIMULASI DATA 

IV.1  Sinyal Input  48 

IV.2  Penambahan Noise  49 

IV.3  Transformasi Wavelet Diskrit  50 


(5)

vii 

IV.5  Soft Thresholding (CV)  51 

IV.6  Tabel Hasil Simulasi  52 

IV.7  Analisa  56 

BAB V   KESIMPULAN DAN SARAN 

V.1  Kesimpulan  69 


(6)

viii 

DAFTAR TABEL 

Tabel III.1  Koefisien Filter Wavelet 5 Tap Symmlet  42  Tabel IV.1  Hasil SNR dengan Berbagai Dekomposisi dan Daya Noise0,12  52  Tabel IV.2  Hasil SNR dengan Berbagai Dekomposisi dan Daya Noise 0,12 

(con’t) 

53  Tabel IV.3  Hasil SNR dengan Berbagai Dekomposisi dan Daya Noise0,13  53  Tabel IV.4  Hasil SNR dengan Berbagai Dekomposisi dan Daya Noise0,14  53  Tabel IV.5  Hasil SNR dengan Berbagai Dekomposisi dan Daya Noise 0,14 

(con’t) 

54  Tabel IV.6  Hasil RSE dengan Berbagai Dekomposisi dan DayaNoise 0,12  54  Tabel IV.7  Hasil RSE dengan Berbagai Dekomposisi dan DayaNoise 0,13  55  Tabel IV.8  Hasil RSE dengan Berbagai Dekomposisi dan DayaNoise 0,14  55  Tabel IV.9  Hasil RSE dengan Berbagai Dekomposisi dan DayaNoise 0,14 

(con’t) 


(7)

ix 

DAFTAR GAMBAR 

Gambar II.1  EKG Normal  3 

Gambar II.2  Teknik Penyadapan Standar Bipolar  4 

Gambar II.3  Hasil Sadapan Standar Bipolar  4 

Gambar II.4  Teknik Penyadapan Unipolar Ekstrimitas  5 

Gambar II.5  Hasil Sadapan aVR, aVL, dan aVF  5 

Gambar II.6  Teknik Penyadapan Prekordial  6 

Gambar II.7  Hasil Sadapan V1 s.d V6  6 

Gambar II.8  Skema Masuknya Noise  ke dalam Sinyal EKG  7 

Gambar II.9  Plot SebuahWhite Noise  9 

Gambar II.10  Spektrum Daya Noise  10 

Gambar II.11  Kurva DistribusiGaussian  11 

Gambar II.12  Fungsi Penskalaan dan Wavelet dari Daubechies – 4 Tap  15  Gambar II.13  Translasi dan Pengskalaan dari Wavelet Daubechies – 4 Tap  15  Gambar II.14  Ruang Vektor Bersarang yang Direntang oleh Fungsi 

Penskalaan 

17  Gambar II.15  Fungsi Penskalaan Haar dan Triangle  18  Gambar II.16  Ruang Vektor Fungsi Penskalaan dan Wavelet  19 

Gambar II.17  Wavelet Haar dan Triangle  20 

Gambar II.18  Down­sampler atau Decimator  23 

Gambar II.19  Two Band Analysis Bank  24 

Gambar II.20  Dua Tingkat Two­Band Analysis Tree  25  Gambar II.21  Tiga Tingkat Two­Band Analysis Tree  25 

Gambar II.22  Two Band Synthesis Bank  26 

Gambar II.23  Dua Tingkat Two Band Synthesis Tree  26 

Gambar III.1  Ilustrasi Proses Denoising  35 

Gambar III.2  IlustrasiSoft danHard Thresholding  36  Gambar III.3  Plot Koefisien Wavelet dari Sinyal Pulsa  38  Gambar III.4  Sinyal Pulsa yang Telah Memiliki Noise  38  Gambar III.5  Plot Koefisien Wavelet dari Sinyal Pulsa yang MemilikiNoise  39


(8)

Gambar III.6  Diagram Alir Program Utama  45 

Gambar III.7  Gambar Lanjutan Diagram Alir Program Utama  46  Gambar III.8  Gambar Diagram Alir Cross­Validation  47 

Gambar IV.1  Sinyal EKG  Orang Pertama  48 

Gambar IV.2  Sinyal EKG Orang Kedua  48 

Gambar IV.3  Sinyal EKG Orang Kedua  49 

Gambar IV.4  Sinyal EKG Orang Keempat  49 

Gambar IV.5  Sinyal EKG Yang Telah MemilikiNoise  50  Gambar IV.6  Plot Sinyal Hasil Hard Thresholding dengan J=5  51  Gambar IV.7  Plot Sinyal Hasil Soft Thresholding dengan J=5  52  Gambar IV.8  Grafik SNR Orang Pertama dengan Daya Noise  0,12  56  Gambar IV.9  Grafik SNR Orang Kedua dengan Daya Noise  0,12  57  Gambar IV.10 Grafik SNR Orang Ketiga dengan Daya Noise  0,12  57  Gambar IV.11 Grafik SNR Orang Keempat dengan Daya Noise  0,12  58  Gambar IV.12 Grafik SNR Orang Pertama dengan Daya Noise  0,13  58  Gambar IV.13 Grafik SNR Orang Kedua dengan Daya Noise  0,13  59  Gambar IV.14 Grafik SNR Orang Ketiga  dengan Daya Noise  0,13  59  Gambar IV.15 Grafik SNR Orang Keempat Daya Noise  0,13  60  Gambar IV.16 Grafik SNR Orang Pertama dengan Daya Noise  0,14  60  Gambar IV.17 Grafik SNR Orang Kedua dengan Daya Noise  0,14  61  Gambar IV.18 Grafik SNR Orang Ketiga dengan Daya Noise  0,14  61  Gambar IV.19 Grafik SNR Orang Keempat dengan Daya Noise  0,14  62  Gambar IV.20 Grafik RSE Orang Pertama dengan Daya Noise  0,12  62  Gambar IV.21 Grafik RSE Orang Kedua dengan Daya Noise  0,12  63  Gambar IV.22 Grafik RSE Orang Ketiga dengan Daya Noise  0,12  63  Gambar IV.23 Grafik RSE Orang Keempat dengan Daya Noise  0,12  64  Gambar IV.24 Grafik RSE Orang Pertama dengan Daya Noise  0,13  64  Gambar IV.25 Grafik RSE Orang Kedua dengan Daya Noise  0,13  65  Gambar IV.26 Grafik RSE Orang Ketiga dengan Daya Noise  0,13  65  Gambar IV.27 Grafik RSE Orang Keempat dengan Daya Noise  0,13  66  Gambar IV.28 Grafik RSE Orang Pertama dengan Daya Noise  0,14  66


(9)

xi 

Gambar IV.29 Grafik RSE Orang Kedua dengan Daya Noise  0,14  67  Gambar IV.30 Grafik RSE Orang Ketiga dengan Daya Noise  0,14  67  Gambar IV.31 Grafik RSE Orang Keempat dengan Daya Noise  0,14  68


(10)

A­1 

LAMPIRAN 

% MAIN.m  clear,close all,clc;  %Variabel Modifikasi  sigma=0.12; 

tipe='S';    % 'S' untuk Softhreshold dan 'H' untuk Hardthreshold  lev=1; 

qmf=makeonfilter('Symmlet',5);  init=1603198200; 

%Load Data 16265 Sebanyak 4096  load data1; 

t1=data65(1:4096,1).';  sig065=data65(1:4096,2).';  sig165=data65(1:4096,3).'; 

%Load Data 16272 Sebanyak 4096  load data2; 

t2=data72(1:4096,1).';  sig072=data72(1:4096,2).';  sig172=data72(1:4096,3).'; 

%Load Data 16273 Sebanyak 4096  load data3; 

t3=data73(1:4096,1).';  sig073=data73(1:4096,2).';  sig173=data73(1:4096,3).';


(11)

A­2  %Load Data 16420 Sebanyak 4096 

load data4; 

t4=data20(1:4096,1).';  sig020=data20(1:4096,2).';  sig120=data20(1:4096,3).'; 

%Tambah Noise pada Sinyal Data  nsig065=addgwn(sig065,sigma,init);  nsig165=addgwn(sig165,sigma,init);  nsig072=addgwn(sig072,sigma,init);  nsig172=addgwn(sig172,sigma,init);  nsig073=addgwn(sig073,sigma,init);  nsig173=addgwn(sig173,sigma,init);  nsig020=addgwn(sig020,sigma,init);  nsig120=addgwn(sig120,sigma,init);  %Hitung SNR Sebelum Denoising  s065=snr(sig065,nsig065); 

s165=snr(sig165,nsig165);  s072=snr(sig072,nsig072);  s172=snr(sig172,nsig172);  s073=snr(sig073,nsig073);  s173=snr(sig173,nsig173);  s020=snr(sig020,nsig020);  s120=snr(sig120,nsig120);  %Proses Denoising 

warning off MATLAB:fmins:ObsoleteFunction;  d065=reccv(nsig065,tipe,lev, qmf); 


(12)

A­3  d072=reccv(nsig072,tipe,lev, qmf); 

d172=reccv(nsig172,tipe,lev, qmf);  d073=reccv(nsig073,tipe,lev, qmf);  d173=reccv(nsig173,tipe,lev, qmf);  d020=reccv(nsig020,tipe,lev, qmf);  d120=reccv(nsig120,tipe,lev, qmf);  %Hitung SNR Sesudah Denoising  r065=snr(sig065,d065); 

r165=snr(sig165,d165);  r072=snr(sig072,d072);  r172=snr(sig172,d172);  r073=snr(sig073,d073);  r173=snr(sig173,d173);  r020=snr(sig020,d020);  r120=snr(sig120,d120); 

%Hitung RSE Sesudah Denoising  rs065=rse(sig065,d065); 

rs165=rse(sig165,d165);  rs072=rse(sig072,d072);  rs172=rse(sig172,d172);  rs073=rse(sig073,d073);  rs173=rse(sig173,d173);  rs020=rse(sig020,d020);  rs120=rse(sig120,d120); 

figure,subplot(4,1,1),plot(t1,nsig065),axis([0  4  min(nsig065)  max(nsig065)]),title(['sinyal ternoise 065, SNR= ',num2str(s065)]),... 

subplot(4,1,2),plot(t1,d065),axis([0  4  min(d065)  max(d065)]),title(['sinyal  denoising 065, SNR= ',num2str(r065),' RSE= ',num2str(rs065)]),...


(13)

A­4 

subplot(4,1,3),plot(t1,nsig165),axis([0  4  min(nsig165)  max(nsig165)]),title(['sinyal ternoise 165, SNR= ',num2str(s165)]),... 

subplot(4,1,4),plot(t1,d165),axis([0  4  min(d165)  max(d165)]),title(['sinyal  denoising 165, SNR= ',num2str(r165),' RSE= ',num2str(rs165)]); 

figure,subplot(4,1,1),plot(t1,nsig072),axis([0  4  min(nsig072)  max(nsig072)]),title(['sinyal ternoise 072, SNR= ',num2str(s072)]),... 

subplot(4,1,2),plot(t1,d072),axis([0  4  min(d072)  max(d072)]),title(['sinyal  denoising 072, SNR= ',num2str(r072),' RSE= ',num2str(rs072)]),... 

subplot(4,1,3),plot(t1,nsig172),axis([0  4  min(nsig172)  max(nsig172)]),title(['sinyal ternoise 172, SNR= ',num2str(s172)]),... 

subplot(4,1,4),plot(t1,d172),axis([0  4  min(d172)  max(d172)]),title(['sinyal  denoising 172, SNR= ',num2str(r172),' RSE= ',num2str(rs172)]); 

figure,subplot(4,1,1),plot(t1,nsig073),axis([0  4  min(nsig073)  max(nsig073)]),title(['sinyal ternoise 073, SNR= ',num2str(s073)]),... 

subplot(4,1,2),plot(t1,d073),axis([0  4  min(d073)  max(d073)]),title(['sinyal  denoising 073, SNR= ',num2str(r073),' RSE= ',num2str(rs073)]),... 

subplot(4,1,3),plot(t1,nsig173),axis([0  4  min(nsig173)  max(nsig173)]),title(['sinyal ternoise 173, SNR= ',num2str(s173)]),... 

subplot(4,1,4),plot(t1,d173),axis([0  4  min(d173)  max(d173)]),title(['sinyal  denoising 173, SNR= ',num2str(r173),' RSE= ',num2str(rs173)]); 

figure,subplot(4,1,1),plot(t1,nsig020),axis([0  4  min(nsig020)  max(nsig020)]),title(['sinyal ternoise 020, SNR= ',num2str(s020)]),... 

subplot(4,1,2),plot(t1,d020),axis([0  4  min(d020)  max(d020)]),title(['sinyal  denoising 020, SNR= ',num2str(r020),' RSE= ',num2str(rs020)]),... 

subplot(4,1,3),plot(t1,nsig120),axis([0  4  min(nsig120)  max(nsig120)]),title(['sinyal ternoise 120, SNR= ',num2str(s120)]),... 

subplot(4,1,4),plot(t1,d120),axis([0  4  min(d120)  max(d120)]),title(['sinyal  denoising 120, SNR= ',num2str(r120),' RSE= ',num2str(rs120)]);


(14)

A­5  RECCV 

function f = reccv(signal,type,lev, h) 

% recgcv:    Smoothing dipergunakan secara umum dalam tujuan cross validation.  %  Dikenal dengan prosedur CV. 

%      f = reccv(signal,type,lev,h)  % Masukan 

%   signal  1­d Noisy signal, length(signal)= 2^J 

%   type  'S' untuk soft thresholding, 'H' untuk hard thresholding  %   h  Quadrature Mirror Filter untuk transformasi wavelet.  %  Optional, default = Symmlet 8 

% Keluaran 

%   f  Estimasi,  berisi  nilai  thresholding  yang  digunakan  dalam  wavelet 

%if nargin < 3, 

%h = MakeONFilter('Symmlet',8);  %end 

%inisialisasi  n=length(signal); 

%lev=floor(log2(log(n)))+1;  J=log2(n); 

%Normalisation of the noise level to 1  [signalnorm,coef] = NormNoise(signal,h);  %Determining the cross­validated threshold 

thr=fmins('cv',sqrt(2*log(n)),[],[],signalnorm,lev,h,type);  thr=thr/sqrt((1­log(2)/log(n))); 

%Extraction of the wavelet coefficients  wcoef=FWT_PO(signalnorm,lev,h);


(15)

A­6  if strcmp(type,'H'), 

wcoef(2^lev+1:2^J) = HardThresh(wcoef(2^lev+1:2^J),thr);  else

wcoef(2^lev+1:2^J) = SoftThresh(wcoef(2^lev+1:2^J),thr);  end 

reconstruct=IWT_PO(wcoef,lev,h);  f = (1/coef)*reconstruct; 

RSE 

function value=RSE(sig1,sig2) 

%  MSE ­ Reconstruction Square Error  %  Pemakaian 

%    value=RSE(sig1,sig2)  %  Masukan 

%    sig1  Signal Referensi. 

%    sig2  Signal Hasil Restorasi, Estimasi atau Denoising.  %  Keluaran 

%    value  Nilai Reconstruction Square Error.  n=length(sig1); 

value=sum((sig1­sig2).^2);  SNR 

function value=SNR(sig1,sig2)  %  SNR­ Signal/Noise ratio  %  Pemakaian 

%    value=SNR(sig1,sig2)  %  Masukan 

%    sig1  Sinyal Sebernarnya  %    sig2  Sinyal Noise  %  Keluaran 

%    value  Signal/Noise ratio. 

value=20*log10(norm(sig1)/norm(sig1­sig2));  SoftThresh 

function x = SoftThresh(y,t) 

% SoftThresh – Soft Threshold pada koefisien wavelet  %  Pemakaian


(16)

A­7  %    x = SoftThresh(y,t) 

%  Masukan 

%    y     Noisy Data  %    t     Threshold  %  Keluaran 

%    x     sign(y)(|y|­t)_+  % 

res = (abs(y) ­ t);  res = (res + abs(res))/2;  x   = sign(y).*res;  HardThresh 

function x = HardThresh(y,t) 

% HardThresh ­­ Apply Hard Threshold  %  Pemakaian 

%    x = HardThresh(y,t)  %  Masukan 

%    y     Noisy Data  %  t     Threshold  %  Keluaran 

%    x     y 1_{|y|>t}  % 

x   = y .* (abs(y) > t);  RSE 

function value=RSE(sig1,sig2) 

%  RSE – Reconstruction Square Error  %  Pemakaian 

%    value=RSE(sig1,sig2)  %  Masukan 

%    sig1  Signal Referensi. 

%    sig2  Signal Hasil Restorasi, Estimasi atau Denoising.  %  Keluaran 

%    value  Nilai Reconstruction Square Error.  n=length(sig1); 

value=sum((sig1­sig2).^2);  NormNoise 

function [y,coef] = NormNoise(x,qmf) 

% NormNoise – Estimasi level noise, Normalize signal to noise level 1  %  Pemakaian 

%    [y,coef] = NormNoise(x,qmf)  %  Masukan 

%    x     1­d signal 


(17)

A­8  %  Keluaran  %    y     1­d signal, scaled so wavelet coefficients  %      at finest level have median absolute deviation 1.  %    coef  estimation of 1/sigma  %  %  Keterangan  %    This is required pre­processing to use any of the DeNoising  %    tools on naturally­occurring data.  %  Perhatikan  %    WaveShrink, CPDeNoise,WPDeNoise  %  u = DownDyadHi(x,qmf);  s = median(abs(u));  if s ~= 0  y =  .6745 .* x ./s;  coef = .6745 /s;  else  y = x;  coef = 1;  end  DownDyadHi  function d = DownDyadHi(x,qmf)  % DownDyadHi ­­ Hi­Pass Downsampling operator (periodized)  %  Pemakain  %    d = DownDyadHi(x,f)  %  Masukan  %    x  1­d signal at fine scale  %    f    filter  %  Keluaran  %    y    1­d signal at coarse scale  %  %  Perhatikan juga  %    DownDyadLo, UpDyadHi, UpDyadLo, FWT_PO, iconv  %  d = iconv( MirrorFilt(qmf),lshift(x));  n = length(d);  d = d(1:2:(n­1));  DownDyadLo  function d = DownDyadLo(x,qmf)  % DownDyadLo ­­ Lo­Pass Downsampling operator (periodized)  %  Pemakaian  %    d = DownDyadLo(x,f)  %  Masukan  %    x    1­d signal at fine scale  %    f    filter


(18)

A­9  %  Keluaran  %    y    1­d signal at coarse scale  %  %  Perhatikan juga  %    DownDyadHi, UpDyadHi, UpDyadLo, FWT_PO, aconv  %  d = aconv(qmf,x);  n = length(d);  d = d(1:2:(n­1));  Dyad.m  function i = dyad(j)  % dyad ­­ Index entire j­th dyad of 1­d wavelet xform  %  Pemakaian  %    ix = dyad(j);  % Masukan  %    j     integer  %  Keluaran  %    ix    list of all indices of wavelet coeffts at j­th level  %  i = (2^(j)+1):(2^(j+1)) ;  Dyadlength  function [n,J] = dyadlength(x)  % dyadlength ­­ Find length and dyadic length of array  %  Pemakaian  %    [n,J] = dyadlength(x)  % Masukan  %    x    array of length n = 2^J (hopefully)  %  Keluaran  %    n    length(x)  %    J    least power of two greater than n  %  %  Efek Samping  %    A warning is issued if n is not a power of 2.  %  %  Perhatikan juga  %    quadlength, dyad, dyad2ix  %  n = length(x) ;  J = ceil(log(n)/log(2));  if 2^J ~= n ,  disp('Warning in dyadlength: n != 2^J')  end  FWT_PO  function wcoef = FWT_PO(x,L,qmf)


(19)

A­10 

% FWT_PO ­­ Forward Wavelet Transform (periodized, orthogonal)  %  Pemakaian 

%    wc = FWT_PO(x,L,qmf)  %  Masukan 

%    x    1­d signal; length(x) = 2^J  %    L    Coarsest Level of V_0;  L << J 

%    qmf  quadrature mirror filter (orthonormal)  %  Keluaran 

%    wc    1­d wavelet transform of x.  % 

%  Keterangan 

%    1. qmf filter may be obtained from MakeONFilter  %    2. usually, length(qmf) < 2^(L+1) 

%    3. To reconstruct use IWT_PO  % 

%  Perhatikan juga 

%    IWT_PO, MakeONFilter  % 

[n,J] = dyadlength(x) ;  wcoef = zeros(1,n) ; 

beta = ShapeAsRow(x);  %take samples at finest scale as beta­coeffts  for j=J­1:­1:L 

alfa = DownDyadHi(beta,qmf);  wcoef(dyad(j)) = alfa; 

beta = DownDyadLo(beta,qmf) ;  end 

wcoef(1:(2^L)) = beta;  wcoef = ShapeLike(wcoef,x); 

AddGWN 

function [Noisysig] = AddGWN(data,sigma,init,snr) 

%  AddGWN ­ Penambahan White Gaussian Noise pada Sinyal Input  %  Pemakaian 

%    Noisysig = AddGWN(sig,sigma,init)  %  Masukan 

%    sig        Sinyal Input 

%    sigma      Standar Deviasi dari Additive White Gaussian Noise  %    init       Generator Seed untuk AWGN 

%  Keluaran 

%  Noisysig   Sinyal 1­d yang Telah Memiliki Noise  % 

n=length(data);  if nargin >2 


(20)

A­11  end 

if nargin >3 

data=(data * (snr/std(data)));  end 

Noise= sigma * randn(1,n);  Noisysig= Noise+data;  CV 

function M = cv(thr,x,L,h,type) 

% gcv: Tujuan umum dari cross validation yang dibutuhkan dengan menggunakan  prosedur RECCV. 

% Pemakaian 

%         M = cv(thr,x,L,h,type)  % Masukan 

%   thr   Threshold 

%   x  1­d Noisy signal, length(signal)= 2^J  %   L  Low resolution level 

%   h  Quadrature Miror Filter 

%   type  'S' for soft thresholding, 'H' for hard thresholding  % Keluaran 

%   M  Reconstruction Square Error.  if (L < 0) 

fprintf('Warning: primary level must be => 0\n');  M = NaN; 

return;  end 

% Inisialisasi  n=length(x);  n1=n/2;  J=log2(n); 

% Pemilihan setengah dari nilai­nilai data  xodd=[]; 

xeven=[];  for k=1:n1, 

xodd=[xodd; x(2*k­1)];  xeven=[xeven; x(2*k)];  end; 

% Performa WT 


(21)

A­12  wceven=FWT_PO(xeven,L,h); 

if strcmp(type,'H'), 

wcodd(2^L+1:n1) = HardThresh(wcodd(2^L+1:n1),thr);  wceven(2^L+1:n1) = HardThresh(wceven(2^L+1:n1),thr);  else

wcodd(2^L+1:n1) = SoftThresh(wcodd(2^L+1:n1),thr);  wceven(2^L+1:n1) = SoftThresh(wceven(2^L+1:n1),thr);  end 

hatxodd = IWT_PO(wcodd,L,h);  hatxeven = IWT_PO(wceven,L,h);  % Interpolating 

barxodd = 0.5.*(hatxodd(1:n1­1) + hatxodd(2:n1));  barxodd(n1) = hatxodd(1); 

barxeven = 0.5.*(hatxeven(1:n1­1) + hatxeven(2:n1));  barxeven(n1) = hatxeven(1); 

M=norm(xodd­barxeven,'fro')^2+norm(xeven­barxodd,'fro')^2; 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2 

3  sinyal ternoise 065, SNR= 13.304 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1  2 

sinyal denoising 065, SNR= 15.5509 RSE= 34.9752 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1 

sinyal ternoise 165, SNR= 3.9234 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 

0  0.5 


(22)

A­13 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 0 

0.5 1  1.5 

sinyal ternoise 072, SNR= 5.8276 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 0 

0.5 1  1.5 

sinyal denoising 072, SNR= 9.578 RSE= 24.74 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

­0.5  0 

sinyal ternoise 172, SNR= 3.2942 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.8 

­0.6  ­0.4  ­0.2 0  0.2 

sinyal denoising 172, SNR= 7.8376 RSE= 20.6113 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2  3 

sinyal ternoise 073, SNR= 13.8448 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2  3 

sinyal denoising 073, SNR= 16.0023 RSE= 35.7027 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0  0.5 

sinyal ternoise 173, SNR= 5.8048 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0 


(23)

A­14 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1  2 

sinyal ternoise 020, SNR= 7.6456 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1 

sinyal denoising 020, SNR= 10.854 RSE= 28.0287 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0 

sinyal ternoise 120, SNR= 5.4322 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

­0.5  0 

sinyal denoising 120, SNR= 9.023 RSE= 25.666 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2 

3  sinyal ternoise 065, SNR= 13.304 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2 

3  sinyal denoising 065, SNR= 14.9077 RSE= 40.5585 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1 

sinyal ternoise 165, SNR= 3.9234 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 

0  0.5 


(24)

A­15 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 0 

0.5 1  1.5 

sinyal ternoise 072, SNR= 5.8276 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­0.5 0 

0.5 1  1.5 

sinyal denoising 072, SNR= 8.6497 RSE= 30.6357 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

­0.5  0 

sinyal ternoise 172, SNR= 3.2942 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

­0.5  0 

sinyal denoising 172, SNR= 6.7484 RSE= 26.4868 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2  3 

sinyal ternoise 073, SNR= 13.8448 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 0 

1  2  3 

sinyal denoising 073, SNR= 15.8416 RSE= 37.0482 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0  0.5 

sinyal ternoise 173, SNR= 5.8048 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0  0.5 


(25)

A­16 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1  2 

sinyal ternoise 020, SNR= 7.6456 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1 

0  1 

2  sinyal denoising 020, SNR= 7.9999 RSE= 54.0769 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 ­1 

­0.5 0 

sinyal ternoise 120, SNR= 5.4322 

0  0.5  1  1.5  2  2.5  3  3.5  4  ­1.5 

­1  ­0.5 0 


(26)

BAB I 

PENDAHULUAN 

1.1 Latar Belakang 

Segala  macam  sinyal  yang  dihasilkan  seperti  respon  instrumental  dari  peralatan  analitik  dipengaruhi  oleh noise.  Noise menurunkan  akurasi  dan  presisi  dari analisa , dan kemudian mengurangi tingkat deteksi dari teknik instrumentasi.  Oleh  karena  itu  diperlukan  sinyal  denoising  sangat  dibutuhkan  di  dalam  optimisasi  respon  analitik.  Terdapat  berbagai  macam  metoda  yang  dapat  digunakan dan diantaranya menggunakan wavelet transform. Wavelet merupakan  keluarga  baru dari fungsi­fungsi  basis,  yang  dibatasi  domain waktu  dan  domain  frekuensi.  Metode  yang  biasa  dipergunakan  untuk  transformasi  wavelet  adalah  Transformasi  Wavelet  Diskrit  (TWD)  dan  Transformasi  Wavelet  Paket  (TWP).  Dalam  tugas  akhir  ini  penulis  akan  membahas  tentang  Transformasi  Wavelet  Diskrit (TWD). 

1.2  Identifikasi Masalah

·  Bagaimana  melakukan denoising sinyal dengan  metode Transformasi  Wavelet Diskrit (TWD) terhadap sinyal EKG ? 

1.3  Tujuan 

Mengoptimalkan  sinyal  denoising  dengan  menggunakan  Transformasi  Wavelet Diskrit (TWD) dan parameter dari denoising (threshold) terhadap  sinyal EKG. 

1.4  Pembatasan Masalah

·  Sinyal  masukan  yang  akan  dilakukan  proses  denoising  sinyal  adalah  delapan buah sampel sinyal elektrokardiograf (EKG) dari empat orang  yang berbeda.

·  Menggunakan metode Cross­Validation(CV) ·  Menggunakan filter symmlet.


(27)

1.5  Sistematika Penulisan 

Tugas Akhir ini memiliki sistematika pembahasan sebagai berikut :

·  BAB I, pada bab ini pembahasan akan dimulai dengan latar belakang,  identifikasi    masalah,  tujuan,  pembatasan  masalah  dan  sistematika  penulisan.

·  BAB  II,  untuk  memahami  sinyal  jantung,  noise,  dan  transformasi  wavelet,  maka  pada  bab  ini  diberikan  teori–teori  dasar  yang  akan  dikembangkan dan diaplikasikan lebih jauh pada tahap simulasi. ·  BAB III, dengan menggunakan teori dasar dari bab sebelumnya, maka 

bab  ini  akan  membahas  lebih  spesifik  mengenai  strategi  denoising  dengan  menggunakan  transformasi  wavelet  beserta  perancangan  algoritma yang akan digunakan padasoftware matlab.

·  BAB IV, dalam bab ini hasil pengujian program pada beberapa sinyal  berupa  tabel  dan  plot  sinyal  hasil  denoising  akan  diberikan,  dengan  beberapa  kondisi,  sesuai  dengan  point–point  yang  ada  dalam  pembatasan masalah.

·  BAB V,  dalam bab  ini  akan membahas  kesimpulan  akhir  dan  saran–  saran  untuk  pengembangan  lanjutan  dari  teknik  denoising  menggunakan transformasi wavelet.


(28)

69 

BAB V 

KESIMPULAN DAN SARAN 

5.1  Kesimpulan 

1.  Cross­Validation bisa diterapkan untuk mengoptimalkan sinyal denoising  dengan menggunakanTransformasi Wavelet Diskrit (TWD) dan parameter  dari denoising (threshold) terhadap sinyal EKG. 

2.  Level  terakhir  dari  dekomposisi  TWD  tidak  secara  umum  memberikan  performa yang terbaik. 

5.2  Saran 

Proses  denoising,  yang  telah  diterangkan  dalam  tugas  akhir  ini,  dapat  mengkoreksi  keberadaan  noise  dalam  sinyal  EKG  sehingga  didapatkan  sinyal  EKG dengan  kualitas  yang  optimal.  Bila  sinyal  EKG  tersebut digunakan  dalam  proses  ekstraksi  ciri  kondisi  jantung,  maka  akan  dihasilkan  informasi  kondisi  jantung  yang  lebih  baik  dibandingkan  dengan  penggunaan  sinyal  EKG  yang  mengandungnoise. 

Dalam penelitian selanjutnya, dapat dikembangkan algoritma ekstraksi ciri  yang terintegrasi dengan suatu sistem pakar untuk tujuan analisis kondisi jantung  menggunakan sinyal EKG hasil prosesdenoising.


(29)

DAFTAR PUSTAKA

 

[1]  Bakhtazad,  A,  A,  Palazoglu,  dan  J.  A,  Romagnoli,  Process  Data 

Denoising  Using  Wavelet  Transform,  Intelligent  Data  Analysis,  3 

halaman. 

[2]  Daubechies,  I,  Ten  Lectures  on  Wavelets,  SIAM,  CBMS­NSF  Regional 

Conference IN Applied Mathematics 61, Philadelpia, 1992. 

[3]  Donoho, D. L, dan Iain M, Johnstone, Adapting to Unknown Smoothness 

via  Wavelet  Shrinkage,  Journal  of  the  American  Statistical  Association

90(432):1200­1224, 1995. 

[4]  Donoho, D. L, dan Iain M, Johnstone, Ideal Spatial Adaption via Wavelet 

Shrinkage, Biometrika, 81:425­455, September 1994. 

[5]  Guyton,  Arthur  C,  Medical  Psychology  I,  Penerbit  Buku  Kedokteran,  1993. 

[6]  Lipman,  Bernard  S,  Clinical  Scalar  Electrocardiography,  Year  Book  Medical Publisher Incorporated, 1979. 

[7]  Strang,  G  and  Troung,  Nguyen,  Waveletand  Filter  Banks,  Welleslay­  Cambridge Press, 1997. 

[8]  Taswell,  Carl,  Experiments  in  Wavelet  Shrinkage  Denoising,  Journal  of 

Computational Methods in Sciences and Engineering (JCMSE) vol 1. no. 

2s­3s halaman 315­326, 2001. 

[9]  Taswell, Carl, The What, How, and Why of Wavelet Shrinkage Denoising,  IEEE Computing in Science and Engineering, 2(3):12­19, 2000. 

[10]  W.  Smith.  Steven,  The  Scientist and  Engineer’s  Guide  to  Digital Signal 


(1)

A­15 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­0.5 0  0.5 1  1.5 

sinyal ternoise 072, SNR= 5.8276 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­0.5 0  0.5 1  1.5 

sinyal denoising 072, SNR= 8.6497 RSE= 30.6357 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1  ­0.5  0 

sinyal ternoise 172, SNR= 3.2942 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1  ­0.5  0 

sinyal denoising 172, SNR= 6.7484 RSE= 26.4868 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1 0  1  2  3 

sinyal ternoise 073, SNR= 13.8448 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1 0  1  2  3 

sinyal denoising 073, SNR= 15.8416 RSE= 37.0482 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1.5 ­1  ­0.5 0  0.5 

sinyal ternoise 173, SNR= 5.8048 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1.5 ­1  ­0.5 0  0.5 


(2)

A­16 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1  0  1  2 

sinyal ternoise 020, SNR= 7.6456 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1  0  1 

2  sinyal denoising 020, SNR= 7.9999 RSE= 54.0769 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1.5 ­1  ­0.5 0 

sinyal ternoise 120, SNR= 5.4322 

0  0.5  1  1.5  2  2.5  3  3.5  4 

­1.5  ­1  ­0.5 0 


(3)

BAB I 

PENDAHULUAN 

1.1 Latar Belakang 

Segala  macam  sinyal  yang  dihasilkan  seperti  respon  instrumental  dari  peralatan  analitik  dipengaruhi  oleh noise.  Noise menurunkan  akurasi  dan  presisi  dari analisa , dan kemudian mengurangi tingkat deteksi dari teknik instrumentasi.  Oleh  karena  itu  diperlukan  sinyal  denoising  sangat  dibutuhkan  di  dalam  optimisasi  respon  analitik.  Terdapat  berbagai  macam  metoda  yang  dapat  digunakan dan diantaranya menggunakan wavelet transform. Wavelet merupakan  keluarga  baru dari fungsi­fungsi  basis,  yang  dibatasi  domain waktu  dan  domain  frekuensi.  Metode  yang  biasa  dipergunakan  untuk  transformasi  wavelet  adalah  Transformasi  Wavelet  Diskrit  (TWD)  dan  Transformasi  Wavelet  Paket  (TWP).  Dalam  tugas  akhir  ini  penulis  akan  membahas  tentang  Transformasi  Wavelet  Diskrit (TWD). 

1.2  Identifikasi Masalah

·  Bagaimana  melakukan denoising sinyal dengan  metode Transformasi  Wavelet Diskrit (TWD) terhadap sinyal EKG ? 

1.3  Tujuan 

Mengoptimalkan  sinyal  denoising  dengan  menggunakan  Transformasi  Wavelet Diskrit (TWD) dan parameter dari denoising (threshold) terhadap  sinyal EKG. 

1.4  Pembatasan Masalah

·  Sinyal  masukan  yang  akan  dilakukan  proses  denoising  sinyal  adalah  delapan buah sampel sinyal elektrokardiograf (EKG) dari empat orang  yang berbeda.

·  Menggunakan metode Cross­Validation(CV) ·  Menggunakan filter symmlet.


(4)

1.5  Sistematika Penulisan 

Tugas Akhir ini memiliki sistematika pembahasan sebagai berikut :

·  BAB I, pada bab ini pembahasan akan dimulai dengan latar belakang,  identifikasi    masalah,  tujuan,  pembatasan  masalah  dan  sistematika  penulisan.

·  BAB  II,  untuk  memahami  sinyal  jantung,  noise,  dan  transformasi  wavelet,  maka  pada  bab  ini  diberikan  teori–teori  dasar  yang  akan  dikembangkan dan diaplikasikan lebih jauh pada tahap simulasi. ·  BAB III, dengan menggunakan teori dasar dari bab sebelumnya, maka 

bab  ini  akan  membahas  lebih  spesifik  mengenai  strategi  denoising  dengan  menggunakan  transformasi  wavelet  beserta  perancangan  algoritma yang akan digunakan padasoftware matlab.

·  BAB IV, dalam bab ini hasil pengujian program pada beberapa sinyal  berupa  tabel  dan  plot  sinyal  hasil  denoising  akan  diberikan,  dengan  beberapa  kondisi,  sesuai  dengan  point–point  yang  ada  dalam  pembatasan masalah.

·  BAB V,  dalam bab  ini  akan membahas  kesimpulan  akhir  dan  saran–  saran  untuk  pengembangan  lanjutan  dari  teknik  denoising  menggunakan transformasi wavelet.


(5)

69 

BAB V 

KESIMPULAN DAN SARAN 

5.1  Kesimpulan 

1.  Cross­Validation bisa diterapkan untuk mengoptimalkan sinyal denoising  dengan menggunakanTransformasi Wavelet Diskrit (TWD) dan parameter  dari denoising (threshold) terhadap sinyal EKG. 

2.  Level  terakhir  dari  dekomposisi  TWD  tidak  secara  umum  memberikan  performa yang terbaik. 

5.2  Saran 

Proses  denoising,  yang  telah  diterangkan  dalam  tugas  akhir  ini,  dapat  mengkoreksi  keberadaan  noise  dalam  sinyal  EKG  sehingga  didapatkan  sinyal  EKG dengan  kualitas  yang  optimal.  Bila  sinyal  EKG  tersebut digunakan  dalam  proses  ekstraksi  ciri  kondisi  jantung,  maka  akan  dihasilkan  informasi  kondisi  jantung  yang  lebih  baik  dibandingkan  dengan  penggunaan  sinyal  EKG  yang  mengandungnoise

Dalam penelitian selanjutnya, dapat dikembangkan algoritma ekstraksi ciri  yang terintegrasi dengan suatu sistem pakar untuk tujuan analisis kondisi jantung  menggunakan sinyal EKG hasil prosesdenoising.


(6)

DAFTAR PUSTAKA

 

[1]  Bakhtazad,  A,  A,  Palazoglu,  dan  J.  A,  Romagnoli,  Process  Data  Denoising  Using  Wavelet  Transform,  Intelligent  Data  Analysis,  3  halaman. 

[2]  Daubechies,  I,  Ten  Lectures  on  Wavelets,  SIAM,  CBMS­NSF  Regional  Conference IN Applied Mathematics 61, Philadelpia, 1992. 

[3]  Donoho, D. L, dan Iain M, Johnstone, Adapting to Unknown Smoothness  via  Wavelet  Shrinkage,  Journal  of  the  American  Statistical  Association,  90(432):1200­1224, 1995. 

[4]  Donoho, D. L, dan Iain M, Johnstone, Ideal Spatial Adaption via Wavelet  Shrinkage, Biometrika, 81:425­455, September 1994. 

[5]  Guyton,  Arthur  C,  Medical  Psychology  I,  Penerbit  Buku  Kedokteran,  1993. 

[6]  Lipman,  Bernard  S,  Clinical  Scalar  Electrocardiography,  Year  Book  Medical Publisher Incorporated, 1979. 

[7]  Strang,  G  and  Troung,  Nguyen,  Waveletand  Filter  Banks,  Welleslay­  Cambridge Press, 1997. 

[8]  Taswell,  Carl,  Experiments  in  Wavelet  Shrinkage  Denoising,  Journal  of  Computational Methods in Sciences and Engineering (JCMSE) vol 1. no.  2s­3s halaman 315­326, 2001. 

[9]  Taswell, Carl, The What, How, and Why of Wavelet Shrinkage Denoising,  IEEE Computing in Science and Engineering, 2(3):12­19, 2000. 

[10]  W.  Smith.  Steven,  The  Scientist and  Engineer’s  Guide  to  Digital Signal  Processing, California Technical Publishing, 1999.