Optimalisasi Denoising Sinyal Menggunakan Transformasi Wavelet Diskrit Terhadap Sinyal ElektroKardioGraf (EKG).
i
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 crossvalidation 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 masingmasing 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 crossvalidation 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)
v
DAFTAR ISI
LEMBAR JUDULLEMBAR PENGESAHAN
ABSTRAK i
ABSTRACT ii
KATA PENGANTAR iii
DAFTAR ISI v
DAFTAR TABEL viii
DAFTAR GAMBAR ix
BAB I PENDAHULUAN
I.1 Latar Belakang 1
I.2 Identifikasi Masalah 1
I.3 Tujuan 1
I.4 Pembatasan Masalah 1
I.5 Sistematika Penulisan 2
BAB II LANDASAN TEORI
II.1 Sinyal Elektrokardiograf 3
II.2 Noise Interferensi dalam EKG 7
II.3 Noise 8
2.3.1 White Noise 9
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 KoefisienKoefisien Masukan 27
II.7 KondisiKondisi 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 CrossValidation 42
3.9.1 TwoFolk CrossValidation 43
3.9.1.1 Algoritma TwoFolk CrossValidation 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 Downsampler atau Decimator 23
Gambar II.19 Two Band Analysis Bank 24
Gambar II.20 Dua Tingkat TwoBand Analysis Tree 25 Gambar II.21 Tiga Tingkat TwoBand 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)
x
Gambar III.6 Diagram Alir Program Utama 45
Gambar III.7 Gambar Lanjutan Diagram Alir Program Utama 46 Gambar III.8 Gambar Diagram Alir CrossValidation 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)
A1
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)
A2 %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)
A3 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)
A4
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)
A5 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 1d 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 crossvalidated threshold
thr=fmins('cv',sqrt(2*log(n)),[],[],signalnorm,lev,h,type); thr=thr/sqrt((1log(2)/log(n)));
%Extraction of the wavelet coefficients wcoef=FWT_PO(signalnorm,lev,h);
(15)
A6 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((sig1sig2).^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(sig1sig2)); SoftThresh
function x = SoftThresh(y,t)
% SoftThresh – Soft Threshold pada koefisien wavelet % Pemakaian
(16)
A7 % 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((sig1sig2).^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 1d signal
(17)
A8 % Keluaran % y 1d signal, scaled so wavelet coefficients % at finest level have median absolute deviation 1. % coef estimation of 1/sigma % % Keterangan % This is required preprocessing to use any of the DeNoising % tools on naturallyoccurring 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 HiPass Downsampling operator (periodized) % Pemakain % d = DownDyadHi(x,f) % Masukan % x 1d signal at fine scale % f filter % Keluaran % y 1d 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:(n1)); DownDyadLo function d = DownDyadLo(x,qmf) % DownDyadLo LoPass Downsampling operator (periodized) % Pemakaian % d = DownDyadLo(x,f) % Masukan % x 1d signal at fine scale % f filter
(18)
A9 % Keluaran % y 1d signal at coarse scale % % Perhatikan juga % DownDyadHi, UpDyadHi, UpDyadLo, FWT_PO, aconv % d = aconv(qmf,x); n = length(d); d = d(1:2:(n1)); Dyad.m function i = dyad(j) % dyad Index entire jth dyad of 1d wavelet xform % Pemakaian % ix = dyad(j); % Masukan % j integer % Keluaran % ix list of all indices of wavelet coeffts at jth 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)
A10
% FWT_PO Forward Wavelet Transform (periodized, orthogonal) % Pemakaian
% wc = FWT_PO(x,L,qmf) % Masukan
% x 1d signal; length(x) = 2^J % L Coarsest Level of V_0; L << J
% qmf quadrature mirror filter (orthonormal) % Keluaran
% wc 1d 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 betacoeffts for j=J1: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 1d yang Telah Memiliki Noise %
n=length(data); if nargin >2
(20)
A11 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 1d 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 nilainilai data xodd=[];
xeven=[]; for k=1:n1,
xodd=[xodd; x(2*k1)]; xeven=[xeven; x(2*k)]; end;
% Performa WT
(21)
A12 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:n11) + hatxodd(2:n1)); barxodd(n1) = hatxodd(1);
barxeven = 0.5.*(hatxeven(1:n11) + hatxeven(2:n1)); barxeven(n1) = hatxeven(1);
M=norm(xoddbarxeven,'fro')^2+norm(xevenbarxodd,'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)
A13
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)
A14
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)
A15
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)
A16
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 BelakangSegala 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 fungsifungsi 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 CrossValidation(CV) · Menggunakan filter symmlet.
(27)
2
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 Kesimpulan1. CrossValidation 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, CBMSNSF 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):12001224, 1995.
[4] Donoho, D. L, dan Iain M, Johnstone, Ideal Spatial Adaption via Wavelet
Shrinkage, Biometrika, 81:425455, 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.
2s3s halaman 315326, 2001.
[9] Taswell, Carl, The What, How, and Why of Wavelet Shrinkage Denoising, IEEE Computing in Science and Engineering, 2(3):1219, 2000.
[10] W. Smith. Steven, The Scientist and Engineer’s Guide to Digital Signal
(1)
A15
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)
A16
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 BelakangSegala 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 fungsifungsi 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 CrossValidation(CV) · Menggunakan filter symmlet.
(4)
2
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. CrossValidation 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, CBMSNSF 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):12001224, 1995.
[4] Donoho, D. L, dan Iain M, Johnstone, Ideal Spatial Adaption via Wavelet Shrinkage, Biometrika, 81:425455, 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. 2s3s halaman 315326, 2001.
[9] Taswell, Carl, The What, How, and Why of Wavelet Shrinkage Denoising, IEEE Computing in Science and Engineering, 2(3):1219, 2000.
[10] W. Smith. Steven, The Scientist and Engineer’s Guide to Digital Signal Processing, California Technical Publishing, 1999.