21.07.2013 Views

SISTEM PENGOLAHAN ISYARAT

SISTEM PENGOLAHAN ISYARAT

SISTEM PENGOLAHAN ISYARAT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TKE 2403<br />

<strong>SISTEM</strong> <strong>PENGOLAHAN</strong> <strong>ISYARAT</strong><br />

Kuliah 8 – Analisis Wavelet : Wavelet Kontinyu<br />

Indah Susilawati, S.T., M.Eng.<br />

Program Studi Teknik Elektro<br />

Fakultas Teknik dan Ilmu Komputer<br />

Universitas Mercu Buana Yogyakarta<br />

2009


KULIAH 8<br />

Pendahuluan<br />

<strong>SISTEM</strong> <strong>PENGOLAHAN</strong> <strong>ISYARAT</strong><br />

Analisis Wavelet : Wavelet Kontinyu<br />

Sebagaimana telah diuraikan pada bab sebelumnya, sebuah alihragam<br />

dapat dipandang sebagai suatu pemetaan kembali suatu sinyal tertentu sehingga<br />

dapat memperlihatkan lebih banyak informasi daripada sinyal aslinya. Alihragam<br />

Fourier memberikan informasi mengenai konten frekuensi yang sebelumnya<br />

tidak tampak jika sinyal disajikan dalam domain waktu (sinyal asli). Namun<br />

alihragam Fourier tidak mampu mendiskripsikan karakteristik waktu dan<br />

frekuensi secara bersamaan. Alihragam wavelet dapat digunakan untuk<br />

mendiskripsikan suatu sinyal yang ubah waktu; sinyal tidak dibagi menjadi<br />

bagian-bagian menurut waktu namun dibagi menjadi segmen-segmen menurut<br />

suatu skala.<br />

Alihragam Fourier dinyatakan sebagai<br />

∞<br />

− jωm<br />

t<br />

= ∫ x(<br />

t e dt<br />

−∞<br />

X ( ω m ) )<br />

(1)<br />

Sinyal sinusoidal biasanya digunakan dalam aliragam Fourier karena sifat<br />

frekuensinya yang unik yaitu energinya terkandung pada satu frekuensi tertentu.<br />

Sebenarnya sebarang fungsi (selain sinusoidal) dapat digunakan. Jika fungsi<br />

tersebut mempunyai durasi yang terhingga saja, maka akan dapat digeser-geser<br />

sepanjang sinyal x(t) (seperti dilakukan pada proses konvolusi) dan dihasilkan<br />

alihragam Fourier yang sifatnya short-term atau STFT (short-term Fourier<br />

transform).<br />

STFT(<br />

t,<br />

f )<br />

∞<br />

− j2π<br />

f τ<br />

= ∫ x(<br />

τ ) ( w(<br />

t −τ<br />

) e ) dτ<br />

−∞<br />

(2)


Dengan f adalah frekuensi yang juga mengindikasikan keanggotaan, w(t - τ)<br />

adalah fungsi jendela dengan t berlaku sebagai penggeser jendela sepanjang x.<br />

Secara umum persamaan (2) dapat ditulis kembali sebagai persamaan berikut.<br />

X t m<br />

∞<br />

∫ x<br />

−∞<br />

f t −τ<br />

m ) ( ) ( ) ,<br />

= τ dτ<br />

( (3)<br />

Dengan f(t)m adalah fungsi keanggotaan dan m menspesifikasikan nomor<br />

keanggotaan.<br />

Alihragam Wavelet Kontinyu<br />

Alihragam wavelet mempergunakan konsep yang dinyatakan pada<br />

persamaan (3). Dalam analisis wavelet, ada sejumlah fungsi yang dapat<br />

digunakan, namun keanggotaannya selalu terdiri atas versi-versi yang<br />

diregangkan atau dimampatkan dari fungsi basisnya, sebagaimana halnya<br />

pergeseran. Konsep ini mengarah pada definisi persamaan untuk alihragam<br />

wavelet kontinyu (CWT: Continuous Wavelet Transform),<br />

∞<br />

∫<br />

−∞<br />

1 * ⎛ t − b ⎞<br />

W ( a,<br />

b)<br />

= x(<br />

) ψ ⎜ ⎟dt<br />

| a | ⎝ a ⎠<br />

τ (4)<br />

Dengan b berlaku sebagai penggeser fungsi sepanjang x(t) dan a berlaku<br />

sebagai penskala waktu pada fungsi ψ. Jika a lebih besar daripada 1, fungsi<br />

wavelet ψ menjadi terregang sepanjang sumbu waktu dan jika a kurang daripada<br />

1 (dan masih bernilai positif), maka ψ akan termampatkan. Jika nilai a negatif<br />

maka akan membuat fungsi wavelet ψ menjadi terbalik pada arah sumbu waktu.<br />

Tanda * menunjukkan operasi konjugat kompleks, dan normalisasi<br />

memastikan bahwa energinya sama untuk semau nilai a (dan juga untuk semua<br />

nilai b). Jika b = 0 dan a = 1, maka wavelet berada dalam bentuk naturalnya dan<br />

disebut dengan istilah the mother wavelet yaitu ψ1,0(t) = ψ(t). Gambar 1<br />

memperlihatkan hal ini (dan beberapa anggotanya yang dihasilkan oleh<br />

1<br />

| a |


eberapa pergeseran yaitu dilasi dan kontraksi). Pada gambar tersebut<br />

digunakan wavelet Morlet yang dinyatakan dengan<br />

⎛ ⎞<br />

= ⎜ ⎟<br />

⎜ ⎟<br />

⎝ ⎠<br />

−<br />

2<br />

t 2<br />

ψ ( t)<br />

e cos π t<br />

(5)<br />

ln 2<br />

Gambar 1. Mother wavelet (a=1) dengan dua dilasi (a = 2 dan 4) dan satu<br />

kontraksi (a = 0,5)<br />

Koefisien wavelet, W(a, b), menggambarkan korelasi antara sinyal dengan<br />

wavelet pada berbagai pergeseran dan skala: kemiripan antara sinyal dan<br />

wavelet pada suatu kombinasi skala dan posisi yaitu a,b. Dengan kata lain,<br />

koefisien wavelet menentukan amplitude deret wavelet pada jangkauan skala<br />

dan pergeseran yang harus dijumlahkan untuk merekontruksi kembali sinyal.<br />

Jika fungsi wavelet ψ(t) dapat dipilih dengan tepat, maka dimungkinkan untuk<br />

merekontruksi sinyal aslinya dari koefisien wavelet (seperti yang dilakukan pada<br />

alihragam Fourier). Oleh karena CWT mendekomposisi sinyal menjadi koefisien-


koefisien dari dua variabel yaitu a dan b, maka dibutuhkan penjumlahan (atau<br />

integrasi) ganda untuk memperoleh kembali sinyal asli dari koefisien-koefisien<br />

tersebut. Hal ini dinyatakan pada persamaan berikut.<br />

Dengan<br />

C = ∫<br />

∞<br />

∞<br />

1<br />

x ( t)<br />

= ∫ ∫ W ( a,<br />

b)<br />

a,<br />

b ( t)<br />

da db<br />

C<br />

∞<br />

−∞<br />

| ψ ( ω)<br />

|<br />

| ω |<br />

2<br />

a=<br />

−∞ b=<br />

−∞<br />

dω<br />

ψ (6)<br />

dan 0 < C < ∞ (disebut kondisi yang diijinkan atau admissibility condition).<br />

Biasanya jika dikehendaki untuk memperoleh kembali sinyal asli maka akan<br />

digunakan alihragam wavelet diskret (karena lebih mudah dan perhitungan yang<br />

harus dilakukan juga lebih sedikit).<br />

Karakteristik Waktu – Frekuensi Wavelet<br />

Wavelet seperti yang ditunjukkan pada Gambar 1 tidak berada pada satu<br />

waktu atau frekuensi yang spesifik. Kenyataannya wavelet menawarkan<br />

kompromi antara letak waktu dan frekuensi: wavelet terlokalisir dalam waktu dan<br />

frekuensi (namun tidak untuk salah satunya). Ukuran jangkauan waktu untuk<br />

suatu wavelet tertentu, yaitu Δtψ, dapat ditentukan oleh akar kuadrat momen<br />

kedua (second moment) wavelet tersebut terhadap pusat waktunya (yaitu<br />

momen pertama),<br />

Dengan t0 adalah waktu pusat atau momen pertama dari wavelet dan ditentukan<br />

dengan persamaan berikut.<br />

(7)


Dengan cara yang sama maka jangkauan frekuensi suatu wavelet, yaitu Δωψ,<br />

dapat ditentukan dengan<br />

Dengan ψ(ω) adalah representasi domain frekuensi (yaitu alihragam Fourier) dari<br />

ψ(t/a) dan ω0 adalah frekuensi pusat dari ψ(ω). Frekuensi pusat ditentukan<br />

dengan persamaan yang serupa dengan persamaan (8), yaitu<br />

(8)<br />

(9)<br />

(10)<br />

Jangkauan waktu dan frekuensi dari keanggotaan dapat diperoleh dari<br />

mother wavelet menggunakan persamaan (7) dan (9). Dilasi oleh variabel a<br />

mengubah jangkauan waktu dengan cara mengalikan Δtψ dengan a. Dengan<br />

demikian, jangkauan waktu dari ψa,0 didefinisikan sebagai Δtψ (a) = |a| Δtψ.<br />

Hubungan terbalik antara waktu dan frekuensi diperlihatkan pada Gambar 2<br />

yang diperoleh dengan menerapkan persamaan (7 – 10) pada wavelet Mexican<br />

Hat. Wavelet Mexican Hat dinyatakan dengan persamaan berikut.<br />

(11)


Gambar 2. Batas-batas waktu-frekuensi dari wavelet Mexican Hat untuk berbagai<br />

nilai a<br />

Jangkauan frekuensi, atau bandwidth, akan sama dengan jangkauan<br />

mother wavelet dibagi a; yaitu Δωψ (a) = Δωψ / |a|. Jika jangkauan frekuensi<br />

dikalikan dengan a, maka akan dihasilkan sebuah konstanta yaitu hasil kali<br />

konstanta yang dihasilkan oleh persamaan (7) dan (9),<br />

(12)<br />

Persamaan (12) menunjukkan bahwa hasil kali tersebut invarian terhadap<br />

dilasi dan bahwa jangkauan terhubung terbalik: kenaikan pada jangkauan<br />

frekuensi, Δωψ (a) akan menurunkan jangkauan waktu Δtψ (a). Jangkauan-<br />

jangkauan ini berhubungan dengan resolusi waktu dan frekuensi dari CWT.<br />

Dengan menurunkan jangkauan waktu wavelet (yaitu dengan menurunkan a)<br />

akan menghasilkan karakteristik waktu yang lebih akurat namun dengan<br />

mengorbankan resolusi frekuensi. Demikian juga jika sebaliknya.


Oleh karena resolusi waktu dan frekuensi mempunyai hubungan terbalik,<br />

maka CWT akan menawarkan resolusi yang lebih baik jika a besar dan panjang<br />

wavelet (dan jendela waktu efektifnya) panjang. Sebaliknya, jika a kecil, wavelet-<br />

nya pendek dan resolusi waktu-nya maksimum namun wavelet hanya merespon<br />

komponen frekuensi tinggi saja. Karena a bervariasi, maka dapat dilakukan tade-<br />

off antara resolusi waktu dan frekuensi, dan ini merupakan kunci CWT.<br />

Contoh 1<br />

Tulis program dalam Matlab untuk membentuk CWT dari sebuah sinyal yang<br />

terdiri atas dua sinyal sinus yang berturutan dengan frekuensi 10 dan 40 Hz<br />

(seperti terlihat pada Gambar 3). Plot koefisien wavelet sebagai fungsi a dan b.<br />

Gunakan wavelet Morlet.<br />

amplitude<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

Sinyal Sinus 10 dan 40 Hz<br />

-1<br />

0 0.5 1 1.5 2 2.5<br />

waktu, detik<br />

Gambar 3. Dua sinyal sinus berbeda frekuensi (10 dan 40 Hz) dengan<br />

perubahan frekuensi secara mendadak (step)


% Contoh 1 dan Gambar 3 dan Gambar 4<br />

% Membangkitkan dua sinusoaida yang berubah frekuensi secara step<br />

% Menerapkan alihragam wavelet kontinyu dan menggambar hasilnya<br />

clear all; close all;<br />

% Setting konstanta<br />

fs = 500; % frekuensi sampling<br />

N = 1024; % panjang sinyal<br />

N1 = 512; % jumlah titik wavelet<br />

f1 = 10; % frekuensi sinusoida pertama dalam<br />

Hz<br />

f2 = 40; % frekuensi sinusoida kedua dalam<br />

Hz<br />

resol_level = 128; % jumlah nilai a<br />

decr_a = .5; % penurunan a<br />

a_init = 4; % nilai awal a<br />

wo = pi*sqrt(2/log2(2)); % faktor skala frekuensi wavelet<br />

% Membangkitkan dua gelombang sinus pada Gambar 3<br />

tn = (1:N/4)/fs; % vektor waktu utk membangkitkan sinus<br />

b = (1:N)/fs; % vektor waktu untuk plotting<br />

x = [zeros(N/4,1);sin(2*pi*f1*tn)';sin(2*pi*f2*tn)';zeros(N/4,1)];<br />

plot (b,x)<br />

xlabel('waktu, detik')<br />

ylabel('amplitude')<br />

title('Sinyal Sinus 10 dan 40 Hz')<br />

ti = ((1:N1/2)/fs)*10; % vektor waktu untuk membangun wavelet<br />

% Menghitung alihragam wavelet kontinyu (wavelet morlet)<br />

for i = 1:resol_level<br />

a(i) = a_init/(1+i*decr_a); % set skala<br />

t = abs(ti/a(i)); % vektor skala untuk wavelet<br />

mor = (exp(-t.^2).*cos(wo*t))/sqrt(a(i));<br />

wavelet = [fliplr(mor) mor] % membuat simetri terhadap nol<br />

ip = conv(x, wavelet); % konvolusi wavelet dan sinyal<br />

ex = fix((length(ip)-N)/2); % menghitung titik tambahan/2<br />

CW_Trans(:,i) = ip(ex+1:N+ex,1);<br />

end<br />

% Plot dalam 3 dimensi<br />

figure<br />

d = fliplr(CW_Trans);<br />

mesh(a,b,CW_Trans)<br />

xlabel('skala a')<br />

ylabel('b (detik)')<br />

zlabel('CWT')<br />

title('CWT Sinyal Sinus 10 dan 40 Hz')<br />

rotate3d on<br />

% view(130,50)<br />

Ket:<br />

Nama file SPI_wavelet_1.m


Gambar 4a. Koefisien wavelet dari CWT sinyal yang terdiri atas dua sinyal sinus<br />

sekuensial dengan frekuensi 10 dan 40 Hz menggunakan wavelet Morlet<br />

Gambar 4b. Gambar 4a yang pada sudut azimuth (az) 130 dan elevasi (el) 50


Contoh 2<br />

Tentukan batas-batas waktu – frekuensi dari wavelet Mexican Hat dengan<br />

menerapkan persamaan (7 – 10).<br />

Untuk setiap nilai a, wavelet yang terskala dibentuk menggunakan pendekatan<br />

yang sama dengan yang digunakan pada contoh 1. Magnitude kuadrat dari<br />

tanggapan frekuensi dihitung menggunakan FFT. Waktu pusat, t0, dan frekuensi<br />

pusat, w0, dibentuk dengan menggunakan persamaan (8) dan (10) secara<br />

langsung. Perlu dicatat bahwa karena wavelet dibentuk simetris terhadap t = 0<br />

maka waktu pusat t0 akan selalu nol dan waktu offset t1 ditambahkan untuk<br />

kepentingan plotting. Batas-batas waktu dan frekuensi dihitung menggunakan<br />

persamaan (7) dan (9), hasilnya digambar sebagai sebuah persegipanjang yang<br />

bersesuaian dengan waktu pusat dan frekuensi pusat masing-masing.<br />

% Contoh 2 dan Gambar 5<br />

% Menggambar batas-batas wavelet untuk berbagai nilai 'a'<br />

% Menentukan jangkauan waktu dan frekuensi dari wavelet Mexican Hat<br />

% Menggunakan persamaan (7 - 10)<br />

clear all; close all;<br />

N = 1000; % Panjang data<br />

fs = 1000; % Frekuensi pencuplikan<br />

(asumsi)<br />

wo1 = pi*sqrt(2/log2(2)); % Konstanta utk skala waktu<br />

wavelet<br />

a = [.5 1.0 2.0 3.0]; % Nilai-nilai a<br />

x1 = ((1:N/2)/fs)*10; % Wavelet selama +/- 10 detik<br />

t = (1:N)/fs; % Skala waktu<br />

omega = (1:N/2)*fs/N; % Skala frekuensi<br />

for i = 1:length(a)<br />

t1 = x1./a(i) % Vektor waktu utk wavelet<br />

mex = exp(-t1.^2).*(1-2*t1.^2); % Wavelet Mexican Hat<br />

w = [fliplr(mex) mex]; % Simetri terhadap nol<br />

wsq = abs(w).^2 % Kuadrat dari wavelet<br />

W = fft(w); % Mencari representasi<br />

frekuensi dan<br />

Wsq = abs(W(1:N/2)).^2; % kuadratnya. Jangkauan yg<br />

digunakan<br />

% hanya fs/2<br />

t0 = sum(t.*wsq)/sum(wsq); % Menghitung waktu pusat<br />

d_t = sqrt(sum((t-t0).^2.*wsq)/sum(wsq));<br />

% Menghitung sebaran waktu<br />

w0 = sum(omega.*Wsq)/sum(Wsq); % Menghitung frekuensi pusat<br />

d_w0 = sqrt(sum((omega-w0).^2.*Wsq)/sum(Wsq));


t1 = t0*a(i); % Mengatur posisi waktu<br />

hold on;<br />

% Menggambar batas-batas waktu - frekuensi<br />

plot([t1-d_t t1-d_t], [w0-d_w0 w0+d_w0],'m');<br />

plot([t1+d_t t1+d_t], [w0-d_w0 w0+d_w0],'m');<br />

plot([t1-d_t t1+d_t], [w0-d_w0 w0-d_w0],'m');<br />

plot([t1-d_t t1+d_t], [w0+d_w0 w0+d_w0],'m');<br />

title('Batas-batas waktu-frekuensi wavelet Mexican Hat')<br />

xlabel('waktu (detik)')<br />

ylabel('frekuensi (rad/det)')<br />

end<br />

Ket:<br />

Nama file SPI_wavelet_2.m<br />

frekuensi (rad/det)<br />

11<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

Batas-batas waktu-frekuensi wavelet Mexican Hat<br />

1<br />

0.2 0.4 0.6 0.8 1<br />

waktu (detik)<br />

1.2 1.4 1.6 1.8<br />

Gambar 5. Batas-batas waktu-frekuensi dari wavelet Mexican Hat untuk berbagai<br />

nilai a (bandingkan dengan yang diperlihatkan pada Gambar 2).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!